Initial Commit
This commit is contained in:
44
main.go
Normal file
44
main.go
Normal file
@@ -0,0 +1,44 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user