Commit Graph

45 Commits

Author SHA1 Message Date
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 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 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 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 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 1193295869 chore: improve variable name
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2022-09-25 16:25:41 +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 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 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 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 59b1d337da refactor: Match the protocol version between rtty and rttys
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-15 08:31:47 +00:00
Jianhui Zhao fa2cbd14b1 refactor: change the login process to improve stability
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-15 06:46:54 +00:00
Jianhui Zhao 2fc4c7796b chore: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-08 12:26:20 +00:00
Jianhui Zhao c857cc305b chore: rename go module to rttys
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-08 10:33:47 +00:00
Jianhui Zhao 0c86278ce0 perf: Clarer logs
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-24 23:40:57 +08:00
Jianhui Zhao 7c6ec42d66 fix: previous device was removed due to a ID conflict
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-23 19:28:41 +08:00
Jianhui Zhao ffecc1e545 Merge branch 'admin'
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-02 19:08:03 +08:00
Jianhui Zhao 7bc0542dea feat: device management
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-02 19:01:46 +08:00
Jianhui Zhao be1f20f2ce improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-02 18:51:07 +08:00
Jianhui Zhao bd59b3c1d7 other: improve login
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-04-16 12:13:51 +08:00
Jiri Novotny b7cc62b0e7 feat: mTLS support (#68)
Signed-off-by: Jiri Novotny <k4chn1k@gmail.com>
2021-02-18 23:09:38 +08:00
Jianhui Zhao e44c17314b Verify the client token only rttys configured
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-30 15:45:38 +08:00
Jianhui Zhao 31d7e0920a refactor
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-26 22:50:39 +08:00
Jianhui Zhao 2747f2b345 Support access web from device
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-13 23:02:35 +08:00
Jianhui Zhao 980ff5bfcd fix code style for golint
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-05 21:20:38 +08:00
Jianhui Zhao 71a1d5bd2c Use zerolog
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-12 11:39:45 +08:00
Jianhui Zhao 0846fceb99 Do not use websocket for device
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-01-30 22:14:34 +08:00
Jianhui Zhao 8a3fa3f82b Change the license from LGPL2 to MIT 2019-05-07 11:20:25 +08:00
Jianhui Zhao 38b8c19cde broker.go: Use json-iterator/go instead of buger/jsonparser
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-04-26 23:42:35 +08:00
Jianhui Zhao ddead9042d Use logrus
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-04-22 23:33:22 +08:00
Jianhui Zhao 395444f7d3 Optimize code
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-04-18 21:45:42 +08:00
Jianhui Zhao a6dfab9cd5 Optimize code
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-04-16 23:21:45 +08:00
Jianhui Zhao f26078c121 Code refactoring
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-01-20 13:55:16 +08:00
Jianhui Zhao 9766d7adcd Use string as session ID
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-01-18 13:11:25 +08:00
Jianhui Zhao 48f6f0faf7 make rlog as internal package
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2019-01-18 11:29:16 +08:00
Jianhui Zhao bbb1812405 package rlog
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-10-15 23:02:13 +08:00
Jianhui Zhao fae77479b9 Increase the size of channel for inbound and outbound messages
The is for download large file with sz.

Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-10-04 22:35:38 +08:00
Jianhui Zhao ebbd062c8b Optimize code
Transfer tty data in Binary;
Transfer control data in Json Text;

Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-10-02 15:30:07 +08:00
Jianhui Zhao 3a722cf276 Use lrzsz to transfer file
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-09-25 08:22:35 +08:00
Jianhui Zhao d735d04db5 Support log to file when run in background
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-06-15 21:19:20 +08:00
Jianhui Zhao 6d3ff45d18 protobuf: doing...
Signed-off-by: Jianhui Zhao <jianhuizhao329@gmail.com>
2018-06-10 15:55:22 +08:00