Commit Graph
100 Commits
Author SHA1 Message Date
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
Jianhui Zhao 35a306dfd9 ci: use ubuntu-24.04
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-04-25 16:21:15 +08:00
Jianhui Zhao 9dfc856b74 fix: Fix potential panic issue
```
2025-04-24T06:59:56Z |INFO| New session: 81ee1ed4d12c3048620fbb2168c08257
2025-04-24T07:00:10Z |INFO| Delete session: 81ee1ed4d12c3048620fbb2168c08257
2025-04-24T07:00:17Z |INFO| New session: 427ce01b7f47a7ee8192cefdfa291c8f
2025-04-24T07:00:57Z |INFO| Delete session: 427ce01b7f47a7ee8192cefdfa291c8f
2025-04-24T07:01:55Z |INFO| New session: ffbfd5c596195c2bd43b8c0b6dc3d135
2025-04-24T07:01:57Z |ERRO| websocket: close sent
panic: send on closed channel

goroutine 33 [running]:
main.(*user).WriteMsg(0xc00037e680, 0x2, {0xc000188d10, 0xc, 0xc})
        /home/runner/work/rttys/rttys/user.go:52 +0x8b
main.(*broker).run(0xc00035a000)
        /home/runner/work/rttys/rttys/broker.go:227 +0xf34
created by main.runRttys in goroutine 1
        /home/runner/work/rttys/rttys/main.go:86 +0x595
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-04-25 16:03:56 +08:00
Jianhui Zhao 13bc09c2c1 feat: bump version 4.4.1
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-23 12:27:52 +08:00
Jianhui Zhao 837cb8b188 fix: Fix panic due to send on closed channel
```
2025-01-23T12:19:46+08:00 |INFO| New session: bf1be06db4b7c04cb951e5cb90e60f3b
panic: send on closed channel

goroutine 8 [running]:
main.(*user).WriteMsg(0xc000342140, 0x1, {0xc000124050, 0x41, 0x50})
        /mnt/wsl/work/rttys/user.go:52 +0x8b
main.userLoginAck(0x0, {0xf83100, 0xc000342140})
        /mnt/wsl/work/rttys/user.go:75 +0xc9
main.(*broker).run(0xc000270c80)
        /mnt/wsl/work/rttys/broker.go:212 +0xd91
created by main.runRttys in goroutine 1
        /mnt/wsl/work/rttys/main.go:86 +0x595
exit status 2
```

Run this script to reproduce:
```

local websocket = require 'eco.websocket'

local ws, err = websocket.connect('ws://127.0.0.1:5913/connect/test')
if not ws then
    print('failed to connect: ' .. err)
    return
end

os.exit()
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-23 12:18:41 +08:00
Jianhui Zhao 2540677ce5 feat: bump version 4.4.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 17:08:19 +08:00
Jianhui Zhao 0e4c8acbe0 chore: add more debug log
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 17:07:08 +08:00
Jianhui Zhao 391096e7ae feat: Update all golang dependencies.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 12:25:49 +08:00
Jianhui Zhao 5e8bb12c6d feat: add support set http-proxy-redir-domain in nginx proxy.
```
location /web/ {
    proxy_set_header HttpProxyRedir http://web.your-server.com;
    proxy_set_header HttpProxyRedirDomain .your-server.com
    proxy_pass http://127.0.0.1:5913;
}
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 11:21:16 +08:00
Jianhui Zhao 282f4452a9 docs: fix README
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 11:17:41 +08:00
Jianhui Zhao 9b923492e0 chore: pretty code style
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 10:40:36 +08:00
Jianhui Zhao bd0138743f chore: add more debug log
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-16 10:02:20 +08:00
Jianhui Zhao 5b24011243 fix(ui): Fix copy text from term.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-15 18:14:48 +08:00
Jianhui Zhao 8847ff6c3c feat: bump version 4.3.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 19:38:12 +08:00
Jianhui Zhao 58ac74caf2 feat: default listen tcp4 for http proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 19:34:53 +08:00
Jianhui Zhao 7c915d80aa chore: use golang.org/x/term
`golang.org/x/crypto/ssh/terminal` is deprecated,
this package moved to `golang.org/x/term`.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 19:34:27 +08:00
Jianhui Zhao 9d157eb954 feat: add support set log level
```
rttys run --log-level debug
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 19:34:27 +08:00
Jianhui Zhao c76c5335cb chore: add more log
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 19:34:01 +08:00
Jianhui Zhao a749bd3e8a feat: add support set http-proxy-redir-url in nginx proxy.
```
location /web/ {
    proxy_set_header HttpProxyRedir http://$server_name;
    proxy_pass http://127.0.0.1:5913;
}
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 16:07:31 +08:00
Jianhui Zhao 626ee13729 docs: fix proxy via nginx
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-01-14 16:07:24 +08:00
Jianhui Zhao e0880d4a4e feat: bump version 4.2.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-17 11:59:37 +08:00
Jianhui Zhao b448c00831 doc: update
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-17 11:55:31 +08:00
Jianhui Zhao 90d51a5ec4 perf: Improve configuration parsing logic
* Do not set default configuration file
* Command line flag priority

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-17 11:03:00 +08:00
Jianhui Zhao b326fb917b perf: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-17 09:13:44 +08:00
Jianhui Zhao 91f6e74116 feat(ui): add an error page to show error message.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-16 15:26:17 +08:00
Jianhui Zhao fec71e8374 doc: update
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-16 11:20:57 +08:00
Jianhui Zhao a272ad4e80 feat: add support set http-proxy-redir-domain
Used for set cookie via nginx proxy.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-16 11:15:40 +08:00
Jianhui Zhao 47d3fa43cb doc: update
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-14 17:27:08 +08:00