/ / 3 min read

怎样在ipv6-only的vps上搭建Trojan节点

set up trojan on ipv6 only vps manually ipv6 only may be is the future network environment,set up trojan on ipv6 only vps manually,在纯ipv6的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.blue

TrojanInIPv6




{
"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 快快快。

  1. 检测 ipv6 地址

    curl -6 https://none.blue
    查看注释
  2. root 进入 vps

  3. 在Windows上我推荐moboxterm、windows-terminal、或者terminus
  4. 在macos上推荐termius或者自带的termial
  5. 其他的中文语言终端不推荐.基本上都是乐色,繁体中文的软件也不要用。
  6. 下载一些软件

    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}
  7. 申请证书

    1. 为安全起见我还是不教授怎样使用自签证书了,而是使用 let's encryption,但是非常不好意思,常用的 snap 法安装的 certbot 或者寄生在 GitHub 上的 acme.sh 都没法在纯 ipv6-only 的 vps 上使用,这里只能用 apt 安装的方法使用,并且只能用 dns 的方式验证域名所属。似乎没有证书也能跑,但还是算了吧

      sudo apt-get install certbot -y
    2. 自定义 DNS 面板,添加一条 AAAA 记录解析,域名指向自己的 ipv6 地址,如图,可能没图展示


      certbot certonly --standalone --register-unsafely-without-email --agree-tos -d <your domain>
      查看注释
  8. 配置文件

    成功申请的证书、私钥会放在

    /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 = 443
    remote_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 = true
    alpn = ["http/1.1"]
    reuse_session = true
    session_ticket = false
    session_timeout = 600.0
    plain_http_response = ""
    curves = ""
    dhparam = ""
    # caddy2不支持
    # [ssl.alpn_port_override]
    # h2 = 81
    [tcp]
    prefer_ipv4 = false
    no_delay = true
    keep_alive = true
    reuse_port = false
    fast_open = false
    fast_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

  9. 启动 run

    预先测试,就可以用客户端连接了,ctrl+c停止测试

    mkdir /etc/trojan
    nano /etc/trojan/serve.json
    trojan --config /etc/trojan/serve.json

    后台运行,只要 VPS 不关机不重启就会一直运行一直有效

    joker trojan --config /etc/trojan/serve.json