mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-12-24 13:27:56 +08:00
修订注释;增加发布包目标架构
This commit is contained in:
@@ -28,7 +28,7 @@ endif
|
||||
|
||||
main: linux_amd64 linux_arm64 android_arm64 macos macm win10 win10_arm
|
||||
|
||||
extra: linux_arm32_v7 linux_mips64 linux_mips linux_s390x linux_riscv64 win32
|
||||
extra: linux_arm32_v5 linux_arm32_v6 linux_arm32_v7 linux_mips64 linux_mips linux_s390x linux_riscv64 win32
|
||||
|
||||
# 注意调用参数时,逗号前后不能留空格
|
||||
# 关于arm版本号 https://github.com/goreleaser/goreleaser/issues/36
|
||||
@@ -39,6 +39,12 @@ linux_amd64:
|
||||
linux_arm64:
|
||||
$(call compile,linux_arm64,linux,arm64)
|
||||
|
||||
linux_arm32_v5: #某些路由器需要
|
||||
$(call compile,linux_arm32_v5,linux,arm,,5)
|
||||
|
||||
linux_arm32_v6:
|
||||
$(call compile,linux_arm32_v6,linux,arm,,6)
|
||||
|
||||
linux_arm32_v7:
|
||||
$(call compile,linux_arm32_v7a,linux,arm,,7)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ host = "127.0.0.1"
|
||||
port = 4434
|
||||
version = 0
|
||||
insecure = true
|
||||
#utls = true # 如果你要用v2ray或者xray做服务端,则要关闭utls,它们不够强大所以它们的websocket无法支持uTls;如果你用verysimple做服务端,则可以打开utls,享受chrome指纹伪装。
|
||||
#utls = true
|
||||
advancedLayer = "ws"
|
||||
path = "/ohmygod_verysimple_is_very_simple" #为了防探测这里越长越随机越好
|
||||
# early = true # 是否开启early data, 注意本作这里要开启的话,就要服务端和客户端 两端都开启。
|
||||
|
||||
6
main.go
6
main.go
@@ -1304,15 +1304,9 @@ advLayerHandshakeStep:
|
||||
var edlen int
|
||||
|
||||
if !hasInnerMux && advClient.IsEarly() && wlc != nil {
|
||||
|
||||
edlen = len(iics.firstPayload)
|
||||
|
||||
}
|
||||
|
||||
// 我们verysimple的架构是 ws握手之后,再进行vless握手
|
||||
// 但是如果要传输earlydata的话,则必须要在握手阶段就 预知 vless 的所有数据才行
|
||||
// 所以我们需要一种特殊方法
|
||||
|
||||
var wc net.Conn
|
||||
|
||||
wcs := advClient.(advLayer.SingleClient)
|
||||
|
||||
@@ -594,9 +594,6 @@ func (dw *DetectLazyWriter) SimpleWrite(p []byte) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//用于通知 “我们要开始tls数据部分啦” 的 “特殊指令”,该指令会被tls加密发送,因此不用担心暴露
|
||||
//var SpecialCommand = []byte{1, 2, 3, 4} //后来决定直接使用uuid作为特殊指令。也是加密传输的,所以安全性一样。和普通vless+tls一样,最怕的是中间人攻击。只要自己证书申请好就行。
|
||||
|
||||
//发现,数据基本就是 23 3 3, 22 3 3,22 3 1 , 20 3 3
|
||||
//一个首包不为23 3 3 的包往往会出现在 1184长度的包的后面,而且一般 1184长度的包 的开头是 22 3 3 0 122,且总是在Write里面发生.
|
||||
//所以可以直接推测这个就是握手包; 实测 22 3 3 0 122 开头的,无一例外都是 1184长度,且后面接多个 开头任意的 Write
|
||||
|
||||
@@ -80,6 +80,8 @@ func (cd *ComSniff) sniff_commonHelloPre(pAfter []byte) []byte {
|
||||
//可参考 https://halfrost.com/https_tls1-3_handshake/ 。
|
||||
// 具体见最上面的注释,以及rfc。
|
||||
//解析还可以参考 https://blog.csdn.net/weixin_36139431/article/details/103541874
|
||||
//
|
||||
//会按情况在返回前 设置cd.DefinitelyNotTLS,cd.handshakeFailReason,cd.CantBeTLS13,cd.handshakeVer,cd.helloPacketPass
|
||||
func (cd *ComSniff) sniff_hello(pAfter []byte, isclienthello bool, onlyForSni bool) {
|
||||
pAfterLegacy_compression_methods := cd.sniff_commonHelloPre(pAfter)
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/*
|
||||
Package tlsLayer provides facilities for tls, including uTls, sniffing and random certificate.
|
||||
|
||||
Sniffing can be a part of Tls Lazy Encrypt tech.
|
||||
*/
|
||||
package tlsLayer
|
||||
|
||||
|
||||
Reference in New Issue
Block a user