htn-tunnel 0.3.0 → 0.3.2

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 +61 -45
  2. package/package.json +6 -1
package/README.md CHANGED
@@ -37,14 +37,16 @@ localhost:3000 ──tunnel──▶ Your VPS ──internet──▶ https:
37
37
 
38
38
  | Feature | Description |
39
39
  |---------|-------------|
40
+ | **Zero-auth start** | `htn-tunnel http 3000` works instantly, no registration |
40
41
  | **HTTP tunnels** | HTTPS subdomain routing (random or permanent) |
41
42
  | **TCP tunnels** | Raw port forwarding (databases, SSH, etc.) |
43
+ | **Browser login** | `htn-tunnel login` opens browser, key auto-saved |
42
44
  | **Auto-TLS** | Wildcard Let's Encrypt via DNS-01 (Cloudflare) |
43
45
  | **WebSocket** | Full proxy with Origin rewrite (HMR, dev servers) |
44
- | **API keys** | Self-service registration via web dashboard |
45
46
  | **Fixed subdomains** | Claim once, yours forever |
46
- | **User dashboard** | Register, login, manage subdomains |
47
- | **Admin dashboard** | Manage users, tunnels, server config |
47
+ | **Live analytics** | Real-time request log, traffic charts, status breakdown |
48
+ | **User dashboard** | Register, manage subdomains, view traffic |
49
+ | **Admin dashboard** | Manage users, tunnels, server config, analytics |
48
50
  | **Auto-reconnect** | Heartbeat + exponential backoff |
49
51
  | **Single binary** | No dependencies, cross-platform |
50
52
 
@@ -97,24 +99,28 @@ sudo mv htn-tunnel /usr/local/bin/
97
99
 
98
100
  ## Quick Start
99
101
 
100
- ### 1. Register
102
+ ### Instant (no registration)
101
103
 
102
- Open the dashboard in your browser and create an account:
103
-
104
- > **https://dashboard.33.id.vn/_dashboard/**
104
+ ```bash
105
+ htn-tunnel http 3000
106
+ ```
105
107
 
106
- Click **Register** → enter your name + desired subdomain → **Create Account** → copy your API key (`htk_...`)
108
+ ```
109
+ Tunnel: https://abc12xyz.33.id.vn → localhost:3000
110
+ Status: connected
111
+ ```
107
112
 
108
- ### 2. Save your key
113
+ That's it! You get a random subdomain, limited to 1 tunnel, auto-expires after 2h.
109
114
 
110
- ```bash
111
- htn-tunnel auth htk_your_key_here --server 33.id.vn:4443
112
- ```
115
+ ### With fixed subdomain
113
116
 
114
- ### 3. Start tunneling
117
+ Register via browser to claim a permanent subdomain:
115
118
 
116
119
  ```bash
117
- htn-tunnel http 3000 --subdomain myapp
120
+ htn-tunnel login --server 33.id.vn:4443
121
+ # Opens browser → register → key saved automatically
122
+
123
+ htn-tunnel http 3000:myapp
118
124
  ```
119
125
 
120
126
  ```
@@ -122,9 +128,9 @@ htn-tunnel http 3000 --subdomain myapp
122
128
  Status: connected
123
129
  ```
124
130
 
125
- That's it! Open `https://myapp.33.id.vn` in any browser.
131
+ > Your subdomain is permanently yours. Reconnect anytime with the same name.
126
132
 
127
- > Your subdomain is permanently yours. Reconnect anytime with the same `--subdomain`.
133
+ If you try a custom subdomain without logging in, htn-tunnel auto-prompts you to register.
128
134
 
129
135
  ### TCP tunnel
130
136
 
@@ -138,15 +144,17 @@ htn-tunnel tcp 5432
138
144
  ## CLI Reference
139
145
 
