Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b116ffad6 | ||
|
|
6ab6551686 | ||
|
|
6bdeffe3f2 | ||
|
|
9224e79eea | ||
|
|
d1711b02b6 |
2
.github/wireproxy-releaser.yml
vendored
2
.github/wireproxy-releaser.yml
vendored
@@ -11,8 +11,6 @@ builds:
|
|||||||
- linux
|
- linux
|
||||||
- windows
|
- windows
|
||||||
- darwin
|
- darwin
|
||||||
- freebsd
|
|
||||||
- openbsd
|
|
||||||
goarch:
|
goarch:
|
||||||
- arm
|
- arm
|
||||||
- arm64
|
- arm64
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ const daemonProcess = "daemon-process"
|
|||||||
func pledgeOrPanic(promises string) {
|
func pledgeOrPanic(promises string) {
|
||||||
err := protect.Pledge(promises)
|
err := protect.Pledge(promises)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ func main() {
|
|||||||
|
|
||||||
conf, err := wireproxy.ParseConfig(*config)
|
conf, err := wireproxy.ParseConfig(*config)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if *configTest {
|
if *configTest {
|
||||||
@@ -89,7 +89,7 @@ func main() {
|
|||||||
|
|
||||||
tnet, err := wireproxy.StartWireguard(conf.Device)
|
tnet, err := wireproxy.StartWireguard(conf.Device)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, spawner := range conf.Routines {
|
for _, spawner := range conf.Routines {
|
||||||
|
|||||||
@@ -11,4 +11,4 @@ RUN apk upgrade
|
|||||||
COPY --from=go-build /go/wireproxy/wireproxy /usr/bin/
|
COPY --from=go-build /go/wireproxy/wireproxy /usr/bin/
|
||||||
|
|
||||||
VOLUME [ "/etc/wireproxy"]
|
VOLUME [ "/etc/wireproxy"]
|
||||||
ENTRYPOINT [ "/usr/bin/wireproxy", "/etc/wireproxy/config" ]
|
ENTRYPOINT [ "/usr/bin/wireproxy", "--config", "/etc/wireproxy/config" ]
|
||||||
|
|||||||
16
routine.go
16
routine.go
@@ -122,11 +122,11 @@ func (config *Socks5Config) SpawnRoutine(vt *VirtualTun) {
|
|||||||
}
|
}
|
||||||
server, err := socks5.New(conf)
|
server, err := socks5.New(conf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := server.ListenAndServe("tcp", config.BindAddress); err != nil {
|
if err := server.ListenAndServe("tcp", config.BindAddress); err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -165,19 +165,19 @@ func tcpClientForward(tnet *netstack.Net, target *net.TCPAddr, conn net.Conn) {
|
|||||||
func (conf *TCPClientTunnelConfig) SpawnRoutine(vt *VirtualTun) {
|
func (conf *TCPClientTunnelConfig) SpawnRoutine(vt *VirtualTun) {
|
||||||
raddr, err := vt.ResolveAddrPort(conf.Target)
|
raddr, err := vt.ResolveAddrPort(conf.Target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
tcpAddr := TCPAddrFromAddrPort(*raddr)
|
tcpAddr := TCPAddrFromAddrPort(*raddr)
|
||||||
|
|
||||||
server, err := net.ListenTCP("tcp", conf.BindAddress)
|
server, err := net.ListenTCP("tcp", conf.BindAddress)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
conn, err := server.Accept()
|
conn, err := server.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
go tcpClientForward(vt.tnet, tcpAddr, conn)
|
go tcpClientForward(vt.tnet, tcpAddr, conn)
|
||||||
}
|
}
|
||||||
@@ -199,20 +199,20 @@ func tcpServerForward(target *net.TCPAddr, conn net.Conn) {
|
|||||||
func (conf *TCPServerTunnelConfig) SpawnRoutine(vt *VirtualTun) {
|
func (conf *TCPServerTunnelConfig) SpawnRoutine(vt *VirtualTun) {
|
||||||
raddr, err := vt.ResolveAddrPort(conf.Target)
|
raddr, err := vt.ResolveAddrPort(conf.Target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
tcpAddr := TCPAddrFromAddrPort(*raddr)
|
tcpAddr := TCPAddrFromAddrPort(*raddr)
|
||||||
|
|
||||||
addr := &net.TCPAddr{Port: conf.ListenPort}
|
addr := &net.TCPAddr{Port: conf.ListenPort}
|
||||||
server, err := vt.tnet.ListenTCP(addr)
|
server, err := vt.tnet.ListenTCP(addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
conn, err := server.Accept()
|
conn, err := server.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Panic(err)
|
log.Fatal(err)
|
||||||
}
|
}
|
||||||
go tcpServerForward(tcpAddr, conn)
|
go tcpServerForward(tcpAddr, conn)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ public_key=%s
|
|||||||
endpoint=%s
|
endpoint=%s
|
||||||
persistent_keepalive_interval=%d
|
persistent_keepalive_interval=%d
|
||||||
preshared_key=%s
|
preshared_key=%s
|
||||||
allowed_ip=0.0.0.0/0`, conf.SelfSecretKey, conf.PeerPublicKey, conf.PeerEndpoint, conf.KeepAlive, conf.PreSharedKey)
|
allowed_ip=0.0.0.0/0
|
||||||
|
allowed_ip=::0/0`, conf.SelfSecretKey, conf.PeerPublicKey, conf.PeerEndpoint, conf.KeepAlive, conf.PreSharedKey)
|
||||||
|
|
||||||
setting := &DeviceSetting{ipcRequest: request, dns: conf.DNS, deviceAddr: conf.SelfEndpoint, mtu: conf.MTU}
|
setting := &DeviceSetting{ipcRequest: request, dns: conf.DNS, deviceAddr: conf.SelfEndpoint, mtu: conf.MTU}
|
||||||
return setting, nil
|
return setting, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user