Files
Archive/go-shadowsocks2/tcp_darwin.go
2024-03-05 02:32:38 -08:00

25 lines
562 B
Go

package main
import (
"net"
"github.com/shadowsocks/go-shadowsocks2/pfutil"
"github.com/shadowsocks/go-shadowsocks2/socks"
)
func redirLocal(addr, server string, shadow func(net.Conn) net.Conn) {
tcpLocal(addr, server, shadow, natLookup)
}
func redir6Local(addr, server string, shadow func(net.Conn) net.Conn) {
panic("TCP6 redirect not supported")
}
func natLookup(c net.Conn) (socks.Addr, error) {
if tc, ok := c.(*net.TCPConn); ok {
addr, err := pfutil.NatLookup(tc)
return socks.ParseAddr(addr.String()), err
}
panic("not TCP connection")
}