多域名+多路径的v2ray多用户使用方案

当我们把v2ray梯子分享给朋友使用时,一是怕朋友分享给朋友的朋友,二是怕用得多了被运营商临时屏蔽或限流。我们可以使用多域名+多路径达到多用户使用的目的。

本方法并不适用机场这种批量多用户,也没有面板之类的傻瓜化界面,需要一定的linux动手能力。

本方法适用于 websocket + tls 模式,web服务用caddy,路径分流在caddy层面。

1. 搭建一个v2ray 梯子

你可以用你自己的方法。 或者用下面这个脚本

bash <(curl -L https://git.io/233v334.sh)

2. 修改 caddyFile,增加域名

在原有的域名后面加入【, 新的域名】(英文逗号 空格 新的域名)

* 新的域名怎么来呢?

注意:添加域名让Caddy自己申请证书,域名解析DNS 要关闭CDN(小云朵变灰)
注意:不要一下子添加太多域名进去,自动申请tls证书在一段时间内只能申请一定次数。如果申请证书失败,caddy会跑不起来,整个梯子就不能用了。所以要每次添加一两个域名,跑起来没问题再添加更多。如果caddy跑不起来,要把刚添加的域名去掉,再重启caddy。

多个域名轮流使用,如果被运营商临时限流,就换一个。

有人会说,那你这么多域名解析出来IP不都一样吗?运营商屏蔽IP不就行了?
那我们可以套CDN。

3. 修改caddyFile,增加路径


多说一句,在这个模式下,path其实也相当于某种意义上的密码。可以用这个工具生成
git.io/xkcdpw

你可以把不同的路径告诉不同的朋友,如果哪天想关闭某个朋友的权限,只要把对应的路径从caddyFile里删掉就行了。


===================

udpate

上面说的基于Caddy V1,如果你用的脚本是基于Caddy V2,比如这个一键脚本

bash <(curl -L https://github.com/crazypeace/V2ray_VLESS_WebSocket_TLS_CaddyV2/raw/main/install.sh)

Caddy 到v2.4.9版本为止的配置文件格式应该为: 

你的域名1, 你的域名2, 你的域名3
{
    tls Y3JhenlwZWFjZQ@gmail.com
    encode gzip

    handle_path /你自用的path {
        reverse_proxy localhost:v2ray的端口
    }
    handle_path /张三的path {
        reverse_proxy localhost:v2ray的端口
    }
    handle_path /李四的path {
        reverse_proxy localhost:v2ray的端口
    }
    handle {
        reverse_proxy https://zelikk.blogspot.com {
            header_up Host {upstream_hostport}
            header_up X-Forwarded-Host {host}
        }
    }
}


===================
update

Caddy V2.5.0 开始配置文件略有变化,应该为

你的域名1, 你的域名2, 你的域名3
{
    tls Y3JhenlwZWFjZQ@gmail.com
    encode gzip

    handle_path /你自用的path {
        reverse_proxy localhost:v2ray的端口
    }
    handle_path /张三的path {
        reverse_proxy localhost:v2ray的端口
    }
    handle_path /李四的path {
        reverse_proxy localhost:v2ray的端口
    }
    handle {
        reverse_proxy https://zelikk.blogspot.com {
            trusted_proxies 0.0.0.0/0
            header_up Host {upstream_hostport}
        }
    }
}

===================

update

在多path多用户方面 Caddy V2 有更'优雅'的用法

你的域名     # 改这里
{
    tls Y3JhenlwZWFjZQ@gmail.com
    encode gzip

@ws_path {
    path /分流path1     # 改这里
    path /分流path2     # 改这里
    path /分流path3     # 改这里
}

    handle @ws_path {
        uri path_regexp /.* /
        reverse_proxy localhost:你的v2ray内部端口     # 改这里
    }
    handle {
        reverse_proxy https://你反代伪装的网站 {     # 改这里
            trusted_proxies 0.0.0.0/0
            header_up Host {upstream_hostport}
        }
    }
}

如果你搭的是VLESS模式,那么对应的VLESS链接应该是:

vless://UUID@你的域名:443?encryption=none&security=tls&type=ws&host=你的域名&path=分流path1#别名

vless://UUID@你的域名:443?encryption=none&security=tls&type=ws&host=你的域名&path=分流path2#别名

vless://UUID@你的域名:443?encryption=none&security=tls&type=ws&host=你的域名&path=分流path3#别名

UUID要去你的v2ray的配置文件config.json里面找。

请参考:配置文件与节点参数的对应关系



评论

  1. 老哥,请问bloger是如何插入代码块的?请大神指点一二~

    回复删除
    回复
    1. 在Blogger里用比较好的CSS样式显示代码
      https://zelikk.blogspot.com/2018/12/blogger-css-block-quote-code.html

      更多blogger的hack, 请见 https://zelikk.blogspot.com/p/blogger.html

      删除
  2. 博主你好,最近我也在学习caddy,你的博文让我大受启发🤗。请问caddy的map功能可以去哪里找示例呢?我找了挺久都没找到详细的,特来问问。就是那个像Nginx的sni分流功能的。

    回复删除
    回复
    1. 你好!我拿caddy只是用于搭梯子,还没用上你说的那么“高级”的功能。哈哈!caddy目前确实苦于文档的使用实例都不丰富,你问问这个人试试,他翻译了caddy的文档,应该对caddy比我要熟悉得多了。https://github.com/phpple/caddy2-cn-doc

      删除

发表评论

The Hot3 in Last 30 Days

RackNerd VPS搭V2Ray WSS梯子 年付 $10.98 1G端口 3T流量 17G存储 1GB内存