├── .dockerignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── PULL_REQUEST_TEMPLATE.md ├── .gitignore ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── DEPLOYMENT.md ├── LICENSE ├── README-zh.md ├── README.md ├── RELEASING.md ├── SECURITY.md ├── backend ├── .dockerignore ├── .env.example ├── Dockerfile ├── drizzle.config.ts ├── drizzle │ ├── 0000_known_guardsmen.sql │ ├── 0001_worthless_blur.sql │ ├── 0002_romantic_colossus.sql │ ├── 0003_puzzling_energizer.sql │ └── meta │ │ ├── 0000_snapshot.json │ │ ├── 0001_snapshot.json │ │ ├── 0002_snapshot.json │ │ ├── 0003_snapshot.json │ │ └── _journal.json ├── package-lock.json ├── package.json ├── scripts │ ├── migrate-to-sqlite.ts │ ├── test-duration.ts │ ├── update-durations.ts │ └── verify-db.ts ├── src │ ├── __tests__ │ │ ├── controllers │ │ │ ├── collectionController.test.ts │ │ │ ├── scanController.test.ts │ │ │ ├── settingsController.test.ts │ │ │ └── videoController.test.ts │ │ ├── services │ │ │ ├── commentService.test.ts │ │ │ ├── downloadManager.test.ts │ │ │ ├── downloadService.test.ts │ │ │ └── storageService.test.ts │ │ └── utils │ │ │ └── helpers.test.ts │ ├── config │ │ └── paths.ts │ ├── controllers │ │ ├── cleanupController.ts │ │ ├── collectionController.ts │ │ ├── downloadController.ts │ │ ├── scanController.ts │ │ ├── settingsController.ts │ │ ├── subscriptionController.ts │ │ └── videoController.ts │ ├── db │ │ ├── index.ts │ │ ├── migrate.ts │ │ └── schema.ts │ ├── routes │ │ ├── api.ts │ │ └── settingsRoutes.ts │ ├── server.ts │ ├── services │ │ ├── CloudStorageService.ts │ │ ├── commentService.ts │ │ ├── downloadManager.ts │ │ ├── downloadService.ts │ │ ├── downloaders │ │ │ ├── BilibiliDownloader.ts │ │ │ ├── MissAVDownloader.ts │ │ │ └── YtDlpDownloader.ts │ │ ├── metadataService.ts │ │ ├── migrationService.ts │ │ ├── storageService.ts │ │ └── subscriptionService.ts │ ├── test_sanitize.ts │ ├── utils │ │ └── helpers.ts │ └── version.ts ├── tsconfig.json ├── uploads │ └── .gitkeep └── vitest.config.ts ├── data └── mytube.db ├── docker-compose.yml ├── frontend ├── .dockerignore ├── .env ├── .gitignore ├── Dockerfile ├── README.md ├── entrypoint.sh ├── eslint.config.js ├── index.html ├── nginx.conf ├── package-lock.json ├── package.json ├── public │ ├── apple-touch-icon.png │ ├── favicon-96x96.png │ ├── favicon.ico │ ├── favicon.svg │ ├── favicon │ │ ├── apple-touch-icon.png │ │ ├── favicon-96x96.png │ │ ├── favicon.ico │ │ ├── favicon.svg │ │ ├── site.webmanifest │ │ ├── web-app-manifest-192x192.png │ │ └── web-app-manifest-512x512.png │ ├── site.webmanifest │ ├── vite.svg │ ├── web-app-manifest-192x192.png │ └── web-app-manifest-512x512.png ├── src │ ├── App.css │ ├── App.tsx │ ├── assets │ │ └── logo.svg │ ├── components │ │ ├── AlertModal.tsx │ │ ├── AnimatedRoutes.tsx │ │ ├── AuthorsList.tsx │ │ ├── BatchDownloadModal.tsx │ │ ├── BilibiliPartsModal.tsx │ │ ├── CollectionCard.tsx │ │ ├── Collections.tsx │ │ ├── ConfirmationModal.tsx │ │ ├── DeleteCollectionModal.tsx │ │ ├── Disclaimer.tsx │ │ ├── Footer.tsx │ │ ├── Header.tsx │ │ ├── PageTransition.tsx │ │ ├── SubscribeModal.tsx │ │ ├── TagsList.tsx │ │ ├── UploadModal.tsx │ │ ├── VideoCard.tsx │ │ └── VideoPlayer │ │ │ ├── CollectionModal.tsx │ │ │ ├── CommentsSection.tsx │ │ │ ├── VideoControls.tsx │ │ │ └── VideoInfo.tsx │ ├── contexts │ │ ├── AuthContext.tsx │ │ ├── CollectionContext.tsx │ │ ├── DownloadContext.tsx │ │ ├── LanguageContext.tsx │ │ ├── SnackbarContext.tsx │ │ └── VideoContext.tsx │ ├── index.css │ ├── main.tsx │ ├── pages │ │ ├── AuthorVideos.tsx │ │ ├── CollectionPage.tsx │ │ ├── DownloadPage.tsx │ │ ├── Home.tsx │ │ ├── InstructionPage.tsx │ │ ├── LoginPage.tsx │ │ ├── ManagePage.tsx │ │ ├── SearchResults.tsx │ │ ├── SettingsPage.tsx │ │ ├── SubscriptionsPage.tsx │ │ └── VideoPlayer.tsx │ ├── theme.ts │ ├── types.ts │ ├── utils │ │ ├── consoleManager.ts │ │ ├── locales │ │ │ ├── ar.ts │ │ │ ├── de.ts │ │ │ ├── en.ts │ │ │ ├── es.ts │ │ │ ├── fr.ts │ │ │ ├── ja.ts │ │ │ ├── ko.ts │ │ │ ├── pt.ts │ │ │ ├── ru.ts │ │ │ └── zh.ts │ │ ├── recommendations.ts │ │ └── translations.ts │ ├── version.ts │ └── vite-env.d.ts ├── tsconfig.json ├── tsconfig.node.json └── vite.config.js ├── package.json └── release.sh /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/.gitignore -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /DEPLOYMENT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/DEPLOYMENT.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/LICENSE -------------------------------------------------------------------------------- /README-zh.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/README-zh.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/README.md -------------------------------------------------------------------------------- /RELEASING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/RELEASING.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/SECURITY.md -------------------------------------------------------------------------------- /backend/.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/.dockerignore -------------------------------------------------------------------------------- /backend/.env.example: -------------------------------------------------------------------------------- 1 | PORT={backend_port} -------------------------------------------------------------------------------- /backend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/Dockerfile -------------------------------------------------------------------------------- /backend/drizzle.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle.config.ts -------------------------------------------------------------------------------- /backend/drizzle/0000_known_guardsmen.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/0000_known_guardsmen.sql -------------------------------------------------------------------------------- /backend/drizzle/0001_worthless_blur.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/0001_worthless_blur.sql -------------------------------------------------------------------------------- /backend/drizzle/0002_romantic_colossus.sql: -------------------------------------------------------------------------------- 1 | ALTER TABLE `videos` ADD `file_size` text; -------------------------------------------------------------------------------- /backend/drizzle/0003_puzzling_energizer.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/0003_puzzling_energizer.sql -------------------------------------------------------------------------------- /backend/drizzle/meta/0000_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/meta/0000_snapshot.json -------------------------------------------------------------------------------- /backend/drizzle/meta/0001_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/meta/0001_snapshot.json -------------------------------------------------------------------------------- /backend/drizzle/meta/0002_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/meta/0002_snapshot.json -------------------------------------------------------------------------------- /backend/drizzle/meta/0003_snapshot.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/meta/0003_snapshot.json -------------------------------------------------------------------------------- /backend/drizzle/meta/_journal.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/drizzle/meta/_journal.json -------------------------------------------------------------------------------- /backend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/package-lock.json -------------------------------------------------------------------------------- /backend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/package.json -------------------------------------------------------------------------------- /backend/scripts/migrate-to-sqlite.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/scripts/migrate-to-sqlite.ts -------------------------------------------------------------------------------- /backend/scripts/test-duration.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/scripts/test-duration.ts -------------------------------------------------------------------------------- /backend/scripts/update-durations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/scripts/update-durations.ts -------------------------------------------------------------------------------- /backend/scripts/verify-db.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/scripts/verify-db.ts -------------------------------------------------------------------------------- /backend/src/__tests__/controllers/collectionController.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/controllers/collectionController.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/controllers/scanController.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/controllers/scanController.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/controllers/settingsController.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/controllers/settingsController.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/controllers/videoController.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/controllers/videoController.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/services/commentService.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/services/commentService.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/services/downloadManager.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/services/downloadManager.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/services/downloadService.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/services/downloadService.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/services/storageService.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/services/storageService.test.ts -------------------------------------------------------------------------------- /backend/src/__tests__/utils/helpers.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/__tests__/utils/helpers.test.ts -------------------------------------------------------------------------------- /backend/src/config/paths.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/config/paths.ts -------------------------------------------------------------------------------- /backend/src/controllers/cleanupController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/cleanupController.ts -------------------------------------------------------------------------------- /backend/src/controllers/collectionController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/collectionController.ts -------------------------------------------------------------------------------- /backend/src/controllers/downloadController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/downloadController.ts -------------------------------------------------------------------------------- /backend/src/controllers/scanController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/scanController.ts -------------------------------------------------------------------------------- /backend/src/controllers/settingsController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/settingsController.ts -------------------------------------------------------------------------------- /backend/src/controllers/subscriptionController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/subscriptionController.ts -------------------------------------------------------------------------------- /backend/src/controllers/videoController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/controllers/videoController.ts -------------------------------------------------------------------------------- /backend/src/db/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/db/index.ts -------------------------------------------------------------------------------- /backend/src/db/migrate.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/db/migrate.ts -------------------------------------------------------------------------------- /backend/src/db/schema.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/db/schema.ts -------------------------------------------------------------------------------- /backend/src/routes/api.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/routes/api.ts -------------------------------------------------------------------------------- /backend/src/routes/settingsRoutes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/routes/settingsRoutes.ts -------------------------------------------------------------------------------- /backend/src/server.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/server.ts -------------------------------------------------------------------------------- /backend/src/services/CloudStorageService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/CloudStorageService.ts -------------------------------------------------------------------------------- /backend/src/services/commentService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/commentService.ts -------------------------------------------------------------------------------- /backend/src/services/downloadManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/downloadManager.ts -------------------------------------------------------------------------------- /backend/src/services/downloadService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/downloadService.ts -------------------------------------------------------------------------------- /backend/src/services/downloaders/BilibiliDownloader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/downloaders/BilibiliDownloader.ts -------------------------------------------------------------------------------- /backend/src/services/downloaders/MissAVDownloader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/downloaders/MissAVDownloader.ts -------------------------------------------------------------------------------- /backend/src/services/downloaders/YtDlpDownloader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/downloaders/YtDlpDownloader.ts -------------------------------------------------------------------------------- /backend/src/services/metadataService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/metadataService.ts -------------------------------------------------------------------------------- /backend/src/services/migrationService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/migrationService.ts -------------------------------------------------------------------------------- /backend/src/services/storageService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/storageService.ts -------------------------------------------------------------------------------- /backend/src/services/subscriptionService.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/services/subscriptionService.ts -------------------------------------------------------------------------------- /backend/src/test_sanitize.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/test_sanitize.ts -------------------------------------------------------------------------------- /backend/src/utils/helpers.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/utils/helpers.ts -------------------------------------------------------------------------------- /backend/src/version.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/src/version.ts -------------------------------------------------------------------------------- /backend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/tsconfig.json -------------------------------------------------------------------------------- /backend/uploads/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /backend/vitest.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/backend/vitest.config.ts -------------------------------------------------------------------------------- /data/mytube.db: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /frontend/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | .env 4 | -------------------------------------------------------------------------------- /frontend/.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/.env -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/Dockerfile -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/entrypoint.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/entrypoint.sh -------------------------------------------------------------------------------- /frontend/eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/eslint.config.js -------------------------------------------------------------------------------- /frontend/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/index.html -------------------------------------------------------------------------------- /frontend/nginx.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/nginx.conf -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/apple-touch-icon.png -------------------------------------------------------------------------------- /frontend/public/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon-96x96.png -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon.svg -------------------------------------------------------------------------------- /frontend/public/favicon/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/apple-touch-icon.png -------------------------------------------------------------------------------- /frontend/public/favicon/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/favicon-96x96.png -------------------------------------------------------------------------------- /frontend/public/favicon/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/favicon.ico -------------------------------------------------------------------------------- /frontend/public/favicon/favicon.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/favicon.svg -------------------------------------------------------------------------------- /frontend/public/favicon/site.webmanifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/site.webmanifest -------------------------------------------------------------------------------- /frontend/public/favicon/web-app-manifest-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/web-app-manifest-192x192.png -------------------------------------------------------------------------------- /frontend/public/favicon/web-app-manifest-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/favicon/web-app-manifest-512x512.png -------------------------------------------------------------------------------- /frontend/public/site.webmanifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/site.webmanifest -------------------------------------------------------------------------------- /frontend/public/vite.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/vite.svg -------------------------------------------------------------------------------- /frontend/public/web-app-manifest-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/web-app-manifest-192x192.png -------------------------------------------------------------------------------- /frontend/public/web-app-manifest-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/public/web-app-manifest-512x512.png -------------------------------------------------------------------------------- /frontend/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/App.css -------------------------------------------------------------------------------- /frontend/src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/App.tsx -------------------------------------------------------------------------------- /frontend/src/assets/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/assets/logo.svg -------------------------------------------------------------------------------- /frontend/src/components/AlertModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/AlertModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/AnimatedRoutes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/AnimatedRoutes.tsx -------------------------------------------------------------------------------- /frontend/src/components/AuthorsList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/AuthorsList.tsx -------------------------------------------------------------------------------- /frontend/src/components/BatchDownloadModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/BatchDownloadModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/BilibiliPartsModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/BilibiliPartsModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/CollectionCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/CollectionCard.tsx -------------------------------------------------------------------------------- /frontend/src/components/Collections.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/Collections.tsx -------------------------------------------------------------------------------- /frontend/src/components/ConfirmationModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/ConfirmationModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/DeleteCollectionModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/DeleteCollectionModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/Disclaimer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/Disclaimer.tsx -------------------------------------------------------------------------------- /frontend/src/components/Footer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/Footer.tsx -------------------------------------------------------------------------------- /frontend/src/components/Header.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/Header.tsx -------------------------------------------------------------------------------- /frontend/src/components/PageTransition.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/PageTransition.tsx -------------------------------------------------------------------------------- /frontend/src/components/SubscribeModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/SubscribeModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/TagsList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/TagsList.tsx -------------------------------------------------------------------------------- /frontend/src/components/UploadModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/UploadModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/VideoCard.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/VideoCard.tsx -------------------------------------------------------------------------------- /frontend/src/components/VideoPlayer/CollectionModal.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/VideoPlayer/CollectionModal.tsx -------------------------------------------------------------------------------- /frontend/src/components/VideoPlayer/CommentsSection.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/VideoPlayer/CommentsSection.tsx -------------------------------------------------------------------------------- /frontend/src/components/VideoPlayer/VideoControls.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/VideoPlayer/VideoControls.tsx -------------------------------------------------------------------------------- /frontend/src/components/VideoPlayer/VideoInfo.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/components/VideoPlayer/VideoInfo.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/AuthContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/contexts/AuthContext.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/CollectionContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/contexts/CollectionContext.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/DownloadContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/contexts/DownloadContext.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/LanguageContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/contexts/LanguageContext.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/SnackbarContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/contexts/SnackbarContext.tsx -------------------------------------------------------------------------------- /frontend/src/contexts/VideoContext.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/contexts/VideoContext.tsx -------------------------------------------------------------------------------- /frontend/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/index.css -------------------------------------------------------------------------------- /frontend/src/main.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/main.tsx -------------------------------------------------------------------------------- /frontend/src/pages/AuthorVideos.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/AuthorVideos.tsx -------------------------------------------------------------------------------- /frontend/src/pages/CollectionPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/CollectionPage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/DownloadPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/DownloadPage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/Home.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/Home.tsx -------------------------------------------------------------------------------- /frontend/src/pages/InstructionPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/InstructionPage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/LoginPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/LoginPage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/ManagePage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/ManagePage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/SearchResults.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/SearchResults.tsx -------------------------------------------------------------------------------- /frontend/src/pages/SettingsPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/SettingsPage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/SubscriptionsPage.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/SubscriptionsPage.tsx -------------------------------------------------------------------------------- /frontend/src/pages/VideoPlayer.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/pages/VideoPlayer.tsx -------------------------------------------------------------------------------- /frontend/src/theme.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/theme.ts -------------------------------------------------------------------------------- /frontend/src/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/types.ts -------------------------------------------------------------------------------- /frontend/src/utils/consoleManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/consoleManager.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/ar.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/ar.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/de.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/de.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/en.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/en.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/es.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/es.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/fr.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/fr.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/ja.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/ja.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/ko.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/ko.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/pt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/pt.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/ru.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/ru.ts -------------------------------------------------------------------------------- /frontend/src/utils/locales/zh.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/locales/zh.ts -------------------------------------------------------------------------------- /frontend/src/utils/recommendations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/recommendations.ts -------------------------------------------------------------------------------- /frontend/src/utils/translations.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/utils/translations.ts -------------------------------------------------------------------------------- /frontend/src/version.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/src/version.ts -------------------------------------------------------------------------------- /frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /frontend/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/tsconfig.json -------------------------------------------------------------------------------- /frontend/tsconfig.node.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/tsconfig.node.json -------------------------------------------------------------------------------- /frontend/vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/frontend/vite.config.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/package.json -------------------------------------------------------------------------------- /release.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/franklioxygen/MyTube/HEAD/release.sh --------------------------------------------------------------------------------