onetun
esp_wireguard
Our great sponsors
onetun | esp_wireguard | |
---|---|---|
9 | 7 | |
794 | 175 | |
- | - | |
7.6 | 3.3 | |
3 months ago | about 2 months ago | |
Rust | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
onetun
-
A userspace WireGuard client that exposes itself as a proxy
Plug for my own similar project: https://github.com/aramperes/onetun
Though admittedly, mine doesn't have SOCKS support, and the code is not as lean as yours!
Sure, essentially it's a TCP and UDP server that:
- receives connections and assigns a random internal port for it
- wraps the data packets in a transport packet (TCP/UDP)
- wraps the transport in an IP packet that's routed from the internal port and to the remote WireGuard address
- wraps that with WireGuard's protocol (encryption)
- sends off the encrypted packet to the WireGuard UDP endpoint
The packet-wrapping and state machine for the connection is implemented using smoltcp in Rust, which is similar to netstack in Go
The WireGuard encapsulation and state machine is implemented with boringtun, Cloudflare's implementation of the WireGuard client in Rust.
I do have a more thorough architecture explanation in the Readme: https://github.com/aramperes/onetun#architecture
- Show HN: Onetun, a cross-platform WireGuard port-forwarder
-
onetun: Cross-platform, user-space WireGuard port-forwarder
It's in the plans! I'm going to finish UDP support and multi-port forwarding first and then I'll get to it: https://github.com/aramperes/onetun/issues/6
esp_wireguard
-
WireGuard implementation for ESP32
Another (native esp-idf) implementation: https://github.com/trombik/esp_wireguard
-
Access Mosquito from ESP32 in other network?
There seems to be a Wireguard implementation for the ESP, but still early in development: https://github.com/trombik/esp_wireguard
-
ESP-IDF from 4.4 to 5
Updated/refactored a few personal projects lately, apart from a breaking change in the networking side See this almost no serious issues.
- A userspace WireGuard client that exposes itself as a proxy
- WireGuard Implementation for ESP-IDF
What are some alternatives?
esp32_nat_router - A simple NAT Router for the ESP32
tunsocks - User-level IP forwarding, SOCKS proxy, and HTTP proxy for VPNs that provide tun-like interface
wireproxy - Wireguard client that exposes itself as a socks5 proxy
wireguard-go - Mirror only. Official repository is at https://git.zx2c4.com/wireguard-go
wireguard-vyatta-ubnt - WireGuard for Ubiquiti Devices
ini - Package ini provides INI file read and write functionality in Go
WireGuard-ESP32-Arduino - WireGuard implementation for ESP32 Arduino
arduino-esp32 - Arduino core for the ESP32
systemd - The systemd System and Service Manager