Merged
Conversation
- Rewrite config parser to use string-based fields instead of net types - Add base64 to hex conversion for wireguard-go compatibility - Implement endpoint hostname resolution - Add comprehensive config validation - Update example configuration with realistic settings - Remove IPv6-specific test file in favor of unified testing
- Create comprehensive demo showing Node.js apps communicating via WireGuard - Add Docker containers for WireGuard server and client applications - Include automated key generation and setup scripts - Add test client for validation - Update README with demo instructions
- Replace simple logging with structured JSON logger - Add configurable log levels and output formatting - Include request/response logging for debugging - Update all components to use new logger interface
- Add SOCKS5 proxy server for handling incoming connections - Implement traffic forwarder for routing between interfaces - Add bidirectional data forwarding with proper connection handling - Include comprehensive tests for proxy and forwarding logic
- Replace custom network implementation with wireguard-go integration - Add TUN interface creation and management - Implement proper packet routing and handling - Update IPC communication for tunnel control - Remove deprecated network and memory TUN implementations
- Modernize Makefile with comprehensive build targets - Add support for cross-platform builds and testing - Include debug builds and code formatting tools - Update Go modules and dependencies - Remove deprecated test scripts - Add main function tests
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR implements a comprehensive overhaul of WrapGuard to support incoming connections through a SOCKS5
proxy and WireGuard tunnel system. The changes include:
traffic through the WireGuard tunnel
compatibility
for better stability
WireGuard
Key Features
SOCKS5 Proxy Support
Enhanced WireGuard Integration
Docker Demo
Technical Changes
Configuration System
Logging System
Build System
Test Coverage
Breaking Changes
Demo Usage
cd demo ./setup.sh docker compose up --build This will start a WireGuard server and two Node.js applications that communicate through the tunnel without requiring root privileges or kernel modules. Test Plan - Build system works on Linux and macOS - All unit tests pass (make test) - Demo environment runs successfully - SOCKS5 proxy handles connections correctly - WireGuard tunnel establishes and routes traffic - Configuration parsing works with existing configs - Logging output is properly structured - Cross-platform compatibility maintained