Commit Graph

10753 Commits

Author SHA1 Message Date
mfahampshire df8e55960a Clean up bridge, device, and tunnel code
- Fix silent error swallowing in handle_incoming() select branch
- Remove cargo-cult 1s sleep before disconnect (SDK handles via TaskTracker)
- Rename confusing bridge fields: tx_receiver/rx_sender -> outgoing_rx/incoming_tx
- Document cancel-safety risk, drop-path shutdown, post-shutdown behavior
- Add comment on error loop rate limiting (SDK's internal 10s timeout)
2026-04-29 10:28:04 +01:00
mfahampshire 601b4d9279 Remove raw smoltcp path, flatten tunnel module
- Drop sync NymIprDevice, create_device(), and raw/ examples
- Flatten src/tunnel/{mod,device}.rs into src/{tunnel,device}.rs
- Remove unused socket-icmp and proto-ipv6 smoltcp features
- Tighten bridge/device visibility to pub(crate)
2026-04-29 10:28:04 +01:00
mfahampshire b319e10494 Add tokio-smoltcp, hyper, tungstenite, hickory deps for tunnel and examples 2026-04-29 10:28:03 +01:00
mfahampshire 820fa74d31 Add DNS example: hickory-proto over smolmix UDP 2026-04-29 10:28:03 +01:00
mfahampshire 95a93cba5c Add WebSocket example: tokio-tungstenite over tokio-rustls over smolmix 2026-04-29 10:28:03 +01:00
mfahampshire 8ce8d25f6b Add HTTPS example: hyper over tokio-rustls over smolmix 2026-04-29 10:28:03 +01:00
mfahampshire 54844d0516 Move raw smoltcp examples to examples/raw/ 2026-04-29 10:28:03 +01:00
mfahampshire 726663d4e4 Re-export Tunnel API and add init_logging convenience function 2026-04-29 10:28:03 +01:00
mfahampshire 614934bc68 Add Tunnel API with TcpStream and UdpSocket over tokio-smoltcp 2026-04-29 10:28:03 +01:00
mfahampshire 583627f27a rename mixtcp -> smolmix 2026-04-29 10:28:03 +01:00
mfahampshire 6caccd9e4c Add UDP example to readme 2026-04-29 10:28:03 +01:00
mfahampshire 33237e97c4 Add UDP example 2026-04-29 10:28:03 +01:00
mfahampshire 16f9c0d5e9 - Cleanup
- Add graceful shutdown (gets rid of red herring errors in examples)
- Declutter logging - move a lot of bridge info! -> trace!
- Move rustls, nym-bin-common, bytes to dev-dependencies
- Extract TlsOverTcp to mod.rs
- Make timing more granular
- Update readme
2026-04-29 10:28:03 +01:00
mfahampshire 5e63a70215 Add mixtcp crate for smoltcp-based IP tunneling
Introduces mixtcp, a smoltcp-based device that tunnels TCP/IP through
the mixnet via IpMixStream and Exit Gateway IPRs.

Components:
- NymIprDevice: smoltcp::phy::Device impl using channel-based I/O
- NymIprBridge: async task bridging the device to IpMixStream
- create_device(): helper to set up the complete stack

Examples:
- cloudflare_ping: ICMP ping through the mixnet
- https_client: HTTPS requests through the mixnet
- tls: TLS connections through the mixnet
2026-04-29 10:28:03 +01:00
mfahampshire 7efb81a601 Final pass 2026-04-29 10:28:03 +01:00
mfahampshire f9900f6946 Streamline smolmix docs 2026-04-29 10:28:03 +01:00
mfahampshire 7c18405390 Add files to versions file 2026-04-29 10:28:03 +01:00
mfahampshire 266ef7c3c9 Update mixfetch example 2026-04-29 10:28:03 +01:00
mfahampshire 4bb0b4f283 Update example code doc comments 2026-04-29 10:28:02 +01:00
mfahampshire 144617f5e1 Update license + add old tutorial code as examples 2026-04-29 10:28:02 +01:00
mfahampshire 778f84aae6 Relative -> absolute links 2026-04-29 10:28:02 +01:00
mfahampshire 9d42538f23 Relative -> absolute links 2026-04-29 10:28:02 +01:00
mfahampshire 7eaad3d99f Add versions file for doc-wide versioning 2026-04-29 10:28:02 +01:00
mfahampshire 3b6b3844ff Autoupdate cmponents 2026-04-29 10:28:02 +01:00
mfahampshire 57443d590b Add test-tutorials/ to gitignore 2026-04-29 10:28:02 +01:00
mfahampshire 4fdd9f2024 Temp commit 2026-04-29 10:28:02 +01:00
mfahampshire ba45688c0a License information + remove TODO from docs.rs visibile comment + reorg
readme
2026-04-29 10:28:02 +01:00
mfahampshire 7b43476754 Reorg of tutorials and architecture pages 2026-04-29 10:28:02 +01:00
mfahampshire 618d78dbb5 In-process versions file 2026-04-29 10:28:02 +01:00
mfahampshire eee7bdf348 gitignore 2026-04-29 10:28:02 +01:00
mfahampshire 9fd8dffb28 Component generation 2026-04-29 10:28:02 +01:00
mfahampshire 8c71fac545 Temp commit 2026-04-29 10:28:01 +01:00
mfahampshire abf0ff3b9e Update auto-generated command and API outputs 2026-04-29 10:28:01 +01:00
mfahampshire 7d10ced448 Add Exit Gateway services page (NR vs IPR) and link from existing docs 2026-04-29 10:28:01 +01:00
mfahampshire d25bd22c44 Add smolmix docs: landing page, tutorials, and developer page links 2026-04-29 10:28:01 +01:00
mfahampshire 7ed7633c6e Add Exit Gateway services page (NR vs IPR) and link from existing docs 2026-04-29 10:28:01 +01:00
mfahampshire 2372b47f46 Add smolmix docs: landing page, tutorials, and developer page links 2026-04-29 10:28:01 +01:00
mfahampshire 943afb66ba Smolmix documentation 2026-04-29 10:28:01 +01:00
benedetta davico 62a4a2ed70 Merge pull request #6710 from nymtech/bdq/versioning-fix 2026-04-28 10:01:52 +02:00
benedetta davico caad74c73d Merge pull request #6713 from nymtech/bdq/nym-binaries-ci
update CI runners
2026-04-27 15:39:44 +02:00
benedettadavico 917993d8fb clean 2026-04-27 12:17:31 +02:00
benedettadavico 1451db39e6 warn 2026-04-27 11:27:41 +02:00
benedettadavico f13a2a6c06 change to warn level 2026-04-27 10:45:42 +02:00
benedetta davico ce39fb6675 Update publish-nym-binaries.yml 2026-04-27 10:20:10 +02:00
benedettadavico 02a926b74a addressing comments 2026-04-27 10:10:08 +02:00
benedetta davico 54ba710ea0 Change CI platform from ubuntu-22.04 to arc-ubuntu-22.04 2026-04-27 09:33:57 +02:00
benedettadavico 2653d12e55 fix ipr msg, and unit tests 2026-04-24 16:07:49 +02:00
benedettadavico f94d6d51cf adding debugging traces 2026-04-24 14:11:19 +02:00
Andrej Mihajlov a0116f9aec Merge pull request #6708 from nymtech/am/lazy-init-dns
Only init SHARED_CLIENT if requested
2026-04-23 18:36:57 +02:00
Tommy Verrall aaa8ee9d53 Revert "Merge remote-tracking branch 'origin/develop' into chore/eslint-9-flat-config-migration"
This reverts commit ab0f6af4b9, reversing
changes made to cca19f36c2.
2026-04-23 15:42:27 +01:00