{"id":23126024,"url":"https://github.com/dyaxy/yet-another-sub-web","last_synced_at":"2025-05-12T17:25:32.755Z","repository":{"id":247230803,"uuid":"825328105","full_name":"DyAxy/yet-another-sub-web","owner":"DyAxy","description":"订阅转换前端，又一个 sub-web，基于 React、Next.JS 实现前端","archived":false,"fork":false,"pushed_at":"2024-10-14T21:24:46.000Z","size":491,"stargazers_count":63,"open_issues_count":14,"forks_count":23,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-10T17:01:42.512Z","etag":null,"topics":["nextjs","react","sub-web","subconverter","typescript"],"latest_commit_sha":null,"homepage":"https://yet-another-sub-web.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DyAxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-07T13:28:32.000Z","updated_at":"2025-05-04T12:25:30.000Z","dependencies_parsed_at":"2025-05-10T17:01:45.263Z","dependency_job_id":"a58391ab-8c89-4d03-b1b9-0cc478a12626","html_url":"https://github.com/DyAxy/yet-another-sub-web","commit_stats":null,"previous_names":["dyaxy/yet-another-sub-web"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2Fyet-another-sub-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2Fyet-another-sub-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2Fyet-another-sub-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DyAxy%2Fyet-another-sub-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DyAxy","download_url":"https://codeload.github.com/DyAxy/yet-another-sub-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253785816,"owners_count":21964032,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nextjs","react","sub-web","subconverter","typescript"],"created_at":"2024-12-17T08:18:08.922Z","updated_at":"2025-05-12T17:25:32.729Z","avatar_url":"https://github.com/DyAxy.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yet-another-sub-web 又一个订阅转换前端\n\n![Website](https://img.shields.io/website?url=https%3A%2F%2Fyet-another-sub-web.vercel.app\u0026style=flat-square\u0026label=DEMO) ![Vercel](https://vercelbadge.vercel.app/api/DyAxy/yet-another-sub-web?style=flat-square) ![GitHub License](https://img.shields.io/github/license/DyAxy/yet-another-sub-web?style=flat-square)\n\n又一个 [sub-web](https://github.com/CareyWang/sub-web)，基于 React、Next.JS 实现前端，需要搭配 [tindy2013/subconverter](https://github.com/tindy2013/subconverter) 后端来实现订阅配置。\n\n## 快速部署\n\n### 使用 Vercel 服务\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FDyAxy%2Fyet-another-sub-web\u0026env=NEXT_PUBLIC_SHORTURL,NEXT_PUBLIC_BACKENDS\u0026envDescription=%E5%A6%82%E6%9E%9C%E4%B8%8D%E4%BC%9A%E5%A1%AB%E7%82%B9%E5%8F%B3%E8%BE%B9%20%20Learn%20More\u0026envLink=https%3A%2F%2Fgithub.com%2FDyAxy%2Fyet-another-sub-web%2Fblob%2Fmaster%2F.env\u0026project-name=yet-another-sub-web\u0026repository-name=yet-another-sub-web)\n\n### 本地使用 Docker\n- Docker run方式部署\n```\ndocker run -d -p 127.0.0.1:3000:3000 --name yet-another-sub-web --restart=always moefaq/yet-another-sub-web:latest -e NEXT_PUBLIC_SHORTURL=https://suo.yt/ -e NEXT_PUBLIC_BACKENDS=http://127.0.0.1:25500/sub?\n# 替换后端或短链接服务\n```\n\n- Docker compose方式部署\n```\ncurl -LO https://raw.githubusercontent.com/DyAxy/yet-another-sub-web/master/docker-compose.yml\n# 你可以修改 docker-compose.yml 中的 env\ndocker compose up -d\n```\n\n### 环境变量\n| NEXT_PUBLIC_SHORTURL | NEXT_PUBLIC_BACKENDS        |\n| -------------------- | --------------------------- |\n| 短链接服务，记得带 /   | 后端完整地址                 |\n| https://suo.yt/      | http://127.0.0.1:25500/sub? |\n\n\n## 常规部署\n\n首先你需要 [Node.js](https://nodejs.org/en/download/package-manager/all) 环境\n\n```\n# Clone 库 并跳转至该文件夹\ngit clone https://github.com/DyAxy/yet-another-sub-web.git\ncd yet-another-sub-web\n# 当然你可以修改配置在 .env\n# NEXT_PUBLIC_SHORTURL 为短链接服务\n# NEXT_PUBLIC_BACKENDS 为后端，请使用|分隔\n# 安装依赖环境并测试，你也可以使用yarn/pnpm/bun\nnpm i\nnpm run dev\n```\n\n浏览器打开 [http://localhost:3000](http://localhost:3000/) 来查看是否正常运行.\n\n当一切就绪后，你可以打包构建运行它\n\n```\nnpm run build\nnpm run start\n```\n\n此时打开 [http://localhost:3000](http://localhost:3000/) 即可正常使用。\n需要**常驻进程**，可使用：`screen`，`pm2`，`nohup`，`systemctl`\n\n可能你还需要反代，推荐使用 `Caddy` 轻量化反代，仅需加入到 `CaddyFile` 这些即可使用：\n\n```\n你的域名.com {\n  encode gzip\n  reverse_proxy 127.0.0.1:3000\n}\n```\n\n## 静态导出\n\n在常规部署 `npm run dev` 之后，测试没问题的情况下，修改文件：`next.config.mjs`，添加一行：`nextConfig.output = 'export'`\n则会将html及其js文件静态导出至out文件夹，使用 `Caddy`、`nginx` 之类即可使用。\n\n\n## 感谢\n\n[CareyWang/sub-web](https://github.com/CareyWang/sub-web)  \n[CareyWang/MyUrls](https://github.com/CareyWang/MyUrls)  \n[tindy2013/subconverter](https://github.com/tindy2013/subconverter)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyaxy%2Fyet-another-sub-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdyaxy%2Fyet-another-sub-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdyaxy%2Fyet-another-sub-web/lists"}