全球主机交流论坛

标题: 5分钟部署一个NaiveProxy协议,安全又方便!-ajeef火麒麟 [打印本页]

作者: ajeef    时间: 2023-3-18 17:11
标题: 5分钟部署一个NaiveProxy协议,安全又方便!-ajeef火麒麟
本帖最后由 ajeef 于 2023-4-1 16:57 编辑

经过几次某会,某事,封的情况来看,影响最小的还是这个协议,不能说没有,但是从自己使用情况来看,还是挺稳定的,毕竟从特征来看,确实和真实的一样了,用别人的镜像注意挖矿程序,教程内的镜像,目前版本没有挖矿(如果作者更新,记得再看一遍),hub.docker.com官网上下载量大的几个镜像版本都有挖矿ksswap这种进程,所以我删选掉了。

00:以下部署成功环境由Ubuntu22.04 LTS Server+root管理员用户权限测试通过ebian家族系的应该都通用,一键安装好docker:curl -sSL https://get.daocloud.io/docker | sh

01:下载镜像:docker pull ireina/naiveproxy

02: 运行镜像的容器前,提前创建目录:mkdir -p /etc/naive /etc/naive/html /var/log/caddy

03:  运行镜像的容器前,提前创建和修改Caddyfile文件 Web服务器的配置文件如下(任意文本编辑器创建例如:vim /etc/naive/Caddyfile,按Insert键后,将下面命令复制,粘贴,然后按ESC,按:号,输入wq!回车保存,就会在/etc/naive目录下多一个Caddyfile文件,别直接复制,注释的地方还是要自己改的):
  1. {
  2.   admin off
  3.   log {
  4.       output file /var/log/caddy/access.log
  5.       level INFO
  6.   }
  7.   servers :443 {
  8.       protocols h1 h2 h3
  9.   }
  10. }

  11. :80 {
  12.   redir https://{host}{uri} permanent
  13. }

  14. :443, hostloc.com  #改成你的域名例如:blog.hostloc.com或者直接根域名hostloc.com
  15. tls [email protected]  #改成你的邮箱自动申请证书时会用到
  16. route {
  17.   forward_proxy {
  18.       basic_auth ajeef ajeefpassword  #改成你的用户名和密码,注意用户名和密码之间有一个空格
  19.       hide_ip
  20.       hide_via
  21.       probe_resistance  #神秘域,建议不改,留空白
  22.   }
  23.   file_server {
  24.       root /var/www/html #你未来静态网页的存放地址,不用改,只是告诉你这个位置
  25.   }
  26. }
复制代码


04:先更改缓存大小:sysctl -w net.core.rmem_max=2500000【直接复制粘贴shell回车】  再使用Caddyfile的文件来启动一个容器命令如下(因为使用host的网络模式所以VPS内有IPV6也一并支持):
docker run --network host --name naiveproxy -v /etc/naive:/root/naive -v /etc/naive/html:/var/www/html -v /var/log/caddy:/var/log/caddy/ --restart=always -d ireina/naiveproxy   【直接复制粘贴shell回车】

【正常docker容器日志里会是这样的输出:INF ts=1679293266.2545154 msg=using provided configuration config_file=Caddyfile config_adapter=
WRN ts=1679293266.256392 msg=Caddyfile input is not formatted; run the 'caddy fmt' command to fix inconsistencies adapter=caddyfile file=Caddyfile line=2
INF ts=1679293266.2571409 msg=redirected default logger from=stderr to=/var/log/caddy/access.log
说我没格式化配置文件Caddyfile,不影响运行,为处NV座准备的,后面的提示就是将日志重定向到/var/log/caddy/access.log,这样就成功了】



05:一般容器启动了,会有提示一串哈希值例如:b4e0e3293394b09ccf4d0b752c747a4f1d3f0feb1549f0beb7e6ae88fdf09ee,除了用docker ps -a来查看刚才启动的容器,因为是host网络模式所以VPS系统本身的80和443肯定是被这个容器占用的,所以也可以用apt install net-tools -y先安装组件,再用netstat -tlnnetstat -tln | grep 80netstat -tln | grep 443  来查看这2个端口是否被占用,State状态栏里80和443显示LISTEN就是已经占用并监听了,容器也就是成功了。

06:用一台VPS只运行一个科学上网协议,太浪费了,因为Caddy本身就是一个Web服务器,naive协议也只是修改了官方文件的一个模块使其更像是Web服务器本身的内核模块发出的协议包,所以它并不影响Web本身的功能,部署动态网站可能VPS配置低的不行,静态网站的还是搓搓有余的,毕竟Caddy和Nginx一样都是Go写的,在静态模式下速度是一致的,大差不差,所以像hexo和hugo等这些程序编译出来的html css静态资源可以直接放在/var/www/html里运行【我实验一下下载个:wget https://github.com/h5bp/html5-boilerplate/releases/download/v8.0.0-RC2/html5-boilerplate_v8.0.0-RC2.zipapt-get install unzip -yunzip html5-boilerplate_v8.0.0-RC2.zip -d /etc/naive/html刷新一下域名就出来了,不需要重启容器,运行参数里包含了这个映射目录】,还能起到伪装的作用,如果要同步静态资源自己git或者ftp都行。

