No description
Find a file
Git Sagar 17c1063e1f refactor: extract session/netcfg/tunnel, add mac/dhcp/policy-route flags
- Split cmd/softether-go into main.go (flags, reconnect loop) and
  session.go (session lifecycle, DHCP orchestration)
- Extract network config to pkg/netcfg (TAP config, routing, DNS, policy routes)
- Move frame bridging to pkg/client/tunnel.go as Bridge() method
- Add -mac, -dhcp, -policy-route-table CLI flags
- Add SetMAC() to pkg/tap for deterministic DHCP assignments
- Update all docs to reflect new structure and flags

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-06-06 16:43:12 +05:30
cmd/softether-go refactor: extract session/netcfg/tunnel, add mac/dhcp/policy-route flags 2026-06-06 16:43:12 +05:30
docs refactor: extract session/netcfg/tunnel, add mac/dhcp/policy-route flags 2026-06-06 16:43:12 +05:30
pkg refactor: extract session/netcfg/tunnel, add mac/dhcp/policy-route flags 2026-06-06 16:43:12 +05:30
vendor initial commit: standalone SoftEther VPN client in Go 2026-06-06 16:13:51 +05:30
.gitignore add .gitignore for build artifacts 2026-06-06 16:15:08 +05:30
flake.lock initial commit: standalone SoftEther VPN client in Go 2026-06-06 16:13:51 +05:30
flake.nix initial commit: standalone SoftEther VPN client in Go 2026-06-06 16:13:51 +05:30
go.mod initial commit: standalone SoftEther VPN client in Go 2026-06-06 16:13:51 +05:30
go.sum initial commit: standalone SoftEther VPN client in Go 2026-06-06 16:13:51 +05:30
README.md refactor: extract session/netcfg/tunnel, add mac/dhcp/policy-route flags 2026-06-06 16:43:12 +05:30

softether-go

Standalone SoftEther VPN client written in Go. Connects to SoftEther VPN servers using the native protocol over TLS, with built-in DHCP, automatic reconnection, and route management. Single static binary, Linux only, zero runtime dependencies beyond ip (iproute2).

Quick start

# Build
go build -o softether-go ./cmd/softether-go/

# Connect (minimal)
softether-go -host vpn.example.com -user admin -pass secret -plain-password

# Connect with full network setup
softether-go -host vpn.example.com -user admin -pass secret \
  -plain-password -tap vpn0 -mac 5E:3B:6F:63:A8:3E \
  -accept-default-gateway -accept-dns -policy-route-table 200

Documentation

See docs/main.md for full documentation:

License

MIT