Skip to content

该项目可以让你通过订阅的方式使用Cloudflare WARP+,自动获取流量。This project enables you to use Cloudflare WARP+ through subscription, automatically acquiring traffic.

License

Notifications You must be signed in to change notification settings

vvbbnn00/WARP-Clash-API

Folders and files

NameName
Last commit message
Last commit date
Mar 15, 2024
Aug 23, 2023
Apr 28, 2024
Nov 22, 2023
Mar 3, 2024
Mar 23, 2024
Mar 26, 2024
Mar 28, 2024
Feb 29, 2024
Mar 26, 2024
Mar 15, 2024
Jan 28, 2024
May 5, 2024
Mar 15, 2024
Aug 23, 2023
Mar 23, 2024
Mar 23, 2024
Feb 27, 2024
Feb 27, 2024
Aug 23, 2023
Mar 23, 2024
Apr 17, 2024

Repository files navigation

WARP Clash API

GitHub License Codacy Badge GitHub Repo stars

中文 | English

Warning

本项目是完全非商业项目,仅供学习交流使用,请勿用于非法用途,否则后果自负。

🤔 这是什么?

该项目可以让你通过订阅的方式使用WARP+,支持ClashShadowrocket等客户端。项目内置了 刷取WARP+流量的功能,可以让你的WARP+流量不再受限制(每18秒可获得1GB流量),同时, 配备了IP选优功能。支持Docker compose 一键部署,无需额外操作,即可享受你自己的WARP+私 有高速节点!

💡 特色功能

  • 💻 支持ClashSurgeShadowrocket等客户端
  • 🔑 支持设置您自己的LicenseKey
  • 🌏 支持IP选优
  • 🐋 支持Docker compose一键部署
  • 📕 全自动刷取WARP+流量,请求经过代理,防封IP
  • ❓ 每次更新订阅随机节点,让你体验抽卡的乐趣

🚀 快速上手

1. 安装DockerDocker compose

2. 下载项目

git clone https://github.com/vvbbnn00/WARP-Clash-API.git

3. [可选] 配置SECRET_KEY

若您需要在公网上部署该项目,建议您配置SECRET_KEYPUBLIC_URL。在项目目录下创建 .env.local文件,写入如下内容:

SECRET_KEY=your_secret_key

关于环境变量的更多信息,请参考环境变量

4. 编译并运行

docker-compose up -d

5. 获取订阅链接

访问http://你的IP:21001,输入SECRET_KEY(若没有配置,则可以留空),即可获取订阅链接。

🎉 大功告成

🌏 手动IP选优

项目本身包含了一个选优过的IP列表,但是由于WARPIP 是动态的,所以可能会出现IP不可用的 情况。若您需要手动选优,可以遵循以下步骤:

若您通过docker-compose部署,可以在项目目录下通过以下命令手动执行IP选优:

docker-compose exec warp-clash python3 app.py optimize

否则,可以在项目目录下执行以下命令:

python3 app.py optimize

🔧 环境变量

没错,您可以通过环境变量来配置该项目,在配置时,只需新建一个.env.local文件,写入您需要的环境 变量即可。

以下是可用的环境变量:

变量名 默认值 说明
DELAY_THRESHOLD 500 延迟阈值,超过该阈值的IP将被剔除
DO_GET_WARP_DATA True 是否刷取WARP+流量,若不需要刷取流量,则设置为False即可
GET_WARP_DATA_INTERVAL 18 刷取WARP+流量的时间间隔,单位为秒,每隔该时间间隔会刷取一次WARP+流量,不建议间隔设置过短。
LOSS_THRESHOLD 10 丢包率阈值,超过该阈值的IP将被剔除
PROXY_POOL_URL https://getproxy.bzpl.tech/get/ IP代理池地址,用于刷取WARP+流量,您可以自行搭建,参照proxy_pool
PUBLIC_URL 部署在公网上时,填写公网IP或域名,用于生成订阅链接,比如 https://subs.zeabur.app
RANDOM_COUNT 10 每次更新订阅随机节点的数量
REOPTIMIZE_INTERVAL -1 重新选优的时间间隔,单位为秒,若小于等于0,则不会重新选优,否则每隔该时间间隔会重新选优一次,不建议间隔设置过短。
REQUEST_RATE_LIMIT 0 限制X秒一次请求,该功能不太稳定,建议不要开启
SECRET_KEY 用于保护订阅链接,若不配置,则不需要输入SECRET_KEY即可获取订阅链接
SHARE_SUBSCRIPTION False 若您的站点想要向社区分享订阅,但不想让自己的账户信息被公开或修改,可以设置为True,此时,访问订阅链接时,不需要输入SECRET_KEY即可获取,而对于其他的操作,仍然需要输入SECRET_KEY

📝 配置示例

例如,您设置SECRET_KEY123456,并打算将订阅分享给社区,那么您的.env.local 文件应该 如下:

SECRET_KEY=123456
SHARE_SUBSCRIPTION=True

🧰 进阶操作

请注意,如果您设置了SECRET_KEY,需要在URL的末尾添加key参数,例如:

http://your_IP:21001/some/api/actions?key=your_secret_key

重置账户的PublicKeyPrivateKey

项目支持您通过请求以下接口来重置PublicKeyPrivateKey

curl -X POST http://host:port/api/account/reset_key

重置过后,需要重新获取订阅内容,否则可能无法使用。

设置自己的LicenseKey

若您已经拥有了WARP+LicenseKey,可以通过以下接口来设置:

curl -X POST http://host:port/api/account/update_license -H "Content-Type: application/json" -d "{\"license_key\": \"your_license_key\"}"

请注意,当您设置了LicenseKey后,其PublicKeyPrivateKey将会被重置,需要重新获取订阅 内容。

使用 IPv6 优选

从原理上来看,本服务通过读取config/result_v6.csv文件获取IPv6地址,因此您可以在支持 IPv6的服务器上运行IP选优功能来获得IPv6地址。获取到的接入地址列表只需写入 config/result_v6.csv文件中,相比在Docker容器中运行IP选优功能,此方法更为简便。

如果您需要在Docker容器中运行IP选优功能,可以使用docker-compose_ipv6.yaml 文件来让Docker镜像支持IPv6。在运行前,请确保您的服务器支持IPv6,并在Docker服务的 /etc/docker/daemon.json中添加以下内容,并重启Docker服务:

{
  "experimental": true,
  "ip6tables": true,
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64"
}

若您在先前已经运行过Docker服务,在运行之前,请先停止之前的服务:

docker-compose down

然后,您可以通过以下命令来运行Docker服务:

docker-compose -f docker-compose_ipv6.yaml up -d

🗂️ 引用项目

本项目的开发参照了以下项目,感谢这些开源项目的作者:

About

该项目可以让你通过订阅的方式使用Cloudflare WARP+,自动获取流量。This project enables you to use Cloudflare WARP+ through subscription, automatically acquiring traffic.

Topics

Resources

License

Stars

Watchers

Forks