网上一直没有魔改单端口多用户的教程,作者迫于压力删库之后,甚至连issue都没了。
整体来说还算是比较简单,就是很多地方比较繁琐。
- 注册一个新用户
在资料编辑页面修改
加密方式为:
aes-256-cfb
协议方式为:auth_aes128_sha1
ps:
理论上讲 协议(protocol)可以配置为 auth_aes128_md5
或 auth_aes128_sha1
,但是经过我测试,只有我推荐的这个可以用。
-
端口号修改
如果你想让
单端口多用户
端口为 某个特定的值比如
443
,那么这个时候可以顺便修改一下这个用户的端口号。
-
编辑该用户
使用管理员账户,在用户管理页面,设置该用户为 协议式单端口多用户承载端口
这一块目前网络上没有教程,我也是问了很多人才知道怎么填的。
节点地址: 端口号(注意是端口号) ,要写刚才你新建那个用户的 端口号(比如443)。 节点ip: 空着,别管他。 节点类型: Shadowsocks 单端口多用户
别的随意填
这个时候,点开节点标题之后,会多一个 单端口多用户 Shadowsocks - 443 端口,点开就可以用了。
- 流量统计 使用单端口多用户和流量统计等功能不冲突
如果设置多个多用户端口,想设置不同端口不同的转发规则以最大化伪装为其它服务,例如开了80端口和443端口作为多用户端口(以additional_ports方式作为示例):
"additional_ports" : {
"80": {
"passwd": "pubpassword",
"method": "aes-128-ctr",
"protocol": "auth_aes128_md5",
"protocol_param": "#",
"obfs": "tls1.2_ticket_auth_compatible",
"obfs_param": ""
},
"443": {
"passwd": "pubpassword",
"method": "aes-128-ctr",
"protocol": "auth_aes128_md5",
"protocol_param": "#",
"obfs": "tls1.2_ticket_auth_compatible",
"obfs_param": ""
}
},
同时本地的nginx/apache开启端口1080和1443,那么在user-config.json里修改如下参数:
"redirect" : ["*:80#127.0.0.1:1080", "*:443#127.0.0.1:1443"],
配置好后,直接访问80或443端口,将是个正常的网站,用SSR去连接则为代理服务。 其它:nginx的rewrite规则默认会使用监听的端口,这时会导致rewrite有问题,需要指定一下端口号
- 数据不同步问题 有种说法,说多用户混淆参数后缀,前后端必须一样,否则数据推送会出现问题。
根据后端默认配置,这里推荐一个前端配置。
#多用户混淆参数后缀
$System_Config['mu_suffix']='zhaoj.in';
#多用户混淆参数表达式,%5m代表取用户特征 md5 的前五位,%id 代表用户id,%suffix 代表上面这个后缀。
$System_Config['mu_regex']='%5m%id.%suffix';
-
那个用户生成就是为了当单端口多用户用的,所以不要乱修改他的混淆加密什么的。
-
全站只留下单端口多用户 可以取消掉多端口的,看起来这样应该是最安全的,整个节点看起来只有
443
和80
端口有数据,如果能在80/443
端口里边塞一些页面什么的,就更完美了。
文章有参考: breakwa11