Commit Graph

188 Commits

Author SHA1 Message Date
Max
b32d496d21
Service Network (#15)
* implement foundation for service network

* update vendorHash

* extract MkNetID

* look up peers by NetID

* implement proxy for remote services

* support remote services (client side)

* create Proxy abstraction

* implement TCPServiceProxy

* add a wrapper to make streams implement net.Conn

* support remote services (server side)

* implement services in config

* create proxies from multiaddrs

* register services defined in config

* add description field to proxy

* resolve service hostnames
2024-05-14 17:14:42 +02:00
Max
6e14d22ab7
build with CGO_ENABLED=0 (#18) 2024-05-12 15:21:20 +02:00
Max
88705394c0
IPv6 (dual stack) (#14)
* assign and route ipv6 addresses

* dns: support A and AAAA records

* rpc: include v6 routes in route show
2024-05-11 23:04:52 +02:00
Max
e5955f7d1e
dns: listen on dynamic ip:port, use different search domains for each interface (#13) 2024-05-05 00:18:56 +02:00
Max
2e6d5c401c
bump dependencies, 0.8.5 -> 0.8.6 (#11) 2024-05-03 01:08:44 +02:00
Max
38609e6040
only run CI on Linux (#2) 2024-05-02 22:46:05 +02:00
Max
00497d9ad9 add a basic devShell 2024-04-28 14:08:25 +02:00
Max
3eda34fb45 flake.lock: Add
Flake lock file updates:

• Added input 'flake-parts':
    'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d?narHash=sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm%2BGpZNw%3D' (2024-04-01)
• Added input 'flake-parts/nixpkgs-lib':
    follows 'nixpkgs'
• Added input 'nixpkgs':
    'github:NixOS/nixpkgs/7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856?narHash=sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY%3D' (2024-04-25)
2024-04-28 14:00:11 +02:00
Max
d1af2895e4 init flake 2024-04-28 14:00:06 +02:00
Max
7938ce4a9b explain the fork, update examples to match current CLI design 2024-04-28 12:43:18 +02:00
Max
3f95731fb7 allocate multiple packets 2024-04-28 00:21:23 +02:00
Max
0fe98f90ab select peers by name or ID prefix 2024-04-28 00:21:23 +02:00
Max
0e857a45a0 print node names in route show 2024-04-28 00:21:23 +02:00
Max
1422c1fafd print node names in status 2024-04-28 00:21:23 +02:00
Max
f80acc8ef0 lock reuseable streams 2024-04-28 00:21:23 +02:00
Max
421422896a sendPacket in parallel 2024-04-28 00:21:23 +02:00
Max
491255be1c prevent connection loops 2024-04-28 00:21:23 +02:00
Max
724f94a288 add another bootstrap peer 2024-04-28 00:21:23 +02:00
Max
5d61ae5eb6 implement delegated HTTP routing, set user agent string 2024-04-28 00:21:08 +02:00
Max
8241313877 init: print simple config snippet for peer entry 2024-04-28 00:21:08 +02:00
Max
89de5fc5ba don't segfault when reading config fails 2024-04-28 00:21:08 +02:00
Max
77f2b4aa9f config and CLI overhaul
- remove unnecessary CLI args
- remove down command
2024-04-28 00:20:35 +02:00
Max
4a3de64fd3 implement route add, route del 2024-04-28 00:20:30 +02:00
Max
7c780d9d6b a bunch of stuff at once
- dynamic addressing
- DNS
- switch to cidranger for routing
- auto add routes to tun device
- pex: shut up
2024-04-28 00:19:31 +02:00
Max
1db87a19b6 ban yaml from existence 2024-04-28 00:19:31 +02:00
Max
22245dfff2 imagine 2024-04-28 00:19:31 +02:00
Max
3cc3516d83 remove manual routing support 2024-04-28 00:19:31 +02:00
Max
74b15a7e7b elaborate on why opening a packet stream failed 2024-04-28 00:19:31 +02:00
Max
930fb55675 enable optional prometheus metrics endpoint 2024-04-28 00:19:31 +02:00
Max
b7343e009b new bootstrap peers 2024-04-28 00:19:31 +02:00
Max
6df39331aa EnableAutoRelay -> EnableAutoRelayWithPeerSource 2024-04-28 00:19:28 +02:00
Max
049a1436f5 io/ioutil -> io 2024-04-28 00:19:26 +02:00
Max
e16ce37ab9 go-libp2p: 0.30.0 -> 0.31.0 2024-04-28 00:19:23 +02:00
Max
a26ff11b86 bump dependencies and Go version, switch to quic-v1 addresses 2024-04-28 00:18:53 +02:00
Max
91f9b96f4f go-libp2p: 0.26.3 -> 0.26.4 2024-04-28 00:18:44 +02:00
Max
371475c30d add --interface, implement for commands: peers, status 2024-04-28 00:18:44 +02:00
Max
29a27318c8 close PeX streams correctly 2024-04-28 00:18:39 +02:00
Max
b83d9d2f2b bump dependencies and Go version
- Go: 1.18 -> 1.19
- go-libp2p: 0.23.4 -> 0.26.3
- go-libp2p-kad-dht: 0.20.0 -> 0.21.1
- go-multiaddr: 0.7.0 -> 0.8.0
- go-multibase: 0.1.1 -> 0.2.0
2024-04-28 00:18:25 +02:00
dependabot[bot]
6c253f827c build(deps): bump golang.org/x/net in /packages/networking/hyprspace
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.0.0-20220923203811-8be639271d50 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-28 00:18:25 +02:00
dependabot[bot]
52364ad586 build(deps): bump github.com/ipld/go-ipld-prime
Bumps [github.com/ipld/go-ipld-prime](https://github.com/ipld/go-ipld-prime) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/ipld/go-ipld-prime/releases)
- [Changelog](https://github.com/ipld/go-ipld-prime/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ipld/go-ipld-prime/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: github.com/ipld/go-ipld-prime
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-28 00:18:25 +02:00
Max
65498e50f2 PeX: return all known addresses for peer 2024-04-28 00:18:25 +02:00
Max
1a50db78ce cancel parallel routing shortly after finding first address 2024-04-28 00:18:25 +02:00
Max
9e2cb3309b PeXService: immediately connect to discovered peers 2024-04-28 00:18:25 +02:00
Max
a1b6821481 add new bootstrap addresses 2024-04-28 00:18:25 +02:00
Max
f4d617c249 fix PeXRouting 2024-04-28 00:18:25 +02:00
Max
4c3da2c944 use RoutedHost with combined PeX + DHT routing 2024-04-28 00:18:25 +02:00
Max
fb45687c1a allow using unlimited relay to connect to external peers 2024-04-28 00:18:25 +02:00
Max
b72a9874f9 use native libp2p relay 2024-04-28 00:18:25 +02:00
Max
3fdc8106de HyprspaceRPC.Route: validate argument count 2024-04-28 00:18:25 +02:00
Max
91445e8578 support manually configuring relays 2024-04-28 00:18:25 +02:00