Commit Graph

770 Commits

Author SHA1 Message Date
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>
v4.4.3
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>
v4.4.2
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
Dien Nguyen
3840811605 fix: use the WebUI cert and key file for web proxy service
We should use the WebUI cert and key file for web proxy service.

Signed-off-by: Dien Nguyen <nguyentienhoangdien@gmail.com>
2025-01-31 21:44:49 +08:00
Jianhui Zhao
13bc09c2c1 feat: bump version 4.4.1
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
v4.4.1
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>
v4.4.0
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>
v4.3.0
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>
v4.2.0
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>
v4.1.5
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>
v4.1.4
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>
v4.1.3
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