diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index 293fdb2e..532f831b 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -22,7 +22,7 @@ body:
label: Official Instance
description: Can the bug be reproduced on the official instance?
options:
- - label: The bug is reproducable on the [official hosted instance](http://piped.kavin.rocks/) or is API related.
+ - label: The bug is reproducable on the [official hosted instance](http://piped.video/) or is API related.
- type: textarea
attributes:
diff --git a/.github/workflows/deploy-azure.yml b/.github/workflows/deploy-azure.yml
new file mode 100644
index 00000000..aabf7dce
--- /dev/null
+++ b/.github/workflows/deploy-azure.yml
@@ -0,0 +1,30 @@
+name: Azure Static Web Apps CI/CD
+
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ build_and_deploy_job:
+ if: github.event_name == 'push'
+ runs-on: ubuntu-latest
+ name: Build and Deploy Job
+ steps:
+ - uses: actions/checkout@v3
+ with:
+ submodules: true
+ - name: Build And Deploy
+ id: builddeploy
+ uses: Azure/static-web-apps-deploy@v1
+ with:
+ azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_LEMON_WATER_0063A7F03 }}
+ repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
+ action: "upload"
+ ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
+ # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
+ app_location: "/" # App source code path
+ app_build_command: "yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css"
+ api_location: "" # Api source code path - optional
+ output_location: "dist" # Built app content directory - optional
+ ###### End of Repository/Build Configurations ######
diff --git a/.github/workflows/weblate-merge.yml b/.github/workflows/weblate-merge.yml
new file mode 100644
index 00000000..e5bedee1
--- /dev/null
+++ b/.github/workflows/weblate-merge.yml
@@ -0,0 +1,16 @@
+name: Merge Weblate translations
+
+on:
+ pull_request:
+ types: [opened, reopened]
+
+jobs:
+ merge:
+ runs-on: ubuntu-latest
+ steps:
+ - name: AutoMerge Weblate translations
+ if: github.event.pull_request.user.login == 'weblate'
+ run: gh pr merge --auto --delete-branch --merge "$PR_URL"
+ env:
+ PR_URL: ${{github.event.pull_request.html_url}}
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/README.md b/README.md
index 24ebc057..d7c1441d 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
[![AGPL v3](https://shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.en.html)
[![Matrix](https://img.shields.io/matrix/piped:matrix.org)](https://matrix.to/#/#piped:matrix.org)
-[![Registered Users](https://pipedapi.kavin.rocks/registered/badge)](https://piped.kavin.rocks/register)
+[![Registered Users](https://pipedapi.kavin.rocks/registered/badge)](https://piped.video/register)
[![IPFS Build](https://github.com/TeamPiped/Piped/actions/workflows/ipfs-build.yml/badge.svg)](https://piped-ipfs.kavin.rocks/)
[![GitHub Repo stars](https://img.shields.io/github/stars/TeamPiped/Piped-Frontend?style=social)](https://github.com/TeamPiped/Piped/stargazers)
[![GitHub last commit](https://img.shields.io/github/last-commit/TeamPiped/Piped-Frontend)](https://github.com/TeamPiped/Piped/commits)
@@ -39,6 +39,7 @@ By using Piped, you can freely watch and listen to content without the fear of p
- [x] [Available in many languages](src/locales), thanks to [our translators](https://hosted.weblate.org/projects/piped/frontend/)
- [x] Embedded video support
- [x] No age restriction
+- [x] Bypasses Geo restrictions if possible through a federated network
**Technical Features**
@@ -46,7 +47,8 @@ By using Piped, you can freely watch and listen to content without the fear of p
- [x] Performant by design, designed to handle 1000s of users concurrently
- [x] Does not use official YouTube APIs
- [x] Uses [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) to extract information
-- [x] Public [JSON API](https://piped-docs.kavin.rocks/docs/api-documentation/)
+- [x] Public [JSON API](https://docs.piped.video/docs/api-documentation/)
+- [x] Federated protocol on Matrix to let instances collaborate with each other
## Screenshots
@@ -61,13 +63,13 @@ By using Piped, you can freely watch and listen to content without the fear of p
## Self-Hosting
-See https://piped-docs.kavin.rocks/docs/self-hosting/ for more details.
+See https://docs.piped.video/docs/self-hosting/ for more details.
The source code of the documentation website is available at https://github.com/TeamPiped/Documentation.
## Documentation
-The documentation can be found at https://piped-docs.kavin.rocks (accessible via IPNS as well).
+The documentation can be found at https://docs.piped.video (accessible via IPNS as well).
## Extensions
@@ -79,6 +81,16 @@ To redirect all YouTube links to Piped, you are highly recommended to use either
You can help by translating the project to a language you speak at https://hosted.weblate.org/projects/piped/frontend/
+### Mirrors
+
+- Cloudflare Pages - [cf.piped.video](https://cf.piped.video/)
+- Vercel - [vc.piped.video](https://vc.piped.video/)
+- Render - [re.piped.video](https://re.piped.video/)
+- Fleek - [fl.piped.video](https://fl.piped.video/)
+- DigitalOcean - [do.piped.video](https://do.piped.video/)
+- Netlify - [nf.piped.video](https://nf.piped.video/)
+- Azure - [az.piped.video](https://az.piped.video/)
+
### Forking, and contributing
- Fork the repository on GitHub: https://github.com/TeamPiped/Piped/fork
diff --git a/package.json b/package.json
index eb3faabb..f9161981 100644
--- a/package.json
+++ b/package.json
@@ -9,41 +9,41 @@
"lint": "eslint --fix --color --ignore-path .gitignore --ext .js,.vue ."
},
"dependencies": {
- "@fortawesome/fontawesome-svg-core": "6.2.0",
- "@fortawesome/free-brands-svg-icons": "6.2.0",
- "@fortawesome/free-solid-svg-icons": "6.2.0",
- "@fortawesome/vue-fontawesome": "3.0.1",
+ "@fortawesome/fontawesome-svg-core": "6.2.1",
+ "@fortawesome/free-brands-svg-icons": "6.2.1",
+ "@fortawesome/free-solid-svg-icons": "6.2.1",
+ "@fortawesome/vue-fontawesome": "3.0.2",
"buffer": "6.0.3",
- "dompurify": "2.4.0",
- "hotkeys-js": "3.10.0",
+ "dompurify": "2.4.1",
+ "hotkeys-js": "3.10.1",
"javascript-time-ago": "2.5.9",
"mux.js": "6.2.0",
- "shaka-player": "4.2.3",
+ "shaka-player": "4.3.2",
"stream-browserify": "3.0.0",
- "vue": "3.2.41",
+ "vue": "3.2.45",
"vue-i18n": "9.2.2",
"vue-router": "4.1.6",
"xml-js": "1.6.11"
},
"devDependencies": {
- "@iconify/json": "2.1.132",
+ "@iconify/json": "2.1.153",
"@intlify/vite-plugin-vue-i18n": "6.0.3",
- "@unocss/preset-icons": "0.46.3",
- "@unocss/preset-web-fonts": "0.46.3",
- "@unocss/transformer-directives": "0.46.3",
- "@unocss/transformer-variant-group": "0.46.3",
- "@vitejs/plugin-legacy": "2.3.0",
- "@vitejs/plugin-vue": "3.2.0",
- "@vue/compiler-sfc": "3.2.41",
- "eslint": "8.26.0",
+ "@unocss/preset-icons": "0.47.6",
+ "@unocss/preset-web-fonts": "0.47.6",
+ "@unocss/transformer-directives": "0.47.6",
+ "@unocss/transformer-variant-group": "0.47.6",
+ "@vitejs/plugin-legacy": "3.0.1",
+ "@vitejs/plugin-vue": "4.0.0",
+ "@vue/compiler-sfc": "3.2.45",
+ "eslint": "8.29.0",
"eslint-config-prettier": "8.5.0",
"eslint-plugin-prettier": "4.2.1",
- "eslint-plugin-vue": "9.7.0",
- "prettier": "2.7.1",
- "unocss": "0.46.3",
- "vite": "3.2.2",
+ "eslint-plugin-vue": "9.8.0",
+ "prettier": "2.8.1",
+ "unocss": "0.47.6",
+ "vite": "3.2.5",
"vite-plugin-eslint": "1.8.1",
- "vite-plugin-pwa": "0.13.1"
+ "vite-plugin-pwa": "0.14.0"
},
"eslintConfig": {
"root": true,
diff --git a/public/_redirects b/public/_redirects
new file mode 100644
index 00000000..43085054
--- /dev/null
+++ b/public/_redirects
@@ -0,0 +1 @@
+/* /index.html 200
diff --git a/public/opensearch.xml b/public/opensearch.xml
index 6916840d..fa327f38 100644
--- a/public/opensearch.xml
+++ b/public/opensearch.xml
@@ -4,7 +4,7 @@
Piped Search
Search for videos, channels, and playlists on Piped
UTF-8
- https://piped.kavin.rocks/favicon.ico
-
+ https://piped.video/favicon.ico
+
diff --git a/public/robots.txt b/public/robots.txt
index eb053628..1f53798b 100644
--- a/public/robots.txt
+++ b/public/robots.txt
@@ -1,2 +1,2 @@
User-agent: *
-Disallow:
+Disallow: /
diff --git a/src/App.vue b/src/App.vue
index 3670746f..d89eb45e 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -181,7 +181,7 @@ export default {
const App = this;
(async function () {
- const defaultLang = await App.defaultLangage;
+ const defaultLang = await App.defaultLanguage;
const locale = App.getPreferenceString("hl", defaultLang);
if (locale !== App.TimeAgoConfig.locale) {
const localeTime = await import(`../node_modules/javascript-time-ago/locale/${locale}.json`)
diff --git a/src/components/ChannelPage.vue b/src/components/ChannelPage.vue
index 148e14d8..710c1330 100644
--- a/src/components/ChannelPage.vue
+++ b/src/components/ChannelPage.vue
@@ -36,6 +36,7 @@
>
+
|