Commit Graph
100 Commits
Author SHA1 Message Date
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
Jianhui Zhao 0e1fdf10a6 fix: Fix local-auth for api /connect/:devid
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-13 15:16:53 +08:00
Jianhui Zhao 41d902dd67 perf: Set the default value of local-auth to true
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-13 15:16:47 +08:00
Jianhui Zhao 3c640ccf72 fix(ui): Fix term window size for white-list device
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-13 12:20:51 +08:00
Jianhui Zhao 7c760bd057 feat: Add support use own device authentication server
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-13 11:29:41 +08:00
Jianhui Zhao fcf7a2b5b3 style: fix code style
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-12-13 11:27:16 +08:00
Jianhui Zhao d17caa758e doc: perfect docker usage.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-30 11:20:24 +08:00
Jianhui Zhao b37a4776e8 feat: bump version 4.1.5
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-28 22:32:18 +08:00
Jianhui Zhao 01aeef110a refactor(ui): Rewrite with latest element-plus
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-28 22:32:05 +08:00
Jianhui Zhao b2cd7ab5a8 feat: bump version 4.1.4
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-23 22:04:49 +08:00
Jianhui Zhao dee7677e1e fix: Fix access permission
Fix an issue that users can access unbound devices by
entering the url directly.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-23 21:42:54 +08:00
Jianhui Zhao 7dd174d096 fix: Fix panic: send on closed channel
```
device                           broker
------------------------------------------------------
dev.br.register <- dev

dev.br.unregister <- dev
                                 handle unregister
                                       c.Close()

                                 handle register
                                       c.WriteMsg(msgTypeRegister, append([]byte{err}, msg...))
                                            dev.send <- append(b, data...)

```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-23 20:14:15 +08:00
Jianhui Zhao 26328a681f feat: bump version 4.1.3
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-22 16:01:34 +08:00
Jianhui Zhao 089dab6de4 feat: add support tls redirection for http proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-22 14:54:40 +08:00
Jianhui Zhao b748584696 perf: use os.ReadFile instead of ioutil.ReadFile
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-22 14:50:29 +08:00
Jianhui Zhao c1b5be5b89 feat: bump version 4.1.2
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-21 12:15:34 +08:00
Jianhui Zhao 5eb0cc7e1b fix: fix websocket proxy #153
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-11-21 12:12:38 +08:00
Jianhui Zhao a78da1182e fix: Fix the issue of device unregistered message print twice
```
Device 'x' unregistered
Device 'x' unregistered
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2024-04-26 22:40:20 +08:00
Jianhui Zhao 173c9db7da feat: bump version 4.1.1
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2023-05-29 21:54:45 +08:00
Jianhui Zhao 11be8de2ec fix(ui): fix css style of terminal
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2023-05-29 21:51:17 +08:00
Jianhui Zhao 1ea2a1464e fix(ui): fix css style for Home page
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2023-05-29 21:32:59 +08:00
Jianhui Zhao 06e0b501f9 docs(ui): update
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2023-05-29 19:25:58 +08:00
Jianhui Zhao d55eac354b chore: bump version 4.1.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-09-25 21:43:48 +08:00
Jianhui Zhao 58c29ec208 feat: https proxy compatible old rtty
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-09-25 17:08:13 +08:00
Jianhui Zhao 1193295869 chore: improve variable name
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-09-25 16:25:41 +08:00
Jianhui Zhao 6cd409379b fix: ui: fix copy text from term
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-07-31 16:02:17 +08:00
Jianhui Zhao 25e9fad0b4 feat: support WebSocket in http proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-07-31 15:23:11 +08:00
Jianhui Zhao 06695ba338 feat: support https proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-07-31 15:22:28 +08:00
Jianhui Zhao 8bfd8459e9 ci: last push latest tag for docker
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-28 11:34:37 +08:00
Jianhui Zhao be2391c0e0 chore: bump version 4.0.2
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-27 23:48:45 +08:00
Jianhui Zhao 8a1f13e3d0 ci: Automatic push docker image
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-27 23:48:01 +08:00
Jianhui Zhao d4b8ad7ea5 fix: panic: send on closed channel
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-12 21:45:44 +08:00
Jianhui Zhao 65a5155e21 chore: remove Dockerfile
Due to it hasn't been maintained in a long time

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-12 09:37:49 +08:00
Jianhui Zhao ed859122e0 feat: support specify path and query for web proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-09 16:51:32 +08:00
Jianhui Zhao f8efeafa58 chore: ui: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-09 15:36:43 +08:00
Jianhui Zhao 522ab5e2bb feat: ui: add example for web proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-09 15:16:25 +08:00
Jianhui Zhao a797ffbc4d chore: add a script to build ui
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-09 14:53:56 +08:00
Jianhui Zhao a6b77fd8b6 chore: update README
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-04 17:26:29 +08:00
Jianhui Zhao 226d891593 chore: update README
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-03 17:13:24 +08:00
Jianhui Zhao ef07447397 chore: bump version 4.0.1
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-03 00:40:13 +08:00
Jianhui Zhao 5122e4c4fa ci: add arm64
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-03 00:40:03 +08:00
Jianhui Zhao 53d7676f6f chore: update README
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-03 00:26:34 +08:00
Jianhui Zhao 978d87ebc1 feat: support build statically
Use `modernc.org/sqlite` implemented in pure go,
so we can building with `CGO_ENABLED=0`.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-05-03 00:26:34 +08:00
Jianhui Zhao 87ac722304 fix: panic: send on closed channel
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-04-12 17:25:37 +08:00
Jianhui Zhao 03b976a9d1 chore: fix code style
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-04-12 17:24:17 +08:00
Jianhui Zhao 80c8a0868d fix: ui: A abnormity caused by click 'OK' when no file selected.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-12-15 09:05:21 +00:00
Jianhui Zhao 56d8e3365e feat: ui: clear last selected file on upload file
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-12-15 08:50:35 +00:00
Jianhui Zhao 43ed146e44 fix: deadlock caused by sending keepalive frame
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-12-15 08:23:08 +00:00
Jianhui Zhao 0e7632d113 perf: verify message length for msgTypeRegister
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-10-12 06:12:55 +00:00
Jianhui Zhao 79f88f5671 chore: remove redundant code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-10-12 04:14:21 +00:00
Jianhui Zhao 21a1a7081b feat: it's configurable whether log caller
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-27 23:43:04 +08:00
Jianhui Zhao cc5e8b7896 fix: panic: send on closed channel
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-22 11:58:41 +00:00
Jianhui Zhao 45486898f8 chore: bump version 4.0.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-22 09:36:49 +00:00
Jianhui Zhao de28788e42 fix: panic: send on closed channel
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-22 05:47:30 +00:00
Jianhui Zhao 289f4a1979 perf: ui: rewrite with view-design and fix some bug
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-22 03:27:20 +00:00
Jianhui Zhao 342bd9d37e chore: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-20 00:00:09 +08:00
Jianhui Zhao 33ed98e253 perf: improve http proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-19 23:40:09 +08:00
Jianhui Zhao 9141dd3ab3 perf: Write file data to local while transferring
Before, the download was started after all file data were sent from the device to the browser.
Now, the download starts when the file data begins to transfer.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-19 03:27:32 +08:00
Jianhui Zhao 6f4b25159c perf: Use flow control
For more details please refer to: https://xtermjs.org/docs/guides/flowcontrol/

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-17 01:39:37 +08:00
Jianhui Zhao e26337f3ea chore: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-16 11:53:15 +00:00
Jianhui Zhao a690e3a54a feat: upload/download file support per tty
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-16 10:44:47 +00:00
Jianhui Zhao d00831af35 perf: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-16 16:56:09 +08:00
Jianhui Zhao 80885c6165 docs: update
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-15 14:28:49 +00:00