07:当然还有一种是用naiveproxy本身的config.json配置文件来启动容器的方法,但是考虑到naiveproxy未来可能协议要升级,会更改配置里的信息,不一定向下兼容(职业病有这顾虑),所以这里就不例举了,直接用Caddy的官方配置方法更方便。
08:不建议用H3,H1.H2都可以,我自己用H2,H3其实走的是UDP不是TCP,虽然广播形式更快,没握手,但是国内对UDP的限制是死的,用久了还是会QOS的,所以这里不再提这种使用方式了。


客户端,我就测试了
路由器:openwrt-passwall  ssplus; 软件库里安装luci-app-naiveproxy,你passwall 和 ssplus就都有这个协议可以选择了
Windows:V2rayN;
Android:SagerNet+SagerNet-naiveproxy插件  Google play直接搜索这2个名字,都有。

naive协议的客户端是最简单的,只需要填写:域名,你上面配置文件自己改的用户名和密码,端口只填:443  完毕。

家境贫寒:没有MacOS和Iphone,但是MacOS应该支持v2ray和Nekoray的,IOS也应该支持Shadowrocket



-----------------------------------------------只想科学上网的看上面8条即可,下面的可以不看。---------------------------------------

深入一点:如果同一个域名,例如:hostloc.com 已经用来naive的科学上网了,那么我建静态站也需要用到这个域名,它既要是科学上网,我打开这个hostloc.com这个网址也能是一个网站,当然我并不一定用来放静态页面,我可能是别的程序,只不过我需要已经自动申请下来的证书,除了上面的步骤,我还需要用到证书,这就是Caddy的优势了,官方自带了acme,默认申请的还是zerossl的3个月SSL证书(自动续订)

其实只需要再自定义新建一个目录+docker运行时加一个路径就行了
01:mkdir -p /etc/naive/acme

【这样加的路径变成这样,-v /etc/naive/acme:/root/.local/share/caddy/certificates/acme.zerossl.com-v2-dv90/hostloc.com(这个hostloc.com改成你自己的,如果你是www.hostloc.com就改成www.hostloc.com,如果是你hostloc.com就改成hostloc.com,如果是你blog.hostloc.com就改成blog.hostloc.com以此类推。)】

02:完整命令:docker run --network host --name naiveproxy -v /etc/naive:/root/naive -v /etc/naive/html:/var/www/html -v /var/log/caddy:/var/log/caddy/ -v /etc/naive/acme:/root/.local/share/caddy/certificates/acme.zerossl.com-v2-dv90/你的域名 --restart=always -d ireina/naiveproxy  【注意:你上面已经运行过一个容器了,再运行这个会报错,docker ps -a 停止+删除旧的容器,再运行这个,如果第一次,你不用上面04:的命令先自动申请好证书,直接用这个完整命令会报错,提示证书目录空,所以04:这条还是要先运行一下,再运行这个。】

03:这样docker运行起来后,每次自动更新的证书都放到了/etc/naive/acme这个目录,今后你任意需要用到证书的程序指定这个目录就行了,更新由docker内的Caddy自动完成。运行容器过几分钟后,你可以ls /etc/naive/acme看看,是不是所有证书和密钥都在了,完毕

作者: 周星辰    时间: 2023-3-18 17:14
openclash不支持,没办法
作者: a4425656    时间: 2023-3-18 17:16
技术贴支持大佬 先mark





紫薯布丁
  

作者: 我是神    时间: 2023-3-18 17:17
麻烦,我用面板直接一键
https://github.com/trojanpanel/install-script
作者: ajeef    时间: 2023-3-18 17:18
tcp6       0      0 :::80                   :::*                    LISTEN

注意:如果端口被监听的是tcp6不是tcp,那么说明系统优先的是ipv6而不是ipv4,不影响使用会自动调度的



作者: DearJohn    时间: 2023-3-18 18:59
clash不行。。。劝退很多人
作者: 三不    时间: 2023-3-18 19:07
技术贴,感谢分享
作者: hcyme    时间: 2023-3-18 19:10

作者: xc55    时间: 2023-3-18 19:14
支持开源脚本,不过这样下去可能要泛滥
作者: goloc    时间: 2023-3-18 19:53
只用clash支持的协议
作者: 我能做两个小时    时间: 2023-3-18 20:18
像你这么搞,你觉得后续还能玩?
作者: 岁月去堂堂    时间: 2023-3-18 22:22
这个协议支持udp吗
作者: theoneman    时间: 2023-3-18 22:42
上个月刚换的乌龟壳 naive 已经被封了。。。 而且我还是手动搭建的。
但是 论坛内一个 总被吐槽的 小鸡 v2 却一直多年来活得好好的,就是速度颇慢
作者: the9nine    时间: 2023-3-18 22:59
先mark
作者: 万里长城万里长    时间: 2023-3-18 23:00
等做成一键
作者: HLYYL    时间: 2023-3-18 23:05
本帖最后由 HLYYL 于 2023-3-18 23:08 编辑