140
146
  ```
141
- htn-tunnel http <port> [--subdomain name] Create HTTP tunnel
142
- htn-tunnel tcp <port> Create TCP tunnel
143
- htn-tunnel auth <key> [--server host:port] Save API key
144
- htn-tunnel status Show account info
147
+ htn-tunnel http <port>[:<subdomain>] Create HTTP tunnel (anonymous or authenticated)
148
+ htn-tunnel tcp <port> Create TCP tunnel (requires auth)
149
+ htn-tunnel login [--server host:port] Register/login via browser
150
+ htn-tunnel logout Clear saved auth key
151
+ htn-tunnel dashboard Open web dashboard in browser
152
+ htn-tunnel status Show account info (or anonymous state)
153
+ htn-tunnel auth <key> [--server host:port] Save API key manually
145
154
  ```
146
155
 
147
156
  | Flag | Description |
148
157
  |------|-------------|
149
- | `--subdomain <name>` | Fixed subdomain (HTTP only) |
150
158
  | `--server <host:port>` | Server address |
151
159
  | `--token <key>` | Override auth token |
152
160
 
@@ -159,9 +167,9 @@ htn-tunnel status Show account info
159
167
  | **User** | `https://dashboard.33.id.vn/_dashboard/` | API key |
160
168
  | **Admin** | `https://dashboard.33.id.vn/_admin/` | Admin key |
161
169
 
162
- **User dashboard:** register, manage subdomains, view tunnel stats
170
+ **User dashboard:** register, manage subdomains, live request log, traffic chart, status breakdown, top paths
163
171
 
164
- **Admin dashboard:** manage all users, view all tunnels, edit server config
172
+ **Admin dashboard:** manage all users/tunnels, edit config, server-wide analytics with live log stream
165
173
 
166
174
  ---
167
175
 
@@ -230,14 +238,16 @@ Máy bạn (localhost:3000) ──tunnel──▶ VPS ──internet──▶
230
238
 
231
239
  | Tính năng | Mô tả |
232
240
  |-----------|-------|
241
+ | **Dùng ngay** | `htn-tunnel http 3000` chạy ngay, không cần đăng ký |
233
242
  | **HTTP tunnels** | Subdomain HTTPS (random hoặc cố định vĩnh viễn) |
234
243
  | **TCP tunnels** | Forward port bất kỳ (database, SSH, ...) |
244
+ | **Đăng nhập qua browser** | `htn-tunnel login` mở browser, key tự lưu |
235
245
  | **Auto-TLS** | Wildcard Let's Encrypt qua DNS-01 (Cloudflare) |
236
246
  | **WebSocket** | Proxy đầy đủ, hỗ trợ HMR (Next.js, Vite) |
237
- | **API key** | Người dùng tự đăng ký qua dashboard |
238
247
  | **Subdomain cố định** | Claim 1 lần, dùng mãi mãi |
239
- | **User dashboard** | Đăng ký, đăng nhập, quản subdomain |
240
- | **Admin dashboard** | Quảnusers, tunnels, sửa config |
248
+ | **Analytics trực tiếp** | Request log real-time, biểu đồ traffic, phân tích status |
249
+ | **User dashboard** | Đăng ký, quản subdomain, xem traffic |
250
+ | **Admin dashboard** | Quản lý users, tunnels, config, analytics |
241
251
  | **Tự động kết nối lại** | Heartbeat + exponential backoff |
242
252
  | **Single binary** | Không cần cài thêm gì, chạy mọi nền tảng |
243
253
 
@@ -290,24 +300,28 @@ sudo mv htn-tunnel /usr/local/bin/
290
300
 
291
301
  ## Hướng dẫn nhanh
292
302
 
293
- ### 1. Đăng tài khoản
303
+ ### Dùng ngay (không cần đăng ký)
294
304
 
295
- Mở dashboard trong trình duyệt:
296
-
297
- > **https://dashboard.33.id.vn/_dashboard/**
305
+ ```bash
306
+ htn-tunnel http 3000
307
+ ```
298
308
 
299
- Nhấn **Register** → nhập tên + subdomain → **Create Account** → copy API key (`htk_...`)
309
+ ```
310
+ Tunnel: https://abc12xyz.33.id.vn → localhost:3000
311
+ Status: connected
312
+ ```
300
313
 
