Commit Graph

98 Commits

Author SHA1 Message Date
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
Jianhui Zhao f3b75f396b fix: Compatible with Windows
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2021-02-19 19:14:43 +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
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 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 a6d4548184 Fix code bug: log to file only run background
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2020-02-12 16:57:44 +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 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