作者: 啤酒瓶    时间: 2023-3-19 09:53
服务端部署很容易,但是在V2rayN里没启动成功,直接启动也不行
放弃了,目前的ws和grpc,也从来没被封过
作者: hcyme    时间: 2023-3-19 09:55
我也是18年的配置,一直正常,怕折腾
作者: sunkeinfo    时间: 2023-3-19 12:00
00  01  02 能看懂  , 从03开始下面都看不懂了
作者: 法拉利    时间: 2023-3-19 12:06
v2的ws一直用的好好的
作者: moowee    时间: 2023-3-19 15:54
手机端缺乏客户端啊
作者: intdos1    时间: 2023-3-20 11:02
mark
作者: mikj521    时间: 2023-3-20 11:06

作者: huifukejian    时间: 2023-3-20 11:34
流量大了感觉用啥都不怎么样
作者: 5700pgf    时间: 2023-3-20 11:37
DOCKER 镜像启动一直 RESTARTING,后来手动装,V2RAYN自定配置启动后用不了,也没日志,果然不适合我
作者: 蜗牛也是牛    时间: 2023-3-20 14:00
支持下,不过不能加cdn是个问题,我vir的小鸡同时部署了v2和naive,v2套cf能有一万多,naive只有三四千,速度还是慢了
作者: ajeef    时间: 2023-3-20 14:37
我能做两个小时 发表于 2023-3-18 20:18
像你这么搞,你觉得后续还能玩?

能玩,没特征,除非封了所有Caddy建的网站,因为只剩下Caddy自身的特征了。
作者: ajeef    时间: 2023-3-20 14:41
moowee 发表于 2023-3-19 15:54
手机端缺乏客户端啊

安卓:SagerNet+SagerNet-naiveproxy插件

苹果:Shadowrocket
作者: ajeef    时间: 2023-3-20 14:42
5700pgf 发表于 2023-3-20 11:37
DOCKER 镜像启动一直 RESTARTING,后来手动装,V2RAYN自定配置启动后用不了,也没日志,果然不适合我 ...

一步步来,教程很详细了。
作者: ajeef    时间: 2023-3-20 14:46
万里长城万里长 发表于 2023-3-18 23:00
等做成一键

有些一键shell脚本只有安装,没有卸载,要还原干净系统,还是需要docker的
01:docker ps -a
查看容器ID

02:停止:docker stop  容器ID

03:删除:docker rm 容器ID

3步,还你干净系统。
作者: 芭啦啦能量    时间: 2023-3-20 15:15
乌龟,V2 wts 跑流量就被干掉,现在只能套CF了,,,
作者: 燕十三丶    时间: 2023-3-20 15:27
vir可以试一下这个了
作者: ajeef    时间: 2023-3-20 15:58
芭啦啦能量 发表于 2023-3-20 15:15
乌龟,V2 wts 跑流量就被干掉,现在只能套CF了,,,

跑流量,大了之后,任何协议都干掉,因为上面的截断政策是看IP段的,你是商用IP段,随便干,绝对不干涉,家庭宽带IP段,对不起,干的就是你。
作者: wg58462130    时间: 2023-3-20 16:43
这个教程很好,是我之前想做的,哈哈,楼主写得很细,赞
作者: wahaha    时间: 2023-3-20 17:45
https://443502.xyz/forum.php?mod=viewthread&tid=815423
Windows10桌面实时加密同步方案

楼主您好
看到你之前的这篇文章
请问使用两年后你的方案有哪些变化,
最近也在研究备份方案,
请教一下,
谢谢!
作者: moowee    时间: 2023-3-20 18:12
ajeef 发表于 2023-3-20 14:41
安卓:SagerNet+SagerNet-naiveproxy插件

苹果:Shadowrocket


The SagerNet app is looking for a new maintainer

Due to my physical condition, I may not be able to update SN / plugins in time.

I am looking for a new maintainer for the project. The new maintainer should have a track record of successfully maintaining an open-source project.

Potential maintainers can gain the required experience by contributing to this project. If you are interested, jump in and start contributing.

If you rely on the quality and ongoing maintenance of this package, please get involved by helping to maintain this package or finding people to help maintain the project.

Note for spammers: We never stop maintaining.

----------------------------
SagerNet 不稳了
作者: laianguo    时间: 2023-4-4 00:22
ajeef 发表于 2023-3-20 14:41
安卓:SagerNet+SagerNet-naiveproxy插件

苹果:Shadowrocket

MIUI14安装  总是缺少插件。貌似插件被K
作者: yueke    时间: 2023-4-4 08:46
又一个新协议?mark
作者: yu2zhou    时间: 2023-4-4 09:45
支持的客服端太少了
作者: ajeef    时间: 2023-4-4 14:48
laianguo 发表于 2023-4-4 00:22
MIUI14安装  总是缺少插件。貌似插件被K

换其它国家节点,搜索:SagerNet-naiveproxy
作者: shenyina    时间: 2023-4-6 01:36
我在caddy帮了两个域名,一个套cf一个没套,套cf的不能用,但是直接浏览器访问可以打开网页,不知道是为什么???
作者: cyl    时间: 2023-4-24 23:33
mark




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4