fufesou
48669cdb34
fix: alarm audit number, ipv6 prefix attempts ( #13097 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-10-06 22:10:54 +08:00
Michael Bacarella
a953845ba7
feat: Add IPv6 prefix-based rate limiting on login failures ( #13070 )
...
Enhance security by implementing rate limiting on IPv6 prefixes (/64, /56, /48)
to prevent brute force attacks that exploit cheap IPv6 address generation.
* Add private get_ipv6_prefixes() to calculate network prefixes
* Implement private check_failure_ipv6_prefix() for prefix-specific limits
on IPv6 addresses
* Refactor check_failure() and update_failure() to support both IPs and prefixes
* Add ExceedIPv6PrefixAttempts to AlarmAuditType enum
Signed-off-by: Michael Bacarella <m@bacarella.com >
2025-10-05 23:43:29 +08:00
fufesou
8d453010a4
fix: port forward, invalid msg ( #12881 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-09-09 21:20:58 +08:00
fufesou
df0ff4f134
feat: cursor, linux, Xwayland ( #12859 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-09-06 20:35:51 +08:00
fufesou
6c949a9602
feat: cursor, linux ( #12822 )
...
* feat: cursor, linux
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: cursor, text, white background
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-09-06 12:11:43 +08:00
fufesou
d499098c4f
Fix/cursor macos multi displays ( #12791 )
...
* fix: cursor, whiteboard, pos
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: whiteboard, macos, multi displays
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-09-01 13:02:06 +08:00
fufesou
e2ec6a5be8
feat: whiteboard, macos ( #12780 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-30 22:16:35 +08:00
fufesou
7ca8e0d437
refact: show my cursor ( #12765 )
...
1. Show not supported on Win7.
2. Enabling "Show my cursor" automatically enables "View mode".
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-29 01:06:37 +08:00
fufesou
d0e9c6dc57
feat: show my cursor ( #12745 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-28 15:20:01 +08:00
fufesou
6381f43f01
feat: clipboard files, audit ( #12730 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-25 22:29:53 +08:00
fufesou
f4fb31d7a1
feat: file transfer, resume ( #12626 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-25 14:34:03 +08:00
fufesou
a22f2108c6
refact: suppress warns on macos ( #12449 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-18 15:09:11 +08:00
RustDesk
53efaf125c
Revert "Feat: file transfer, resume ( #12557 )" ( #12620 )
...
This reverts commit 43ec57c769 .
2025-08-11 23:25:41 +08:00
fufesou
43ec57c769
Feat: file transfer, resume ( #12557 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-08-09 23:47:19 +08:00
21pages
9409912344
update kcp-sys ( #12419 )
...
1. Update kcp-sys to send KCP in frames to avoid potential crashes.
2. Fix the issue when the controling side is closed, the kcp connection close is not immediately recognized by the controlled end.
* Unless the controling side receives the close reason, force the sending of the close reason to the controlled end when using KCP, and delay for 30ms to ensure the message is sent successfully.
* Move the CloseReason receiving forward, as this message needs to be received when unauthorized, especially for kcp.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-07-25 13:22:52 +08:00
fufesou
247f0b7eb1
fix: terminal, check service_id ( #12384 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-23 15:43:55 +08:00
fufesou
e31b04b6a7
fix: new translation message ( #12312 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-16 09:25:47 +08:00
fufesou
65c721e088
fix: terminal connection on Linux and MacOS ( #12307 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-15 23:09:04 +08:00
fufesou
abb7748ee9
refact: terminal, win, run as admin ( #12300 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-07-15 16:32:14 +08:00
RustDesk
5faf0ad3cf
terminal works basically. ( #12189 )
...
* terminal works basically.
todo:
- persistent
- sessions restore
- web
- mobile
* missed terminal persistent option change
* android sdk 34 -> 35
* +#![cfg_attr(lt_1_77, feature(c_str_literals))]
* fixing ci
* fix ci
* fix ci for android
* try "Fix Android SDK Platform 35"
* fix android 34
* revert flutter_plugin_android_lifecycle to 2.0.17 which used in rustdesk 1.4.0
* refactor, but break something of desktop terminal (new tab showing loading)
* fix connecting...
2025-07-01 13:12:55 +08:00
fufesou
4d8bfab86e
fix: sequentially post conn audit ( #12152 )
...
* fix: sequentially post conn audit
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update connection.rs
* refact: simplify loop
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update connection.rs
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-06-23 23:55:07 +08:00
rustdesk
7792ac1481
udp punch and ipv6 punch
2025-06-12 21:32:28 +08:00
fufesou
06ab987e32
fix: macos, hidpi, resolutions ( #11825 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-05-21 16:53:02 +08:00
rustdesk
b4a30cac73
Try to fix https://github.com/rustdesk/rustdesk/discussions/5602#discussioncomment-12482865
2025-05-21 15:00:12 +08:00
fufesou
20fcddffbd
fix: build ( #11611 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-30 23:49:18 +08:00
fufesou
c626c2414d
feat: take screenshot ( #11591 )
...
* feat: take screenshot
Signed-off-by: fufesou <linlong1266@gmail.com >
* screenshot, vram temp switch capturer
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: misspelling
Signed-off-by: fufesou <linlong1266@gmail.com >
* screenshot, taking
Signed-off-by: fufesou <linlong1266@gmail.com >
* screenshot, rgba stride
Signed-off-by: fufesou <linlong1266@gmail.com >
* Bumps 1.4.0
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-30 17:23:35 +08:00
fufesou
198967ea35
fix: allow logon screen password, on lock screen ( #11566 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-04-25 10:37:09 +08:00
fufesou
ee2478168c
fix: remote printer ( #11270 )
...
* fix: remote printer, log
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: remote printer, avoid double sign
Signed-off-by: fufesou <linlong1266@gmail.com >
* Spawn a new thread to handle the print job.
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-28 10:36:42 +08:00
fufesou
f4bbf82363
feat: remote printer ( #11231 )
...
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-03-27 15:34:27 +08:00
21pages
f0f999dc27
view camera ( #11040 )
...
* view camera
Signed-off-by: 21pages <sunboeasy@gmail.com >
* `No cameras` prompt if no cameras available, `peerGetSessionsCount` use
connType as parameter
Signed-off-by: 21pages <sunboeasy@gmail.com >
* fix, use video_service_name rather than display_idx as key in qos,etc
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
Co-authored-by: Adwin White <adwinw01@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-03-10 21:06:53 +08:00
fufesou
00293a9902
Feat/macos clipboard file ( #10939 )
...
* feat: macos, clipboard file
Signed-off-by: fufesou <linlong1266@gmail.com >
* Can't reuse file transfer
Signed-off-by: fufesou <linlong1266@gmail.com >
* handle paste task
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2025-02-28 00:46:46 +08:00
fufesou
fbba8f0b34
refact: file copy&paste, cross platform (no macOS) ( #10671 )
...
* feat: unix, file copy&paste
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: unix file c&p, check peer version
Signed-off-by: fufesou <linlong1266@gmail.com >
* Update pubspec.yaml
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2025-02-04 20:33:02 +08:00
21pages
5fa8c25e65
opt qos ( #10459 )
...
* Adjust bitrate and fps based on TestDelay messages.
* Bitrate is adjusted every 3 seconds, fps is adjusted every second and when receiving test lag.
* Latency optimized at high resolutions. However, when the network is poor, the delay when just connecting or sliding static pages is still obvious.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-01-20 17:59:36 +08:00
21pages
c44803f5b0
replace hbb_common with submodule ( #10543 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2025-01-20 17:33:41 +08:00
fufesou
1c17fddf51
fix: android clipboard permission ( #10223 )
...
* fix: android clipboard permission
Signed-off-by: fufesou <linlong1266@gmail.com >
* refact: Android, clipboard, floating ball
Call rust to check if clipboard is enabled.
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-12-07 22:34:54 +08:00
fufesou
3c838e7a92
fix: Android, try sync clipboard on connecting ( #10218 )
...
* fix: Android, try sync clipboard on connecting
Signed-off-by: fufesou <linlong1266@gmail.com >
* Android, clipboard, more clear skip check
Signed-off-by: fufesou <linlong1266@gmail.com >
* comments
Signed-off-by: fufesou <linlong1266@gmail.com >
* comment todo: Android clipboard listener, callback twice
Signed-off-by: fufesou <linlong1266@gmail.com >
* Android, clipboard, remove listner
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-12-07 15:12:15 +08:00
fufesou
12e15b5a37
fix: linux, weak network, repeated keys ( #10211 )
...
Use `press` as the `click` flag on Linux to avoid repeated keys, like
the Legacy mode.
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-12-06 20:01:11 +08:00
zuiyu
314c93b210
Create empty dir on send files in local ( #9993 )
...
* feat: Add empty dirs on sendfiles
* Update connection.rs
---------
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com >
2024-11-23 23:09:11 +08:00
fufesou
8b710f62c8
feat: android clipboard, multi-formats ( #9950 )
...
* feat: android clipboard, multi-formats
Signed-off-by: fufesou <linlong1266@gmail.com >
* Chore
Signed-off-by: fufesou <linlong1266@gmail.com >
* Remove unused code
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-11-18 15:43:41 +08:00
21pages
740c5358ab
rotate ID3D11Texture2D ( #9772 )
...
* Rotate ID3D11Texture2D after duplication with d3d11 video processor.
* If display is not rotated, nothing will be created; If the rotation
fails, it will use the old fallback logic
TODO:
* If changing from Landscape to Landscape(flipped) during capture, the resolution is
not changed, video service fallback to gdi directly.
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-11-08 12:12:10 +08:00
21pages
40e8f0d307
revert missing retry and opt keep session ( #9755 )
...
* Revert "fix missing retry (#8750 )"
If `hasRetry` is true: there is a retry timeout;
If `hasRetry` is false: there is no retry button;
In
https://github.com/rustdesk/rustdesk/discussions/8748#discussioncomment-10081038,when
doesn't want inactive to retry,
cf0e3ec303/flutter/lib/models/model.dart (L444) ,
1.2.3 always show retry no matter what `hasRetry` is.
This reverts commit c3c99ba107 .
* not keep session if there is no remote connection left.
Signed-off-by: 21pages <sunboeasy@gmail.com >
---------
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-26 22:05:54 +08:00
21pages
c8b9031996
refactor session insert, update if already exists ( #9739 )
...
* All share the same last_receive_time
* Not second port forward
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-24 23:14:43 +08:00
21pages
445e9ac285
no password required for file transfer action in remote control menu ( #9731 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-10-24 17:20:48 +08:00
fufesou
d08c335fdf
fix: file transfer, show error, msgbox ( #9389 )
...
* fix: file transfer, show error, msgbox
Signed-off-by: fufesou <linlong1266@gmail.com >
* fix: translation
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-18 19:29:35 +08:00
rustdesk
cc288272d3
OPTION_ONE_WAY_CLIPBOARD_REDIRECTION,
...
OPTION_ENABLE_CLIPBOARD_INIT_SYNC,
OPTION_ALLOW_LOGON_SCREEN_PASSWORD,
OPTION_ONE_WAY_FILE_TRANSFER,
2024-09-18 12:18:26 +08:00
fufesou
c5038b1a78
Fix/virtual display do not plug out if not plugged in ( #9372 )
...
* fix: win VD, do not plug out if not plugged in
Signed-off-by: fufesou <linlong1266@gmail.com >
* Forcibly virtual display on clicking button "-"
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-16 15:57:40 +08:00
fufesou
c358399eca
refact: reduce try_get_displays() on login ( #9333 )
...
* refact: reduce try_get_displays() on login
Signed-off-by: fufesou <linlong1266@gmail.com >
* Function rename
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-09-12 14:44:40 +08:00
21pages
39e713838f
Use fallback codec if first frame fails ( #9242 )
...
* Both encoding and decoding use fallback if first frame fails
* More aggresive max fail counter
* Update hwcodec, add judgement when length of the encoded data is zero, https://github.com/rustdesk/rustdesk-server-pro/discussions/382#discussioncomment-10525997
* Fix serde hwcodec config toml fails when the non-first vec![] is empty, https://github.com/toml-rs/toml-rs/issues/384 , the config file is used for cache, when check process is not finished, the cache is used.
* Allow cm not start for pro user
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-09-03 18:48:17 +08:00
fufesou
f31e60af5b
fix: crash, drop tokio RunTime in async context ( #9091 )
...
* fix: crash, drop tokio RunTime in async context
Signed-off-by: fufesou <linlong1266@gmail.com >
* chore
Signed-off-by: fufesou <linlong1266@gmail.com >
---------
Signed-off-by: fufesou <linlong1266@gmail.com >
2024-08-16 14:55:42 +08:00
21pages
ed18e3c786
file rename ( #9089 )
...
Signed-off-by: 21pages <sunboeasy@gmail.com >
2024-08-16 12:55:58 +08:00