a fork of shahradelahi's cloudflare-warp, but with a few pretty significant changes:
- instead of spawning one tunnel, it spawns multiple tunnels, with the amount configurable via
--tunnels, and provides the option to route your traffic between them. - you can define multiple ipv6 ranges to use for tunnels, each with its own
locparameter (see example). - each tunnel uses its own ipv6 address. This ipv6 address is also used to generate the tunnel-specific account. these tunnels are persistent.
- you can use parameters in the proxy username to choose which tunnel to route through, using the location parameter, session, ttl, or a combination of them.
2 tunnels per range defined in ranges.yml
./warp run --socks-addr 127.0.0.1:1080 --http-addr 127.0.0.1:8118 --tunnels 2 --ranges-file ./ranges.yml
ranges.yml:
ranges:
- loc: USLA
subnet: 2a14:f222:f222:1::/64
- loc: USNY
subnet: 2a14:f222:f222:2::/64
these ranges must be properly configured using guide here
curl -x http://session-12345-ttl-5-loc-USLA@127.0.0.1:8118 ip.me
this session persists for 5 seconds, and all traffic will go through tunnels established through ranges with the loc value USLA.
this can be used to manage a proxy pool of cloudflare warp ips in different locations, based on the location of the ipv6 ranges.