A tool to share VPN connections over the local network.
This project uses a unified development CLI tool dev (invoked via dev.fish) to handle building, running, and deploying components.
- Go 1.21+
- Node.js & npm (for frontend)
fyne(for Android/Desktop builds)fyne-cross(for Windows cross-compilation)gomobile(for Android AAR)- Fish shell (optional, but the wrapper script is
dev.fish)
Build Discovery Server:
./dev.fish build serverThis will build the frontend (discovery_web) and the backend (cmd/discovery), placing the binary in dist/discovery.
Build Desktop App (Local):
./dev.fish buildBuild for Windows (Cross-compile):
./dev.fish build windowsRun Desktop App (Dev):
./dev.fish runIf you prefer standard Go commands:
-
Discovery Server:
# Build Frontend cd discovery_web npm install npm run build # Move dist to api package for embedding rm -rf ../discovery/api/dist mv dist ../discovery/api/dist cd .. # Build Backend go build -o dist/discovery ./cmd/discovery
-
Desktop App:
# Build Frontend cd core/debug_web npm install npm run build cd ../.. # Build Backend go build -o vpn-share-tool ./cmd/vpn-share-tool