Dedicated IPv6 address per Shadowsocks Instance

Tuesday, March 23, 2021

For better or for the worse

Back when I sell shadowsocks proxies, a proxy server will often become overcrowded.

Most of the people only used a few gigabyte bandwidth per month, so the most profitable option was to assign at least 40 people per proxy server.

However, some websites(GOOGLE) sense a disturbance in the force, and decided to show random captchas everyday.

It is pretty reasonable: too many users make the proxy server appear like rogue bots.

This issue would go away if enough users completed the captcha. But I am bored. The fundamental solution is to assign different IP addresses to everyone.

Fortunately, most VPS supports IPv6, and include /64 IPv6 prefix. Awesome! We just need to actually use it.

Actual steps

Assuming your ethernet interface is .

First, create the IPv6 addresses.

ip -6 addr add <desired IPv6>/128 dev ens0 

Then, in shadowsocks’s config:

{
    "server": "0.0.0.0",
    "server_port": <server port>,
    "local_address": "<desired IPv6>",
    "password": "<password>",
    "timeout": 300,
    "method": "<encryption method>",
    "ipv6_first": true
}

Use ipv6_first to prioritize IPv6 proxy.

ShadowsocksVPNIPv6Linux
CC BY-SA 4.0

How to Install Arch Linux in 2021

Build your own IPv6 VPN with Wireguard

comments powered by Disqus