1
0
Fork
You've already forked newt
0
Pangolin tunneled site & network connector
  • Go 94.8%
  • Shell 2.1%
  • Python 1.3%
  • Inno Setup 0.9%
  • Makefile 0.4%
  • Other 0.5%
dependabot[bot] 9edaac9c11 chore(deps): bump aquasecurity/trivy-action from 0.35.0 to 0.36.0
Bumps [aquasecurity/trivy-action](https://github.com/aquasecurity/trivy-action) from 0.35.0 to 0.36.0.
- [Release notes](https://github.com/aquasecurity/trivy-action/releases)
- [Commits](57a97c7e78...ed142fd067)
---
updated-dependencies:
- dependency-name: aquasecurity/trivy-action
 dependency-version: 0.36.0
 dependency-type: direct:production
 update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2026年05月05日 18:11:26 -07:00
.github chore(deps): bump aquasecurity/trivy-action from 0.35.0 to 0.36.0 2026年05月05日 18:11:26 -07:00
authdaemon generate random user password 2026年02月26日 10:30:24 -08:00
bind Dont block waiting for a rebind signal 2026年01月18日 11:36:42 -08:00
clients Add logging 2026年04月11日 21:56:28 -07:00
device Make ipc cross platform 2025年12月08日 12:17:11 -05:00
docker Update logger to take in when initing 2025年11月17日 21:49:07 -05:00
examples Make logger extensible 2025年11月17日 13:49:43 -05:00
healthcheck Follow redirects by default for backward compat 2026年04月28日 10:10:28 -07:00
holepunch Allow passing public dns into resolve 2026年03月12日 16:41:41 -07:00
internal testdata: add expected telemetry metrics for connection attempts and events 2025年10月28日 23:17:05 +01:00
logger Working on more hp 2025年12月03日 20:49:46 -05:00
netstack2 Support websocket upgrades in private HTTP proxy 2026年04月29日 07:12:35 +01:00
network Hard code the ifconfig path 2026年04月24日 10:39:44 -07:00
proxy Merge remote-tracking branch 'upstream/dev' into investigate/heap-leak-udp-proxy 2026年04月10日 13:36:13 +01:00
public/screenshots Update readme 2025年07月28日 12:02:10 -07:00
testing Add some test scripts for ws and move to testing/ 2026年04月29日 15:57:31 -07:00
updates Show download script to update 2026年01月19日 21:25:28 -08:00
util Allow passing public dns into resolve 2026年03月12日 16:41:41 -07:00
websocket Fix nil pointer 2026年04月20日 15:05:07 -07:00
wgtester Quiet up logs 2025年12月22日 14:31:44 -05:00
.dockerignore Add license 2025年01月04日 21:22:32 -05:00
.env.example Update example domain 2026年02月16日 17:54:19 -08:00
.gitignore chore: add direnv and nix result dirs to gitignore 2025年12月22日 19:43:48 -05:00
.go-version Update .go-version 2025年08月28日 17:32:27 +02:00
authdaemon.go generate random user password 2026年02月26日 10:30:24 -08:00
clients.go Quiet up logs 2025年12月22日 14:31:44 -05:00
common.go Add provisioning blueprint file 2026年04月02日 21:39:59 -04:00
common_test.go Parse target strings with IPv6 support and strict validation 2026年03月07日 21:32:36 -08:00
CONTRIBUTING.md Update domain 2025年10月19日 15:12:15 -07:00
docker-compose.metrics.collector.yml Adding OpenTelemetry Metrics and Tracing 2025年10月11日 18:19:51 +02:00
docker-compose.metrics.yml Adding OpenTelemetry Metrics and Tracing 2025年10月11日 18:19:51 +02:00
docker-compose.yml Update example domain 2026年02月16日 17:54:19 -08:00
Dockerfile Set newt version in dockerfile 2026年03月08日 11:28:56 -07:00
entrypoint.sh Allow use of env vars 2025年01月07日 20:51:33 -05:00
flake.lock chore(nix): use nixpkgs-unstable branch and update flake inputs 2025年12月03日 23:33:47 -05:00
flake.nix chore(nix): fix hash for updated go dependencies 2026年05月05日 18:11:21 -07:00
get-newt.sh Find old bins and support freebsd 2026年04月16日 21:47:48 -07:00
go.mod chore(deps): bump the prod-minor-updates group across 1 directory with 4 updates 2026年05月05日 18:11:21 -07:00
go.sum chore(deps): bump the prod-minor-updates group across 1 directory with 4 updates 2026年05月05日 18:11:21 -07:00
LICENSE Add license 2025年01月04日 21:22:32 -05:00
main.go Fix crashing when removing hc 2026年04月27日 15:03:36 -07:00
Makefile Add ldflags version to local 2026年04月13日 17:00:06 -07:00
newt.iss Update iss 2026年02月25日 14:57:32 -08:00
README.md Update readme 2025年12月10日 16:24:22 -05:00
SECURITY.md Update domain 2025年10月19日 15:12:15 -07:00
self-signed-certs-for-mtls.sh feat/mtls-support-cert-script 2025年03月31日 00:52:48 +02:00
service_unix.go Kind of working 2025年12月10日 15:32:49 -05:00
service_windows.go Adjust debug function 2025年12月11日 12:21:54 -05:00
stub.go Kind of working - revert if not 2025年11月26日 17:57:27 -05:00
updown.py Add updown script capabilities 2025年03月07日 12:35:46 -05:00

Newt

PkgGoDev GitHub License Go Report Card

Newt is a fully user space WireGuard tunnel client and TCP/UDP proxy, designed to securely expose private resources controlled by Pangolin. By using Newt, you don't need to manage complex WireGuard tunnels and NATing.

Installation and Documentation

Newt is used with Pangolin and Gerbil as part of the larger system. See documentation below:

Key Functions

Registers with Pangolin

Using the Newt ID and a secret, the client will make HTTP requests to Pangolin to receive a session token. Using that token, it will connect to a websocket and maintain that connection. Control messages will be sent over the websocket.

Receives WireGuard Control Messages

When Newt receives WireGuard control messages, it will use the information encoded (endpoint, public key) to bring up a WireGuard tunnel using netstack fully in user space. It will ping over the tunnel to ensure the peer on the Gerbil side is brought up.

Receives Proxy Control Messages

When Newt receives WireGuard control messages, it will use the information encoded to create a local low level TCP and UDP proxies attached to the virtual tunnel in order to relay traffic to programmed targets.

Build

Binary

Make sure to have Go 1.25 installed.

make

Nix Flake

nix build

Binary will be at ./result/bin/newt

Development shell available with nix develop

Licensing

Newt is dual licensed under the AGPLv3 and the Fossorial Commercial license. For inquiries about commercial licensing, please contact us.

Contributions

Please see CONTRIBUTIONS in the repository for guidelines and best practices.