{"id":13941175,"url":"https://github.com/zu1k/http-proxy-ipv6-pool","last_synced_at":"2025-04-04T18:09:14.833Z","repository":{"id":38448298,"uuid":"489584360","full_name":"zu1k/http-proxy-ipv6-pool","owner":"zu1k","description":"Make every request from a separate IPv6 address.","archived":false,"fork":false,"pushed_at":"2024-01-04T11:47:49.000Z","size":22,"stargazers_count":558,"open_issues_count":7,"forks_count":91,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-03-28T17:09:07.751Z","etag":null,"topics":["http-proxy","ipv6","proxypool"],"latest_commit_sha":null,"homepage":"https://zu1k.com/posts/tutorials/http-proxy-ipv6-pool/","language":"Rust","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/zu1k.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":"2022-05-07T06:02:56.000Z","updated_at":"2025-03-27T17:05:32.000Z","dependencies_parsed_at":"2024-07-28T19:37:06.460Z","dependency_job_id":null,"html_url":"https://github.com/zu1k/http-proxy-ipv6-pool","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zu1k%2Fhttp-proxy-ipv6-pool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zu1k%2Fhttp-proxy-ipv6-pool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zu1k%2Fhttp-proxy-ipv6-pool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zu1k%2Fhttp-proxy-ipv6-pool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zu1k","download_url":"https://codeload.github.com/zu1k/http-proxy-ipv6-pool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226215,"owners_count":20904465,"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":["http-proxy","ipv6","proxypool"],"created_at":"2024-08-08T02:01:13.210Z","updated_at":"2025-04-04T18:09:14.811Z","avatar_url":"https://github.com/zu1k.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# Http Proxy IPv6 Pool\n\nMake every request from a separate IPv6 address.\n\nhttps://zu1k.com/posts/tutorials/http-proxy-ipv6-pool/\n\n## Tutorial\n\nAssuming you already have an entire IPv6 subnet routed to your server, for me I purchased [Vultr's server](https://www.vultr.com/?ref=9039594-8H) to get one.\n\nGet your IPv6 subnet prefix and interface name, for me is `2001:19f0:6001:48e4::/64` and `enp1s0`.\n\n```sh\n$ ip a\n......\n2: enp1s0: \u003cBROADCAST,MULTICAST,ALLMULTI,UP,LOWER_UP\u003e mtu 1500 qdisc fq state UP group default qlen 1000\n    ......\n    inet6 2001:19f0:6001:48e4:5400:3ff:fefa:a71d/64 scope global dynamic mngtmpaddr \n       valid_lft 2591171sec preferred_lft 603971sec\n    ......\n```\n\nAdd route via default internet interface\n\n```sh\nip route add local 2001:19f0:6001:48e4::/64 dev enp1s0\n```\n\nOpen `ip_nonlocal_bind` for binding any IP address:\n\n```sh\nsysctl net.ipv6.ip_nonlocal_bind=1\n```\n\nFor IPv6 NDP, install `ndppd`:\n\n```sh\napt install ndppd\n```\n\nthen edit `/etc/ndppd.conf`:\n\n\n```conf\nroute-ttl 30000\n\nproxy \u003cINTERFACE-NAME\u003e {\n    router no\n    timeout 500\n    ttl 30000\n\n    rule \u003cIP6_SUBNET\u003e {\n        static\n    }\n}\n```\n(edit the file to match your configuration)\n\nRestart the service:\n```sh\nservice ndppd restart\n```\n\n\nNow you can test by using `curl`:\n\n```sh\n$ curl --interface 2001:19f0:6001:48e4::1 ipv6.ip.sb\n2001:19f0:6001:48e4::1\n\n$ curl --interface 2001:19f0:6001:48e4::2 ipv6.ip.sb\n2001:19f0:6001:48e4::2\n```\n\nGreat!\n\nFinally, use the http proxy provided by this project:\n\n```sh\n$ while true; do curl -x http://127.0.0.1:51080 ipv6.ip.sb; done\n2001:19f0:6001:48e4:971e:f12c:e2e7:d92a\n2001:19f0:6001:48e4:6d1c:90fe:ee79:1123\n2001:19f0:6001:48e4:f7b9:b506:99d7:1be9\n2001:19f0:6001:48e4:a06a:393b:e82f:bffc\n2001:19f0:6001:48e4:245f:8272:2dfb:72ce\n2001:19f0:6001:48e4:df9e:422c:f804:94f7\n2001:19f0:6001:48e4:dd48:6ba2:ff76:f1af\n2001:19f0:6001:48e4:1306:4a84:570c:f829\n2001:19f0:6001:48e4:6f3:4eb:c958:ddfa\n2001:19f0:6001:48e4:aa26:3bf9:6598:9e82\n2001:19f0:6001:48e4:be6b:6a62:f8f7:a14d\n2001:19f0:6001:48e4:b598:409d:b946:17c\n```\n\n## Author\n\n**Http Proxy IPv6 Pool** © [zu1k](https://github.com/zu1k), Released under the [MIT](./LICENSE) License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzu1k%2Fhttp-proxy-ipv6-pool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzu1k%2Fhttp-proxy-ipv6-pool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzu1k%2Fhttp-proxy-ipv6-pool/lists"}