diff options
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/server/module/module.go | 13 | ||||
| -rw-r--r-- | pkg/server/tunnel.go | 16 |
2 files changed, 24 insertions, 5 deletions
diff --git a/pkg/server/module/module.go b/pkg/server/module/module.go index 3df6eb5..c638299 100644 --- a/pkg/server/module/module.go +++ b/pkg/server/module/module.go @@ -3,6 +3,7 @@ package module import ( "fmt" "log" + "sort" "strings" "tunnel/pkg/server/env" "tunnel/pkg/server/opts" @@ -111,3 +112,15 @@ func registerFunc(name string, p Func) { return p, nil }) } + +func GetList() []string { + var list []string + + for k := range modules { + list = append(list, k) + } + + sort.Strings(list) + + return list +} diff --git a/pkg/server/tunnel.go b/pkg/server/tunnel.go index 5a5e302..189703d 100644 --- a/pkg/server/tunnel.go +++ b/pkg/server/tunnel.go @@ -381,13 +381,13 @@ func foreachStream(m map[int]*stream, f func(s *stream)) { } } -func tunnelShow(r *request) { +func showTunnels(r *request) { foreachTunnel(r.c.s.tunnels, func(t *tunnel) { r.Println(t.id, t.args) }) } -func streamShow(r *request) { +func showStreams(r *request) { foreachTunnel(r.c.s.tunnels, func(t *tunnel) { t.mu.Lock() defer t.mu.Unlock() @@ -403,13 +403,19 @@ func streamShow(r *request) { }) } +func showModules(r *request) { + for _, m := range module.GetList() { + r.Println(m) + } +} + func init() { newCmd(tunnelAdd, "add") newCmd(tunnelDel, "del") newCmd(tunnelRename, "rename") - newCmd(tunnelShow, "show") - - newCmd(streamShow, "streams") + newCmd(showModules, "modules") + newCmd(showStreams, "streams") + newCmd(showTunnels, "show") } |
