mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2026-04-23 00:57:07 +08:00
更新文档与注释
This commit is contained in:
@@ -421,6 +421,7 @@ func (dw *DetectWriter) SimpleWrite(p []byte) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
//用于通知 “我们要开始tls数据部分啦” 的 “特殊指令”,该指令会被tls加密发送,因此不用担心暴露
|
||||
var SpecialCommand = []byte{1, 2, 3, 4}
|
||||
|
||||
//发现,数据基本就是 23 3 3, 22 3 3,22 3 1 , 20 3 3
|
||||
|
||||
+9
-2
@@ -35,6 +35,8 @@ func (wr *Recorder) StopRecord() {
|
||||
wr.stop = true
|
||||
}
|
||||
|
||||
// StartRecord后,Recorder就会开始记录数据。默认Recorder就是开启状态;
|
||||
// 所以此方法仅用于之前 Stop过
|
||||
func (wr *Recorder) StartRecord() {
|
||||
wr.stop = false
|
||||
}
|
||||
@@ -50,6 +52,7 @@ func (wr *Recorder) ReleaseBuffers() {
|
||||
|
||||
}
|
||||
|
||||
// 打印内部所有包的前10字节
|
||||
func (wr *Recorder) DigestAll() {
|
||||
tmp := wr.Buflist
|
||||
|
||||
@@ -88,7 +91,7 @@ func (wr *Recorder) Write(p []byte) (n int, err error) {
|
||||
}
|
||||
|
||||
// 实现net.Conn,专门用于 tls 检测步骤
|
||||
//每次 Read TeeConn, 都会从OldConn进行Read,然后把Read到的数据同时写入TargetWriter
|
||||
//每次 Read TeeConn, 都会从OldConn进行Read,然后把Read到的数据同时写入 TargetWriter(NewTeeConn 的参数)
|
||||
//
|
||||
// 这个TeeConn设计时,专门用于 给 tls包一个 假的 net.Conn, 避免它 主动close我们的原Conn
|
||||
//
|
||||
@@ -110,6 +113,7 @@ func NewTeeConn(oldConn net.Conn, targetWriter io.Writer) *TeeConn {
|
||||
|
||||
}
|
||||
|
||||
// 使用我们的Tee功能进行Read
|
||||
func (tc *TeeConn) Read(b []byte) (n int, err error) {
|
||||
|
||||
n, err = tc.TargetReader.Read(b)
|
||||
@@ -117,19 +121,22 @@ func (tc *TeeConn) Read(b []byte) (n int, err error) {
|
||||
return
|
||||
}
|
||||
|
||||
// 直接使用原Conn发送
|
||||
func (tc *TeeConn) Write(b []byte) (n int, err error) {
|
||||
return tc.OldConn.Write(b)
|
||||
}
|
||||
|
||||
//返回原Conn的地址
|
||||
func (tc *TeeConn) LocalAddr() net.Addr {
|
||||
return tc.OldConn.LocalAddr()
|
||||
}
|
||||
|
||||
//返回原Conn的地址
|
||||
func (tc *TeeConn) RemoteAddr() net.Addr {
|
||||
return tc.OldConn.RemoteAddr()
|
||||
}
|
||||
|
||||
//
|
||||
//Close只会试图通知外界 Close调用过,并不真Close原Conn
|
||||
func (tc *TeeConn) Close() error {
|
||||
tc.closeCalled = true
|
||||
log.Println("TeeConn Close Called")
|
||||
|
||||
Reference in New Issue
Block a user