Commit Graph
1554 Commits
Author SHA1 Message Date
Lee Smet 4e46701b1c Add CDN to Node struct
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet 08589cd567 Add basic block cache
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet d6df26d530 Add directory support
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet 98a030ca89 File recombination
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet 2a920c8922 WIP
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet 60872c06cc Start basic CDN hook
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet 9eeeedf04c Define basic metadata structures
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-07-12 11:36:47 +02:00
Lee Smet 6048940e78 Close #630: Add plain log format option
This always disables colors

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-06-06 16:11:47 +02:00
Lee Smet 6b7cf9f4f6 Drop magic nix cache github action workflow step
Action stopped working on 1st of february

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-06-03 14:21:14 +02:00
dependabot[bot] 71cb99dc65 Bump the myceliumd group in /myceliumd with 2 updates
Bumps the myceliumd group in /myceliumd with 2 updates: [clap](https://github.com/clap-rs/clap) and [tokio](https://github.com/tokio-rs/tokio).


Updates `clap` from 4.5.37 to 4.5.38
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.37...clap_complete-v4.5.38)

Updates `tokio` from 1.44.2 to 1.45.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.38
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
- dependency-name: tokio
  dependency-version: 1.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-20 11:48:58 +02:00
dependabot[bot] 6a9c931019 Bump the myceliumd-private group in /myceliumd-private with 2 updates
Bumps the myceliumd-private group in /myceliumd-private with 2 updates: [clap](https://github.com/clap-rs/clap) and [tokio](https://github.com/tokio-rs/tokio).


Updates `clap` from 4.5.37 to 4.5.38
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.37...clap_complete-v4.5.38)

Updates `tokio` from 1.44.2 to 1.45.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.2...tokio-1.45.0)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.38
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
- dependency-name: tokio
  dependency-version: 1.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: myceliumd-private
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-20 11:41:49 +02:00
Lee Smet a9ba23d7bd Bump version to v0.6.1
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
v0.6.1
2025-05-14 19:39:14 +02:00
Lee Smet b28786b953 Only track retracted routes for 6 seconds
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-14 19:24:30 +02:00
Lee Smet ef44068557 Split public node table by version in README
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-14 10:44:13 +02:00
Lee Smet c82666b6a0 Close #619: Add cache for route requests
This avoids us spamming peers with the same route request

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-09 14:53:40 +02:00
Lee Smet d2760aef8e Add route request cache
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-09 12:47:08 +02:00
Lee Smet 62c1257479 Close #616: Keep track of peer connection times
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-08 14:34:47 +02:00
Lee Smet 27f5d66263 Send a route request if a route entry which is almost expired is used
Part of #618

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-08 12:41:49 +02:00
Lee Smet f302d5c645 Only mark a subnet as queried if we have no routes for it
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-08 12:07:33 +02:00
Lee Smet b954cda4b2 Make sure we have a selected route before accepting a TUN packet
Related to #614

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-07 18:44:02 +02:00
Lee Smet 6f15ee1797 Don't send seqno requests to peers if they are already in the cache
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-07 14:32:59 +02:00
Lee Smet 6a5749d0ab Fix TTL exceeded for local packets
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-06 17:12:45 +02:00
Lee Smet c17851670f Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-06 12:05:10 +02:00
dependabot[bot] b52216f531 Bump the mycelium group with 3 updates
Bumps the mycelium group with 3 updates: [rustls](https://github.com/rustls/rustls), [nix](https://github.com/nix-rust/nix) and [axum](https://github.com/tokio-rs/axum).


Updates `rustls` from 0.23.26 to 0.23.27
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.26...v/0.23.27)

Updates `nix` from 0.29.0 to 0.30.1
- [Changelog](https://github.com/nix-rust/nix/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nix-rust/nix/compare/v0.29.0...v0.30.1)

Updates `axum` from 0.8.3 to 0.8.4
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/compare/axum-v0.8.3...axum-v0.8.4)

---
updated-dependencies:
- dependency-name: rustls
  dependency-version: 0.23.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: nix
  dependency-version: 0.30.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: axum
  dependency-version: 0.8.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 12:03:02 +02:00
Lee Smet 2687ecabc2 Fix #614: Properly reply to local packets for local subnet
Previously packets for the local subnet would trigger a route lookup,
which leads to a no-route entry being generated. Instead, reply to such
packets with an ICMP host unreachable - address uncreachable. This can
be done unilaterally since IF the address would exist on the host, the
packet would not be pushed to the TUN interface by the kernel and thus,
by extension, if such a packet is handled by mycelium, it means there is
no address or local subnet configuration.

Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-05-05 13:40:40 +02:00
Lee Smet 1eec5651bf Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-29 11:53:47 +02:00
dependabot[bot] 3a5a3636e4 Bump toml in /myceliumd-private in the myceliumd-private group
Bumps the myceliumd-private group in /myceliumd-private with 1 update: [toml](https://github.com/toml-rs/toml).


Updates `toml` from 0.8.20 to 0.8.22
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.20...toml-v0.8.22)

