Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/adryzz/ip2char
IP over char devices, radios...
https://github.com/adryzz/ip2char
ip network-programming networking serial tcp
Last synced: 7 days ago
JSON representation
IP over char devices, radios...
- Host: GitHub
- URL: https://github.com/adryzz/ip2char
- Owner: adryzz
- Created: 2023-08-24T15:49:24.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-03-04T22:13:00.000Z (8 months ago)
- Last Synced: 2024-03-04T23:31:11.076Z (8 months ago)
- Topics: ip, network-programming, networking, serial, tcp
- Language: Rust
- Homepage:
- Size: 144 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ip2char
**Tunnel IP traffic through serial ports and other transports**## Transports supported
- [x] Serial ports (char devices)
- [x] TCP (useful for quick debugging)## IPv6 support
IPv6 support is planned but a dependency, [`packet`](https://github.com/meh/rust-packet) doesn't yet allow reading the destination from IPv6 packets.`ip2char` does packet filtering, to ensure that the tiny bandwidth of the transport isn't taken up by packets that would get filtered by the kernel at the other side of the tunnel.
You can disable it in the configuration file, and allow IPv6 and broadcast packets to get routed, but the transport will become slower as a result.
# Features
- [x] Error correction
- [x] Compression
- [ ] Encryption# Configuration
Very inspired from Wireguard```toml
[interface]
address = "10.1.0.1/24"
name = "ip2char0"[[peer-char]]
path = "/dev/ttyACM0"
allowedips = ["10.1.0.2/32"]
# default serial speed is 115200 bps[[peer-char]]
path = "/dev/ttyACM1"
allowedips = ["10.1.0.3/32", "10.1.0.4/32"]
speed = 230400
```