naive的原理和trojan很像,除去保姆级教程搭建的节点消除了服务器tls指纹和隐藏了所有翻墙服务以及伪装成正常网站,naive协议更上一层,消除了客户端的tls指纹和tls-in-tls特征,并且naive协议基于http2,自带多路复用,对比ws需要频繁握手来讲延迟更低,前面也说过naive客户端使用chrome浏览器内核作为网络协议栈,从防火墙的角度来看,就像是你在正常的使用正常的谷歌浏览器访问正常的网站

关于tls指纹在节点搭建完成后再给大家演示,了解之后你会知道没有隐藏服务器tls指纹将会有什么后果,记得看到最后。

总而言之,这真的是目前最安全的搭建方式了,另外虽然之前的保姆级教程搭建的节点存在tls-in-tls特征,但我并不认为防火墙能精准识别这种流量。所以为了方便,你仍然可以使用之前的保姆级教程搭建安全的节点。如果你想更上一层,接下来我就来手把手教大家搭建naive节点

既然是手把手那理应从vps购买与连接、域名注册与dns解析讲起,不过这些内容之前已经详细介绍过了,如果你是新手小白,请看保姆教程的前10分25秒,详细讲解了以上前置内容

另外节点的速度主要和线路有关,如果你不愿意在这上面花太多时间折腾也不差钱,只想有个自己专属的节点实现高速稳定科学上网,建议使用保姆教程中给大家推荐的搬瓦工三网CN2 GIA线路,一步到位省的闹心。

我当前的操作系统是ubuntu22.04 amd64,如果你使用其他操作系统,在搭建过程中如果和视频的预期效果不同,希望你能自行解决,域名已经做好了dns解析绑定到了当前VPS的ip地址,接下来正式进行搭建操作。

视频教程


VPS购买
搬瓦工:https://bwg.bulianglin.com
优惠码: BWH3HYATVBJW

域名购买
namesilo:https://name.bulianglin.com
优惠码:oldtong

SSH工具
FinalShell:https://www.hostbuf.com/t/988.html

v2rayN客户端:https://github.com/2dust/v2rayN

naive服务端配置

编译安装caddy+naive:

apt install golang-go
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest
~/go/bin/xcaddy build --with github.com/caddyserver/forwardproxy@caddy2=github.com/klzgrad/forwardproxy@naive

如果第二条指令执行出错,可以尝试执行go env -w GO111MODULE=on 再重试,还不行的话请自行搜索升级go版本方法

Caddyfile配置:

:443, naive.buliang0.tk #你的域名
tls [email protected] #你的邮箱
route {
 forward_proxy {
   basic_auth user pass #用户名和密码
   hide_ip
   hide_via
   probe_resistance
  }
 #支持多用户
 forward_proxy {
   basic_auth user2 pass2 #用户名和密码
   hide_ip
   hide_via
   probe_resistance
  }
 reverse_proxy  https://demo.cloudreve.org  { #伪装网址
   header_up  Host  {upstream_hostport}
   header_up  X-Forwarded-Host  {host}
  }
}

caddy常用指令:

前台运行caddy:./caddy run
后台运行caddy:./caddy start
停止caddy:./caddy stop
重载配置:./caddy reload

caddy配置守护进程(开机自启):https://github.com/klzgrad/naiveproxy/wiki/Run-Caddy-as-a-daemon

自定义端口:

naive如果要用自定义端口,需要使用json的配置方式,新手可以直接跳过

启动方式:./caddy start --config config.json

config.json内容:

//需删除注释内容caddy才能加载
{
 "apps": {
   "http": {
     "servers": {
       "srv0": {
         "listen": [
           ":4431"   //监听端口
         ],
         "routes": [
           {
             "handle": [
               {
                 "auth_user_deprecated": "user",   //用户名
                 "auth_pass_deprecated": "pass",  //密码
                 "handler": "forward_proxy",
                 "hide_ip": true,
                 "hide_via": true,
                 "probe_resistance": {}
               }
             ]
           },
           {
             "handle": [
               {
                 "handler": "reverse_proxy",
                 "headers": {
                   "request": {
                     "set": {
                       "Host": [
                         "{http.reverse_proxy.upstream.hostport}"
                       ],
                       "X-Forwarded-Host": [
                         "{http.request.host}"
                       ]
                     }
                   }
                 },
                 "transport": {
                   "protocol": "http",
                   "tls": {}
                 },
                 "upstreams": [
                   {
                     "dial": "demo.cloudreve.org:443"  //伪装网址
                   }
                 ]
               }
             ]
           }
         ],
         "tls_connection_policies": [
           {
             "match": {
               "sni": [
                 "naive.buliang0.tk"  //域名
               ]
             },
             "certificate_selection": {
               "any_tag": [
                 "cert0"
               ]
             }
           }
         ],
         "automatic_https": {
           "disable": true
         }
       }
     }
   },
   "tls": {
     "certificates": {
       "load_files": [
         {
           "certificate": "/root/a.crt",  //公钥路径
           "key": "/root/a.key",   //私钥路径
           "tags": [
             "cert0"
           ]
         }
       ]
     }
   }
 }
}

客户端配置

naive客户端:https://github.com/klzgrad/naiveproxy/releases/latest

客户端配置:

{
  "listen": "socks://127.0.0.1:1080",
  "proxy": "https://user:[email protected]"
}

使用v2rayN加载naive内核需要将配置文件的log行删除,否则会断流

TLS指纹查看

jarm工具:https://github.com/salesforce/jarm

下载jarm:wget https://raw.githubusercontent.com/salesforce/jarm/master/jarm.py
查看网站jarm指纹:python3 jarm.py naive.buliang0.tk

网络空间资产搜索引擎:https://fofa.info

最后修改:2022 年 10 月 06 日 08 : 22 AM