tailscale-proxy 1.5.3 → 1.6.0

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.
Files changed (2) hide show
  1. package/README.md +12 -5
  2. 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-5000` | Port range **or a single port** to scan |
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-5000 mode=public (Funnel) proxy=127.0.0.1:8443 https=443
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-5000", "all": false, "runtimes": "", "private": false,
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, "acceptDns": ""
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.5.3",
3
+ "version": "1.6.0",
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.8",
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": "^9.3.1",
71
+ "conventional-changelog-conventionalcommits": "^10.2.0",
72
72
  "husky": "^9.1.7",
73
- "lint-staged": "^17.0.6",
74
- "semantic-release": "^25.0.3"
73
+ "lint-staged": "^17.0.8",
74
+ "semantic-release": "^25.0.5"
75
75
  },
76
76
  "optionalDependencies": {
77
- "tailscale-proxy-darwin-arm64": "1.5.3",
78
- "tailscale-proxy-darwin-x64": "1.5.3",
79
- "tailscale-proxy-linux-x64": "1.5.3",
80
- "tailscale-proxy-linux-arm64": "1.5.3",
81
- "tailscale-proxy-win32-x64": "1.5.3",
82
- "tailscale-proxy-win32-arm64": "1.5.3"
77
+ "tailscale-proxy-darwin-arm64": "1.6.0",
78
+ "tailscale-proxy-darwin-x64": "1.6.0",
79
+ "tailscale-proxy-linux-x64": "1.6.0",
80
+ "tailscale-proxy-linux-arm64": "1.6.0",
81
+ "tailscale-proxy-win32-x64": "1.6.0",
82
+ "tailscale-proxy-win32-arm64": "1.6.0"
83
83
  },
84
84
  "packageManager": "bun@1.3.14",
85
85
  "engines": {