33 lines
660 B
Go
33 lines
660 B
Go
package rewriter
|
|
|
|
import (
|
|
"context"
|
|
"log"
|
|
)
|
|
import (
|
|
"github.com/eyedeekay/go-socks5"
|
|
"github.com/eyedeekay/sam3"
|
|
)
|
|
|
|
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 *sam3.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
|
|
}
|