Jianhui Zhao
7c3eb9cc99
http proxy: simplify session management and remove redundant cookies
...
- Add devid, group, destaddr, and https fields to HttpProxySession for better session tracking and logging.
- Refactor doHttpProxy to use only the rtty-http-sid cookie for session lookup, removing dependencies on group, devid, proto, and destaddr cookies.
- In httpProxyRedirect, store all necessary session info in HttpProxySession and set only the rtty-http-sid cookie.
- Unify logging to use the session string for easier debugging.
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-21 21:18:32 +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
98f3dbce02
add HTTP error responses to proxy connections
...
- Add sendHTTPErrorResponse function to send proper HTTP error pages
- Improve user experience by showing meaningful error pages instead of silent connection drops
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-07-16 17:02:15 +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
eaf1c3960a
add expire for httpProxySessions
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-20 17:07:34 +08:00
Jianhui Zhao
33f82c789a
fix log for http proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-20 16:56:16 +08:00
Jianhui Zhao
8f2cf21dfb
fix: Fix func GenUniqueID
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-06-17 22:39:17 +08:00
Jianhui Zhao
bb112787d0
fix: prevent concurrent map access with sync.Map
...
```
fatal error: concurrent map read and map write
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-05-28 14:08:37 +08:00
Dien Nguyen
3840811605
fix: use the WebUI cert and key file for web proxy service
...
We should use the WebUI cert and key file for web proxy service.
Signed-off-by: Dien Nguyen <nguyentienhoangdien@gmail.com >
2025-01-31 21:44:49 +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
5e8bb12c6d
feat: add support set http-proxy-redir-domain in nginx proxy.
...
```
location /web/ {
proxy_set_header HttpProxyRedir http://web.your-server.com ;
proxy_set_header HttpProxyRedirDomain .your-server.com
proxy_pass http://127.0.0.1:5913 ;
}
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-16 11:21:16 +08:00
Jianhui Zhao
9b923492e0
chore: pretty code style
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-16 10:40:36 +08:00
Jianhui Zhao
bd0138743f
chore: add more debug log
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-16 10:02:20 +08:00
Jianhui Zhao
58ac74caf2
feat: default listen tcp4 for http proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-14 19:34:53 +08:00
Jianhui Zhao
c76c5335cb
chore: add more log
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-14 19:34:01 +08:00
Jianhui Zhao
a749bd3e8a
feat: add support set http-proxy-redir-url in nginx proxy.
...
```
location /web/ {
proxy_set_header HttpProxyRedir http://$server_name ;
proxy_pass http://127.0.0.1:5913 ;
}
```
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2025-01-14 16:07:31 +08:00
Jianhui Zhao
91f6e74116
feat(ui): add an error page to show error message.
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2024-12-16 15:26:17 +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
089dab6de4
feat: add support tls redirection for http proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2024-11-22 14:54:40 +08:00
Jianhui Zhao
5eb0cc7e1b
fix: fix websocket proxy #153
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2024-11-21 12:12:38 +08:00
Jianhui Zhao
58c29ec208
feat: https proxy compatible old rtty
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2022-09-25 17:08:13 +08:00
Jianhui Zhao
25e9fad0b4
feat: support WebSocket in http proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2022-07-31 15:23:11 +08:00
Jianhui Zhao
06695ba338
feat: support https proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2022-07-31 15:22:28 +08:00
Jianhui Zhao
ed859122e0
feat: support specify path and query for web proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2022-05-09 16:51:32 +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
33ed98e253
perf: improve http proxy
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-19 23:40:09 +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
2291340776
perf: gzip ui asserts
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-14 16:01:55 +00:00
Jianhui Zhao
29a925d4a9
chore: improve code
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-11 02:13:32 +08: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
deb5377437
chore: rename frontend to ui
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-09-08 09:34:29 +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
e7e74254e4
feat: support delete offline devices
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-05-28 21:19:06 +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
7fed1bbdcd
Improve code
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-28 20:40:27 +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
28305360dc
fix: set/get font size of terminal
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-28 20:22:29 +08:00
Jianhui Zhao
1324911b10
fix: sign out
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-27 23:15:34 +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
d3c4e05041
feat: use go:embed from go1.16
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-02-20 23:02:11 +08:00
Jianhui Zhao
31d7e0920a
refactor
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-01-26 22:50:39 +08:00
Jianhui Zhao
c1d7c6c1f9
Don't require authentication for local access
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-01-19 11:27:53 +08:00
Jianhui Zhao
dc56150510
Show connected time and uptime
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-01-14 21:32:27 +08:00
Jianhui Zhao
b681b8cfa4
Show device's uptime instead of connected time
...
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com >
2021-01-14 20:30:49 +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