34 lines
698 B
Go
34 lines
698 B
Go
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
|
|
}
|