summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--listener.go1
-rw-r--r--server/Makefile5
-rw-r--r--server/main.go9
3 files changed, 12 insertions, 3 deletions
diff --git a/listener.go b/listener.go
index 70b4503..52c08fd 100644
--- a/listener.go
+++ b/listener.go
@@ -117,6 +117,7 @@ func (lc *ListenConfig) Listen(ctx context.Context, network, address string) (*L
var err error
switch network {
case netKCP:
+ log.Println("kcp listen on", address)
ln, err = kcp.Listen(address)
if err != nil {
return nil, err
diff --git a/server/Makefile b/server/Makefile
index 853469b..02b24a9 100644
--- a/server/Makefile
+++ b/server/Makefile
@@ -5,7 +5,10 @@ build:
go build
run:
- sudo ./obfsproxy -addr ${LHOST} -vpn ${RHOST} -state test_data -c test_data/obfs4.json
+ sudo ./server -addr ${LHOST} -vpn ${RHOST} -state test_data -c test_data/obfs4.json
+
+run-kcp:
+ sudo KCP=1 ./server -addr ${LHOST} -vpn ${RHOST} -state test_data -c test_data/obfs4.json
stop:
pkill -9 obfsproxy
diff --git a/server/main.go b/server/main.go
index 3ade4dc..f8b7d85 100644
--- a/server/main.go
+++ b/server/main.go
@@ -97,8 +97,13 @@ func main() {
logger.Printf("DEBUG: %v", listenConfig)
- // TODO: pass kcp mode
- ln, err := listenConfig.Listen(ctx, "tcp", addr)
+ var network string
+ if os.Getenv("KCP") == "1" {
+ network = "kcp"
+ } else {
+ network = "tcp"
+ }
+ ln, err := listenConfig.Listen(ctx, network, addr)
if err != nil {
logger.Fatalf("error binding to %s: %v", addr, err)