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..873eb11b --- /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 && ./localizefonts.sh" + 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/docker-build.yml b/.github/workflows/docker-build.yml index e52ccb49..e190f7b4 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -17,7 +17,7 @@ jobs: with: cache: "yarn" - run: yarn install --prefer-offline - - run: yarn build --out-dir dist-ci && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist-ci/assets/*.css + - run: yarn build && ./localizefonts.sh && mv dist/ dist-ci/ - name: Set up QEMU uses: docker/setup-qemu-action@v2 with: @@ -33,7 +33,7 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - name: Build and push - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile.ci diff --git a/.github/workflows/ipfs-build.yml b/.github/workflows/ipfs-build.yml index 8797fcde..ccd1d8b3 100644 --- a/.github/workflows/ipfs-build.yml +++ b/.github/workflows/ipfs-build.yml @@ -17,7 +17,7 @@ jobs: with: cache: "yarn" - run: yarn install --prefer-offline - - run: yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css && cp dist/index.html dist/ipfs-404.html + - run: yarn build && ./localizefonts.sh && cp dist/index.html dist/ipfs-404.html - uses: aquiladev/ipfs-action@v0.3.1-alpha.2 id: ipfs-add with: diff --git a/.github/workflows/weblate-merge.yml b/.github/workflows/weblate-merge.yml new file mode 100644 index 00000000..3643693d --- /dev/null +++ b/.github/workflows/weblate-merge.yml @@ -0,0 +1,22 @@ +name: Merge Weblate translations + +on: + pull_request: + types: [opened, reopened] + +jobs: + merge: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Check if en.json has been updated + run: | + if -n git diff ${{ github.event.pull_request.base.sha }}..${{ github.sha }} src/locales/en.json; then + exit 1 + fi + - 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/Dockerfile b/Dockerfile index 68e50f0d..d005c367 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,12 +2,16 @@ FROM node:lts-alpine AS build WORKDIR /app/ +RUN --mount=type=cache,target=/var/cache/apk \ + apk add --no-cache \ + curl + COPY . . RUN --mount=type=cache,target=/root/.cache/yarn \ --mount=type=cache,target=/app/node_modules \ yarn install --prefer-offline && \ - yarn build && sed -i 's/fonts.gstatic.com/fonts.kavin.rocks/g' dist/assets/*.css + yarn build && ./localizefonts.sh FROM nginx:alpine diff --git a/README.md b/README.md index 24ebc057..e282c48f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [](https://www.gnu.org/licenses/agpl-3.0.en.html) [](https://matrix.to/#/#piped:matrix.org) -[](https://piped.kavin.rocks/register) +[](https://piped.video/register) [](https://piped-ipfs.kavin.rocks/) [](https://github.com/TeamPiped/Piped/stargazers) [](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 @@ -129,6 +141,11 @@ Contributions in any other form are also welcomed. - [Yattee](https://github.com/yattee/yattee) - an alternative frontend for YouTube, for IOS. - [LibreTube](https://github.com/Libre-tube/LibreTube) - an alternative frontend for YouTube, for Android. - [Hyperpipe](https://codeberg.org/Hyperpipe/Hyperpipe) - an alternative privacy respecting frontend for YouTube Music. +- [Musicale](https://github.com/Bellisario/musicale) - an alternative to YouTube Music, with style. +- [ytify](https://github.com/n-ce/ytify) - a complementary minimal audio streaming frontend for YouTube. +- [PsTube](https://github.com/prateekmedia/pstube) - Watch and download videos without ads on Android, Linux, Windows, iOS, and Mac OSX. +- [Piped-Material](https://github.com/mmjee/Piped-Material) - A fork of Piped, focusing on better performance and a more usable design. +- [ReacTube](https://github.com/NeeRaj-2401/ReacTube) - Privacy friendly & distraction free Youtube front-end using Piped API. ## YourKit diff --git a/docker/nginx.conf b/docker/nginx.conf index 59ee3c26..3b7ef86b 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -2,6 +2,7 @@ server { listen 80; listen [::]:80; server_name localhost; + error_log off; location / { root /usr/share/nginx/html; diff --git a/index.html b/index.html index 8e22d715..abc042ea 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,5 @@ - +
@@ -7,6 +7,7 @@- -
- - - - - -