trustmux 7.0__tar.gz

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.
trustmux-7.0/PKG-INFO ADDED
@@ -0,0 +1,150 @@
1
+ Metadata-Version: 2.4
2
+ Name: trustmux
3
+ Version: 7.0
4
+ Summary: Monitor and interact with tmux/Byobu sessions from your phone
5
+ Author-email: Dustin Kirkland <dustin.kirkland@gmail.com>
6
+ License: GPL-3.0-or-later
7
+ Project-URL: Homepage, https://trustmux.app
8
+ Project-URL: Repository, https://github.com/dustinkirkland/byobu
9
+ Project-URL: Issues, https://github.com/dustinkirkland/byobu/issues
10
+ Keywords: tmux,byobu,terminal,mobile,pwa
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Environment :: Console
13
+ Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Topic :: Terminals :: Terminal Emulators/X Terminals
16
+ Requires-Python: >=3.9
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: tornado>=6.0
19
+
20
+ # Trustmux
21
+
22
+ A mobile companion for [tmux](https://github.com/tmux/tmux) / [Byobu](https://byobu.org) sessions. Run a lightweight daemon on your workstation; monitor and interact with your terminal sessions from your phone over your Tailscale network. No relay server — terminal data stays between your devices.
23
+
24
+ Works with **plain tmux** and with **byobu**. Byobu users get the live status bar chips; plain tmux users get everything else.
25
+
26
+ Two tiers:
27
+ - **Free** — PWA. Install one icon per machine directly from the browser.
28
+ - **Paid** — Native Flutter app with full ANSI colors, multi-machine management, and biometric auth.
29
+
30
+ ---
31
+
32
+ ## Requirements
33
+
34
+ - tmux (byobu optional but recommended)
35
+ - Python 3.10+
36
+ - [Tailscale](https://tailscale.com) installed, running, and connected
37
+
38
+ ---
39
+
40
+ ## Install
41
+
42
+ ### Homebrew (macOS / Linux)
43
+
44
+ ```bash
45
+ brew tap dustinkirkland/trustmux
46
+ brew install trustmux
47
+ trustmux-enable # configure tailscale serve + start daemon
48
+ trustmux-pair # generate pairing code; enter on phone
49
+ ```
50
+
51
+ ### pip (PyPI)
52
+
53
+ ```bash
54
+ pip install trustmux
55
+ trustmux-enable
56
+ trustmux-pair
57
+ ```
58
+
59
+ ### Debian / Ubuntu (.deb)
60
+
61
+ ```bash
62
+ sudo dpkg -i trustmux_7.0_all.deb
63
+ trustmux-enable
64
+ trustmux-pair
65
+ ```
66
+
67
+ Add the PPA for automatic updates:
68
+
69
+ ```bash
70
+ sudo add-apt-repository ppa:dustinkirkland/trustmux
71
+ sudo apt install trustmux
72
+ ```
73
+
74
+ ---
75
+
76
+ ## Daily use
77
+
78
+ ```bash
79
+ trustmux-ctl start # start daemon
80
+ trustmux-ctl stop # stop daemon
81
+ trustmux-ctl restart # restart daemon
82
+ trustmux-ctl status # show URL and running status
83
+ trustmux-ctl log # tail the daemon log
84
+
85
+ trustmux-pair # generate a pairing code for a new device
86
+ trustmux-unpair # list paired devices and remove them
87
+ ```
88
+
89
+ ---
90
+
91
+ ## Setup from source
92
+
93
+ ```bash
94
+ cd mobile/
95
+ python3 -m venv .venv
96
+ .venv/bin/pip install -r requirements.txt
97
+ ./trustmux-enable
98
+ ./trustmux-pair
99
+ ```
100
+
101
+ ---
102
+
103
+ ## Configuration
104
+
105
+ | Path | Purpose |
106
+ |---|---|
107
+ | `~/.config/trustmux/tokens.json` | Paired device session tokens (mode 0600) |
108
+ | `~/.config/trustmux/trustmux.sock` | Admin Unix socket (mode 0600) |
109
+ | `~/.config/trustmux/trustmux.log` | Daemon log (mode 0600) |
110
+ | `~/.config/trustmux/machines.json` | Optional: sibling machines for the machine selector |
111
+
112
+ ### Multiple machines
113
+
114
+ ```json
115
+ [
116
+ { "name": "work", "url": "https://work-machine.tail1234.ts.net" },
117
+ { "name": "personal", "url": "https://personal.tail1234.ts.net" }
118
+ ]
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Security
124
+
125
+ - Daemon binds to `127.0.0.1:7432` only — not reachable from the network
126
+ - All traffic encrypted by Tailscale WireGuard; HTTPS via `tailscale serve`
127
+ - No relay server — terminal data never leaves your Tailscale mesh
128
+ - Pairing codes: 6-digit, 5-minute TTL, single-use, max 10 attempts
129
+ - Session tokens: 256-bit random, stored at mode 0600
130
+
131
+ ---
132
+
133
+ ## Tests
134
+
135
+ ```bash
136
+ cd mobile/
137
+ python3 -m unittest tests.test_daemon -v
138
+ ```
139
+
140
+ ---
141
+
142
+ ## Troubleshooting
143
+
144
+ **502 Bad Gateway** — tailscale serve is running but daemon isn't: `trustmux-ctl start`
145
+
146
+ **"Serve not enabled"** — visit the URL printed by `tailscale serve --bg 7432`
147
+
148
+ **Phone can't reach URL** — ensure Tailscale is active on the phone
149
+
150
+ **Need to re-pair** — run `trustmux-pair` and enter the new code on the device
trustmux-7.0/README.md ADDED
@@ -0,0 +1,131 @@
1
+ # Trustmux
2
+
3
+ A mobile companion for [tmux](https://github.com/tmux/tmux) / [Byobu](https://byobu.org) sessions. Run a lightweight daemon on your workstation; monitor and interact with your terminal sessions from your phone over your Tailscale network. No relay server — terminal data stays between your devices.
4
+
5
+ Works with **plain tmux** and with **byobu**. Byobu users get the live status bar chips; plain tmux users get everything else.
6
+
7
+ Two tiers:
8
+ - **Free** — PWA. Install one icon per machine directly from the browser.
9
+ - **Paid** — Native Flutter app with full ANSI colors, multi-machine management, and biometric auth.
10
+
11
+ ---
12
+
13
+ ## Requirements
14
+
15
+ - tmux (byobu optional but recommended)
16
+ - Python 3.10+
17
+ - [Tailscale](https://tailscale.com) installed, running, and connected
18
+
19
+ ---
20
+
21
+ ## Install
22
+
23
+ ### Homebrew (macOS / Linux)
24
+
25
+ ```bash
26
+ brew tap dustinkirkland/trustmux
27
+ brew install trustmux
28
+ trustmux-enable # configure tailscale serve + start daemon
29
+ trustmux-pair # generate pairing code; enter on phone
30
+ ```
31
+
32
+ ### pip (PyPI)
33
+
34
+ ```bash
35
+ pip install trustmux
36
+ trustmux-enable
37
+ trustmux-pair
38
+ ```
39
+
40
+ ### Debian / Ubuntu (.deb)
41
+
42
+ ```bash
43
+ sudo dpkg -i trustmux_7.0_all.deb
44
+ trustmux-enable
45
+ trustmux-pair
46
+ ```
47
+
48
+ Add the PPA for automatic updates:
49
+
50
+ ```bash
51
+ sudo add-apt-repository ppa:dustinkirkland/trustmux
52
+ sudo apt install trustmux
53
+ ```
54
+
55
+ ---
56
+
57
+ ## Daily use
58
+
59
+ ```bash
60
+ trustmux-ctl start # start daemon
61
+ trustmux-ctl stop # stop daemon
62
+ trustmux-ctl restart # restart daemon
63
+ trustmux-ctl status # show URL and running status
64
+ trustmux-ctl log # tail the daemon log
65
+
66
+ trustmux-pair # generate a pairing code for a new device
67
+ trustmux-unpair # list paired devices and remove them
68
+ ```
69
+
70
+ ---
71
+
72
+ ## Setup from source
73
+
74
+ ```bash
75
+ cd mobile/
76
+ python3 -m venv .venv
77
+ .venv/bin/pip install -r requirements.txt
78
+ ./trustmux-enable
79
+ ./trustmux-pair
80
+ ```
81
+
82
+ ---
83
+
84
+ ## Configuration
85
+
86
+ | Path | Purpose |
87
+ |---|---|
88
+ | `~/.config/trustmux/tokens.json` | Paired device session tokens (mode 0600) |
89
+ | `~/.config/trustmux/trustmux.sock` | Admin Unix socket (mode 0600) |
90
+ | `~/.config/trustmux/trustmux.log` | Daemon log (mode 0600) |
91
+ | `~/.config/trustmux/machines.json` | Optional: sibling machines for the machine selector |
92
+
93
+ ### Multiple machines
94
+
95
+ ```json
96
+ [
97
+ { "name": "work", "url": "https://work-machine.tail1234.ts.net" },
98
+ { "name": "personal", "url": "https://personal.tail1234.ts.net" }
99
+ ]
100
+ ```
101
+
102
+ ---
103
+
104
+ ## Security
105
+
106
+ - Daemon binds to `127.0.0.1:7432` only — not reachable from the network
107
+ - All traffic encrypted by Tailscale WireGuard; HTTPS via `tailscale serve`
108
+ - No relay server — terminal data never leaves your Tailscale mesh
109
+ - Pairing codes: 6-digit, 5-minute TTL, single-use, max 10 attempts
110
+ - Session tokens: 256-bit random, stored at mode 0600
111
+
112
+ ---
113
+
114
+ ## Tests
115
+
116
+ ```bash
117
+ cd mobile/
118
+ python3 -m unittest tests.test_daemon -v
119
+ ```
120
+
121
+ ---
122
+
123
+ ## Troubleshooting
124
+
125
+ **502 Bad Gateway** — tailscale serve is running but daemon isn't: `trustmux-ctl start`
126
+
127
+ **"Serve not enabled"** — visit the URL printed by `tailscale serve --bg 7432`
128
+
129
+ **Phone can't reach URL** — ensure Tailscale is active on the phone
130
+
131
+ **Need to re-pair** — run `trustmux-pair` and enter the new code on the device
@@ -0,0 +1,49 @@
1
+ [build-system]
2
+ requires = ["setuptools>=68", "wheel"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "trustmux"
7
+ version = "7.0"
8
+ description = "Monitor and interact with tmux/Byobu sessions from your phone"
9
+ readme = "README.md"
10
+ license = {text = "GPL-3.0-or-later"}
11
+ authors = [{name = "Dustin Kirkland", email = "dustin.kirkland@gmail.com"}]
12
+ requires-python = ">=3.9"
13
+ dependencies = ["tornado>=6.0"]
14
+ keywords = ["tmux", "byobu", "terminal", "mobile", "pwa"]
15
+ classifiers = [
16
+ "Development Status :: 4 - Beta",
17
+ "Environment :: Console",
18
+ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
19
+ "Programming Language :: Python :: 3",
20
+ "Topic :: Terminals :: Terminal Emulators/X Terminals",
21
+ ]
22
+
23
+ [project.urls]
24
+ Homepage = "https://trustmux.app"
25
+ Repository = "https://github.com/dustinkirkland/byobu"
26
+ Issues = "https://github.com/dustinkirkland/byobu/issues"
27
+
28
+ [project.scripts]
29
+ trustmux = "trustmux._daemon:main"
30
+ trustmux-ctl = "trustmux._ctl:main"
31
+ trustmux-pair = "trustmux._pair:main"
32
+ trustmux-unpair = "trustmux._unpair:main"
33
+ trustmux-enable = "trustmux._enable:main"
34
+ trustmux-disable = "trustmux._disable:main"
35
+
36
+ [tool.setuptools.packages.find]
37
+ where = ["."]
38
+ include = ["trustmux*"]
39
+
40
+ [tool.setuptools.package-data]
41
+ trustmux = [
42
+ "static/index.html",
43
+ "static/app.js",
44
+ "static/sw.js",
45
+ "static/trustmux.svg",
46
+ "static/trustmux-logo.svg",
47
+ "static/icons/icon-192.png",
48
+ "static/icons/icon-512.png",
49
+ ]
trustmux-7.0/setup.cfg ADDED
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+