
怎样在ipv6-only的vps上搭建Trojan节点
我个人觉得以后的网络将只有 ipv6 啦,不知道能不能见到啊,应该快了。既然如此何不提前体验一下呢。没有 ipv4 的网络环境,我能飞么?根据以往的经验,些许网站不支持纯 ipv6 访问,比如大名顶顶的 GitHub,真是 amazing。所以,我把宝藏都放在了 gitlab 上,谁让人家支持 ipv6 呢、
Certbot
fuser -k 80/tcp;certbot certonly --standalone --register-unsafely-without-email --agree-tos -d none.blueTrojanInIPv6
{"run_type": "server","local_addr": "::","local_port": 443,"remote_addr": "127.0.0.1","remote_port": 80,"password": "!@#$%^&*()","log_level": 1,"ssl": {"cert": "/etc/letsencrypt/live/z.huhu.blue/fullchain.pem","key": "/etc/letsencrypt/live/z.huhu.blue/privkey.pem","key_password": "","cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384","cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384","prefer_server_cipher": true,"alpn": ["http/1.1"],"reuse_session": true,"session_ticket": false,"session_timeout": 600,"plain_http_response": "","curves": "","dhparam": ""},"tcp": {"prefer_ipv4": false,"no_delay": true,"keep_alive": true,"reuse_port": false,"fast_open": false,"fast_open_qlen": 20}}
我真的有 ipv6 地址
如果你没有 ipv6 地址,而是想用通过 cloudflare 的服务让只有 ipv4 地址的你能使用 ipv6-only 的 vps,那我建议你放弃,因为那丫做没有体现 ipv6 真正的价值,其速度也显然不会有 mkcp 快。
如果是想在纯 ipv6 的 vps 上搭建 v2ray
如果是想要搭建 v2ray 在 ipv6-only 的 vps 上,我建议直接上 mkcp 协议,启明星辰搞不到你的,放心。其他的协议尿性真的不适合,裤裆里放屁呢。因为的大脚趾一直在说 mkp 比 trojan 的 tcp 快快快。
检测 ipv6 地址
curl -6 https://none.blue查看注释root 进入 vps
- 在Windows上我推荐moboxterm、windows-terminal、或者terminus
- 在macos上推荐termius或者自带的termial
- 其他的中文语言终端不推荐.基本上都是乐色,繁体中文的软件也不要用。
下载一些软件
git clone https://gitlab.com/nonedotblue/trojan.gfw.caddy2.git /srv/trojan.gfw.caddy2/cp /srv/trojan.gfw.caddy2/{joker,v2ctl,trojan,caddy} /usr/bin/chmod +x /usr/bin/{joker,v2ctl,trojan,caddy}申请证书
为安全起见我还是不教授怎样使用自签证书了,而是使用 let's encryption,但是非常不好意思,常用的 snap 法安装的 certbot 或者寄生在 GitHub 上的 acme.sh 都没法在纯 ipv6-only 的 vps 上使用,这里只能用 apt 安装的方法使用,并且只能用 dns 的方式验证域名所属。似乎没有证书也能跑,但还是算了吧
sudo apt-get install certbot -y自定义 DNS 面板,添加一条 AAAA 记录解析,域名指向自己的 ipv6 地址,如图,可能没图展示
certbot certonly --standalone --register-unsafely-without-email --agree-tos -d <your domain>查看注释
How was it? Did this tutorial work? No配置文件
成功申请的证书、私钥会放在
/etc/letsencrypt/live/<your-domain>/fullchain.pem/etc/letsencrypt/live/<your-domain>/privkey.pem那么配置文件就这样,
run_type = "server"# 将0.0.0.0改成::就支持ipv6了local_addr = "::"local_port = 443remote_addr = "::1"remote_port = 80# 密码设置成自己想要的就是trojan的连接密码password = ["!@#$%^&*()"]log_level = 1[ssl]# 换成自己的域名cert = "/etc/letsencrypt/live/<your-domain>/fullchain.pem"# 换成自己的域名key = "/etc/letsencrypt/live/<your-domain>/privkey.pem"key_password = ""cipher = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"cipher_tls13 = "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384"prefer_server_cipher = truealpn = ["http/1.1"]reuse_session = truesession_ticket = falsesession_timeout = 600.0plain_http_response = ""curves = ""dhparam = ""# caddy2不支持# [ssl.alpn_port_override]# h2 = 81[tcp]prefer_ipv4 = falseno_delay = truekeep_alive = truereuse_port = falsefast_open = falsefast_open_qlen = 20.0# [mysql]# enabled = false# server_addr = "127.0.0.1"# server_port = 3306.0# database = "trojan"# username = "trojan"# password = ""# key = ""# cert = ""# ca = ""防止只会复制粘贴的人看到这篇文字,也是我个人的习惯,所有的配置文件 我会用 toml 来写,请自行转换成所需类型,比如这里 trojan 的 json 格式 提醒: vscode 有个转换插件,下载如下; https://marketplace.visualstudio.com/items?itemName=petli-full.json-to-yaml-and-more
启动 run
预先测试,就可以用客户端连接了,
ctrl+c停止测试mkdir /etc/trojannano /etc/trojan/serve.jsontrojan --config /etc/trojan/serve.json后台运行,只要 VPS 不关机不重启就会一直运行一直有效
joker trojan --config /etc/trojan/serve.json