Skip to content

Commit

Permalink
tunnel: better formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
thdxr committed Oct 3, 2024
1 parent 35c2a29 commit 3190609
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 7 deletions.
2 changes: 1 addition & 1 deletion cmd/sst/mosaic.go
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ func CmdMosaic(c *cli.Cli) error {
)
}
for range evt.Tunnels {
multi.AddProcess("tunnel", []string{currentExecutable, "tunnel", "--stage", p.App().Stage}, "", "Tunnel", "", true, true, os.Environ()...)
multi.AddProcess("tunnel", []string{currentExecutable, "tunnel", "--stage", p.App().Stage}, "", "Tunnel", "", true, true, os.Environ()...)
}
break
}
Expand Down
4 changes: 3 additions & 1 deletion cmd/sst/mosaic/ui/ui.go
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,9 @@ func (u *UI) Event(unknown interface{}) {
u.println(TEXT_NORMAL.Render(" " + line))
}
for i, line := range status.Help {
if i == 0 { u.println() }
if i == 0 {
u.println()
}
u.println(TEXT_NORMAL.Render(" " + line))
}
importDiffs, ok := evt.ImportDiffs[status.URN]
Expand Down
19 changes: 15 additions & 4 deletions cmd/sst/tunnel.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package main

import (
"fmt"
"io"
"log/slog"
"os"
"os/exec"
Expand Down Expand Up @@ -55,15 +56,25 @@ var CmdTunnel = &cli.Command{
"SSH_PRIVATE_KEY="+tun.PrivateKey,
)
tunnelCmd.Stdout = os.Stdout
tunnelCmd.Stderr = os.Stderr
util.SetProcessGroupID(tunnelCmd)
util.SetProcessCancel(tunnelCmd)
slog.Info("starting tunnel", "cmd", tunnelCmd.Args)
fmt.Println("tunneling through", tun.IP, "for")
fmt.Println(ui.TEXT_HIGHLIGHT_BOLD.Render("Tunnel"))
fmt.Println()
fmt.Print(ui.TEXT_HIGHLIGHT_BOLD.Render("➜"))
fmt.Println(ui.TEXT_NORMAL.Render(" Forwarding ranges"))
for _, subnet := range tun.Subnets {
fmt.Println("-", subnet)
fmt.Println(ui.TEXT_DIM.Render(" " + subnet))
}
fmt.Println()
fmt.Println(ui.TEXT_DIM.Render("Waiting for connections..."))
fmt.Println()
stderr, _ := tunnelCmd.StderrPipe()
tunnelCmd.Start()
output, _ := io.ReadAll(stderr)
if strings.Contains(string(output), "password is required") {
return util.NewReadableError(nil, "Make sure you have installed the tunnel with `sudo sst tunnel install`")
}
err = tunnelCmd.Run()
return nil
},
Children: []*cli.Command{
Expand Down
3 changes: 2 additions & 1 deletion pkg/tunnel/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import (
"net"

"github.com/armon/go-socks5"
"github.com/sst/ion/cmd/sst/mosaic/ui"
"golang.org/x/crypto/ssh"
)

Expand All @@ -28,7 +29,7 @@ func StartProxy(ctx context.Context, username string, host string, key []byte) e
defer sshClient.Close()
server, err := socks5.New(&socks5.Config{
Dial: func(ctx context.Context, network, addr string) (net.Conn, error) {
fmt.Println("dialing", network, addr)
fmt.Println(ui.TEXT_INFO_BOLD.Render(("| "), ui.TEXT_NORMAL.Render("Tunneling", network, addr)))
return sshClient.Dial(network, addr)
// return net.Dial(network, addr)
},
Expand Down

0 comments on commit 3190609

Please sign in to comment.