mfahampshire
2011aa9018
Temp commit before restructure
2026-04-29 10:28:04 +01:00
mfahampshire
7783da7f9c
Temp commit before restructure
2026-04-29 10:28:04 +01:00
mfahampshire
8a927b728a
Pre rebase commit
2026-04-29 10:28:04 +01:00
mfahampshire
4ba67f6b55
Restore companion crates from backup branch
2026-04-29 10:28:04 +01:00
mfahampshire
4eca683665
Remove companion crates, scope to smolmix-core
2026-04-29 10:28:04 +01:00
mfahampshire
7bed2f30bf
Update nym-sdk README module descriptions
...
- Replace stale stream_wrapper description with ipr_wrapper + mixnet::stream
- Remove TODO comment
2026-04-29 10:28:04 +01:00
mfahampshire
9b0cc9d691
Add workspace README with architecture overview
...
- Explain TCP-layer vs message-layer design and why it matters
- Document trait impls and I/O bridges for each companion crate
- Add quick start, crate table, and example commands
2026-04-29 10:28:04 +01:00
mfahampshire
239b91ec16
Restructure smolmix into multi-crate workspace
...
- Move core tunnel code to smolmix/core/
- Add smolmix-dns: hickory RuntimeProvider over tunnel
- Add smolmix-tls: shared TLS connector extracted from hyper/tungstenite
- Add smolmix-hyper: tower Service<Uri> connector for hyper-util
- Add smolmix-tungstenite: WebSocket over TLS through tunnel
- Add smolmix-libp2p: libp2p 0.56 Transport trait (dial-only)
- Rewrite examples for each crate with clearnet/mixnet comparisons
2026-04-29 10:28:04 +01:00
mfahampshire
781d3ee8d0
Add Tunnel::new_with_ipr, re-export IpPair/Recipient, tidy examples
...
- Add Tunnel::new_with_ipr() for targeting a specific exit node
- Re-export IpPair and Recipient so users don't need direct deps
- Add DNS leak warning to WebSocket example
- Await hyper connection task in HTTPS example
2026-04-29 10:28:04 +01:00
mfahampshire
b205744da5
Update smolmix imports for ipr_wrapper API
...
- stream_wrapper::{IpMixStream, NetworkEnvironment} → ipr_wrapper::
- connect_tunnel() → check_connected()
- disconnect_stream() → disconnect()
- allocated_ips() returns &IpPair directly (no Option)
2026-04-29 10:28:04 +01:00
mfahampshire
754603f739
Consolidate architecture docs, tidy examples and README
...
- Add src/ARCHITECTURE.md as single source of truth for architecture
- Include in docs.rs via doc = include_str!
- Strip duplicated diagrams from tunnel.rs, device.rs, README
- Extract tls_connector() helper in HTTPS example to match websocket example
- Use consistent 'smolmix' casing in README
2026-04-29 10:28:04 +01:00
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