301
- ### 2. Lưu API key
314
+ Xong! Bạn nhận subdomain ngẫu nhiên, giới hạn 1 tunnel, tự hết hạn sau 2h.
302
315
 
303
- ```bash
304
- htn-tunnel auth htk_key_của_bạn --server 33.id.vn:4443
305
- ```
316
+ ### Với subdomain cố định
306
317
 
307
- ### 3. Mở tunnel
318
+ Đăng qua browser để claim subdomain riêng:
308
319
 
309
320
  ```bash
310
- htn-tunnel http 3000 --subdomain myapp
321
+ htn-tunnel login --server 33.id.vn:4443
322
+ # Mở browser → đăng ký → key tự động lưu
323
+
324
+ htn-tunnel http 3000:myapp
311
325
  ```
312
326
 
313
327
  ```
@@ -315,9 +329,9 @@ htn-tunnel http 3000 --subdomain myapp
315
329
  Status: connected
316
330
  ```
317
331
 
318
- Xong! Mở `https://myapp.33.id.vn` trên bất kỳ trình duyệt nào.
332
+ > Subdomain của bạn là vĩnh viễn. Kết nối lại bất kỳ lúc nào.
319
333
 
320
- > Subdomain của bạn vĩnh viễn. Kết nối lại bất kỳ lúc nào với cùng `--subdomain`.
334
+ Nếu dùng subdomain cố định chưa đăng nhập, htn-tunnel sẽ tự mở browser cho bạn đăng ký.
321
335
 
322
336
  ### TCP tunnel
323
337
 
@@ -331,15 +345,17 @@ htn-tunnel tcp 5432
331
345
  ## Hướng dẫn CLI
332
346
 
333
347
  ```
334
- htn-tunnel http <port> [--subdomain tên] Tạo HTTP tunnel
335
- htn-tunnel tcp <port> Tạo TCP tunnel
336
- htn-tunnel auth <key> [--server host:port] Lưu API key
348
+ htn-tunnel http <port>[:<subdomain>] Tạo HTTP tunnel (ẩn danh hoặc đã đăng ký)
349
+ htn-tunnel tcp <port> Tạo TCP tunnel (cần đăng ký)
350
+ htn-tunnel login [--server host:port] Đăng ký/đăng nhập qua browser
351
+ htn-tunnel logout Xóa key đã lưu
352
+ htn-tunnel dashboard Mở dashboard trên browser
337
353
  htn-tunnel status Xem thông tin tài khoản
354
+ htn-tunnel auth <key> [--server host:port] Lưu API key thủ công
338
355
  ```
339
356
 
340
357
  | Flag | Mô tả |
341
358
  |------|-------|
342
- | `--subdomain <tên>` | Subdomain cố định (chỉ HTTP) |
343
359
  | `--server <host:port>` | Địa chỉ server |
344
360
  | `--token <key>` | Override auth token |
345
361
 
@@ -352,9 +368,9 @@ htn-tunnel status Xem thông tin tài khoản
352
368
  | **Người dùng** | `https://dashboard.33.id.vn/_dashboard/` | API key |
353
369
  | **Admin** | `https://dashboard.33.id.vn/_admin/` | Admin key |
354
370
 
355
- **User dashboard:** đăng ký, quản lý subdomain, xem thống tunnel
371
+ **User dashboard:** đăng ký, quản lý subdomain, request log real-time, biểu đồ traffic, top paths
356
372
 
357
- **Admin dashboard:** quản lý users, tunnels, sửa cấu hình server
373
+ **Admin dashboard:** quản lý users/tunnels, sửa config, analytics toàn server với live log stream
358
374
 
359
375
  ---
360
376
 
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "htn-tunnel",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Self-hosted tunnel client — expose localhost to the internet",
5
5
  "bin": {
6
6
  "htn-tunnel": "./bin/htn-tunnel.js"
7
7
  },
8
+ "files": [
9
+ "bin/htn-tunnel.js",
10
+ "lib/install.js",
11
+ "README.md"
12
+ ],
8
13
  "scripts": {
9
14
  "postinstall": "node lib/install.js"
10
15
  },