全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 12830|回复: 47
打印 上一主题 下一主题

5分钟部署一个NaiveProxy协议,安全又方便!-ajeef火麒麟

  [复制链接]
跳转到指定楼层
1#
发表于 2023-3-18 17:11:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 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-20 15:15:11 | 只看该作者
乌龟,V2 wts 跑流量就被干掉,现在只能套CF了,,,
推荐
发表于 2023-3-18 17:14:47 | 只看该作者
openclash不支持,没办法
41#
发表于 2023-4-6 01:36:48 | 只看该作者
我在caddy帮了两个域名,一个套cf一个没套,套cf的不能用,但是直接浏览器访问可以打开网页,不知道是为什么???
40#
 楼主| 发表于 2023-4-4 14:48:19 | 只看该作者
laianguo 发表于 2023-4-4 00:22
MIUI14安装  总是缺少插件。貌似插件被K

换其它国家节点,搜索:SagerNet-naiveproxy
39#
发表于 2023-4-4 09:45:42 来自手机 | 只看该作者
支持的客服端太少了
38#
发表于 2023-4-4 08:46:35 来自手机 | 只看该作者
又一个新协议?mark
37#
发表于 2023-4-4 00:22:05 | 只看该作者
ajeef 发表于 2023-3-20 14:41
安卓:SagerNet+SagerNet-naiveproxy插件

苹果:Shadowrocket

MIUI14安装  总是缺少插件。貌似插件被K
36#
发表于 2023-3-20 18:12:47 | 只看该作者
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 不稳了
35#
发表于 2023-3-20 17:45:57 | 只看该作者
https://443502.xyz/forum.php?mod=viewthread&tid=815423
Windows10桌面实时加密同步方案

楼主您好
看到你之前的这篇文章
请问使用两年后你的方案有哪些变化,
最近也在研究备份方案,
请教一下,
谢谢!
34#
发表于 2023-3-20 16:43:30 | 只看该作者
这个教程很好,是我之前想做的,哈哈,楼主写得很细,赞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-19 11:56 , Processed in 0.069758 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表