termbeam 0.0.2 → 0.0.4
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 +2 -52
- package/package.json +2 -2
- package/src/server.js +23 -8
package/README.md
CHANGED
|
@@ -12,63 +12,13 @@
|
|
|
12
12
|
Access your terminal from your phone, tablet, or any browser.
|
|
13
13
|
Multi-session, mobile-optimized, with touch controls.
|
|
14
14
|
|
|
15
|
-
[Getting Started](#-quick-start) · [
|
|
15
|
+
[Getting Started](#-quick-start) · [Demo](#-demo) · [Documentation](https://dorlugasigal.github.io/TermBeam/) · [Contributing](CONTRIBUTING.md)
|
|
16
16
|
|
|
17
17
|
</div>
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<!--
|
|
24
|
-
To add screenshots:
|
|
25
|
-
1. Run TermBeam: npx termbeam --generate-password
|
|
26
|
-
2. Take screenshots on your phone/browser
|
|
27
|
-
3. Save images to docs/assets/screenshots/
|
|
28
|
-
4. Uncomment the img tags below and update filenames
|
|
29
|
-
|
|
30
|
-
Recommended screenshots:
|
|
31
|
-
- session-manager.png (main screen with session list)
|
|
32
|
-
- terminal.png (active terminal session)
|
|
33
|
-
- folder-browser.png (folder picker sheet)
|
|
34
|
-
- login.png (password login screen)
|
|
35
|
-
- qr-code.png (server startup with QR code in terminal)
|
|
36
|
-
-->
|
|
37
|
-
|
|
38
|
-
<div align="center">
|
|
39
|
-
<table>
|
|
40
|
-
<tr>
|
|
41
|
-
<td align="center"><strong>Session Manager</strong></td>
|
|
42
|
-
<td align="center"><strong>Terminal</strong></td>
|
|
43
|
-
<td align="center"><strong>Folder Browser</strong></td>
|
|
44
|
-
</tr>
|
|
45
|
-
<tr>
|
|
46
|
-
<td>
|
|
47
|
-
|
|
48
|
-
<!--  -->
|
|
49
|
-
|
|
50
|
-
_Manage multiple terminal sessions with swipe-to-delete_
|
|
51
|
-
|
|
52
|
-
</td>
|
|
53
|
-
<td>
|
|
54
|
-
|
|
55
|
-
<!--  -->
|
|
56
|
-
|
|
57
|
-
_Full terminal with touch controls and Nerd Font rendering_
|
|
58
|
-
|
|
59
|
-
</td>
|
|
60
|
-
<td>
|
|
61
|
-
|
|
62
|
-
<!--  -->
|
|
63
|
-
|
|
64
|
-
_Visual directory picker for working directory_
|
|
65
|
-
|
|
66
|
-
</td>
|
|
67
|
-
</tr>
|
|
68
|
-
</table>
|
|
69
|
-
</div>
|
|
70
|
-
|
|
71
|
-
> **💡 Screenshots coming soon!** Run `npx termbeam` and see for yourself.
|
|
21
|
+
https://github.com/user-attachments/assets/c91ca15d-0c84-400f-bbfa-3d58d1be07ee
|
|
72
22
|
|
|
73
23
|
## ✨ Features
|
|
74
24
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "termbeam",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Beam your terminal to any device — mobile-optimized web terminal with multi-session support",
|
|
5
5
|
"main": "src/server.js",
|
|
6
6
|
"bin": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"cookie-parser": "^1.4.7",
|
|
59
59
|
"express": "^5.2.1",
|
|
60
|
-
"node-pty": "
|
|
60
|
+
"node-pty": "1.0.0",
|
|
61
61
|
"qrcode": "^1.5.4",
|
|
62
62
|
"ws": "^8.19.0"
|
|
63
63
|
},
|
package/src/server.js
CHANGED
|
@@ -76,13 +76,27 @@ server.listen(config.port, config.host, async () => {
|
|
|
76
76
|
cwd: config.cwd,
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
+
const lp = '\x1b[38;5;141m'; // light purple
|
|
80
|
+
const rs = '\x1b[0m'; // reset
|
|
79
81
|
console.log('');
|
|
80
|
-
console.log(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
console.log(
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
console.log(
|
|
83
|
+
`${lp} ████████╗███████╗██████╗ ███╗ ███╗██████╗ ███████╗ █████╗ ███╗ ███╗${rs}`,
|
|
84
|
+
);
|
|
85
|
+
console.log(
|
|
86
|
+
`${lp} ╚══██╔══╝██╔════╝██╔══██╗████╗ ████║██╔══██╗██╔════╝██╔══██╗████╗ ████║${rs}`,
|
|
87
|
+
);
|
|
88
|
+
console.log(
|
|
89
|
+
`${lp} ██║ █████╗ ██████╔╝██╔████╔██║██████╔╝█████╗ ███████║██╔████╔██║${rs}`,
|
|
90
|
+
);
|
|
91
|
+
console.log(
|
|
92
|
+
`${lp} ██║ ██╔══╝ ██╔══██╗██║╚██╔╝██║██╔══██╗██╔══╝ ██╔══██║██║╚██╔╝██║${rs}`,
|
|
93
|
+
);
|
|
94
|
+
console.log(
|
|
95
|
+
`${lp} ██║ ███████╗██║ ██║██║ ╚═╝ ██║██████╔╝███████╗██║ ██║██║ ╚═╝ ██║${rs}`,
|
|
96
|
+
);
|
|
97
|
+
console.log(
|
|
98
|
+
`${lp} ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═╝${rs}`,
|
|
99
|
+
);
|
|
86
100
|
console.log('');
|
|
87
101
|
console.log(` Beam your terminal to any device 📡 v${config.version}`);
|
|
88
102
|
console.log('');
|
|
@@ -93,7 +107,8 @@ server.listen(config.port, config.host, async () => {
|
|
|
93
107
|
}
|
|
94
108
|
console.log(` Shell: ${config.shell}`);
|
|
95
109
|
console.log(` Session: ${defaultId}`);
|
|
96
|
-
|
|
110
|
+
const gn = '\x1b[38;5;114m'; // green
|
|
111
|
+
console.log(` Auth: ${config.password ? `${gn}🔒 password${rs}` : '🔓 none'}`);
|
|
97
112
|
|
|
98
113
|
let publicUrl = null;
|
|
99
114
|
if (config.useTunnel) {
|
|
@@ -117,6 +132,6 @@ server.listen(config.port, config.host, async () => {
|
|
|
117
132
|
}
|
|
118
133
|
|
|
119
134
|
console.log(` Scan the QR code or open: ${qrUrl}`);
|
|
120
|
-
if (config.password) console.log(` Password: ${config.password}`);
|
|
135
|
+
if (config.password) console.log(` Password: ${gn}${config.password}${rs}`);
|
|
121
136
|
console.log('');
|
|
122
137
|
});
|