{"id":13453430,"url":"https://github.com/vvbbnn00/WARP-Clash-API","last_synced_at":"2025-03-24T01:31:26.706Z","repository":{"id":190262915,"uuid":"682254415","full_name":"vvbbnn00/WARP-Clash-API","owner":"vvbbnn00","description":"该项目可以让你通过订阅的方式使用Cloudflare WARP+，自动获取流量。This project enables you to use Cloudflare WARP+ through subscription, automatically acquiring traffic.","archived":false,"fork":false,"pushed_at":"2024-09-04T00:11:27.000Z","size":3736,"stargazers_count":8632,"open_issues_count":20,"forks_count":1154,"subscribers_count":41,"default_branch":"master","last_synced_at":"2025-03-18T19:29:11.700Z","etag":null,"topics":["clash","cloudflare","docker","docker-compose","flask","shadowrocket","warp","warp-plus"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vvbbnn00.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}},"created_at":"2023-08-23T19:19:40.000Z","updated_at":"2025-03-18T15:19:46.000Z","dependencies_parsed_at":"2024-02-05T18:57:45.510Z","dependency_job_id":"0ee88ed5-b54d-441f-869a-18b43345bd3e","html_url":"https://github.com/vvbbnn00/WARP-Clash-API","commit_stats":null,"previous_names":["vvbbnn00/warp-clash-api"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vvbbnn00%2FWARP-Clash-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vvbbnn00%2FWARP-Clash-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vvbbnn00%2FWARP-Clash-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vvbbnn00%2FWARP-Clash-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vvbbnn00","download_url":"https://codeload.github.com/vvbbnn00/WARP-Clash-API/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245194228,"owners_count":20575725,"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":["clash","cloudflare","docker","docker-compose","flask","shadowrocket","warp","warp-plus"],"created_at":"2024-07-31T08:00:39.937Z","updated_at":"2025-03-24T01:31:25.535Z","avatar_url":"https://github.com/vvbbnn00.png","language":"Python","funding_links":[],"categories":["Python","Sonstiges","其他"],"sub_categories":[],"readme":"# WARP Clash API\n\n![GitHub License](https://img.shields.io/github/license/vvbbnn00/WARP-Clash-API)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/67ca8d105fb947eca6204230ba3ac09b)](https://app.codacy.com/gh/vvbbnn00/WARP-Clash-API/dashboard?utm_source=gh\u0026utm_medium=referral\u0026utm_content=\u0026utm_campaign=Badge_grade)\n![GitHub Repo stars](https://img.shields.io/github/stars/vvbbnn00/WARP-Clash-API?style=flat)\n\n中文 | [English](./README_en.md)\n\n\u003e **Warning**\n\u003e\n\u003e 本项目是完全非商业项目，仅供学习交流使用，请勿用于非法用途，否则后果自负。\n\n## 🤔 这是什么？\n\n该项目可以让你通过订阅的方式使用`WARP+`，支持`Clash`、`Shadowrocket`等客户端。项目内置了\n刷取`WARP+`流量的功能，可以让你的`WARP+`流量不再受限制（每`18`秒可获得`1GB`流量），同时，\n配备了`IP`选优功能。支持`Docker compose`\n一键部署，无需额外操作，即可享受你自己的`WARP+`私\n有高速节点！\n\n## 💡 特色功能\n\n- 💻 支持`Clash`、`Surge`、`Shadowrocket`等客户端\n- 🔑 支持设置您自己的`LicenseKey`\n- 🌏 支持`IP`选优\n- 🐋 支持`Docker compose`一键部署\n- 📕 全自动刷取`WARP+`流量，请求经过代理，防封`IP`\n- ❓ 每次更新订阅随机节点，让你体验抽卡的乐趣\n\n## 🚀 快速上手\n\n### 1. 安装`Docker`和`Docker compose`\n\n- `Docker`\n  安装教程：[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/)\n- `Docker compose`\n  安装教程：[https://docs.docker.com/compose/install/](https://docs.docker.com/compose/install/)\n\n### 2. 下载项目\n\n```bash\ngit clone https://github.com/vvbbnn00/WARP-Clash-API.git\n```\n\n### 3. [可选] 配置`SECRET_KEY`\n\n若您需要在公网上部署该项目，建议您配置`SECRET_KEY`与`PUBLIC_URL`。在项目目录下创建\n`.env.local`文件，写入如下内容：\n\n```bash\nSECRET_KEY=your_secret_key\n```\n\n关于环境变量的更多信息，请参考[环境变量](#-环境变量)。\n\n### 4. 编译并运行\n\n```bash\ndocker-compose up -d\n```\n\n### 5. 获取订阅链接\n\n访问`http://你的IP:21001`，输入`SECRET_KEY`（若没有配置，则可以留空），即可获取订阅链接。\n\n**🎉 大功告成**\n\n## 🌏 手动IP选优\n\n项目本身包含了一个选优过的`IP`列表，但是由于`WARP`的`IP`\n是动态的，所以可能会出现`IP`不可用的\n情况。若您需要手动选优，可以遵循以下步骤：\n\n若您通过`docker-compose`部署，可以在项目目录下通过以下命令手动执行`IP`选优：\n\n```bash\ndocker-compose exec warp-clash python3 app.py optimize\n```\n\n否则，可以在项目目录下执行以下命令：\n\n```bash\npython3 app.py optimize\n```\n\n## 🔧 环境变量\n\n没错，您可以通过环境变量来配置该项目，在配置时，只需新建一个`.env.local`文件，写入您需要的环境\n变量即可。\n\n以下是可用的环境变量：\n\n| 变量名                    | 默认值                               | 说明                                                                                                         |\n|------------------------|-----------------------------------|------------------------------------------------------------------------------------------------------------|\n| DELAY_THRESHOLD        | `500`                             | 延迟阈值，超过该阈值的`IP`将被剔除                                                                                        |\n| DO_GET_WARP_DATA       | `True`                            | 是否刷取`WARP+`流量，若不需要刷取流量，则设置为`False`即可                                                                       |\n| GET_WARP_DATA_INTERVAL | `18`                              | 刷取`WARP+`流量的时间间隔，单位为秒，每隔该时间间隔会刷取一次`WARP+`流量，不建议间隔设置过短。                                                     |\n| LOSS_THRESHOLD         | `10`                              | 丢包率阈值，超过该阈值的`IP`将被剔除                                                                                       |\n| PROXY_POOL_URL         | `https://getproxy.bzpl.tech/get/` | IP代理池地址，用于刷取`WARP+`流量，您可以自行搭建，参照[proxy_pool](https://github.com/jhao104/proxy_pool)                        |\n| PUBLIC_URL             | `无`                               | 部署在公网上时，填写公网`IP`或域名，用于生成订阅链接，比如 `https://subs.zeabur.app`                                                  |\n| RANDOM_COUNT           | `10`                              | 每次更新订阅随机节点的数量                                                                                              |\n| REOPTIMIZE_INTERVAL    | `-1`                              | 重新选优的时间间隔，单位为秒，若小于等于0，则不会重新选优，否则每隔该时间间隔会重新选优一次，不建议间隔设置过短。                                                  |                     \n| REQUEST_RATE_LIMIT     | `0`                               | 限制X秒一次请求，该功能不太稳定，建议不要开启                                                                                    |\n| SECRET_KEY             | `无`                               | 用于保护订阅链接，若不配置，则不需要输入`SECRET_KEY`即可获取订阅链接                                                                   |\n| SHARE_SUBSCRIPTION     | `False`                           | 若您的站点想要向社区分享订阅，但不想让自己的账户信息被公开或修改，可以设置为`True`，此时，访问订阅链接时，不需要输入`SECRET_KEY`即可获取，而对于其他的操作，仍然需要输入`SECRET_KEY`。 |\n\n### 📝 配置示例\n\n例如，您设置`SECRET_KEY`为`123456`，并打算将订阅分享给社区，那么您的`.env.local`\n文件应该\n如下：\n\n```env\nSECRET_KEY=123456\nSHARE_SUBSCRIPTION=True\n```\n\n## 🧰 进阶操作\n\n**请注意，如果您设置了`SECRET_KEY`，需要在URL的末尾添加`key`参数**，例如：\n\n```text\nhttp://your_IP:21001/some/api/actions?key=your_secret_key\n```\n\n### 重置账户的`PublicKey`和`PrivateKey`\n\n项目支持您通过请求以下接口来重置`PublicKey`和`PrivateKey`：\n\n```bash\ncurl -X POST http://host:port/api/account/reset_key\n```\n\n重置过后，需要重新获取订阅内容，否则可能无法使用。\n\n### 设置自己的`LicenseKey`\n\n若您已经拥有了`WARP+`的`LicenseKey`，可以通过以下接口来设置：\n\n```bash\ncurl -X POST http://host:port/api/account/update_license -H \"Content-Type: application/json\" -d \"{\\\"license_key\\\": \\\"your_license_key\\\"}\"\n```\n\n请注意，当您设置了`LicenseKey`后，其`PublicKey`和`PrivateKey`将会被重置，需要重新获取订阅\n内容。\n\n### 使用 IPv6 优选\n\n从原理上来看，本服务通过读取`config/result_v6.csv`文件获取`IPv6`地址，因此您可以在支持\n`IPv6`的服务器上运行`IP`选优功能来获得`IPv6`地址。获取到的接入地址列表只需写入\n`config/result_v6.csv`文件中，相比在`Docker`容器中运行`IP`选优功能，此方法更为简便。\n\n如果您需要在`Docker`容器中运行`IP`选优功能，可以使用`docker-compose_ipv6.yaml`\n文件来让`Docker`镜像支持`IPv6`。在运行前，请确保您的服务器支持`IPv6`，并在`Docker`服务的\n`/etc/docker/daemon.json`中添加以下内容，并重启`Docker`服务：\n\n```json\n{\n  \"experimental\": true,\n  \"ip6tables\": true,\n  \"ipv6\": true,\n  \"fixed-cidr-v6\": \"2001:db8:1::/64\"\n}\n```\n\n若您在先前已经运行过`Docker`服务，在运行之前，请先停止之前的服务：\n\n```bash\ndocker-compose down\n```\n\n然后，您可以通过以下命令来运行`Docker`服务：\n\n```bash\ndocker-compose -f docker-compose_ipv6.yaml up -d\n```\n\n## 🗂️ 引用项目\n\n本项目的开发参照了以下项目，感谢这些开源项目的作者：\n\n- [warp-script](https://gitlab.com/Misaka-blog/warp-script)\n- [warp](https://replit.com/@aliilapro/warp)\n- [wgcf](https://github.com/ViRb3/wgcf)\n- [proxy_pool](https://github.com/jhao104/proxy_pool)\n- [geolite2](https://dev.maxmind.com/geoip/geolite2-free-geolocation-data)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvvbbnn00%2FWARP-Clash-API","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvvbbnn00%2FWARP-Clash-API","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvvbbnn00%2FWARP-Clash-API/lists"}