diff --git a/aes/aes.go b/aes/aes.go index 4345656..bd4b299 100644 --- a/aes/aes.go +++ b/aes/aes.go @@ -47,11 +47,11 @@ func PKCS7UnPadding(origData []byte) []byte { func EncodeTest() { orig := "hello world" key := "123456781234567812345678" - fmt.Println("Ô­ÎÄ£º", orig) + fmt.Println("原文:", orig) encryptCode := Encrypt(orig, key) - fmt.Println("ÃÜÎÄ£º", encryptCode) + fmt.Println("密文:", encryptCode) decryptCode := Decrypt(encryptCode, key) - fmt.Println("½âÃܽá¹û£º", decryptCode) + fmt.Println("解密结果:", decryptCode) } diff --git a/tls2/client.go b/tls2/client.go new file mode 100644 index 0000000..c58a1c8 --- /dev/null +++ b/tls2/client.go @@ -0,0 +1,12 @@ +package tls2 + +import ( + "crypto/tls" +) + +func GetClientTLSConfig() *tls.Config { + return &tls.Config{ + InsecureSkipVerify: true, + NextProtos: []string{"goodlink"}, + } +} diff --git a/tunnel/tls.go b/tls2/server.go similarity index 75% rename from tunnel/tls.go rename to tls2/server.go index fb4f6bb..751fae0 100644 --- a/tunnel/tls.go +++ b/tls2/server.go @@ -1,4 +1,4 @@ -package tunnel +package tls2 import ( "crypto/rand" @@ -9,15 +9,8 @@ import ( "math/big" ) -func getClientTLSConfig() *tls.Config { - return &tls.Config{ - InsecureSkipVerify: true, - NextProtos: []string{"quic-echo-example"}, - } -} - // Setup a bare-bones TLS config for the server -func getServerTLSConfig() *tls.Config { +func GetServerTLSConfig() *tls.Config { key, err := rsa.GenerateKey(rand.Reader, 1024) if err != nil { panic(err) @@ -36,6 +29,6 @@ func getServerTLSConfig() *tls.Config { } return &tls.Config{ Certificates: []tls.Certificate{tlsCert}, - NextProtos: []string{"quic-echo-example"}, + NextProtos: []string{"goodlink"}, } } diff --git a/tunnel/local.go b/tunnel/local.go index 0c7c791..143aa7c 100644 --- a/tunnel/local.go +++ b/tunnel/local.go @@ -8,6 +8,7 @@ import ( "gogo/workpool" "goodlink/proxy" "goodlink/tools" + "goodlink/tls2" "log" "net" "sync" @@ -43,7 +44,7 @@ func (c *TunnelClient) process_client3(conn *net.UDPConn, remoteAddr *net.UDPAdd time.Sleep(1 * time.Second) log.Printf("process_client3 quic.Dial: %v==>%v\n", conn.LocalAddr(), remoteAddr) - new_quic_conn, err := quic.Dial(context.Background(), conn, remoteAddr, getClientTLSConfig(), nil) + new_quic_conn, err := quic.Dial(context.Background(), conn, remoteAddr, tls2.GetClientTLSConfig(), nil) if err != nil { log.Printf("process_client3 quic.Dial: %v\n", err) return diff --git a/tunnel/remote.go b/tunnel/remote.go index 3d2abec..2cc8cd7 100644 --- a/tunnel/remote.go +++ b/tunnel/remote.go @@ -5,6 +5,7 @@ import ( "encoding/json" "fmt" "goodlink/proxy" + "goodlink/tls2" "goodlink/tools" "log" "math/rand" @@ -86,7 +87,7 @@ func (c *TunnelServer) process_server5(conn *net.UDPConn, tun_remote_addr *net.U } log.Printf("quic.Listen: %v\n", conn.LocalAddr()) - listener, err := quic.Listen(conn, getServerTLSConfig(), nil) + listener, err := quic.Listen(conn, tls2.GetServerTLSConfig(), nil) tools.AssertErrorToNilf("process_client3 quic.Listen: %v", err) log.Printf("process_server5 listener.Accept: %v\n", conn.LocalAddr())