使用自定义流程实现网关协议解析转发功能

This commit is contained in:
2025-02-24 17:21:47 +08:00
parent 10a4f010ce
commit 83f4f06740
25 changed files with 1424 additions and 139 deletions

21
pkg/socks5/resolver.go Normal file
View File

@@ -0,0 +1,21 @@
package socks5
import (
"net"
)
// NameResolver 域名解析器
type NameResolver interface {
Resolve(name string) (net.IP, error)
}
// DNSResolver 使用系统 dns 服务解析域名
type DNSResolver struct{}
func (d DNSResolver) Resolve(name string) (net.IP, error) {
addr, err := net.ResolveIPAddr("ip", name)
if err != nil {
return nil, err
}
return addr.IP, err
}