summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarin Ivanov <[email protected]>2025-03-19 15:04:04 +0200
committerMarin Ivanov <[email protected]>2025-03-19 15:04:04 +0200
commit58ede1a221e0125c471242802ca5e66dde1ce3c6 (patch)
tree8f9c3730033591de07ccefc17e2a2aba58837fc5
Initial commit
-rw-r--r--go.mod10
-rw-r--r--go.sum6
-rw-r--r--main.go30
3 files changed, 46 insertions, 0 deletions
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..a43e9be
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,10 @@
+module go.metala.org/socks5srv
+
+go 1.24.1
+
+require (
+ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5
+ github.com/spf13/pflag v1.0.6
+)
+
+require golang.org/x/net v0.37.0 // indirect
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..0518ccc
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,6 @@
+github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
+github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
+github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o=
+github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
+golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
+golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..f7b79e9
--- /dev/null
+++ b/main.go
@@ -0,0 +1,30 @@
+package main
+
+import (
+ "log"
+
+ "github.com/armon/go-socks5"
+ flag "github.com/spf13/pflag"
+)
+
+func main() {
+ var (
+ bind string
+ )
+
+ flag.StringVarP(&bind, "bind", "b", "0.0.0.0:1080", "SOCKS5 server bind address and port")
+ flag.Parse()
+
+ // Create a SOCKS5 server
+ conf := &socks5.Config{}
+ server, err := socks5.New(conf)
+ if err != nil {
+ panic(err)
+ }
+
+ log.Printf("SOCKS5 server listeting at '%s'...", bind)
+ if err := server.ListenAndServe("tcp", bind); err != nil {
+ panic(err)
+ }
+
+}