Files
tsnet-proxy/main.go
bluepython508 170fff4851 Initial Commit
2023-11-28 22:02:17 +00:00

45 lines
651 B
Go

package main
import (
"flag"
"fmt"
"log"
"net"
"github.com/goburrow/netforward"
"tailscale.com/tsnet"
)
var (
host_proto = flag.Arg(0)
hostname = flag.Arg(1)
host_port = flag.Arg(2)
dst_proto = flag.Arg(3)
dst_addr = flag.Arg(4)
)
type Dialer struct{}
func (dialer Dialer) Dial() (net.Conn, error) {
return net.Dial(dst_proto, dst_addr)
}
func main() {
flag.Parse()
s := &tsnet.Server{
Hostname: hostname,
}
defer s.Close()
ln, err := s.Listen(host_proto, fmt.Sprint(":", host_port))
if err != nil {
log.Fatal(err)
}
defer ln.Close()
err = netforward.Forward(Dialer{}, ln)
if err != nil {
log.Fatal(err)
}
}