Support socks5 routing to mycelium #29

Merged
eslamnawara merged 12 commits from support-socks5 into main 2026-03-05 00:21:51 +00:00
Member

#5

#5
support socks5
Some checks failed
Build / build (push) Successful in 1m32s
Lint / lint (push) Failing after 5m55s
Test / test (push) Successful in 10m18s
76afe1d1ac
support socks5 in gwctl
Some checks failed
Lint / lint (push) Failing after 1m12s
Build / build (push) Successful in 10m13s
Test / test (push) Successful in 10m21s
02a02f7f26
redirect socks5 traffic into mycelium with port 1080 and add metric
All checks were successful
Lint / lint (push) Successful in 1m34s
Test / test (push) Successful in 2m36s
Build / build (push) Successful in 10m15s
467f7f5f83
use 1081 port for socks5
All checks were successful
Build / build (push) Successful in 2m5s
Test / test (push) Successful in 2m5s
Lint / lint (push) Successful in 10m43s
97a6e2bd1b
handle mycelium connections
All checks were successful
Test / test (push) Successful in 1m29s
Build / build (push) Successful in 10m38s
Lint / lint (push) Successful in 10m58s
e93655490b
salmaelsoly requested changes 2026-02-25 05:25:43 +00:00
Dismissed
salmaelsoly left a comment
Member

can we update readme with new added configs as well?

can we update readme with new added configs as well?
@ -63,0 +87,4 @@
Subsystem: "socks5",
Name: "connections_total",
Help: "Total SOCKS5 proxy connections.",
}, []string{"client_ip"})
Member

can we add visualization to these metrics in grafana/dashboards/webgateway.json

can we add visualization to these metrics in grafana/dashboards/webgateway.json
@ -0,0 +75,4 @@
if err != nil {
return fmt.Errorf("failed to load socks5metrics module: %w", err)
}
a.metrics = metricsModIface.(*metrics.Socks5MetricsHandler)
Member

can we use safe type assertion?

can we use safe type assertion?
@ -0,0 +108,4 @@
}
if err := a.client.DisconnectProxy(); err != nil {
a.logger.Warn("Failed to disconnect Mycelium proxy", zap.Error(err))
}
Member

the function returns error so why we are only logging the error?

the function returns error so why we are only logging the error?
@ -0,0 +142,4 @@
}
// Connect to Mycelium's SOCKS5 and relay everything
myceliumConn, err := net.Dial("tcp", a.MyceliumSOCKS5)
Member

can we have timeout here?

can we have timeout here?
add socks5 to grafana dashboard
All checks were successful
Build / build (push) Successful in 10m15s
Test / test (push) Successful in 10m31s
Lint / lint (push) Successful in 11m10s
dd96bd4de8
update readme
All checks were successful
Test / test (push) Successful in 1m35s
Build / build (push) Successful in 1m39s
Lint / lint (push) Successful in 10m33s
f291cad431
rename functions
All checks were successful
Build / build (push) Successful in 11m7s
Test / test (push) Successful in 11m7s
Lint / lint (push) Successful in 11m24s
023c20e6e8
Author
Member

mycelium/circle_ops#635 (comment)
here the mycelium issue is fixed now and we can go ahead and merge this one

https://forge.ourworld.tf/mycelium/circle_ops/issues/635#issuecomment-9766 here the mycelium issue is fixed now and we can go ahead and merge this one
Merge branch 'main' into support-socks5
All checks were successful
Build / build (push) Successful in 10m32s
Lint / lint (push) Successful in 10m59s
Test / test (push) Successful in 10m39s
0a5fcde4ef
eslamnawara deleted branch support-socks5 2026-03-05 00:21:58 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
geomind_code/webgateway!29
No description provided.