Commit Graph

107 Commits

Author SHA1 Message Date
Jianhui Zhao
94d2a5edc3 bump version 5.5.2
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-08-17 21:34:40 +08:00
Jianhui Zhao
9ca83abda9 bump version 5.5.1
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-08-13 23:04:24 +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
ca91a7983c bump version 5.5.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-08-07 21:40:46 +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
25dbcc966b clearer description of command-line arguments for -V
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-08-01 13:13:15 +08:00
Jianhui Zhao
0525361a79 bump version 5.4.1
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-29 22:29:11 +08:00
Jianhui Zhao
2489b605a7 Remove log file fallback for non-TTY output
The feature that wrote logs to a file when stdout wasn't a terminal is
removed. Systemd services already handle log persistence through journald
and its logging facilities. This duplication is unnecessary and conflicts
with standard systemd logging practices.

View log in systemd:

```
journalctl -u rttys
```

or

```
journalctl -u rttys -f
```

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-29 14:55:29 +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
19eb331421 bump version 5.3.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-21 22:03:28 +08:00
Jianhui Zhao
d2320dce67 refine user hook URL control for specific API endpoints
Move user hook validation to individual endpoints (/connect, /cmd, /web).

Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-16 20:35:04 +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
d6c5d6a578 bump version 5.2.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-14 23:43:31 +08:00
Jianhui Zhao
2179298bf7 fix build fail for windows.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-14 22:34:24 +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
c2caed9e9c bump version 5.1.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-10 10:25:43 +08:00
Jianhui Zhao
86abb34a47 bump version 5.0.0
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-07-07 12:21:49 +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
f43b71d1eb Adjust the code structure of main.go
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-26 20:41:10 +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
87a8e877f2 feat: update cli to github.com/urfave/cli/v3
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-17 22:39:17 +08:00
Jianhui Zhao
553b64be8b refactor: remove command line for generate token.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-17 22:39:08 +08:00
Jianhui Zhao
a23267dd53 feat: Add option allow-origins
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-15 15:37:16 +08:00
Jianhui Zhao
079c601ea5 refactor: Replace dev-auth-url with dev-hook-url
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-15 15:37:16 +08:00
Jianhui Zhao
ab87db1f7d refactor: Remove device white list support
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-11 10:37:11 +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
6e896cac2b refactor: Remove multi user support
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-11 09:37:53 +08:00
Jianhui Zhao
6a4b0a650c refactor: Remove the fontsize API
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-10 20:05:14 +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
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
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
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
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
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
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
e26337f3ea chore: improve code
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-16 11:53:15 +00:00
Jianhui Zhao
a58a798090 chore: database source default to "sqlite3://rttys.db"
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-09-15 14:24:47 +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
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
51adecf540 chore: clarer logs
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-21 22:13:00 +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
2124254952 database: use mysql
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-05-02 17:29:37 +08:00
Jianhui Zhao
51d13a1686 fix: remove unused command line param
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-04-27 22:38:40 +08:00
Jianhui Zhao
50126dd78e feat: auto select an available port for web proxy
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-04-27 22:35:18 +08:00
Jianhui Zhao
b5ecca7b7e feat: Local authentication is configurable
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-02-28 20:36:06 +08:00
Jianhui Zhao
2a08cb5a8f feat: store font size in database
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-02-28 20:30:43 +08:00
Jianhui Zhao
dd3fb3e9a7 feat: support user sign up
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-02-27 22:53:39 +08:00