Jianhui Zhao
d1703f44cd
add pprof performance profiling support
...
Add --pprof command line option to enable performance profiling
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:05:39 +08:00
Jianhui Zhao
0ca0086bdd
ui: handle WebSocket 403 unauthorized errors properly
...
When WebSocket connection fails due to 403 unauthorized status from server,
browser WebSocket API cannot distinguish HTTP status codes and only fires
a generic 'error' event. Redirect to /connect/:devid HTTP endpoint so that
browser can properly capture and handle the 403 status code response.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:05:17 +08:00
Jianhui Zhao
3842518da9
optimize the terminal login process via websocket close messages.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:04:49 +08:00
Jianhui Zhao
948e304984
ui: fix locales for Error.vue.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:04:31 +08:00
Jianhui Zhao
17599404f8
Add devid into the response of command execution #119
...
```
{"devid":"test","err":1,"msg":"operation not permitted"}
```
```
{"code":0,"devid":"test","stderr":"","stdout":"SGVsbG8sIFJ0dHkK"}
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:03:42 +08:00
Jianhui Zhao
98f3dbce02
add HTTP error responses to proxy connections
...
- Add sendHTTPErrorResponse function to send proper HTTP error pages
- Improve user experience by showing meaningful error pages instead of silent connection drops
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:02:15 +08:00
Jianhui Zhao
4f47087148
Remove unnecessary empty group parameter from redirect URLs
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-15 16:24:31 +08:00
Jianhui Zhao
c98a09465f
add downloads badge
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-15 09:29:17 +08:00
Jianhui Zhao
d6c5d6a578
bump version 5.2.0
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 23:43:31 +08:00
Jianhui Zhao
cf2f50eae8
ci: release assets
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 23:25:23 +08:00
Jianhui Zhao
6df295f324
ci: add build windows
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 23:16:12 +08:00
Jianhui Zhao
3a7df54e8b
ci: do not run build.yml on push tag
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 23:14:58 +08:00
Jianhui Zhao
2179298bf7
fix build fail for windows.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 22:34:24 +08:00
Jianhui Zhao
7edc2ac18e
add a script to create deb package.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 21:57:52 +08:00
Jianhui Zhao
a50f99baf8
Improve configuration file documentation and clarity
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 18:07:04 +08:00
Jianhui Zhao
6c36d6d1c8
Add user hook URL support for API access validation
...
- Forward all original HTTP headers plus custom rttys headers:
- X-Rttys-Hook: true
- X-Original-Method: original request method
- X-Original-URL: original request URL
- Hook must return HTTP 200 to allow API access.
This enables external services to validate and control user API access
by receiving the complete original request context through HTTP hooks.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-14 18:06:58 +08:00
Jianhui Zhao
346065a428
Use json.RawMessage for command response attrs
...
This fixes handling of error responses like `{"token":"token","attrs":{"err":1,"msg":"xx"}}`.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-13 19:57:56 +08:00
Jianhui Zhao
98023ee54d
update README
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-11 15:32:04 +08:00
Jianhui Zhao
c2caed9e9c
bump version 5.1.0
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-10 10:25:43 +08:00
Jianhui Zhao
e91b262a46
Add /counts API to get total device count
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-10 10:24:44 +08:00
Jianhui Zhao
35a1fe2913
ui: Implement direct paste functionality for terminal context menu
...
- Add pasteFromClipboard() method to enable direct clipboard paste
- Use Clipboard API with async/await for modern browser support
- Add fallback message for unsupported browsers or permission denied
- Add 'Pasted from clipboard' translations for English and Chinese
- Replace paste menu item action from showing instruction to actual paste
This allows users to paste content directly from the context menu instead
of requiring keyboard shortcuts, improving user experience.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-10 09:45:31 +08:00
Jianhui Zhao
313c13271a
ui: Update clipboard copy message text
...
Simplify the copy success message from "Already copied to clipboard"
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-10 09:27:03 +08:00
Jianhui Zhao
7830a325f3
ui: Change message type from info to success in context menu actions
...
Replace $message.info() with $message.success() for copy, paste, and file
upload instructions in the terminal context menu to provide more positive
user feedback for these informational messages.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-10 09:18:57 +08:00
Jianhui Zhao
86abb34a47
bump version 5.0.0
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-07 12:21:49 +08:00
Jianhui Zhao
a0bfc21d11
Refactor the message distribution process
...
To solve a major problem: when there are many devices connected,
the broker will blocked in processing messages.
By the way, I've rewritten and reorganized the entire code architecture,
improved performance.
Some new features has been added:
* support device grouping.
* support show device's IP address.
Change-Id: I250e18091be7fd42028c82767b6edef50b3f6d8f
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-07 12:21:36 +08:00
Jianhui Zhao
ff6cbda736
remove unused conf dev-auth-url in rttys.conf
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-04 17:17:03 +08:00
Jianhui Zhao
86420d878f
ui: remove tooltip for operation icon
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-04 11:44:59 +08:00
Jianhui Zhao
21c8e48baa
Optimize the code for processing command requests
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-03 17:03:08 +08:00
Jianhui Zhao
8f2ae9d6c9
remove unused variable devCertPool in broker struct
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-02 17:28:45 +08:00
Jianhui Zhao
af9eaa7cb4
api: Optimizing Static Resource Handling
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-02 12:54:43 +08:00
Jianhui Zhao
c45c5bf5bd
ui: Fix placeholder in RttyWeb.vue
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-02 09:12:12 +08:00
Jianhui Zhao
cefd50c5f8
ui: fix locale
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-01 20:11:55 +08:00
Jianhui Zhao
a68aa3c921
add support log panic while running in daemon mode.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-27 16:52:22 +08:00
Jianhui Zhao
f43b71d1eb
Adjust the code structure of main.go
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-26 20:41:10 +08:00
Jianhui Zhao
6749ca9e46
fix memleak in httpProxyCons
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-26 18:34:34 +08:00
Jianhui Zhao
efb4c8a539
Remove built-in TLS support in favor of Nginx termination
...
This commit eliminates the native TLS implementation from rttys.
Going forward, TLS termination will be handled exclusively by
Nginx reverse proxy. Key changes include:
1. Removed all TLS-related configuration options
2. Deleted certificate handling and encryption logic
3. Simplified network stack to plain TCP only
4. Updated documentation to reflect new architecture
Rationale:
- Delegates TLS to specialized reverse proxy (Nginx)
- Improves security through separation of concerns
- Reduces attack surface of rttys core service
- Enables centralized certificate management
- Facilitates future scalability with proxy layer
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-26 15:07:01 +08:00
Jianhui Zhao
183aa31b2c
ui: fix placeholder for web proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-26 11:57:29 +08:00
Jianhui Zhao
ef160cc70b
ui: remove compositionOnly: false
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-25 22:17:29 +08:00
Jianhui Zhao
a7db997ea7
ui: remove unused method in ContextMenu.vue
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-23 14:05:36 +08:00
Jianhui Zhao
c9097e95df
pretty ui title
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-23 12:19:47 +08:00
Jianhui Zhao
dd2e8351a5
Fix language following the browser.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-23 12:18:56 +08:00
Jianhui Zhao
046ff5943d
remove some doc
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-23 09:03:55 +08:00
Jianhui Zhao
09c01dabd8
copy rttys.service to release
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-22 18:27:50 +08:00
Jianhui Zhao
eaf1c3960a
add expire for httpProxySessions
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-20 17:07:34 +08:00
Jianhui Zhao
33f82c789a
fix log for http proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-20 16:56:16 +08:00
Jianhui Zhao
9a4d81ba71
close device if invalid msg type received.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-20 16:12:13 +08:00
Jianhui Zhao
9dc80c91fc
ui: fix translate
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-19 22:34:58 +08:00
Jianhui Zhao
79401c60fb
ci: update github workflows
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-19 22:08:43 +08:00
Jianhui Zhao
a355893d09
chore: update README
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-19 16:04:21 +08:00
Jianhui Zhao
87a8e877f2
feat: update cli to github.com/urfave/cli/v3
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 22:39:17 +08:00
Jianhui Zhao
8f2cf21dfb
fix: Fix func GenUniqueID
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 22:39:17 +08:00
Jianhui Zhao
a1ba56b9df
docs: update README
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 22:39:17 +08:00
Jianhui Zhao
553b64be8b
refactor: remove command line for generate token.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 22:39:08 +08:00
Jianhui Zhao
74f6b42933
fix: Fix typo
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 11:50:05 +08:00
Jianhui Zhao
68cfedf733
perf: improve sending PingMessage for web user
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 09:17:15 +08:00
Jianhui Zhao
2dffb56e8a
chore: remove readmex bage
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 20:22:46 +08:00
Jianhui Zhao
d926f0ac6c
perf: Improve file upload speed
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 19:52:21 +08:00
Jianhui Zhao
f51ddc75d7
chore: Delete irrelevant files generate-CA.sh
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 18:33:23 +08:00
Jianhui Zhao
3f41e57b66
feat: update some go packages
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 18:30:29 +08:00
Jianhui Zhao
5477976428
perf: Remove unnecessary atomic operations
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 16:39:32 +08:00
Jianhui Zhao
84707378e0
perf: improve device heartbeat
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 16:03:16 +08:00
Jianhui Zhao
c7592da63f
fix: Ensure the client is only close once
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 15:35:46 +08:00
Jianhui Zhao
5cca249873
fix: stop timer while handle register for device
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-16 14:58:55 +08:00
Jianhui Zhao
1c41f1d90e
feat(ui): More convenient access device web
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 18:07:43 +08:00
Jianhui Zhao
ba05ea6764
perf(ui): improve code via create a vue component RttyCmd
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 18:07:09 +08:00
Jianhui Zhao
a23267dd53
feat: Add option allow-origins
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
a6ae0322a6
feat: add an api /dev/:devid to get one device
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
41723aca41
perf: Optimize HTTP session management
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
8644fff049
perf: Optimize the device registration process.
...
Put most of the registration work into the device's
goroutine for processing.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
166ef7e991
refactor: parse device messages using TLV.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
7c5ebee190
style: Fix code style
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
a6b008ed6e
feat: more convenient to set the terminal font size.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
8818c09d8d
feat: submit on keyup of enter in Login page.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
cbfa9f8bd4
chore: use autofocus for el-input
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
f80ae5c7eb
feat: update all packages to latest
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
b0258a312b
perf: call device hook in goroutine
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
b5ba94e067
fix: Fix redundant if judgments in device register.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
7f1ff94f83
chore: pretty Login page
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
0bfce6163a
fix: Fix device message length validation.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
079c601ea5
refactor: Replace dev-auth-url with dev-hook-url
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:16 +08:00
Jianhui Zhao
7db180c749
refactor: password not required for execute command
...
Usually, commands are executed in batches on multiple devices,
but the password for each device is different. Therefore, the
password parameter is removed.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-15 15:37:10 +08:00
Jianhui Zhao
ab87db1f7d
refactor: Remove device white list support
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-11 10:37:11 +08:00
Jianhui Zhao
b1e592f1fa
refactor: Remove database support
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-11 09:54:35 +08:00
Jianhui Zhao
6e896cac2b
refactor: Remove multi user support
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-11 09:37:53 +08:00
Jianhui Zhao
6a4b0a650c
refactor: Remove the fontsize API
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-10 20:05:14 +08:00
Jianhui Zhao
72ef7ee190
feat: add support use heartbeat interval from rtty client.
...
Change-Id: Ia86c1f87e8a72d49df960d3f4bc3d88a1ec7ee44
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-10 16:46:10 +08:00
Jianhui Zhao
306a812bbc
docs: Add badge of readmex and deepwiki
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-10 14:39:16 +08:00
Jianhui Zhao
a6a9f5934c
chore: more debug log
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-10 10:59:38 +08:00
Jianhui Zhao
68796db4e1
Update FUNDING.yml
2025-06-08 16:05:03 +08:00
Jianhui Zhao
abce7784fe
feat: bump version 4.4.5
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-05 15:46:33 +08:00
Jianhui Zhao
b6cbf55760
fix: Fix the device heartbeat detection mechanism
...
Abnormal logs appear in some environments.
```
Inactive device in long time
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-05 14:47:45 +08:00
Jianhui Zhao
d76b400fe7
feat: bump version 4.4.4
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-28 14:36:19 +08:00
Jianhui Zhao
16e0e4ed76
perf: replace ioutil.ReadAll with io.ReadAll
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-28 14:34:42 +08:00
Jianhui Zhao
bfefcdb0bd
perf: replace interface{} with any
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-28 14:25:18 +08:00
Jianhui Zhao
fb953b665e
perf: optimize JSON message construction using fmt.Appendf
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-28 14:16:59 +08:00
Jianhui Zhao
bb112787d0
fix: prevent concurrent map access with sync.Map
...
```
fatal error: concurrent map read and map write
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-28 14:08:37 +08:00
Jianhui Zhao
181815046c
chore: update FUNDING.yml
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-22 23:42:00 +08:00
Jianhui Zhao
f47120a41f
feat: bump version 4.4.3
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-12 11:37:20 +08:00
Jianhui Zhao
819dcbd00f
fix: Fix potential panic issue 9dfc856
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-12 11:35:10 +08:00
Jianhui Zhao
385a7bbc00
feat: bump version 4.4.2
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-04-25 16:22:21 +08:00