chika0801 / sing-box-examples

sing-box 配置示例
https://github.com/SagerNet/sing-box
1.61k stars 270 forks source link

shadowTLS协议的user #75

Closed td-hunter closed 7 months ago

td-hunter commented 7 months ago

请问一下,官方实例里inbounds中的user里有name和password(参阅 [(https://sing-box.sagernet.org/zh/examples/shadowtls/)]),你这边没有name,会有影响嘛?这个user有什么作用呀?官方文档也没说清楚,是给服务器这端随便起个名字的意思嘛?所以有没有name都无所谓

chika0801 commented 7 months ago

https://github.com/chika0801/sing-box-examples/blob/ac7c45124d45afe323fcf26429c265cb0dcca3c9/ShadowTLS/config_server.json#L18

服务端用了这参数 shadowTLS v3版本,密码就写在 users 中,不是用 password 中写密码。你仔细看sing-box文档的话能发现。

chika0801 commented 7 months ago

name 你在服务端写不写无所谓。主要是看你在路由部分中,用不用得上它。

td-hunter commented 7 months ago

昨天配置了一下,服务器端配置的也是shadowTLS,是ok的,但是客户端那边出现了:FATAL[0017] start service: Get "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db": dial tcp xx.xx.xx.xx:443: connectex: No connection could be made because the target machine actively refused it. 这样的报错。我今天试试你的配置方式(服务器、客户端都按你这边来),看看是否能成功。 谢谢解答哈

chika0801 commented 7 months ago

FATAL[0017] start service: Get "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db": dial tcp xx.xx.xx.xx:443: connectex: No connection could be made because the target machine actively refused it.

说明你客户端配置中,出站部分对应的参数,你没写对,此时客户端连不通服务端,下载geo文件就报错。

td-hunter commented 7 months ago

FATAL[0017] start service: Get "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db": dial tcp xx.xx.xx.xx:443: connectex: No connection could be made because the target machine actively refused it.

说明你客户端配置中,出站部分对应的参数,你没写对,此时客户端连不通服务端,下载geo文件就报错。

感谢大佬的解答

td-hunter commented 7 months ago

@chika0801 请问大佬,

我服务器端的配置


{
    "inbounds": [
        {
            "type": "shadowtls",
            "listen": "::",
            "listen_port": 443,
            "detour": "shadowsocks-in",
            "version": 3,
            "users": [
                {
                    "password": "xxxxxxxxxxxxxxxxxxx"
                }
            ],
            "handshake": {
                "server": "www.bing.com",
                "server_port": 443
            },
            "strict_mode": true
        },
        {
            "type": "shadowsocks",
            "tag": "shadowsocks-in",
            "listen": "127.0.0.1",
            "method": "2022-blake3-aes-128-gcm",
            "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxx"
        }
    ],
    "outbounds": [
        {
            "type": "direct"
        }
    ]
}

这是我客户端的配置

{
    "inbounds": [
        {
            "type": "mixed",
            "listen": "::",
            "listen_port": 10000
        }
    ],
    "outbounds": [
        {
            "type": "shadowsocks",
            "detour": "shadowtls-out",
            "method": "2022-blake3-aes-128-gcm",
            "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
        },
        {
            "type": "shadowtls",
            "tag": "shadowtls-out",
            "server": "xxx.xxx.xxx.xxx",
            "server_port": 443,
            "version": 3,
            "password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "tls": {
                "enabled": true,
                "server_name": "www.bing.com"
            }
        }
    ]
}

我在cmd运行 .\sing-box.exe run 后, 一直处于

INFO[0000] router: updated default interface 以太网 3, index 6
TRACE[0000] initializing inbound/mixed[0]
INFO[0000] inbound/mixed[0]: tcp server started at [::]:10000
INFO[0000] sing-box started (0.00s)

这个状态,也没下载 "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db", 就是一直在上面的状态,我尝试访问google,不行,这到底是哪个配置出了问题?谢谢

chika0801 commented 7 months ago

你服务端填的www.bing.com如果是支持tls1.3,那你换个试试。

其它方面没看出什么问题来。只有你自己排查。

你说你客户端运行.\sing-box.exe run ,你有不有比如chrome用代理插件,设置scoks5代理,进本地127.0.0.1 10000端口,这一步?

你光用.exe运行 并没自动设置win的系统代理(要的话你去看文档把那参数加上)

猜到这些,剩下你自己试试了来

td-hunter commented 7 months ago

你服务端填的www.bing.com如果是支持tls1.3,那你换个试试。

其它方面没看出什么问题来。只有你自己排查。

你说你客户端运行.\sing-box.exe run ,你有不有比如chrome用代理插件,设置scoks5代理,进本地127.0.0.1 10000端口,这一步?

你光用.exe运行 并没自动设置win的系统代理(要的话你去看文档把那参数加上)

猜到这些,剩下你自己试试了来

谢谢大佬,我看了一下bing.com只支持tls1.2,我换了zhihu,com。然后inbounds方面我加了代理参数:

    {
            "type": "mixed",
            "listen_port": 1080,
        "sniff": true,
        "set_system_proxy": true
        }

然后就通了。再次感谢。 想问问大佬,shadowTLS这种方式被墙的概率大吗?有没有隐秘性更高的的方式还是说这样就OK了? 我看群里很多人说跑大流量会被墙,那是不是我这样搭,自己几个设备正常使用被墙的概率就会小点

chika0801 commented 7 months ago

选网站的原则是,不是国内(cnip)的网站,网站内容不要有国内不准的那些范围。

如果你不这样,可能快进是vpsip被封。

如果你这样做了,这套组合到底是先被封端口最后会不会被封ip,我印象中的没看到过反馈,所以我不知道,且我自己平时也是不用这套。

chise0713 commented 7 months ago

既然都是uot了也可以选向前安全性更好的REALITY 选域名的话多找点冷门离你vps近的网站

td-hunter commented 7 months ago

选网站的原则是,不是国内(cnip)的网站,网站内容不要有国内不准的那些范围。

如果你不这样,可能快进是vpsip被封。

如果你这样做了,这套组合到底是先被封端口最后会不会被封ip,我印象中的没看到过反馈,所以我不知道,且我自己平时也是不用这套。

好的,谢谢大佬

td-hunter commented 7 months ago

既然都是uot了也可以选向前安全性更好的REALITY 选域名的话多找点冷门离你vps近的网站

我试试配一下REALITY

td-hunter commented 7 months ago

@chika0801 请问大佬,今天我搭了一个hysteria2的协议, 发现不通, 服务器配置:

{
    "inbounds": [
{
            "type": "hysteria2",
            "listen": "::",
            "listen_port": 4443,
            "users": [
                {
                    "password": "xx/7XxxxxXX0xxXXXXX===" 
                }
            ],
            "masquerade": "https://bing.com",
            "tls": {
                "enabled": true,
                "alpn": [
                    "h3"
                ],
                "certificate_path": "/etc/hysteria/cert.pem",
                "key_path": "/etc/hysteria/private.key"
            }
        }
],
    "outbounds": [
        {
            "type": "direct"
        }
    ]
}

自签证书是下面指令生成的: mkdir -p /etc/hysteria && openssl ecparam -genkey -name prime256v1 -out /etc/hysteria/private.key && openssl req -new -x509 -days 3650 -key /etc/hysteria/private.key -out /etc/hysteria/cert.pem -subj "/CN=bing.com"

客户端配置:


{
    "inbounds": [
        {
            "type": "mixed",
            "listen": "::",
            "listen_port": 10000,
        "sniff": true,
        "set_system_proxy": true
        }
    ],
    "outbounds": [
        {
            "type": "hysteria2",
            "server": "xx.xx.xx.xx",
            "server_port": 4443,
            "up_mbps": 30,
            "down_mbps": 80,
            "password": "xx/7XxxxxXX0xxXXXXX===",
            "tls": {
                "enabled": true,
                "server_name": "www.bing.com",
                "alpn": [
                    "h3"
                ]
            }
        }
    ]
}

按这个配置,在客户端总是看见报错: inbound/mixed[0]: connection closed: process connection from 127.0.0.1:45777: CRYPTO_ERROR 0x12a (local): tls: failed to verify certificate: x509: certificate signed by unknown authority 这是什么原因?是自签证书有问题吗?

chika0801 commented 7 months ago

我不用自签证书,我建议你在客户端配置出站中加入 "insecure": true, 参数试试看

另外建议不要节约一个域名钱,买个域名申请个SSL证书。

td-hunter commented 7 months ago

我不用自签证书,我建议你在客户端配置出站中加入 "insecure": true, 参数试试看

另外建议不要节约一个域名钱,买个域名申请个SSL证书。

加入 "insecure": true,的确可以了。 谢谢大佬。 过两天我去搞一个域名

chise0713 commented 7 months ago

自签的话可以把证书pin住,就不会报错了。 zerossl支持ip证书,没域名的话可以用他们的,只支持80端口文件验证,或者你可以试试看这个

td-hunter commented 7 months ago

自签的话可以把证书pin住,就不会报错了。 zerossl支持ip证书,没域名的话可以用他们的,只支持80端口文件验证,或者你可以试试看这个

谢谢,我回头研究一下

td-hunter commented 7 months ago

@chika0801 大佬最近用着用着突然出现这个报错是什么原因?之前一直可以用,都没改过 :ERROR[0024]dns exchange failed for mtalk.google.com. IN A,:POST: "https://1.1.1.1/dns-query" dail tcp xx.xx.xx.xx:433: conmect: connect refused

Screenshot_2023-12-05-20-37-13-391_io.nekohasekai.sfa-edit.jpg

chika0801 commented 7 months ago

看图上内容,看不出明堂,就知道报错了。

你不如说你遇到这个报错时,整个客户端是不是翻墙失效了,这样描述?

td-hunter commented 7 months ago

看图上内容,看不出明堂,就知道报错了。

你不如说你遇到这个报错时,整个客户端是不是翻墙失效了,这样描述?

我昨天重启了一下在服务器上的服务就恢复正常了,怀疑是不是系统时间有误差导致的.当时的确是无法翻了

chika0801 commented 7 months ago

那报错的信息的原因就是客户端到服务端不通。就报这样的错。

至于为什么不通,方面很多,你用这种协议组合被防火墙时不时干扰,你的VPS到你线路不稳定,就算防火墙不干扰,比如你是移动,移动要搞你,可能同时你朋友是联通,就正常。

遇到这些不要慌,你又不是只有1个VPS,这个不通,切到另外一个VPS上用就是了。

td-hunter commented 7 months ago

那报错的信息的原因就是客户端到服务端不通。就报这样的错。

至于为什么不通,方面很多,你用这种协议组合被防火墙时不时干扰,你的VPS到你线路不稳定,就算防火墙不干扰,比如你是移动,移动要搞你,可能同时你朋友是联通,就正常。

遇到这些不要慌,你又不是只有1个VPS,这个不通,切到另外一个VPS上用就是了。

因为机房有点远所以的确线路没有优质线路那么好,不过hyteria2协议的确很大地改善了我这垃圾线路,其他基于TCP的协议的确慢的很。不过无论怎么说还是感谢大佬的解答

chika0801 commented 7 months ago

加钱买好VPS呀。你不会手里全是10-15刀年付级别的VPS吧。

你问的是shadowTLS组合吧,这组合是TCP的,反正我是不会用。hyteria2是UDP类的,来拉这些线路的VPS可以,你还可以试试 TCP Burtal的组合形式。

td-hunter commented 7 months ago

加钱买好VPS呀。你不会手里全是10-15刀年付级别的VPS吧。

你问的是shadowTLS组合吧,这组合是TCP的,反正我是不会用。hyteria2是UDP类的,来拉这些线路的VPS可以,你还可以试试 TCP Burtal的组合形式。

啊,还真被说中了,的确是10-15刀的年付vps,主要是第一次搭,想找个便宜的做做实验,同时也有几个机场。但是如果都ok下一步是打算放掉几个机场只保留一个然后再买个好点的vps。不知道大佬有什么推荐的vps吗?板瓦工?vultr?还是哪个更好点?这些供应商我都听过,但是没用过,想着他们这么出名,他们的ip段不得被重点关注呀,那重要节假日时不得疯狂被干扰,还有可能会有直接被墙的大风险。主要需求也不跑什么大流量,正常油管、gpt能用就行,可能未来还会考虑搭个网站