Conversation
|
如果遇到了 PROXY protocol 也应当认为不是 transport conn,虽然有点抽象 还有 UDS,我给 proxy.go 加个公共函数,等合并 VLESS 加密后你 rebase 然后调用它吧 |
|
有proxy protocol也不影响对连接进行splice吧 |
|
|
|
|
proxy/http/server.go
Outdated
| if ok { | ||
| conn = statConn.Connection | ||
| } | ||
| if _, ok := conn.(*net.TCPConn); ok { |
There was a problem hiding this comment.
应该不需要管其他 transport conn (splice不会unwrap)
只看 tls.Conn reality.Conn
类似当时 freedom.isTLSConn() 处理MITM的用法就可以兼容 proxy protocol
There was a problem hiding this comment.
应该不需要管其他 transport conn (splice不会unwrap) 只看 tls.Conn reality.Conn 类似当时 freedom.isTLSConn() 处理MITM的用法就可以兼容 proxy protocol
这样有一个问题是原po的socks5 over ws什么的无法解决 所以我觉得判断transport conn可能更好
There was a problem hiding this comment.
socks5 over ws 是啥问题?类型不对应该不会 raw 拷贝
|
@Fangliding rebase 一下 |
63e8e68 to
e70a812
Compare
|
好了 不过yuhan说ws啥的不会又是 还真是 不知道是这样好还是判定tls.Conn好 |
|
VLESS Encryption 那个 PR 我改了个标题, WS 啥的是啥问题,这个 PR 的代码逻辑我感觉没问题啊 |
之前是判断是不是tls conn 我怕不够 因为可能有不带tls的ws才这么弄的 但是yuhan说只会误判raw+tls这样的组合 ws之类的会在其他地方判断 所以就判个tls就够了 不过两个应该都没啥问题 |
e70a812 to
fcdd4df
Compare
|
rebase不小心敲成reset了直接把main分支强推上来了 头一次知道这样会自动关闭pr |
直接判断是否为 RAW 传输层更通用 |
close #5040
rt 防止socks5或者http在over tls或者ws之类的东西的时候被意外splice 不过我测试返回的错误不是bad record 是别的乱七八糟的
see eef74b2#diff-7e4a3669d1f89cd5bf18b4387841cabd1fcb156a8a632b8892ee3267359a1828
@yuhan6665