Max
4cea3c31b3
node: increase packet queue size to 1000
2026-04-16 22:18:03 +01:00
Max
21b4607434
node: use a nonblocking packet queue to send packets
2026-04-16 22:18:03 +01:00
Max
720d8f22bd
node: use streams bidirectionally
2026-04-16 22:18:03 +01:00
Max
91a2cd0bc4
Bump dependencies ( #104 )
...
* meta: apply follows to ndg
* flake.lock: Update
Flake lock file updates:
• Updated input 'flake-parts':
'github:hercules-ci/flake-parts/9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569?narHash=sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98%3D' (2025-06-08)
→ 'github:hercules-ci/flake-parts/3107b77cd68437b9a76194f0f7f9c55f2329ca5b?narHash=sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA%3D' (2026-04-01)
• Updated input 'hercules-ci-effects':
'github:max-privatevoid/hercules-ci-effects/b8127446a483cfd91495037e343b592662033188?narHash=sha256-xlxgYZ0eCnr9ikQuM5VuD8rUjLdbGzSKgF2EoRKDn/8%3D' (2025-07-01)
→ 'github:max-privatevoid/hercules-ci-effects/f3a32947c119cfe0f0130ad91b37028a3dae22d1?narHash=sha256-3A2B8k6YCuzt5pT/CQEltUghtE6heSlk2tMYkg/fUWI%3D' (2026-04-15)
• Updated input 'ndg/nixpkgs':
'https://releases.nixos.org/nixos/unstable/nixos-26.05pre972949.6201e203d095/nixexprs.tar.xz?lastModified=1775036866&narHash=sha256-ByAX1LkhCwZ94%2BKnFAmnJSMAvui7kgCxjHgUHsWAbfI%3D&rev=6201e203d09599479a3b3450ed24fa81537ebc4e ' (2026-04-01)
→ follows 'nixpkgs'
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
→ 'github:NixOS/nixpkgs/4bd9165a9165d7b5e33ae57f3eecbcb28fb231c9?narHash=sha256-l/iNYDZ4bGOAFQY2q8y5OAfBBtrDAaPuRQqWaFHVRXM%3D' (2026-04-14)
* go mod tidy
* go-libp2p: 0.42.0 -> 0.48.0
* go-libp2p-kad-dht: 0.33.1 -> 0.39.0
* dev: use nixfmt
* dev: reformat
* update vendorHash
2026-04-16 22:17:31 +01:00
Max
ade67e761d
Documentation refactor ( #103 )
...
* docs: switch to ndg
* flake.lock: Update
Flake lock file updates:
• Added input 'ndg':
'github:feel-co/ndg/d678855cdd0385b1bd78adf3456d072642317d6a?narHash=sha256-gJcybEQZa5Jdh3MSgvGLqiqQFRTZ3IxQFvVIsJecbno%3D' (2026-04-14)
• Added input 'ndg/nixpkgs':
'https://releases.nixos.org/nixos/unstable/nixos-26.05pre972949.6201e203d095/nixexprs.tar.xz?lastModified=1775036866&narHash=sha256-ByAX1LkhCwZ94%2BKnFAmnJSMAvui7kgCxjHgUHsWAbfI%3D&rev=6201e203d09599479a3b3450ed24fa81537ebc4e ' (2026-04-01)
2026-04-16 21:33:58 +01:00
Max
28d48c325e
0.13.0 -> 0.13.1 ( #98 )
2026-03-26 00:36:58 +00:00
Max
cf2494bf31
nixos: fix default values for acl-related options ( #97 )
2026-03-26 01:33:25 +01:00
Max
716bd00f09
0.12.0 -> 0.13.0 ( #96 )
2026-03-25 18:45:00 +00:00
Roland Urbano
ed30c60c95
Implementation for basic service access control ( #95 )
...
* Added ServicesACL config
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
* Adding filter to service receiver
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
* Implemented ACL handling in ServiceNetwork
Signed-off-by: Roland Urbano <roland.urbano@nts.eu>
* Updated Schema and added parsing for acl config
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
* Updated service package and fixed ACL handling
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
* go-jsonschema: 0.16.0 -> 0.22.0
* nixos: set acls on services directly
* config: move ServicesACL to Services
* svc: simplify acl logic
* remove whitespace
* apply nixfmt
---------
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
Signed-off-by: Roland Urbano <roland.urbano@nts.eu>
Co-authored-by: Max <max@privatevoid.net>
2026-03-25 19:16:52 +01:00
Max
ff94c7869e
Better systemd-resolved integration ( #93 )
...
* dns: configure systemd-resolved to not use all the protocols we don't
support
* dns: print startup info at info log level
* dns: factor out systemd-resolved setup, downgrade errors to warning
2026-01-13 23:59:38 +01:00
Max
3a710c4bae
0.11.0 -> 0.12.0 ( #91 )
2025-12-12 18:01:18 +00:00
Roland Urbano
2e36bcdce6
Enhanced Logging with ipfs/go-log ( #90 )
...
* Added ipfs/go-log and updated up.go
Use ipfs/go-log over fmt.Println
Fixed more log usages with go-log
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
log: refactor log usage to provide module global logger with configurable log level
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
Refactored logger initialization for modules
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
Removed object member loggers
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
* Implemented logging with ipfs/go-log
logging: fix logger level config
Co-authored-by: Max <max@privatevoid.net>
Update svc/network.go
Co-authored-by: Max <max@privatevoid.net>
removed static info log level constant
Co-authored-by: Max <max@privatevoid.net>
Update dns/server.go
Co-authored-by: Max <max@privatevoid.net>
Update dns/server.go
Co-authored-by: Max <max@privatevoid.net>
Update rpc/server.go
Co-authored-by: Max <max@privatevoid.net>
Applied MR suggestions
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
Enhanced logging
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
* update vendorHash
* go fmt
---------
Signed-off-by: Roland Urbano <urbano.roland@gmail.com>
Co-authored-by: Max <max@privatevoid.net>
2025-12-07 19:31:49 +00:00
Max
df929520a9
rpc: try to remove socket if already exists ( #89 )
2025-12-05 15:14:40 +00:00
Max
e994260bdb
Node refactor ( #88 )
...
* node: extract most of the logic from cli/up.go
* node: close interface after bringing it down
* synchronize shutdowns with a WaitGroup
* p2p: use Connect instead of DialPeer
* rpc: defer Close
2025-11-30 14:28:51 +01:00
Max
8f5778dffe
0.10.2 -> 0.11.0 ( #81 )
2025-07-01 22:06:50 +00:00
Max
71dcc1886e
Release automation ( #80 )
...
* add hercules-ci-effects
* flake.lock: Update
Flake lock file updates:
• Added input 'hercules-ci-effects':
'github:max-privatevoid/hercules-ci-effects/b8127446a483cfd91495037e343b592662033188?narHash=sha256-xlxgYZ0eCnr9ikQuM5VuD8rUjLdbGzSKgF2EoRKDn/8%3D' (2025-07-01)
• Added input 'hercules-ci-effects/flake-parts':
follows 'flake-parts'
• Added input 'hercules-ci-effects/nixpkgs':
follows 'nixpkgs'
* provide binary artifacts via github releases
* auto-tag releases from current package version
2025-07-01 23:45:12 +02:00
Max
359adb47fa
Update dependencies ( #79 )
...
* dev: fuck you, google
* flake.lock: Update
Flake lock file updates:
• Updated input 'flake-parts':
'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90?narHash=sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS%2Bb4tfNFCwE%3D' (2024-11-01)
→ 'github:hercules-ci/flake-parts/9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569?narHash=sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98%3D' (2025-06-08)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/6df24922a1400241dae323af55f30e4318a6ca65?narHash=sha256-dklw3AXr3OGO4/XT1Tu3Xz9n/we8GctZZ75ZWVqAVhk%3D' (2025-01-02)
→ 'github:NixOS/nixpkgs/30e2e2857ba47844aa71991daa6ed1fc678bcbb7?narHash=sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM%3D' (2025-06-27)
* go-libp2p: 0.38.1 -> 0.42.0
* go-libp2p-kad-dht: 0.28.0 -> 0.33.1
* update vendorHash
2025-07-01 10:31:05 +02:00
Jörg Thalheim
a5957e485f
go-libp2p: 0.37.0 -> 0.38.1 ( #75 )
2025-01-12 14:51:42 +00:00
Jörg Thalheim
38b30cee47
update jsonschema lib ( #74 )
2025-01-12 14:50:40 +00:00
Jörg Thalheim
14f36cbe29
buildGoModule: switch to structuredAttrs ( #73 )
...
* buildGoModule: switch to structuredAttrs
* update nixpkgs
2025-01-12 14:47:27 +00:00
Jörg Thalheim
fc42d2eec0
Fix various linting issues. ( #68 )
...
* remove unused vars/functions
* all constants need explicit types
See https://staticcheck.dev/docs/checks/#SA9004
* cli/up: add missing error checks
* server: fix potential race condition of chown when binding listening socket
a process waiting for the socket appear may bind before we can apply
filesystem permissions.
2024-11-17 17:20:01 +00:00
Max
83e755f445
libp2p 0.37.0 and other updates ( #66 )
...
* update go deps
go-libp2p: 0.33.2 -> 0.37.0
go-libp2p-kad-dht: 0.25.2 -> 0.28.0
go-multiaddr: 0.12.3 -> 0.14.0
* update vendorHash
2024-11-14 10:19:28 +00:00
Max
e8e8b474d9
flake.lock: Update ( #65 )
...
Flake lock file updates:
• Updated input 'flake-parts':
'github:hercules-ci/flake-parts/9126214d0a59633752a136528f5f3b9aa8565b7d?narHash=sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm%2BGpZNw%3D' (2024-04-01)
→ 'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90?narHash=sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS%2Bb4tfNFCwE%3D' (2024-11-01)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/7bb2ccd8cdc44c91edba16c48d2c8f331fb3d856?narHash=sha256-Drmja/f5MRHZCskS6mvzFqxEaZMeciScCTFxWVLqWEY%3D' (2024-04-25)
→ 'github:NixOS/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2?narHash=sha256-IigrKK3vYRpUu%2BHEjPL/phrfh7Ox881er1UEsZvw9Q4%3D' (2024-11-09)
2024-11-12 08:45:32 +00:00
Max
4d8e966abc
cli: color p2p-circuit addresses gray in status output ( #64 )
2024-11-12 09:28:50 +01:00
Max
b54fd70812
0.10.1 -> 0.10.2 ( #55 )
2024-07-15 23:07:21 +00:00
Max
7975eea2f6
add vendor package with code generation output ( #54 )
2024-07-16 01:02:58 +02:00
Max
76a3f73a42
Build and installation docs ( #47 )
...
* README: document basic build/setup steps
* document dev setup and how the config schema works
* set up for use with direnv
* mention direnv in the dev setup docs
* README: mention developer docs
* provide some contributor infos
2024-07-15 17:51:14 +00:00
Max
565f297061
fix docs output directory ( #52 )
2024-07-04 16:59:59 +00:00
Max
e2e2cd7723
set meta.mainProgram ( #48 )
2024-06-29 12:54:10 +00:00
Max
5f1093ac88
reserve 2 relay address slots for unlimited relays ( #43 )
2024-06-28 14:01:38 +00:00
Gerg-L
165bac6c90
remove with lib, use lib.getExe, use runCommand ( #42 )
2024-06-09 19:53:04 +00:00
Max
df73583638
0.10.0 -> 0.10.1 ( #40 )
2024-06-05 19:35:11 +00:00
Max
64c86d5555
fix: use opt.metricsPort.value ( #39 )
2024-06-05 18:45:19 +00:00
Max
7bba1f9f82
set empty default value for services option ( #36 )
2024-06-04 14:45:37 +00:00
Max
323081fe72
fix: also transfer peer name to config struct ( #35 )
2024-06-02 20:17:47 +00:00
Max
bde41b6a3e
Formatting ( #31 )
...
* add Nix formatter
* nix fmt
* check that Nix and Go code is formatted correctly
* refactor flake.nix
* add formatter to devShell
2024-06-02 21:45:11 +02:00
Max
192dbfad36
0.9.0 -> 0.10.0 ( #34 )
2024-06-02 18:13:13 +00:00
Max
ca6c623359
NixOS module ( #26 )
...
* init NixOS module
* nixos: open firewall ports
* nixos: add ExecStopPost and ExecReload features
* nixos: expose CLI to users
2024-06-02 20:01:16 +02:00
Max
f8393c418e
Generate config struct from NixOS options ( #33 )
...
* add clan.lol jsonschema library
* move devshell definition, add go-jsonschema package
* use generated schema for config file parsing
* include schema generation in build process
2024-06-02 17:03:02 +00:00
Max
0f1d4d6810
README: mention docs website ( #32 )
2024-06-01 20:27:10 +00:00
Max
d97924b908
Documentation ( #21 )
...
* add documentation infrastructure
* document service network
* document automatic addressing
* document dns
* document configuration from nixos options
2024-06-01 21:09:08 +02:00
raf
121b22faf7
nix: unshittify ( #30 )
2024-05-28 14:45:49 +00:00
Max
106ef293ad
use any peer as a relay ( #29 )
2024-05-25 00:31:45 +02:00
dependabot[bot]
b90995b3c9
build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 ( #28 )
...
* build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0
Bumps google.golang.org/protobuf from 1.32.0 to 1.33.0.
---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* update vendorHash
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max <max@privatevoid.net>
2024-05-23 17:29:14 +00:00
dependabot[bot]
ced1f81c28
build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 ( #27 )
...
* build(deps): bump golang.org/x/net from 0.21.0 to 0.23.0
Bumps [golang.org/x/net](https://github.com/golang/net ) from 0.21.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.21.0...v0.23.0 )
---
updated-dependencies:
- dependency-name: golang.org/x/net
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
* update vendorHash
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max <max@privatevoid.net>
2024-05-23 17:20:45 +00:00
Max
6da857d6df
use individual service network routes ( #24 )
2024-05-19 01:10:44 +02:00
Max
0c8f66c404
0.8.6 -> 0.9.0 ( #20 )
2024-05-14 15:19:32 +00:00
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