【WGCF】连接CF WARP为服务器添加IPv4/IPv6网络
脚本特点
- 支持 WARP+ 账户,附带第三方刷 WARP+ 流量和升级内核 BBR 脚本
- 普通用户友好的菜单,进阶者通过后缀选项快速搭建
- 智能判断vps操作系统:Ubuntu 16.04、18.04、20.04; Debian 9、10、11,CentOS 7、8; Alpine 和 Arch Linux,请务必选择 LTS 系统 智能判断硬件结构类型:AMD、ARM 和 s390x
- 结合 Linux 版本和虚拟化方式,自动优选三个 WireGuard 方案。 网络性能方面:内核集成 WireGuard>安装内核模块>BoringTun>wireguard-go
- 智能判断 WGCF 作者 github库的最新版本 (Latest release)
- 智能分析内网和公网IP生成 WGCF 配置文件
- 输出结果,提示是否使用 WARP IP ,IP 归属地
WARP好处
- 支持 chatGPT,解锁奈飞流媒体
- 避免 Google 验证码或是使用 Google 学术搜索
- 可调用 IPv4 接口,使青龙和V2P等项目能正常运行
- 由于可以双向转输数据,能做对方VPS的跳板和探针,替代 HE tunnelbroker
- 能让 IPv6 only VPS 上做的节点支持 Telegram
- IPv6 建的节点能在只支持 IPv4 的 PassWall、ShadowSocksR Plus+ 上使用
warp 运行脚本
首次运行
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh [option] [lisence/url/token]
再次运行
warp [option] [lisence]
| [option] 变量1 变量2 | 具体动作说明 |
|---|---|
| h | 帮助 |
| 4 | 原无论任何状态 → WARP IPv4 |
| 4 lisence name | 把 WARP+ Lisence 和设备名添加进去,如 bash menu.sh 4 N5670ljg-sS9jD334-6o6g4M9F Goodluck |
| 6 | 原无论任何状态 → WARP IPv6 |
| d | 原无论任何状态 → WARP 双栈 |
| o | WARP 开关,脚本主动判断当前状态,自动开或关 |
| u | 卸载 WARP |
| n | 断网时,用于刷WARP网络 (WARP bug) |
| b | 升级内核、开启BBR及DD |
| a | 免费 WARP 账户升级 WARP+ |
| a lisence | 在上面基础上把 WARP+ Lisence 添加进去,如 bash menu.sh a N5670ljg-sS9jD334-6o6g4M9F |
| p | 刷 Warp+ 流量 |
| c | 安装 WARP Linux Client,开启 Socks5 代理模式 |
| l | 安装 WARP Linux Client,开启 WARP 模式 |
| c lisence | 在上面基础上把 WARP+ Lisence 添加进去,如 bash menu.sh c N5670ljg-sS9jD334-6o6g4M9F |
| r | WARP Linux Client 开关 |
| v | 同步脚本至最新版本 |
| i | 更换 WARP IP |
| e | 安装 iptables + dnsmasq + ipset 分流流媒体方案 |
| w | 安装 WireProxy 解决方案 |
| y | WireProxy 开关 |
| k | 切换 wireguard 内核 / wireguard-go-reserved |
| g | 切换 warp 全局 / 非全局 或首次以 非全局 模式安装 |
| s | s 4/6/d,切换优先级 warp IPv4 / IPv6 / 默认 |
| 其他或空值 | 菜单界面 |
举例:想为 IPv4 的甲骨文添加 Warp 双栈,首次运行
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/menu.sh && bash menu.sh d
刷日本 Netflix 运行
warp i jp
warp-go 运行脚本
首次运行
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/warp-go.sh && bash warp-go.sh [option] [lisence]
再次运行
warp-go [option] [lisence]
| [option] 变量1 变量2 | 具体动作说明 |
|---|---|
| h | 帮助 |
| 4 | 原无论任何状态 → WARP IPv4 |
| 4 lisence name | 把 WARP+ Lisence 和设备名添加进去,如 bash wire-go 4 N5670ljg-sS9jD334-6o6g4M9F Goodluck |
| 6 | 原无论任何状态 → WARP IPv6 |
| d | 原无论任何状态 → WARP 双栈 |
| o | warp-go 开关,脚本主动判断当前状态,自动开或关 |
| u | 卸载 warp-go |
| a | 免费 WARP 账户升级 WARP+ |
| a lisence name | 在上面基础上把 WARP+ Lisence 和设备名添加进去,如 bash menu.sh a N5670ljg-sS9jD334-6o6g4M9F Goodluck |
| v | 同步脚本至最新版本 |
| 其他或空值 | 菜单界面 |
Cloudflare api
Cli-API 使用指南,浏览器带参数访问,或者使用 curl 命令可以执行 Warp API 请求,
| run 参数 | 作用描述 | 参数 | 示例 |
|---|---|---|---|
| 使用指南 | https://www.warpapi.us.kg/ |
||
register |
注册新设备 | team_token(可选), format(可选) |
`https://www.warpapi.us.kg/?run=register&team_token=&format=<json |
device |
获取特定设备的详细信息 | device_id, token |
https://www.warpapi.us.kg/?run=device&device_id=<Your-Device-ID>&token=<Your-Token> |
app |
获取客户端配置 | token |
https://www.warpapi.us.kg/?run=app&token=<Your-Token> |
bind |
将设备绑定到帐户 | device_id, token |
https://www.warpapi.us.kg/?run=bind&device_id=<Your-Device-ID>&token=<Your-Token> |
name |
设置设备名称 | device_id, token, device_name |
https://www.warpapi.us.kg/?run=name&device_id=<Your-Device-ID>&token=<Your-Token>&device_name=<Your-Device-Name> |
license |
设置设备许可证 | device_id, token, license |
https://www.warpapi.us.kg/?run=license&device_id=<Your-Device-ID>&token=<Your-Token>&license=<Your-License> |
unbind |
从帐户中取消绑定设备 | device_id, token |
https://www.warpapi.us.kg/?run=unbind&device_id=<Your-Device-ID>&token=<Your-Token> |
cancel |
取消设备注册 | device_id, token |
https://www.warpapi.us.kg/?run=cancel&device_id=<Your-Device-ID>&token=<Your-Token> |
id |
Client ID 与 Reserved 转换 | convert |
`https://www.warpapi.us.kg/?run=id&convert=<4-char-string |
token |
获取 Zero Trust token | organization, email, code |
step1: https://www.warpapi.us.kg/?organization=<Your-Organization>&email=<Your-Email> step2: https://www.warpapi.us.kg/?organization=<Your-Organization>&A=<A-Value>&S=<S-Value>&N=<N-Value>&code=<Your-Code> |
pluskey |
生成指定数量的 1923PB Warp+ license | num(可选,默认:1,最大:6), maxretry(可选,默认:3) |
https://www.warpapi.us.kg/?run=pluskey&num=2&maxretry=5 |
key |
生成一对 WireGuard 公私钥 | format(可选) |
`https://www.warpapi.us.kg/?run=key&format=<json |
sum |
获取总计和 24 小时运行计数 | https://www.warpapi.us.kg/?run=sum |
Shell-API 运行脚本
wget -N https://gitlab.com/fscarmen/warp/-/raw/main/api.sh && bash api.sh [option]
| [option] 变量 | 具体动作说明 |
|---|---|
| -h/–help | 帮助 |
| -f/–file | 保存账户注册信息的文件,支持官方api,client,wgcf 和 warp-go ,不填则手动输入 device id 和 api token |
| -r/–register | 注册账户 |
| -t/–token | -r 注册时,使用 team token 注册,快速获取: https://web--public--warp-team-api--coia-mfs4.code.run |
| -d/–device | 获取账户注册信息,包括 plus 流量等 |
| -a/–app | 获取 app 信息 |
| -b/–bind | 获取绑定设备信息,包括子设备 |
| -n/–name | 修改设备名称 |
| -l/–license | 修改 license |
| -u/–unbind | 解绑设备 |
| -c/–cancle | 注销账户 |
| -i/–id | 显示 cliend id 与 reserved |
刷 Netflix 解锁 WARP IP 的方法
- 可以用另一个通过 WARP 解锁流媒体的一键脚本: 【刷 WARP IP】 - 为 WARP 解锁流媒体而生
- 以刷 香港 hk 为例, 运行
warp i。建议在 screen, nohup 下后台运行 - 如果长时间仍然未刷出解锁IP,可以查查 CloudFlare 当地是否在维护调路由:https://www.cloudflarestatus.com/
WARP socks5 或 interface 分流模板及解锁 chatGPT 的方法
指定网站分流到 socks5 的 xray 配置模板 (适用于 WARP Client Proxy 和 WireProxy)(点击即可展开或收起)
本地 socks5://127.0.0.1:40000 并安装 mack-a 八合一脚本 为例。编辑 /etc/v2ray-agent/xray/conf/10_ipv4_outbounds.json
{
"outbounds":[
{
"protocol":"freedom"
},
{
"tag":"warp",
"protocol":"socks",
"settings":{
"servers":[
{
"address":"127.0.0.1",
"port":40000 // 填写你的 socks5 端口
}
]
}
},
{
"tag":"WARP-socks5-v4",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv4"
},
"proxySettings":{
"tag":"warp"
}
},
{
"tag":"WARP-socks5-v6",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv6"
},
"proxySettings":{
"tag":"warp"
}
}
],
"routing":{
"rules":[
{
"type":"field",
"domain":[
"geosite:openai",
"ip.gs"
],
"outboundTag":"WARP-socks5-v4"
},
{
"type":"field",
"domain":[
"geosite:google",
"geosite:netflix",
"p3terx.com"
],
"outboundTag":"WARP-socks5-v6"
}
]
}
}
指定网站分流到 “interface” 的 xray 配置模板(适用于 WARP Client Warp 和 warp / warp-go 非全局)(点击即可展开或收起)
{
"outbounds":[
{
"protocol":"freedom"
},
{
"tag":"WARP-interface-v4",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv4"
},
"streamSettings":{
"sockopt":{
"interface":"CloudflareWARP", // warp 非全局模式填 warp; Client 的 Proxy 模式填 CloudflareWARP; warp-go 填 WARP
"tcpFastOpen":true
}
}
},
{
"tag":"WARP-interface-v6",
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv6"
},
"streamSettings":{
"sockopt":{
"interface":"CloudflareWARP",
"tcpFastOpen":true
}
}
}
],
"routing":{
"domainStrategy":"AsIs",
"rules":[
{
"type":"field",
"domain":[
"geosite:google",
"geosite:openai",
"ip.gs"
],
"outboundTag":"WARP-interface-v4"
},
{
"type":"field",
"domain":[
"geosite:netflix",
"p3terx.com"
],
"outboundTag":"WARP-interface-v6"
}
]
}
}
通过 WARP 解锁 chatGPT 的方法(点击即可展开或收起)
思路是使用已经注册的 warp 做链式代理的设置,此解决方法是最轻便的,用户只要有 xray 即可。具体做法是修改 xray 配置文件的 outbound 和 routing,模板如下
{
"outbounds":[
{
"protocol":"freedom",
"tag": "direct"
},
{
"protocol":"wireguard",
"settings":{
"secretKey":"YFYOAdbw1bKTHlNNi+aEjBM3BO7unuFC5rOkMRAz9XY=", // 粘贴你的 "private_key" 值
"address":[
"172.16.0.2/32",
"2606:4700:110:8a36:df92:102a:9602:fa18/128"
],
"peers":[
{
"publicKey":"bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=",
"allowedIPs":[
"0.0.0.0/0",
"::/0"
],
"endpoint":"engage.cloudflareclient.com:2408" // 或填写 162.159.193.10:2408 或 [2606:4700:d0::a29f:c001]:2408
}
],
"reserved":[78, 135, 76], // 粘贴你的 "reserved" 值
"mtu":1280
},
"tag":"wireguard"
},
{
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv4"
},
"proxySettings":{
"tag":"wireguard"
},
"tag":"warp-IPv4"
},
{
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv6"
},
"proxySettings":{
"tag":"wireguard"
},
"tag":"warp-IPv6"
}
],
"routing":{
"domainStrategy":"AsIs",
"rules":[
{
"type":"field",
"domain":[
"geosite:openai",
"ip.gs"
],
"outboundTag":"warp-IPv4"
},
{
"type":"field",
"domain":[
"geosite:netflix",
"p3terx.com"
],
"outboundTag":"warp-IPv6"
}
]
}
}
WARP+ License 及 ID 获取
以下是使用WARP和Team后 Argo 2.0 的官方介绍:Argo 2.0: Smart Routing Learns New Tricks
引用Luminous大神原话:实际测试WARP+在访问非CF的网站速度上和免费版没有差异,只有在访问CloudFlare的站点时付费版会通过Argo类似的技术通过与目标较近的数据中心前往源站,而免费版是仅限于连接地前往源站,仅此而已。
WARP Teams 获取并用于 Linux 的方法
- https://token.warpapi.us.kg/ , 通过 fscarmen 的网站
- https://web--public--warp-team-api--coia-mfs4.code.run/, 通过 Coia 的网站
WARP原理
WARP是CloudFlare提供的一项基于WireGuard的网络流量安全及加速服务,能够让你通过连接到CloudFlare的边缘节点实现隐私保护及链路优化。
其连接入口为双栈(IPv4/IPv6均可),且连接后能够获取到由CF提供基于NAT的IPv4和IPv6地址,因此我们的单栈服务器可以尝试连接到WARP来获取额外的网络连通性支持。这样我们就可以让仅具有IPv6的服务器访问IPv4,也能让仅具有IPv4的服务器获得IPv6的访问能力。
- 为仅IPv6服务器添加IPv4
原理如图,IPv4的流量均被WARP网卡接管,实现了让IPv4的流量通过WARP访问外部网络。
|attachment
- 为仅IPv4服务器添加IPv6
原理如图,IPv6的流量均被WARP网卡接管,实现了让IPv6的流量通过WARP访问外部网络。
|attachment
- 双栈服务器置换网络
有时我们的服务器本身就是双栈的,但是由于种种原因我们可能并不想使用其中的某一种网络,这时也可以通过WARP接管其中的一部分网络连接隐藏自己的IP地址。至于这样做的目的,最大的意义是减少一些滥用严重机房出现验证码的概率;同时部分内容提供商将WARP的落地IP视为真实用户的原生IP对待,能够解除一些基于IP识别的封锁。
|attachment
- 网络性能方面:内核集成>内核模块>wireguard-go
|attachment
|attachment