package rewriter import ( "context" "log" ) import ( "github.com/eyedeekay/go-socks5" // "github.com/go-i2p/sam3" "github.com/go-i2p/i2pkeys" ) type Rewriter struct { network string } func (r Rewriter) Rewrite(ctx context.Context, request *socks5.Request) (context.Context, *socks5.AddrSpec) { var addr *socks5.AddrSpec switch request.DestAddr.Addr.(type) { case *i2pkeys.I2PAddr: addr = request.DestAddr //addr.FQDN = request.DestAddr.ADDR.(*sam3.I2PAddr).Base32() log.Println("Checking FQDN", addr.FQDN) default: log.Println(request.DestAddr.String()) return ctx, &socks5.AddrSpec{} } return ctx, addr } func NewRewriter() *Rewriter { var r Rewriter return &r }