Commit Graph

19 Commits

Author SHA1 Message Date
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
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
0b9d236a15 Optimize configuration parsing
Reduce redundant code and add fault tolerance handling

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-08-01 13:13:09 +08:00
Jianhui Zhao
d1703f44cd add pprof performance profiling support
Add --pprof command line option to enable performance profiling

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-16 17:05:39 +08:00
Jianhui Zhao
6c36d6d1c8 Add user hook URL support for API access validation
- Forward all original HTTP headers plus custom rttys headers:
  - X-Rttys-Hook: true
  - X-Original-Method: original request method
  - X-Original-URL: original request URL
- Hook must return HTTP 200 to allow API access.

This enables external services to validate and control user API access
by receiving the complete original request context through HTTP hooks.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-14 18:06:58 +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
31d7e0920a refactor
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-26 22:50:39 +08:00
Jianhui Zhao
5cf85fa4a2 Make the url of web redirect configurable
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-01-17 15:45:02 +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
19efd505e2 Support connect devices with no web login required
Example:
http://localhost:5913/connect/rtty1
http://localhost:5913/connect/rtty2

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-03-17 23:23:04 +08:00
Jianhui Zhao
ac1c527237 web: use gin
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-03-13 00:24:56 +08:00
Jianhui Zhao
89e703c554 fontsize: Support staging on server
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-19 23:23:22 +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
1d85e64bca ssl cert/key config: Remove default value
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-10 20:07:11 +08:00
Jianhui Zhao
c2decf6ec8 Drop the pwauth
Real Cross-Platform.
Avoid exposing system usernames and passwords.

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-10 19:56:39 +08:00
Jianhui Zhao
0c20b5340c Make the variable names more understand
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-10 18:24:30 +08:00
Jianhui Zhao
3c157b38da Fix typo
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-10 18:16:03 +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