Jianhui Zhao
19604debb4
use github.com/zhaojh329/rtty-go/proto
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-09 13:54:32 +08:00
Jianhui Zhao
21db9f8528
use SPDX-License-Identifier
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-08 19:56:51 +08:00
Jianhui Zhao
0a00064e05
Fix an incorrect log function call.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-07 12:03:02 +08:00
Jianhui Zhao
819a72000f
device registration parsing with robust error handling
...
These changes provide clearer failure diagnostics and prevent invalid
device registrations from compromising system stability.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-07 11:56:24 +08:00
Jianhui Zhao
c90e14a1ac
Reintroduce TLS support for device listener
...
preserve client IP visibility
Previously, TLS termination was moved to nginx for better separation of concerns.
However, this introduced an issue with the new device IP display feature:
- With nginx reverse proxying, all device connections appear to originate from 127.0.0.1
- The actual device IP addresses were masked by the proxy layer
- This prevented accurate IP-based device identification and reporting
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-08-01 13:13:17 +08:00
Jianhui Zhao
5dbb4bf951
Update module name to 'github.com/zhaojh329/rttys/v5'
...
This is in line with the Go language module specifications.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-29 14:55:29 +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
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
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
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
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
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
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
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
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
b1e592f1fa
refactor: Remove database support
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-11 09:54:35 +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
a6a9f5934c
chore: more debug log
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-10 10:59:38 +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
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
0e4c8acbe0
chore: add more debug log
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-16 17:07:08 +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
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
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
docooler
4a55679095
perf: force use tls 1.1 #99
2021-12-22 17:12:01 +08: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
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
342bd9d37e
chore: improve code
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-20 00:00: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
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
f7813ce574
perf: improve write message to device
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-09 15:13:23 +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
a0c4f76dcb
perf: disconnect early when an invalid message was received
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-08 10:11:58 +00:00
jiajian0611
9527ae775c
Adjust the database configuration format of the configuration file to support the selection of MySQL and SQLite3. ( #88 )
...
Signed-off-by: zhou_jiajian <zhou_0611@163.com >
2021-07-29 13:44:01 +08: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
7bc0542dea
feat: device management
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-05-02 19:01:46 +08:00
Jianhui Zhao
d12669a5e1
other: Optimize command line parameter name
...
ssl-devs -> ssl-cacert
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-19 17:16:45 +08:00
Jianhui Zhao
33731fa1a5
other: Improve code
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-19 17:04:45 +08:00