diff --git a/rewriter/rewriter.go b/rewriter/rewriter.go index 331a447..29a2321 100644 --- a/rewriter/rewriter.go +++ b/rewriter/rewriter.go @@ -14,9 +14,16 @@ type Rewriter struct { } func (r Rewriter) Rewrite(ctx context.Context, request *socks5.Request) (context.Context, *socks5.AddrSpec) { - addr := request.DestAddr - addr.FQDN = request.DestAddr.ADDR.(*sam3.I2PAddr).Base32() - log.Println("Correcting FQDN to base32 address.", addr.FQDN) + var addr *socks5.AddrSpec + switch request.DestAddr.ADDR.(type) { + case *sam3.I2PAddr: + addr = request.DestAddr + addr.FQDN = request.DestAddr.ADDR.(*sam3.I2PAddr).Base32() + log.Println("Correcting FQDN to base32 address.", addr.FQDN) + default: + log.Println(request.DestAddr.String()) + return ctx, &socks5.AddrSpec{} + } return ctx, addr }