Laurence
836144aebf
feat(admin): Add pprof endpoints
...
To aid us in debugging user issues with memory or leaks we need to be able for the user to configure pprof, wait and then provide us the output files to see where memory/leaks occur in actual runtimes
2026-03-12 09:22:50 +00:00
Laurence
d68a13ea1f
feat(installer): prefer /usr/local/bin and improve POSIX compatibility
...
- Always install to /usr/local/bin instead of ~/.local/bin
- Use sudo automatically when write access is needed
- Replace bash-specific syntax with POSIX equivalents:
- Change shebang from #!/bin/bash to #!/bin/sh
- Replace [[ == *pattern* ]] with case statements
- Replace echo -e with printf for colored output
- Script now works with dash, ash, busybox sh, and bash
2026-03-10 10:01:28 -07:00
Laurence
768415f90b
Parse target strings with IPv6 support and strict validation
...
Add parseTargetString() for listenPort:host:targetPort using net.SplitHostPort/JoinHostPort. Replace manual split in updateTargets; fix err shadowing on remove. Validate listen port 1–65535 and reject empty host/port; use %w for errors. Add tests for IPv4, IPv6, hostnames, and invalid cases.
2026-03-07 21:32:36 -08:00
Owen
da9825d030
Merge branch 'main' into dev
2026-03-07 12:34:45 -08:00
Owen
afdb1fc977
Make sure to set version and fix prepare issue
2026-03-07 12:32:49 -08:00
Owen
392e4c83bf
Make sure to skip prepare
2026-03-07 10:37:44 -08:00
Owen
1bd1133ac2
Make sure to skip prepare
2026-03-07 10:36:18 -08:00
Owen
a85454e770
Build full arn
2026-03-07 10:20:18 -08:00
Owen
fac0f5b197
Build full arn
2026-03-07 10:17:14 -08:00
Marc Schäfer
068145c539
fix(ci): Refactor CI/CD workflow for AWS and image management
...
Updated CI/CD workflow to improve AWS role handling and image tagging.
2026-03-07 10:07:55 -08:00
Marc Schäfer
91a035f4ab
fix(ci): Use AWS SelfHosted runner to fix pull and install request limit
2026-03-07 10:07:55 -08:00
Owen Schwartz
beaf386615
Merge pull request #250 from fosrl/dev
...
1.10.2
2026-03-03 16:49:18 -08:00
Owen
e474866f84
Fix icmp when ports disabled
...
Fixes #247
2026-03-03 16:38:11 -08:00
Owen
7920295b8c
Fix --port
2026-03-03 16:27:57 -08:00
Owen Schwartz
bf7882eacc
Merge pull request #249 from fosrl/dependabot/go_modules/prod-minor-updates-26e8ddd78e
...
chore(deps): bump the prod-minor-updates group with 3 updates
2026-03-03 16:10:38 -08:00
dependabot[bot]
86a7d79092
chore(nix): fix hash for updated go dependencies
2026-03-03 09:46:50 +00:00
dependabot[bot]
1c22555bd4
chore(deps): bump the prod-minor-updates group with 3 updates
...
Bumps the prod-minor-updates group with 3 updates: [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib ), [go.opentelemetry.io/contrib/instrumentation/runtime](https://github.com/open-telemetry/opentelemetry-go-contrib ) and [golang.org/x/net](https://github.com/golang/net ).
Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.65.0 to 0.66.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.65.0...zpages/v0.66.0 )
Updates `go.opentelemetry.io/contrib/instrumentation/runtime` from 0.65.0 to 0.66.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.65.0...zpages/v0.66.0 )
Updates `golang.org/x/net` from 0.50.0 to 0.51.0
- [Commits](https://github.com/golang/net/compare/v0.50.0...v0.51.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
dependency-version: 0.66.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/contrib/instrumentation/runtime
dependency-version: 0.66.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: golang.org/x/net
dependency-version: 0.51.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-03 09:45:25 +00:00
Owen Schwartz
30ade8102d
Merge pull request #233 from fosrl/dependabot/go_modules/prod-minor-updates-85791fb009
...
chore(deps): bump the prod-minor-updates group across 1 directory with 13 updates
2026-03-02 21:02:09 -08:00
Owen
6c6ba45024
Merge branch 'LaurenceJJones-optimize-reverse-nat-lookup' into dev
2026-03-02 18:13:12 -08:00
Owen
3f84354e7f
Merge branch 'optimize-reverse-nat-lookup' of github.com:LaurenceJJones/newt into LaurenceJJones-optimize-reverse-nat-lookup
2026-03-02 18:13:05 -08:00
Owen Schwartz
ec399e9d4d
Merge pull request #204 from LaurenceJJones/optimize-subnet-lookup-bart
...
perf(netstack2): optimize subnet rule matching with BART
2026-03-02 18:10:01 -08:00
Marc Schäfer
19f143fc6a
Merge pull request #227 from fosrl/dependabot/github_actions/actions/setup-go-6.2.0
...
chore(deps): bump actions/setup-go from 6.1.0 to 6.2.0
2026-03-03 00:51:39 +01:00
Marc Schäfer
6d5e099681
Merge pull request #230 from fosrl/dependabot/github_actions/actions/cache-5.0.3
...
chore(deps): bump actions/cache from 5.0.1 to 5.0.3
2026-03-03 00:51:13 +01:00
Marc Schäfer
d6ea37f45c
Merge pull request #231 from fosrl/dependabot/github_actions/actions/attest-build-provenance-3.2.0
...
chore(deps): bump actions/attest-build-provenance from 3.1.0 to 3.2.0
2026-03-03 00:50:44 +01:00
Marc Schäfer
de3d358fe9
Merge pull request #232 from fosrl/dependabot/github_actions/docker/login-action-3.7.0
...
chore(deps): bump docker/login-action from 3.6.0 to 3.7.0
2026-03-03 00:50:15 +01:00
Marc Schäfer
4bcd2ffc59
Merge pull request #235 from fosrl/dependabot/github_actions/docker/build-push-action-6.19.2
...
chore(deps): bump docker/build-push-action from 6.18.0 to 6.19.2
2026-03-03 00:49:45 +01:00
dependabot[bot]
06e175ac9a
chore(nix): fix hash for updated go dependencies
2026-03-02 19:55:17 +00:00
dependabot[bot]
6e79eef224
chore(deps): bump the prod-minor-updates group across 1 directory with 13 updates
...
Bumps the prod-minor-updates group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib ) | `0.64.0` | `0.65.0` |
| [go.opentelemetry.io/contrib/instrumentation/runtime](https://github.com/open-telemetry/opentelemetry-go-contrib ) | `0.64.0` | `0.65.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc](https://github.com/open-telemetry/opentelemetry-go ) | `1.39.0` | `1.40.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go ) | `1.39.0` | `1.40.0` |
| [go.opentelemetry.io/otel/exporters/prometheus](https://github.com/open-telemetry/opentelemetry-go ) | `0.61.0` | `0.62.0` |
Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.64.0 to 0.65.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.64.0...zpages/v0.65.0 )
Updates `go.opentelemetry.io/contrib/instrumentation/runtime` from 0.64.0 to 0.65.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.64.0...zpages/v0.65.0 )
Updates `go.opentelemetry.io/otel` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
Updates `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
Updates `go.opentelemetry.io/otel/exporters/prometheus` from 0.61.0 to 0.62.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/exporters/prometheus/v0.61.0...exporters/prometheus/v0.62.0 )
Updates `go.opentelemetry.io/otel/metric` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
Updates `go.opentelemetry.io/otel/sdk` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
Updates `go.opentelemetry.io/otel/sdk/metric` from 1.39.0 to 1.40.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
Updates `golang.org/x/crypto` from 0.46.0 to 0.47.0
- [Commits](https://github.com/golang/crypto/compare/v0.46.0...v0.47.0 )
Updates `golang.org/x/net` from 0.48.0 to 0.49.0
- [Commits](https://github.com/golang/net/compare/v0.48.0...v0.49.0 )
Updates `golang.org/x/sys` from 0.39.0 to 0.40.0
- [Commits](https://github.com/golang/sys/compare/v0.39.0...v0.40.0 )
Updates `google.golang.org/grpc` from 1.77.0 to 1.78.0
- [Release notes](https://github.com/grpc/grpc-go/releases )
- [Commits](https://github.com/grpc/grpc-go/compare/v1.77.0...v1.78.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
dependency-version: 0.65.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/contrib/instrumentation/runtime
dependency-version: 0.65.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel/exporters/prometheus
dependency-version: 0.62.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel/metric
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel/sdk
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: go.opentelemetry.io/otel/sdk/metric
dependency-version: 1.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: golang.org/x/crypto
dependency-version: 0.47.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: golang.org/x/net
dependency-version: 0.49.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: golang.org/x/sys
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
- dependency-name: google.golang.org/grpc
dependency-version: 1.78.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: prod-minor-updates
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-02 19:53:59 +00:00
Marc Schäfer
23dc230654
Merge pull request #248 from fosrl/dependabot/go_modules/go.opentelemetry.io/otel/sdk-1.40.0
...
chore(deps): bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0
2026-03-02 20:50:35 +01:00
dependabot[bot]
9b8bc7b66e
chore(nix): fix hash for updated go dependencies
2026-03-01 21:07:12 +00:00
dependabot[bot]
c5ae4a8f11
chore(deps): bump go.opentelemetry.io/otel/sdk from 1.39.0 to 1.40.0
...
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go ) from 1.39.0 to 1.40.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.39.0...v1.40.0 )
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
dependency-version: 1.40.0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-01 21:05:54 +00:00
Owen
b2600b0dab
Pull from ecr
1.10.1
2026-02-26 21:48:11 -08:00
Owen Schwartz
1656141599
Merge pull request #245 from fosrl/dev
...
generate random user password
v1.10.1
2026-02-26 20:55:37 -08:00
miloschwartz
1bf89a2cc9
generate random user password
2026-02-26 10:30:24 -08:00
Owen
555e1ddc7c
Update iss
2026-02-25 14:57:32 -08:00
Owen
514c94519e
Fix port parsing
...
Fixes #243
2026-02-25 11:52:15 -08:00
Owen Schwartz
1a3eaedfa5
Merge pull request #242 from fosrl/dev
...
1.10.0
1.10.0
v1.10.0
2026-02-22 16:36:25 -08:00
Owen
01e2ba31b7
Merge branch 'main' into dev
2026-02-22 16:36:15 -08:00
Laurence
9738565a3a
fix: address code review issues for BART subnet lookup
...
- Fix prefix canonicalization: use Masked() to handle host bits correctly
(e.g., 10.0.0.5/24 and 10.0.0.0/24 are now treated as equal)
- Fix empty trie cleanup: use BART's Size() method to check if trie is empty
instead of relying on rules slice length, preventing stale entries
- Fix go.mod: move BART from indirect to direct dependencies
These fixes ensure proper bookkeeping and prevent memory leaks from
empty tries hanging around after rule removal.
2026-02-22 14:22:23 +00:00
Laurence
c42a606bbd
perf: optimize subnet rule matching with BART
...
Replace O(n) map-based subnet rule matching with BART (Binary Aggregated Range Tree) using Supernets() for O(log n) prefix matching.
Performance improvements:
- 1.3x faster for large rule sets (1000+ rules)
- 39x faster for no-match cases (critical for firewall/security)
- 1.9x faster for adding rules
- Better scaling characteristics
Trade-offs:
- Small rule sets (10-100): 1.2-1.4x slower for matches (20-30ns overhead)
- Large rule sets (1000+): 1.3x faster
- No-match: 39x faster (original checks all rules, BART uses O(log n) tree lookup)
The no-match performance is particularly important for security/firewall scenarios where many packets are rejected. BART can determine 'no match' in ~7 tree operations vs checking all 100+ rules.
Dependencies:
- Added: github.com/gaissmai/bart v0.26.0
Files:
- netstack2/subnet_lookup.go: New BART-based implementation
- netstack2/proxy.go: Removed old map-based implementation, updated to use BART
2026-02-22 14:22:20 +00:00
Laurence Jones
5977667291
Merge branch 'fosrl:main' into optimize-reverse-nat-lookup
2026-02-22 12:09:01 +00:00
miloschwartz
556be90b7e
support sudo configuration and daemon mode
2026-02-20 20:42:42 -08:00
Owen
5d04be92f7
Allow sudo passwordless
2026-02-17 22:36:28 -08:00
miloschwartz
b7af49d759
fix flag
2026-02-17 22:10:01 -08:00
Owen
00a5fa1f37
Add daemon into newt
2026-02-17 22:10:01 -08:00
miloschwartz
d256d6c746
remove defaults
2026-02-17 22:10:01 -08:00
miloschwartz
2cc957d55f
add auth daemon
2026-02-17 22:10:01 -08:00
Owen
d98eaa88b3
Add round trip tracking for any message
2026-02-17 22:10:01 -08:00
Owen
5b884042cd
Add basic newt command relay to auth daemon
2026-02-17 22:10:01 -08:00
Owen
2265b61381
Remove legacy ssh
2026-02-17 22:10:01 -08:00