tailscale-proxy 1.5.3 → 1.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -5
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -56,6 +56,10 @@ service around for a few scans before de-registering (no flapping on restarts),
|
|
|
56
56
|
streams SSE / proxies WebSocket upgrades. Zero runtime dependencies — one small Go
|
|
57
57
|
binary.
|
|
58
58
|
|
|
59
|
+
The path slug is **separator-insensitive** by default: a project routed as
|
|
60
|
+
`/module-api/` is equally reachable at `/module_api/`, so you never have to remember
|
|
61
|
+
whether a name used dashes or underscores (turn off with `--match-separators=false`).
|
|
62
|
+
|
|
59
63
|
---
|
|
60
64
|
|
|
61
65
|
## Quick start
|
|
@@ -148,9 +152,10 @@ Run `tsp start --help` for all flags. Global: `-h/--help`, `-v/--version`.
|
|
|
148
152
|
|
|
149
153
|
| Flag | Default | Meaning |
|
|
150
154
|
| --- | --- | --- |
|
|
151
|
-
| `--ports <lo-hi\|port>` | `3000-
|
|
155
|
+
| `--ports <lo-hi\|port>` | `3000-6000` | Port range **or a single port** to scan |
|
|
152
156
|
| `--all` | off | Include all listeners, not just web runtimes |
|
|
153
157
|
| `--runtimes <list>` | all known | Restrict to specific runtimes, e.g. `node,bun,python` |
|
|
158
|
+
| `--docker` | off | Also discover **Docker containers** via the local Docker API (read-only, over `/var/run/docker.sock`) |
|
|
154
159
|
| `--private` | off | Expose privately via Tailscale **Serve** (default: **Funnel**) |
|
|
155
160
|
| `--bind <addr>` | `127.0.0.1` | Proxy listen address. Use `0.0.0.0` to reach the proxy from **Docker containers / the LAN** without MagicDNS |
|
|
156
161
|
| `--port <n>` | `8443` | Local proxy HTTP port |
|
|
@@ -158,6 +163,7 @@ Run `tsp start --help` for all flags. Global: `-h/--help`, `-v/--version`.
|
|
|
158
163
|
| `--https-port <n>` | `443` | Public/tailnet HTTPS port (Funnel: `443`/`8443`/`10000`) |
|
|
159
164
|
| `--deregister-cycles <n>` | `5` | Missing scans before a gone service is removed |
|
|
160
165
|
| `--forward-host` | off | Forward the public host to apps via `X-Forwarded-Host/Proto`. Default presents a **local** request so apps behave exactly like `localhost` |
|
|
166
|
+
| `--match-separators` | on | Treat `-` and `_` as interchangeable in the path slug, so `/module-api/` and `/module_api/` both route. Pass `--match-separators=false` for exact-dash routing |
|
|
161
167
|
| `--accept-dns <bool>` | unset | Optionally `tailscale set --accept-dns=<true\|false>` on start. Unset = leave it alone. `false` lets a tailnet host resolve the **public** funnel name (persists after exit) |
|
|
162
168
|
| `--bg` | off | Run detached (logs → `./tsp.log`) |
|
|
163
169
|
| `--proxy-only` | off | Run the proxy only; print the `tailscale` command |
|
|
@@ -169,7 +175,7 @@ then logs each discovered service and any de-registration:
|
|
|
169
175
|
|
|
170
176
|
```
|
|
171
177
|
Using config: /Users/me/.tailscale-proxy/config.json
|
|
172
|
-
ports=3000-
|
|
178
|
+
ports=3000-6000 mode=public (Funnel) proxy=127.0.0.1:8443 https=443
|
|
173
179
|
interval=20s runtimes=default (node,bun,deno,python,ruby,php,go,java,…) deregister-after=5 scans log-requests=true
|
|
174
180
|
|
|
175
181
|
2026/05/31 02:05:48 discovered help-ai-web node :4983 ~/work/help-ai/apps/web
|
|
@@ -187,9 +193,10 @@ use). Flags override config at runtime; the file is the source of defaults.
|
|
|
187
193
|
|
|
188
194
|
```json
|
|
189
195
|
{
|
|
190
|
-
"ports": "3000-
|
|
196
|
+
"ports": "3000-6000", "all": false, "runtimes": "", "private": false,
|
|
191
197
|
"bind": "127.0.0.1", "port": 8443, "interval": 20, "httpsPort": 443,
|
|
192
|
-
"logRequests": true, "deregisterCycles": 5, "forwardHost": false,
|
|
198
|
+
"logRequests": true, "deregisterCycles": 5, "forwardHost": false,
|
|
199
|
+
"matchSeparators": true, "docker": false, "acceptDns": ""
|
|
193
200
|
}
|
|
194
201
|
```
|
|
195
202
|
|
|
@@ -254,7 +261,7 @@ flowchart LR
|
|
|
254
261
|
|
|
255
262
|
```mermaid
|
|
256
263
|
flowchart TD
|
|
257
|
-
R["Request /seg/rest?query"] --> M{"first segment<br/>matches a slug
|
|
264
|
+
R["Request /seg/rest?query"] --> M{"first segment<br/>matches a slug?<br/>(- / _ interchangeable)"}
|
|
258
265
|
M -->|yes| H["strip segment · Host → localhost:port<br/>set tsp_route cookie"]
|
|
259
266
|
M -->|"no (prefix-less asset/HMR)"| CK{"tsp_route<br/>cookie set?"}
|
|
260
267
|
CK -->|yes| FF["forward full path to the cookie's backend"]
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tailscale-proxy",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.6.1",
|
|
4
4
|
"description": "Discover local dev servers by port and expose them through one Tailscale Serve/Funnel entry, routed by project name.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tailscale",
|
|
@@ -65,21 +65,21 @@
|
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@semantic-release/commit-analyzer": "^13.0.1",
|
|
67
67
|
"@semantic-release/exec": "^7.1.0",
|
|
68
|
-
"@semantic-release/github": "^12.0.
|
|
68
|
+
"@semantic-release/github": "^12.0.9",
|
|
69
69
|
"@semantic-release/npm": "^13.1.5",
|
|
70
70
|
"@semantic-release/release-notes-generator": "^14.1.1",
|
|
71
|
-
"conventional-changelog-conventionalcommits": "^
|
|
71
|
+
"conventional-changelog-conventionalcommits": "^10.2.1",
|
|
72
72
|
"husky": "^9.1.7",
|
|
73
|
-
"lint-staged": "^17.0.
|
|
74
|
-
"semantic-release": "^25.0.
|
|
73
|
+
"lint-staged": "^17.0.8",
|
|
74
|
+
"semantic-release": "^25.0.5"
|
|
75
75
|
},
|
|
76
76
|
"optionalDependencies": {
|
|
77
|
-
"tailscale-proxy-darwin-arm64": "1.
|
|
78
|
-
"tailscale-proxy-darwin-x64": "1.
|
|
79
|
-
"tailscale-proxy-linux-x64": "1.
|
|
80
|
-
"tailscale-proxy-linux-arm64": "1.
|
|
81
|
-
"tailscale-proxy-win32-x64": "1.
|
|
82
|
-
"tailscale-proxy-win32-arm64": "1.
|
|
77
|
+
"tailscale-proxy-darwin-arm64": "1.6.1",
|
|
78
|
+
"tailscale-proxy-darwin-x64": "1.6.1",
|
|
79
|
+
"tailscale-proxy-linux-x64": "1.6.1",
|
|
80
|
+
"tailscale-proxy-linux-arm64": "1.6.1",
|
|
81
|
+
"tailscale-proxy-win32-x64": "1.6.1",
|
|
82
|
+
"tailscale-proxy-win32-arm64": "1.6.1"
|
|
83
83
|
},
|
|
84
84
|
"packageManager": "bun@1.3.14",
|
|
85
85
|
"engines": {
|