---
updated-dependencies:
- dependency-name: toml
  dependency-version: 0.8.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 11:47:01 +02:00
dependabot[bot] e1781ef49e Bump jsonrpsee from 0.24.9 to 0.25.1 in the mycelium group
Bumps the mycelium group with 1 update: [jsonrpsee](https://github.com/paritytech/jsonrpsee).


Updates `jsonrpsee` from 0.24.9 to 0.25.1
- [Release notes](https://github.com/paritytech/jsonrpsee/releases)
- [Changelog](https://github.com/paritytech/jsonrpsee/blob/master/CHANGELOG.md)
- [Commits](https://github.com/paritytech/jsonrpsee/compare/v0.24.9...v0.25.1)

---
updated-dependencies:
- dependency-name: jsonrpsee
  dependency-version: 0.25.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 11:46:29 +02:00
dependabot[bot] 3f9b4c41a8 Bump toml from 0.8.20 to 0.8.22 in /myceliumd in the myceliumd group
Bumps the myceliumd group in /myceliumd with 1 update: [toml](https://github.com/toml-rs/toml).


Updates `toml` from 0.8.20 to 0.8.22
- [Commits](https://github.com/toml-rs/toml/compare/toml-v0.8.20...toml-v0.8.22)

---
updated-dependencies:
- dependency-name: toml
  dependency-version: 0.8.22
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-29 11:46:04 +02:00
Lee Smet ea4e77c638 Fix memory leak in handle_dead_peers
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-28 15:34:26 +02:00
Lee Smet 027c43f059 Fix unsound clone implementation on RoutingTable
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-28 13:56:23 +02:00
Lee Smet f3729710ca Update README.md with updated peers
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-25 16:48:40 +02:00
Lee Smet e8b24053a0 Add note in README.md about network upgrade
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-25 14:48:47 +02:00
Lee Smet 671b0e5724 Bump versions to v0.6.0
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-25 14:48:47 +02:00
Lee Smet 02348dac35 Update CHANGELOG.md for new version
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-25 14:48:47 +02:00
Lee Smet 5fb8d70888 Update CHANGELOG.md with latest changes
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-25 14:48:46 +02:00
dependabot[bot] 82b34a3e6e Bump clap
Bumps the myceliumd-private group with 1 update in the /myceliumd-private directory: [clap](https://github.com/clap-rs/clap).


Updates `clap` from 4.5.32 to 4.5.37
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.32...clap_complete-v4.5.37)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.37
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd-private
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 16:12:57 +02:00
dependabot[bot] ac0adc6d1c Bump clap in /myceliumd in the myceliumd group across 1 directory
Bumps the myceliumd group with 1 update in the /myceliumd directory: [clap](https://github.com/clap-rs/clap).


Updates `clap` from 4.5.32 to 4.5.37
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/clap-rs/clap/compare/clap_complete-v4.5.32...clap_complete-v4.5.37)

---
updated-dependencies:
- dependency-name: clap
  dependency-version: 4.5.37
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: myceliumd
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 16:12:30 +02:00
dependabot[bot] 37e3751fda Bump openssl from 0.10.71 to 0.10.72 in /mycelium-ui
Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.71 to 0.10.72.
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72)

---
updated-dependencies:
- dependency-name: openssl
  dependency-version: 0.10.72
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 16:02:16 +02:00
Lee Smet 6ac58631df Enable jsonrpc api in myceliumd private
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 15:57:23 +02:00
Lee Smet b089da0382 Update binary lockfiles
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 15:48:08 +02:00
dependabot[bot] 57c222db96 Bump crossbeam-channel from 0.5.14 to 0.5.15 in /mycelium-ui
Bumps [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam) from 0.5.14 to 0.5.15.
- [Release notes](https://github.com/crossbeam-rs/crossbeam/releases)
- [Changelog](https://github.com/crossbeam-rs/crossbeam/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.14...crossbeam-channel-0.5.15)

---
updated-dependencies:
- dependency-name: crossbeam-channel
  dependency-version: 0.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 15:21:25 +02:00
dependabot[bot] c03de7a9bb Bump the mycelium group across 1 directory with 13 updates
Bumps the mycelium group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [tokio](https://github.com/tokio-rs/tokio) | `1.44.1` | `1.44.2` |
| [tokio-util](https://github.com/tokio-rs/tokio) | `0.7.14` | `0.7.15` |
| [rand](https://github.com/rust-random/rand) | `0.9.0` | `0.9.1` |
| [blake3](https://github.com/BLAKE3-team/BLAKE3) | `1.6.1` | `1.8.2` |
| [etherparse](https://github.com/JulianSchmid/etherparse) | `0.17.0` | `0.18.0` |
| [quinn](https://github.com/quinn-rs/quinn) | `0.11.6` | `0.11.7` |
| [rustls](https://github.com/rustls/rustls) | `0.23.25` | `0.23.26` |
| [netdev](https://github.com/shellrow/netdev) | `0.33.0` | `0.34.0` |
| [openssl](https://github.com/sfackler/rust-openssl) | `0.10.71` | `0.10.72` |
| [libc](https://github.com/rust-lang/libc) | `0.2.171` | `0.2.172` |
| [axum](https://github.com/tokio-rs/axum) | `0.8.1` | `0.8.3` |
| [prometheus](https://github.com/tikv/rust-prometheus) | `0.13.4` | `0.14.0` |
| [reqwest](https://github.com/seanmonstar/reqwest) | `0.12.14` | `0.12.15` |



Updates `tokio` from 1.44.1 to 1.44.2
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.44.1...tokio-1.44.2)

Updates `tokio-util` from 0.7.14 to 0.7.15
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.14...tokio-util-0.7.15)

Updates `rand` from 0.9.0 to 0.9.1
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/compare/0.9.0...rand_core-0.9.1)

Updates `blake3` from 1.6.1 to 1.8.2
- [Release notes](https://github.com/BLAKE3-team/BLAKE3/releases)
- [Commits](https://github.com/BLAKE3-team/BLAKE3/compare/1.6.1...1.8.2)

Updates `etherparse` from 0.17.0 to 0.18.0
- [Release notes](https://github.com/JulianSchmid/etherparse/releases)
- [Changelog](https://github.com/JulianSchmid/etherparse/blob/master/changelog.md)
- [Commits](https://github.com/JulianSchmid/etherparse/compare/v0.17.0...v0.18.0)

Updates `quinn` from 0.11.6 to 0.11.7
- [Release notes](https://github.com/quinn-rs/quinn/releases)
- [Commits](https://github.com/quinn-rs/quinn/compare/quinn-0.11.6...quinn-0.11.7)

Updates `rustls` from 0.23.25 to 0.23.26
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rustls/rustls/compare/v/0.23.25...v/0.23.26)

Updates `netdev` from 0.33.0 to 0.34.0
- [Release notes](https://github.com/shellrow/netdev/releases)
- [Commits](https://github.com/shellrow/netdev/compare/v0.33.0...v0.34.0)

Updates `openssl` from 0.10.71 to 0.10.72
- [Release notes](https://github.com/sfackler/rust-openssl/releases)
- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.71...openssl-v0.10.72)

Updates `libc` from 0.2.171 to 0.2.172
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.172/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.171...0.2.172)

Updates `axum` from 0.8.1 to 0.8.3
- [Release notes](https://github.com/tokio-rs/axum/releases)
- [Changelog](https://github.com/tokio-rs/axum/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tokio-rs/axum/commits/axum-v0.8.3)

Updates `prometheus` from 0.13.4 to 0.14.0
- [Changelog](https://github.com/tikv/rust-prometheus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tikv/rust-prometheus/compare/v0.13.4...v0.14.0)

Updates `reqwest` from 0.12.14 to 0.12.15
- [Release notes](https://github.com/seanmonstar/reqwest/releases)
- [Changelog](https://github.com/seanmonstar/reqwest/blob/master/CHANGELOG.md)
- [Commits](https://github.com/seanmonstar/reqwest/compare/v0.12.14...v0.12.15)

---
updated-dependencies:
- dependency-name: tokio
  dependency-version: 1.44.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: tokio-util
  dependency-version: 0.7.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: rand
  dependency-version: 0.9.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: blake3
  dependency-version: 1.8.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: etherparse
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: quinn
  dependency-version: 0.11.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: rustls
  dependency-version: 0.23.26
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: netdev
  dependency-version: 0.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: openssl
  dependency-version: 0.10.72
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: libc
  dependency-version: 0.2.172
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: axum
  dependency-version: 0.8.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
- dependency-name: prometheus
  dependency-version: 0.14.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: mycelium
- dependency-name: reqwest
  dependency-version: 0.12.15
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: mycelium
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 15:20:41 +02:00
Lee Smet db9c2bc946 Conditionally add std::io in msg
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 992b09a420 Only compile display impl if SocketError is compiled in
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 14c7bba935 Add more conditional compilation directives for non unix platforms
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 138b3d6f1d Use div_ceil for SEQNO_REQUEST_BASE_WIRE_SIZE
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 26b5566895 Add docs folder to nix flake
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet 0cfb2ed45f Use .div_ceil instead of reimplementing manually
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00
Lee Smet a17cecb7b2 Conditionally compile message forwarding
Signed-off-by: Lee Smet <lee.smet@hotmail.com>
2025-04-24 14:23:15 +02:00