Commit graph

1214 commits

Author SHA1 Message Date
fufesou
d18e95703e
fix: mouse forward back (#8705)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-14 03:49:16 +08:00
21pages
821f7245b0
videotoolbox ram codec (#8683)
* h265 encoding: the second frame always fails, use repeat encoding to achieve real-time encoding
* h264 encoding: Not supported because encoding fails too frequently, about 50%, with one failure followed by another success.
* h264/h265 decoding: No issues found.
* Does not support dynamically changing the bitrate and changing the quality by resetting the encoder.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-12 11:08:51 +08:00
RustDesk
ef4d84657b
Revert "feat: clipboard, multi format (#8672)" (#8673)
This reverts commit 011647511c.
2024-07-11 00:36:29 +08:00
fufesou
011647511c
feat: clipboard, multi format (#8672)
* feat: clipboard, multi format

Signed-off-by: fufesou <linlong1266@gmail.com>

* inline

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-11 00:05:25 +08:00
21pages
e2d217a138
fix wayland Display::all() comment (#8664)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-09 22:10:39 +08:00
21pages
f07936a911
wayland not call check_get_displays_changed_msg (#8637)
* wayland not call check_get_displays_changed_msg

For wayland, call Display::all() in video service will cause block, I
don't know the reason.

Signed-off-by: 21pages <sunboeasy@gmail.com>

* Update display_service.rs

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-07-09 18:01:30 +08:00
21pages
0bb4d43e9e
add custom client option to allow remote cm modification (#8660)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-09 15:19:16 +08:00
rustdesk
8a370e640a add hide-username-on-card, https://github.com/rustdesk/rustdesk-server-pro/issues/284#issuecomment-2216521407 2024-07-09 13:45:54 +08:00
rustdesk
53dbc2fa6f add OPTION_DISABLE_UDP 2024-07-07 09:25:27 +08:00
rustdesk
024220e58a add more fine-grained hide options for https://github.com/rustdesk/rustdesk-server-pro/issues/276 2024-07-06 23:41:53 +08:00
rustdesk
8621b93436 add display-name option for https://github.com/rustdesk/rustdesk-server-pro/issues/277 2024-07-06 23:10:50 +08:00
fufesou
86ff768241
clear unwrap (#8605)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-04 20:18:53 +08:00
rustdesk
bea65f8739 fix ci 2024-07-03 21:47:13 +08:00
rustdesk
92f570831d return x11 for tty session 2024-07-03 21:37:25 +08:00
21pages
d00582e929
linux x11 rgb565 capture (#8580)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-03 14:20:41 +08:00
21pages
8602b036bd
remove special treatment when only use permanent passwrod but no password set (#8566)
1. Remove special treatment when only use permanent passwrod  but no password set, it has  no need and `Connection not allowd` prompt make user confusing.
2. When only use permanent password is chosen and the permanent password
   is empty, pop up the set-password dialog, if still not set in the
   dialog, back to the old choice
3. Add cancel confirm for 2fa and telegram bot

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-02 14:32:22 +08:00
fufesou
62a8349739
fix: clipboard data, decompress, buf too small (#8556)
* fix: clipboard data, decompress, buf too small

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: compress image

Signed-off-by: fufesou <linlong1266@gmail.com>

* decompress image, use default level

Signed-off-by: fufesou <linlong1266@gmail.com>

* chore

Signed-off-by: fufesou <linlong1266@gmail.com>

* decompress, zstd::decode_all

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-02 00:18:38 +08:00
rustdesk
01672bc697 clipboard image, not tested, todo: set_html 2024-06-30 21:57:32 +08:00
21pages
25d0ced8ba
fix ci (#8543)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-30 13:54:40 +08:00
21pages
3ae1638125
fix extracted forground window not foreground (#8521)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-28 22:36:29 +08:00
rustdesk
ed3fb1efa4 bump to 1.2.7 2024-06-28 09:59:10 +08:00
Samuel FORESTIER
e1140b1bea
Tidy up configuration files UNIX permissions (#7983)
* Add missing libpam package causing build to fail using Docker image

```
wrapper.h:1:10: fatal error: 'security/pam_appl.h' file not found
```

Signed-off-by: Samuel FORESTIER <samuel+dev@forestier.app>

* Tidy up configuration files UNIX permissions

Signed-off-by: Samuel FORESTIER <samuel+dev@forestier.app>

---------

Signed-off-by: Samuel FORESTIER <samuel+dev@forestier.app>
2024-06-27 20:14:32 +08:00
fufesou
c5d3c7f390
Feat/android more actions (#8496)
* feat: android volume and power actions

Signed-off-by: fufesou <linlong1266@gmail.com>

* Add translations and refact action menus

Signed-off-by: fufesou <linlong1266@gmail.com>

* Remove divider

Signed-off-by: fufesou <linlong1266@gmail.com>

* fix: recover deleted translations

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-27 13:28:05 +08:00
21pages
9c7d4ef1f7
not use nwg default features (#8492)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 12:11:08 +08:00
21pages
12d3c59172
windows portable loading ui (#8490)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 11:04:55 +08:00
21pages
ffed29e632
fix typo (#8436)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-21 23:58:00 +08:00
21pages
0f6538c1a7
add enable directx option, android software encoding half resolution option (#8435)
* add option enable directx capture screen, default true

Signed-off-by: 21pages <sunboeasy@gmail.com>

* option android software encoding half scale, check isStart flag

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-21 18:54:32 +08:00
21pages
30bd4e1cef
update hwcodec, use ms as pts like vpx (#8422)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-20 13:57:56 +08:00
21pages
60ea8d2c2b
mac scale factor of each screen (#8368)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-16 12:01:41 +08:00
fufesou
07e0b5ac10
fix: desktop, remote toolbar, remember collapse (#8349)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-14 00:28:59 +08:00
21pages
ab451b9056
android keep screen on option (#8344)
* android keep screen on option

Keep screen on option relays on floating window.

Three options: Never, During controlled(default), During service is on

Signed-off-by: 21pages <sunboeasy@gmail.com>

* When rustdesk is in forground, be consistent with the settings

Signed-off-by: 21pages <sunboeasy@gmail.com>

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-13 18:30:29 +08:00
rustdesk
77204127f2 use latest rust for non-windows, and upgrade tokio to 3.18 which fix a mpsc channel bug 2024-06-13 13:05:35 +08:00
21pages
f559e9c74a
disable hardware encoding if encoding fails too many times (#8327)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-12 23:37:51 +08:00
21pages
610009528b
hwcodec, only process that start ipc server start check process (#8325)
check process send config to ipc server, other process get config from ipc server. Process will save config to toml, and the toml will be used if the config is none.

when start check process: ipc server process start or option changed
from disable to enable

when get config: main window start or option changed from disable to
enable, start_video_audio_threads.

Only windows implements signature, which is used to mark whether the gpu software and hardware information changes. After reboot, the signature doesn't change. https://asawicki.info/news_1773_how_to_programmatically_check_graphics_driver_version, use dxgi way to get software version, it's not consistent with the visible driver version, after updating intel driver with small version change, the signature doesn't change. Linux doesn't use toml file.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-12 20:40:35 +08:00
rustdesk
cd3db3a686 try to fix https://github.com/rustdesk/rustdesk-server-pro/issues/266 2024-06-11 19:51:33 +08:00
rustdesk
dd90096e13 remove useless stop-rendezvous-service 2024-06-10 16:12:08 +08:00
fufesou
32ab56f864
fix: custom client, options, option2bool() (#8302)
* fix: custom client, options, option2bool()

Signed-off-by: fufesou <linlong1266@gmail.com>

* format

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-10 00:11:59 +08:00
fufesou
8fa611daed
refact: Wayland, not support multiple displays (#8280)
* refact: Wayland, not support multiple displays

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: Wayland disable multiple for RemoteDesktop

Signed-off-by: fufesou <linlong1266@gmail.com>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-07 12:59:42 +08:00
21pages
64d0fb17f7
add floating window setting (#8279)
* Set `disable-floating-window` in client ui, it shows enabled when
  option is enabled and has floating window permission.
* Remove ignore battery setting because not work on every device.
* When the phone orientation changes, make the Y coordinate change
  proportionally, when changing back, the floating window position is still the original one.
* Add custom client option `floating-window-untouchable` to make the
  click event pass through the floating window automically. Set it untouchable automically when transparency is 0.
* On my phone, floating window size 16 no works and 32 works, so keep
  the size range [32, 320]

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-07 11:04:18 +08:00
21pages
9d42ee9df8
vram avoid always fallback to gdi (#8272)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-06 22:52:31 +08:00
21pages
9562768a04
android floating window (#8268)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-05 23:11:44 +08:00
21pages
bd51afe86c
fix rustPointerInput jni parameter declaration, call new_string in with_local_frame (#8266)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-05 18:09:01 +08:00
rustdesk
ce1dac3b86 attempt to fix local reference table overflow, https://github.com/rustdesk/rustdesk/issues/4118 2024-06-05 00:38:54 +08:00
rustdesk
2dcd9f02cd bump to 1.2.6 2024-06-03 21:01:41 +08:00
21pages
8919ea65e3
fix, mac hwcodec decoding align use dst_align (#8215)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-30 23:40:25 +08:00
rustdesk
123a45149d bump to 1.2.5 2024-05-28 17:14:55 +08:00
fufesou
72ec86b58d
refact: texture render as an option (#8168)
* refact: texture render as an option

Signed-off-by: fufesou <linlong1266@gmail.com>

* refact: texture render, translation

Signed-off-by: fufesou <linlong1266@gmail.com>

* refact: texture render as option

Signed-off-by: fufesou <linlong1266@gmail.com>

* Update ui_interface.rs

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-05-28 16:42:30 +08:00
21pages
010b17509a
fix android get raw data (#8171)
If `std::ptr::copy_nonoverlapping` is not in `take`, it's not protected by the lock.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-28 16:35:59 +08:00
rustdesk
278d593580 adjust log file days from 7 days to 31 days 2024-05-28 15:52:50 +08:00
21pages
036d10cfbe
android: for software encoding and screen size > 1200, display size reduced to half (#8167)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-28 12:43:13 +08:00
21pages
c7308dbbc9
fix mediacodec bad encoding quality (#8159)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-27 19:34:40 +08:00
21pages
902e166f0c
fix mediacodec check_bitrate_range not work (#8133)
should check with mc_name, and that cause the highest custom bitrate
being invalid

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-24 14:07:48 +08:00
21pages
49b0630752
fix android mediacodec encoding align (#8121)
* update ffmpeg, mediacodec encode align 64
* more d3d11 decode availablity check
* remove unused mediacodec info

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-22 20:18:09 +08:00
fufesou
534fc9c40c
fix: linux, login wayland, server (#8111)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-21 23:35:47 +08:00
fufesou
6e5622a97a
fix: user option, enable file copy paste (#8096)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-19 20:41:19 +08:00
fufesou
d8c9250aab
refact: custom client proxy (#8093)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-19 16:40:49 +08:00
fufesou
986b9fb0e0
refact: custom client, remove enable-check-update (#8092)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-19 16:32:15 +08:00
fufesou
96f41fcc02
refact: custom client, more advanced settings (#8085)
* refact: custom client, more advanced settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* feat: custom client, more advanced settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-18 23:13:54 +08:00
fufesou
8357d4675a
Fix/custom client advanced settings (#8066)
* fix: custom client, advanced settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: custom client, default options

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: cargo test

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: remove prefix $ and unify option keys

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: custom client, advanced options

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* debug custom client, advanced settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* custom client, advanced settings. Add filter-transfer to display settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* custom client, advanced settings

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: custom client, advanced settings, codec

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: custom client, advanced settings, whitelist

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-17 14:19:11 +08:00
21pages
d70b0cdd4f
Not require both max-width and max-height of mediacodec larger than (#8036)
screen width and screen height

* Only use hardware codec, when api < 29, judge with codec name prefix.

Signed-off-by: 21pages <pages21@163.com>
2024-05-13 20:24:50 +08:00
21pages
7e09809ad8
auto codec, h265 > h264 > vp9/vp8 (#8032)
Signed-off-by: 21pages <pages21@163.com>
2024-05-13 16:27:48 +08:00
21pages
a7499c2de8
add ffmpeg mediacodec h264/h265 encode (#8028)
* Check available when app start from kotlin via get codec info
* For latency free, repeat encode 10 frame at most when capture return WouldBlock
* For changing quality, kotlin support but jni doesn't support, rerun video service when quality is manualy
  changed
* 3 or 6 times bitrate for mediacodec because its quality is poor

Signed-off-by: 21pages <pages21@163.com>
2024-05-13 12:39:04 +08:00
rustdesk
4c99b8c70e upgrade tokio to 3.17 for a windows named pipe race condition,
https://github.com/tokio-rs/mio/pull/1760, https://github.com/tokio-rs/tokio/issues/6369
2024-05-12 14:08:21 +08:00
21pages
c640f7ed12
fix android crash caused by outdated video frame ptr (#7996)
Signed-off-by: 21pages <pages21@163.com>
2024-05-09 22:53:01 +08:00
fufesou
bbe9017318
fix: wayland delete restore token (#7988)
* fix: wayland delete restore token

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Wayland close session when clearing restore token

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Refact Wayland option

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Wayland clear screen selection, fake token

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix build web

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* chore

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-09 11:03:59 +08:00
21pages
a31a68ba17
If there is hardware ram encoder as fallback, not require all adapters (#7987)
support the codec format

Signed-off-by: 21pages <pages21@163.com>
2024-05-09 09:02:25 +08:00
21pages
5ba1c2587d
opt supported encoding update, consider multi connections (#7978)
Signed-off-by: 21pages <pages21@163.com>
2024-05-08 20:31:39 +08:00
21pages
09f3850250
installed windows client save incoming recording to a specific directory (#7974)
Signed-off-by: 21pages <pages21@163.com>
2024-05-08 17:04:53 +08:00
fufesou
5537c525ca
refact: comments, wayland, restore token (#7947)
We cannot store restore_token if the server is not running.

Because `org.freedesktop.portal.RemoteDesktop` does not support persist
mode for now.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-08 09:49:16 +08:00
21pages
3746fd88b5
Show current codec in menu when auto codec is chosen (#7942)
* change negotiated codec name to negotiated codec format

Signed-off-by: 21pages <pages21@163.com>

* fallback to vp9 directly if failed to create encoder

Current fallback method is clear hwcodec config

Signed-off-by: 21pages <pages21@163.com>

* show current codec in menu when auto codec is chosen

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-05-07 20:34:23 +08:00
21pages
51813b7d7e
set vp9 as auto codec (#7928)
Signed-off-by: 21pages <pages21@163.com>
2024-05-07 15:20:55 +08:00
21pages
4e30418f79
disable av1 for all 32 bit platforms (#7921)
Signed-off-by: 21pages <pages21@163.com>
2024-05-06 23:09:09 +08:00
21pages
0af370d736
x86 sciter set not support av1 due to slow (#7920)
Signed-off-by: 21pages <pages21@163.com>
2024-05-06 22:03:49 +08:00
21pages
991694aca5
update hwcodec, qsv support changing bitrate (#7911)
Signed-off-by: 21pages <pages21@163.com>
2024-05-06 10:59:25 +08:00
rustdesk
cc482c589c XDG_SESSION_TYPE as final backup 2024-05-04 17:22:43 +08:00
fufesou
890b735985
fix: test case, test_if_valid_server (#7903)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-04 14:06:41 +08:00
rustdesk
abbd4c8934 fix ci 2024-05-03 03:24:22 +08:00
rustdesk
b5f6a9c91a fix one flatpak feature missing 2024-05-03 02:52:41 +08:00
rustdesk
08b7e036b4 test vcpkg new in android 2024-05-01 12:58:27 +08:00
21pages
34c7c25908
update hwcodec, add windows ffmpeg vram encoding (#7876)
* windows add ffmpeg vram encoding
* windows add missing nvenc and qsv ram encoding, linux add vaapi, current codec table:  https://github.com/21pages/hwcodec?tab=readme-ov-file#codec

Signed-off-by: 21pages <pages21@163.com>
2024-05-01 00:07:09 +08:00
fufesou
1dfbaa1e02
fix: test if valid server, control if try test with proxy (#7858)
* fix: test if valid server, control if try test with proxy

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-28 14:22:21 +08:00
fufesou
22e58d7623
fix: test if valid server (#7856)
* fix: #7853, test if valid server

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact comments

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-28 12:17:39 +08:00
21pages
2626dcbc5f
fix black screen issue when controlling the second screen on versions that lack multiple display support while using vram decoding (#7836)
* avoid create unnecessary video decoder

Signed-off-by: 21pages <pages21@163.com>

* controlled side uses the most frequent selected codec

Signed-off-by: 21pages <pages21@163.com>

* fix black screen when control old version's second screen

For versions that do not support multiple displays, the display parameter is always 0, need set type of current display

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-26 19:42:47 +08:00
21pages
0e7e27f99d
update hwcodec, fix gpu/cpu stuck caused by nv codec (#7826)
* Disable all nv codec encoding on windows except nv sdk encoding,
  because it doesn't use CUContext
* Keep nv codec on linux, because I didn't reproduce the stuck on it
* Add ffmpeg d3d11 vram decoding

Signed-off-by: 21pages <pages21@163.com>
2024-04-25 20:16:48 +08:00
Sahil Yeole
3811f41076
Feat: Follow remote cursor and window focus | Auto display switch (#7717)
* feat: auto switch display on follow remote cursor

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* feat: auto switch display on follow remote window focus

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build and remove unused imports

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix linux get_focused_window_id

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* lock show remote cursor when follow remote cursor is enabled

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix config

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* prevent auto display switch on show all display and displays as individual windows

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unused function

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unwraps and improve iterations

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* set updateCursorPos to false to avoid interrupting remote cursor

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update lang

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix web build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update checks for options and enable in view mode

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use focused display index for window focus service

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use window center for windows display focused

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unused imports

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use libxdo instead of xdotool

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix multi monitor check

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* enable show cursor when follow cursor is default

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove show_all_displays,use runtime state instead

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix show cursor lock state on default

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove view mode with follow options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use separate message for follow current display

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* sciter support for follow remote cursor and window

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add check for ui session handlers count

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use cached displays and remove peer info write

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* No follow options when show all displays

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* No follow options when multi ui session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* turn off follow options when not used|prevent msgs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use window center for switch in linux

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use subbed display count to prevent switch msgs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix web build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* move subbed displays count

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add noperms for window focus

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add subscribe for window focus

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove window_focus message and unsub on multi ui

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add multi ui session field

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-04-25 13:26:02 +08:00
yuluo
43a0a4f8e0
fix: http/https proxy (#7821)
* add http(s) proxy

* Add front-end translation

* fix ui description

* For linux platform, add rustls support

* fix: Fix the proxy address test function.

* add: Added default prompts for agency agreement and some multi-language translations

* add: Http proxy request client

* fix: add async http proxy func and format the code

* add: Preliminary support for flutter front-end calling rust back-end http request

* Optimize HTTP calls

* Optimize HTTP calls

* fix: Optimize HTTP requests, refine translations, and fix dependencies

* fix: Win and macOS compilation errors

* fix: web platforms

* fix: Optimize import

* fix: Fix web platform issues

* fix: Fix web platform issues

* fix: update ci

* fix: test ci

* test: test CI

* Revert "fix: update ci"

This reverts commit 2e5f247b2e.

* test: test CI

* test: test CI

* fix: fix lock file

* fix: Optimize imports
2024-04-25 11:46:21 +08:00
Cong Zhang
bc68f400f6
fix: add support for headless in docker (#7811) 2024-04-24 09:47:45 +08:00
fufesou
1b4a41b522
fix: portable, clear old files (#7802)
* fix: portable, clear old files

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-23 16:54:43 +08:00
RustDesk
ac7f8a6447
Revert "http/https proxy (#7600)" (#7801)
This reverts commit da57fcb641.
2024-04-23 15:26:16 +08:00
yuluo
da57fcb641
http/https proxy (#7600)
* add http(s) proxy

* Add front-end translation

* fix ui description

* For linux platform, add rustls support

* fix: Fix the proxy address test function.

* add: Added default prompts for agency agreement and some multi-language translations

* add: Http proxy request client

* fix: add async http proxy func and format the code

* add: Preliminary support for flutter front-end calling rust back-end http request

* Optimize HTTP calls

* Optimize HTTP calls

* fix: Optimize HTTP requests, refine translations, and fix dependencies
2024-04-23 15:00:23 +08:00
fufesou
4f47d4482b
refact: win, idd control (#7789)
* refact: win, idd control

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: win device control, better addr of

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: simple refact

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-22 10:37:08 +08:00
fufesou
d920953df1
typo (#7783)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-20 15:28:33 +08:00
rustdesk
f02a2e44d8 remove temp support_windows_specific_session 2024-04-20 15:13:04 +08:00
fufesou
fb1aa9c028
Fix. Multi-display connection, resolutions (#7782)
* fix: multi-display, change resolution

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: multi-displays, resolutions of displays

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fix: build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact: Function rename

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* refact. Function rename

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-20 14:54:23 +08:00
21pages
4252b5e273
enable ffmpeg native h26x software decoders for all platforms (#7750)
* enable ffmpeg native h26x software decoders for all platforms

* h26x software decoders depend on hwcodec feature, so all platforms
  enable it, software h26x decoders are always available like vpx, no available check and no option
* ffmpeg:
	- build: mac arm64 build ffmpeg with my m1, others build with ci
	- version: win/linux use ffmpeg release/5.1, becaues higher version require higher nvidia driver,  other platforms use release/7.0
* test:
	- ios not test.
	- android: sometimes the screen will appear blurry, but it will recover after a while.
	- arm64 linux: test a example of hwcodec repo

Signed-off-by: 21pages <pages21@163.com>

* check hwcodec only when enabled and immediately when clicked enabled

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-18 13:12:45 +08:00
rustdesk
c656c3c087 typo 2024-04-16 18:46:46 +08:00
rustdesk
44bce59777 more java_ffi_FFI 2024-04-16 18:22:36 +08:00
fufesou
a7a10f4eaa
Refact. Win, file copy paste, default true (#7719)
* Refact. Win, file copy paste, default true

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* Fix. File copy and paste menu, compatible with 1.2.3

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-14 21:25:26 +08:00
21pages
5c4d95ac0f
not use av1 as auto codec on x86 sciter (#7714)
Signed-off-by: 21pages <pages21@163.com>
2024-04-13 21:10:36 +08:00
21pages
98df2b111e
hwcodec uses one repository (#7701)
* update hwcodec, gpucodec repo is merged to hwcodec

Signed-off-by: 21pages <pages21@163.com>

* rename gpucodec.rs to vram.rs

Signed-off-by: 21pages <pages21@163.com>

* rename all gpucodec to vram, because vram is a feature of hwcodec

Signed-off-by: 21pages <pages21@163.com>

* use one check process and one config file

* set check encode image size to 720p

Signed-off-by: 21pages <pages21@163.com>

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-12 17:26:24 +08:00
rustdesk
d8875f381b protobuf 3.4 2024-04-12 11:38:19 +08:00
redistay
1cfc9b6139
chore: fix some typos (#7585)
Signed-off-by: redistay <wujunjing@outlook.com>
2024-04-02 21:41:54 +08:00
fufesou
2e11a8b458
Fix. Linux, run_cmds, trim new line (#7579)
* Fix. Linux, run_cmds, trim new line

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* add tests

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-02 14:47:13 +08:00
hzhou
7fb2464d84 fix sysinfo update when id change, and add debug info for pk change 2024-04-01 16:21:05 +08:00
21pages
96e1b5b0f6
remove deserializing config option using default config (#7491)
Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: squarer3 <squalerblack@gmail.com>
2024-03-24 11:20:12 +08:00
rustdesk
1c3a2e475d safer handle_intranet 2024-03-23 00:56:18 +08:00
Nadahar
2ea853b1e6
Fixed CPU performance montor on non-English Windows (#7446)
Signed-off-by: Nadahar <Nadahar@users.noreply.github.com>
2024-03-21 10:12:17 +08:00
21pages
41da6d552f
shared address book (#7229)
Signed-off-by: 21pages <pages21@163.com>
2024-03-20 15:05:54 +08:00
rustdesk
6cbbb6498f init_log once 2024-03-16 22:20:50 +08:00
rustdesk
fe0de47805 preset password warning 2024-03-16 11:52:48 +08:00
rustdesk
077569dd5d better option save 2024-03-16 01:51:16 +08:00
fufesou
3d279ec127
fix build (#7397)
* fix build

Signed-off-by: fufesou <shuanglongchen@yeah.net>

* fmt

Signed-off-by: fufesou <shuanglongchen@yeah.net>

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-15 17:46:36 +08:00
fufesou
48cd76b938
Fix. Linux run commands, getent passwd (#7396)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-15 17:26:33 +08:00
rustdesk
a9b0bc0409 fix some minors of custom client 2024-03-15 00:26:53 +08:00
rustdesk
175f185cb1 fix https://github.com/rustdesk/rustdesk/discussions/7381 2024-03-14 20:38:57 +08:00
rustdesk
fc875f7ad6 more on custom client 2024-03-12 21:47:29 +08:00
rustdesk
7060257051 Remove some arc, and add some custom client 2024-03-10 12:48:00 +08:00
rustdesk
262814391a fix ci 2024-03-08 00:47:21 +08:00
rustdesk
b32cf403e6 overwrite config 2024-03-08 00:22:52 +08:00
rustdesk
921ee34779 unify winres 2024-03-07 17:00:32 +08:00
rustdesk
fc149666d9 remove icon.rc and add compression level 2024-03-05 23:22:15 +08:00
rustdesk
c0128d86f4 fix ci 2024-03-04 22:55:25 +08:00
rustdesk
794636e208 use winres in portable 2024-03-04 22:19:18 +08:00
rustdesk
eff6ac254f improve generate.py 2024-03-04 21:16:14 +08:00
21pages
50d080d098
enable retina scale factor (#7269)
* enable retina scale factor

* enabled only when there are only one video service running
* scale mouse event
* scale cursor position
* scale remote menu display button
* adjust resolution

Signed-off-by: 21pages <pages21@163.com>

* Update server.rs

---------

Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-27 22:28:23 +08:00
fufesou
1dde5c5689
Refact. get_version_number support '- patch version' (#7197)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-24 20:11:27 +08:00
wangweijie
cce1ce0ee0
Add loongarch64 support (#7244)
Signed-off-by: wangweijie <wangweijie@loongson.cn>
2024-02-23 20:08:35 +08:00
21pages
0f44de7dc3
refactor windows specific session (#7170)
1. Modify the process to have the control side lead the session switching: After the control side sends a `LoginRequest`, the controlled side will add all session information and the current session ID in the `LoginResponse`. Upon receiving the `LoginResponse`, the control side will check if the current session ID matches the ID in the `LoginConfigHandler`. If they match, the control side will send the current session ID. If they don't match, a session selection dialog will pop up, the selected session id will be sent. Upon receiving this message, the controlled side will restart if different or sub service if same .
2. Always show physical console session on the top
3. Show running session and distinguish sessions with the same name
4. Not sub service until correct session id is ensured
5. Fix switch sides not work for multisession session
6. Remove all session string join/split except get_available_sessions in
   windows.rs
7. Fix prelogin, when share rdp is enabled and there is a rdp session,
   the console is in login screen, get_active_username will be the rdp's
   username and prelogin will be false, cm can't be created an that
   causes disconnection in a loop
8. Rename all user session to windows session

Known issue:
1. Use current process session id for `run_as_user`, sahil says it can
   be wrong but I didn't reproduce.
2. Have not change tray process to current session
3. File transfer doesn't update home directory when session changed
4. When it's in login screen, remote file directory is empty, because cm
   have not start up

Signed-off-by: 21pages <pages21@163.com>
2024-02-18 22:08:25 +08:00
Sahil Yeole
4bf3764b5d
Feat: Windows connect to a specific user session (#6825)
* feat windows connect to specific user session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix import

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix multiple user session fields

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix file transfer

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix text color on light theme

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* feat windows connect to specific user session code changes and sciter support

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update texts

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix sciter selected user session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* add translations

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Use Y,N options

* feat windows specific user code changes

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Update dialog.dart

* Update connection.rs

* Update connection.rs

* feat windows specific user code changes

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix sciter

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use lr.union

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unused peer options

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* select user only when authorised and no existing connection

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* check for multiple users only once

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* optimise and add check for client version

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use misc option message

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* update rdp user session proto

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix show cm on user session

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Update pl.rs

* update on_message

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix cm

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove user_session_id

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix cm

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix multiple connections

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2024-02-14 23:59:17 +08:00
rustdesk
72fc34cd40 upgrade to tokio 1.36 2024-02-14 12:19:18 +08:00
21pages
5581248a1e
fix startup crash on windows without adapter (#7093)
Signed-off-by: 21pages <pages21@163.com>
2024-02-09 16:53:15 +08:00
wesley800
c97cc15c0e
Warn on MIT-SHM not working on Linux X11 (#6856)
* Clarify video capture method

* fix improper level of pointer usage of xcb_generic_error_t

* add ffi of xcb_shm_query_version

* throw a warn about MIT-SHM not working

* add missing #[cfg]

* checks SHM validity on the fly, rather than cache on creation

---------

Co-authored-by: root <root@localhost>
Co-authored-by: rustdesk-fork <rustdesk@fork.com>
2024-01-31 17:49:09 +08:00
rustdesk
dd4b5349cb revert https://github.com/rustdesk/rustdesk/pull/6980 2024-01-26 19:22:26 +08:00
rustdesk
3899e4e12e add round to avoid precision problem 2024-01-26 12:59:47 +08:00
rustdesk
f016281e30 fix ci 2024-01-26 12:54:36 +08:00
Sahil Yeole
1d755c705b
Fix: Mac retina display video blur (#6980)
* fix mac retina display blur

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* Update display.rs

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-01-26 12:50:13 +08:00
21pages
71d7398ae7
video handler holds only one decoder of the current codec format (#6939)
1. For example: when receiving h264 video frames, only 1 decoder is created, vram > ram
2. For creation and decoding failed:
  * Remove real_supported_decodings, this will update real existing decoders, replace it with the "mark_unsupported" vector. After creating the decoder failure, marks the codec as unsupported and updates supported decoding to the controlled side
  *  Add `fail_counter` in the decoder. When decoding 10 consecutive frames failed, adding codec type to 'mark_unsupported' vector
  *  The controlled end always ignores the unavailability of VP9

Signed-off-by: 21pages <pages21@163.com>
2024-01-22 20:01:17 +08:00
RustDesk
804f035a87
Revert "disable ffmpeg ram codec temporarily" (#6928) 2024-01-20 17:20:08 +08:00
21pages
267342e7e6
disable ffmpeg ram codec temporarily (#6927)
Signed-off-by: 21pages <pages21@163.com>
2024-01-20 17:19:30 +08:00
rustdesk
44e6b7dbb0 2fa for unattended access 2024-01-19 15:35:58 +08:00
rustdesk
fdb038c7c9 one byte for future use 2024-01-10 11:48:23 +08:00
rustdesk
f7b35defc9 finish tcp rendezvous keep alive logic following mqtt, but defined by
server so that it can be easily to be controlled at server side.
2024-01-09 22:41:11 +08:00
21pages
89150317e1
add zero copy mode hareware codec for windows (#6778)
Signed-off-by: 21pages <pages21@163.com>
2024-01-02 16:58:10 +08:00
rustdesk
36ed8f3f73 change REG_INTERVAL to 15 seconds to follow quic 2024-01-02 13:42:32 +08:00
Sahil Yeole
20b4ce3213
Wayland: Skip remote desktop portal calls when uinput is available (#6758)
* skip rdp when uinput is available

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix is_server_running

* remove clones

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-28 10:40:58 +08:00
RustDesk
4b581c385c
Revert "fix xdg portal verison check for persist_mode (#6742)" (#6755)
This reverts commit 57acadd52a.
2023-12-27 11:28:17 +08:00
linuxrider
57acadd52a
fix xdg portal verison check for persist_mode (#6742) 2023-12-24 16:33:36 +08:00
Sahil Yeole
445fe6e714
Feat: Wayland flatpak input support | Remote desktop portal (#6675)
* autogen portal code

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use remote desktop portal

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove clipboard portal in favour of #6586

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove clipboard portal

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use select_devices for input capture

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove embedded cursor code as not being used | return session path for input capture

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* setup rdp input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove simulate example

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* setup rdp input raw key events + mouse movements

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix rdp raw key input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* refact rdp raw key inpuy & fix right meta key

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* refact and support rdp layout mode key input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* support rdp mouse clicks

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* support rdp mouse scroll

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* support rdp key sequence input

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use rdp input only when uinput is not available

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* combine rdp input and get_capturables into a single rdp request

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* rdp fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* rdp fix build

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix rdp caps lock

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* format pipewire.rs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* format rdp_input.rs

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* revert #6628 as rdp request state is now managed (better solution)

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* fix rdp crash on arch kde

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* rdp_input.rs improvements

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* refact request_remote_desktop

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* improve unwraps

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* remove unwraps

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

* use session references instead of clones

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-19 10:44:58 +08:00
RustDesk
ebb14af488
Revert "use fullrange by default for yuv420p if supported (#6655)" (#6656)
This reverts commit 80afa98d66.
2023-12-11 22:46:32 +08:00
21pages
80afa98d66
use fullrange by default for yuv420p if supported (#6655)
1. Explicitly specify the color space as bt601
2. Use fullrange by default for yuv420p if supported
3. Use the pix_fmt space range format to identify codec capabilities, make i444 proto field deprecated, and cause the non-release version of 444 true color to fail.

Signed-off-by: 21pages <pages21@163.com>
2023-12-11 22:31:01 +08:00
21pages
03c8d94024
mobile/desktop use same 'other default settings' (#6652)
1. mobile add 'reverse mouse wheel' default setting
2. change related menu position

Signed-off-by: 21pages <pages21@163.com>
2023-12-11 15:32:13 +08:00
RustDesk
b8f7259fbd
Merge pull request #6520 from 21pages/wakelock
wake lock for all connection type
2023-11-25 20:34:14 +08:00
21pages
2de1c62daf wake lock for all connection type
Signed-off-by: 21pages <pages21@163.com>
2023-11-25 17:43:07 +08:00
RustDesk
dbcf1fdb6f
Merge pull request #6515 from 21pages/android_service_wakelock
android video service wakelock
2023-11-24 13:14:06 +08:00
21pages
bd81e4d0fb android video service wakelock
Signed-off-by: 21pages <pages21@163.com>
2023-11-24 12:02:45 +08:00
rustdesk
fa8e0ed27b brotli 3.4 2023-11-23 19:52:53 +08:00
rustdesk
b6e403a3fb zstd 0.13 2023-11-23 19:35:42 +08:00
Sahil Yeole
948db1451f fix stream resolution mismatch/distortion on scaling
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-21 16:59:45 +05:30
fufesou
3100930136 translation & Rustdesk to RustDesk
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-21 10:55:46 +08:00
fufesou
83dbf88ffb feat, win10, virtual display, not support message
Signed-off-by: fufesou <shuanglongchen@yeah.ne>
2023-11-20 21:44:25 +08:00
fufesou
3e8c5d3b79 trivial changes
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 17:42:34 +08:00
fufesou
2aaca0c54a Remove get_error() in windows.rs
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 17:38:53 +08:00
fufesou
c6d587f0c7 Refact, use std::io::Error::from_raw_os_error() to format message
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 17:22:14 +08:00
fufesou
c85682de8d Refact, replace GetLastError() by std::io::Error::last_os_error()
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 17:15:15 +08:00
fufesou
9c12c3ee4e remove useless \n
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 16:48:05 +08:00
fufesou
2c432dbf4d format idd error message
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 16:41:02 +08:00
fufesou
0c8643837f Modify the error message
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 16:11:59 +08:00
fufesou
3fd97f7e60 modify error message
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 15:54:29 +08:00
fufesou
6f0fbd1088 feat, format idd error message
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 15:30:56 +08:00
fufesou
c23f377039 feat, topmost window, exclude from capture
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 07:41:04 +08:00
21pages
9847fc5c77 fix exceeding max allowed thread count, thread count <= available memory / 2
Signed-off-by: 21pages <pages21@163.com>
2023-11-19 11:36:23 +08:00
21pages
f9ee0189f0 format log, add space after colon
Signed-off-by: 21pages <pages21@163.com>
2023-11-18 09:52:46 +08:00
RustDesk
8d327af0ac
Merge pull request #6411 from fufesou/fix/displays_order
fix, windows displays' order mismatch the system settings display
2023-11-15 15:39:59 +08:00
fufesou
182ee8f233 fix, order displays from dxgi
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 22:04:17 +08:00
RustDesk
24eb6f8c38
Merge pull request #6406 from fufesou/feat/virtual_display_privacy_mode
Feat/Windows - virtual display privacy mode
2023-11-14 21:54:14 +08:00
RustDesk
e0fad4eaa5
Merge pull request #6407 from 21pages/sysinfo
opt sysinfo
2023-11-14 14:43:52 +08:00
fufesou
90ac8b7b0b feat/virtual_display_privacy_mode
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 12:11:38 +08:00
RustDesk
d64afdcff1
Merge pull request #6403 from 21pages/flexi_logger
update flexi_logger to 0.27.3
2023-11-14 11:12:52 +08:00
21pages
eb58a39f57 replace System::new_all with System::new
Signed-off-by: 21pages <pages21@163.com>
2023-11-14 09:40:15 +08:00
21pages
1b08adb178 not use max fps by default
Signed-off-by: 21pages <pages21@163.com>
2023-11-13 21:33:51 +08:00
RustDesk
627d21a00a
Revert "Fix, windows display orders" 2023-11-13 17:31:55 +08:00
fufesou
8f8c9ddc25 Fix, windows display orders
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-12 00:08:16 +08:00
21pages
27716f077e update flexi_logger to 0.27.3, android check path exist
Signed-off-by: 21pages <pages21@163.com>
2023-11-11 18:19:01 +08:00
21pages
75feb90b19 fix windows build, add winapi features
Signed-off-by: 21pages <pages21@163.com>
2023-11-09 16:30:22 +08:00
RustDesk
0654b8e427
Update Cargo.toml 2023-11-09 15:46:42 +08:00
Dennis Ploeger
b9bd79895f fix: Fix sysinfo >=0.29.1 crashing the main view on macOS 2023-11-08 08:59:27 +01:00
RustDesk
a0337d399c
Merge pull request #6282 from basilgello/vcpkg-deps
Refactor vcpkg dependencies and get rid of thirdparty repos
2023-11-07 17:39:37 +08:00
Vasyl Gello
9f4a844c9b Fix buildscripts
* Fix FDroid build on x86
  * Fix CI build on arm
  * Rename `install_oboe` to `install_android_deps`

... because we add ndk_compat and the function installs
android-specific dependencies.

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 06:27:43 +02:00
mcfans
b522de3b56 Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	Cargo.lock
#	src/server/connection.rs
2023-11-07 12:13:15 +08:00
rustdesk
d7e8d4d5c3 fix #6198 2023-11-06 20:12:01 +08:00
21pages
d528fd3762 permisson block input
Signed-off-by: 21pages <pages21@163.com>
2023-11-06 15:07:03 +08:00
RustDesk
6f77fda6fa
Merge pull request #6294 from ClSlaid/docs/clipboard-files
docs: file copy paste explainations
2023-11-06 10:59:22 +08:00
ClSlaid
b4c6292397
docs: file copy paste explainations
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-11-05 18:11:05 +08:00
RustDesk
a2bc02b4c5
Merge pull request #6275 from 21pages/opt_codec
opt codec
2023-11-03 15:06:46 +08:00
21pages
534bfad50f opt codec
1. use src width/height to convert yuv
2. align dst yuv to avoid illegal memory access
3. init yuvfmt when new codec
4. move remote reset calls from empty conns judge to emtpy remote conns
   judge

Signed-off-by: 21pages <pages21@163.com>
2023-11-03 11:52:41 +08:00
RustDesk
11232c6f23
Merge pull request #6270 from dignow/fix/android_rotation
fix, android rotate screen
2023-11-03 10:34:54 +08:00
dignow
df0ad4486e fix build
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-03 09:23:28 +08:00
dignow
059e067bdc fix, android rotate screen
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-03 07:17:40 +08:00
fufesou
967515a34f fix, win crash, tokio 1.28.1 to 1.33.0, revert
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-02 14:34:49 +08:00
RustDesk
12b8cbf3e0
Merge pull request #6229 from 21pages/444
yuv 444
2023-10-31 10:08:59 +08:00
ClSlaid
ae524c4d0e
patch: avoid compile x11 deps on mac
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 22:14:57 +08:00
21pages
f05f86dc80 444
Signed-off-by: 21pages <pages21@163.com>
2023-10-30 18:46:56 +08:00
ClSlaid
bc3acc2826
patch: fix local file test
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 17:52:38 +08:00
ClSlaid
7b9ce072d9
patch: fix local file test
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 15:41:39 +08:00
ClSlaid
62563ad8a1
Merge branch 'feat/x11/clipboard-file/init' into feat/osx/clipboard-file
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 15:34:40 +08:00
ClSlaid
fdc4d6dda9
patch: remove redundant features
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 15:11:33 +08:00
RustDesk
a3b06ee83f
Merge branch 'master' into feat/x11/clipboard-file/init 2023-10-30 14:57:36 +08:00
ClSlaid
43aa62e212
patch: fix active enable of file copy paste
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 12:00:44 +08:00
ClSlaid
30e85c8654
patch: make linux build ok
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 23:42:04 +08:00
mcfans
7b24835c9e Merge remote-tracking branch 'upstream/master'
# Conflicts:
#	src/server/connection.rs
2023-10-29 23:32:43 +08:00
ClSlaid
7aee76f5de
patch: don't show enable file clipboard when anyone unsupporting
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 23:11:30 +08:00
ClSlaid
80200a9983
patch: add has_file_clipboard field to PeerInfo
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 20:49:43 +08:00
ClSlaid
79f6b5c181
patch: forbid enable cliprdr without feature
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 20:10:39 +08:00
ClSlaid
dc02ce3f97
patch: only enable file copy and paste under features
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 19:50:31 +08:00
ClSlaid
fd1dc15576
patch: re apply time limited api in common clipboard
when no content in text clipboard, it will wait forever

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 12:07:21 +08:00
ClSlaid
0b82874a52
patch: lossen x11 clipboard timeout
this should make the clipboard reading more stable

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 11:45:00 +08:00
ClSlaid
434242858f
patch: implement statfs to improve OSX paste
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 07:43:10 +08:00
ClSlaid
3dfa0525bd
feat: implement OSX file copy & paste
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 07:15:56 +08:00
ClSlaid
36d4baaa8e
patch: fix macos clipboard
1. wrong namings of NsPasteboard
2. wrap Pasteboard in Lazy

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 03:53:06 +08:00
ClSlaid
2bb1310094
patch(0): implement cliprdr for macos
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 02:15:16 +08:00
ClSlaid
f6a137cd43
patch: make BufReader preload its buffer
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 23:25:30 +08:00
ClSlaid
a575fe4934
refactor: reload file hierarchies
rename libs/src/platform/{linux => unix}

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 22:44:10 +08:00
ClSlaid
4cd8d8a4a5
patch: faster preload with BufReader
1. seek avoided with self maintained offset
2. BufReader to read faster

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 22:33:51 +08:00
ClSlaid
7a802726fb
fix: implement lazy reading to prevent avoid fd limit
drawback: through put reduced to 50%

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 20:52:08 +08:00
ClSlaid
251245d315
Merge remote-tracking branch 'rd/master' into feat/x11/clipboard-file/init
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 19:56:19 +08:00
jxd1337
f61fd02ac7 build.py, generate.py improvements 2023-10-28 10:57:50 +02:00
ClSlaid
abe40c84b0
patch(cliprdr): avoid too much open
1. force sync local files when processing file list format data request
2. avoid construct file list each time pulling file lists from clipboard

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 16:27:02 +08:00
ClSlaid
9976fc9723
fix: keep clipboard alive
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 15:31:12 +08:00
ClSlaid
075a877284
patch: increase FUSE block size and add retry
1. this should make file managers read small file in one request more
   likely
2. implemented retry, max times 3

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 11:14:16 +08:00
ClSlaid
ed0ded33b7
patch: fix arboard pollution
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 09:55:34 +08:00
fufesou
5ab0f499ce fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 20:57:35 +08:00
ClSlaid
053723647b
patch: try fix flutter file copy
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-27 20:40:23 +08:00
fufesou
725a44abd8 feat, win virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 20:12:33 +08:00
ClSlaid
2c9bae8111
Merge remote-tracking branch 'rd/master' into feat/x11/clipboard-file/init
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-26 18:16:08 +08:00
21pages
9ce58115ab set timeout of hwcodec check to 30s
Signed-off-by: 21pages <pages21@163.com>
2023-10-23 16:12:49 +08:00
21pages
1c9d139ff5 opt android get_home, bad code get corrent result
Signed-off-by: 21pages <pages21@163.com>
2023-10-23 16:11:59 +08:00
ClSlaid
ce9c9078e5
patch: fix copy to nautilus
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-22 19:51:17 +08:00
ClSlaid
4c792f6f17
test: check x11 get clipboard
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-21 16:07:01 +08:00
ClSlaid
802ab90d87
patch: fix duplicated directory problem
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-21 15:54:40 +08:00
ClSlaid
8e3aa0e9ce
patch: less verbose debug logs
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-20 23:15:53 +08:00
ClSlaid
db62a01224
patch: fix dead lock in file transfer
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-20 22:27:39 +08:00
ClSlaid
c529f8099d
patch: fix FUSE permission
1. fuse flag check made wrong, fix it
2. but still mount will RO flag

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-20 19:21:40 +08:00
ClSlaid
fc3187a781
feat: extend file list PDU to transfer UNIX PERM
1. used 4 bytes out of a reserved 16 bytes section to store perm u32

2. add FLAGS_FD_UNIX_MODE: u32 = 0x08, used with flags, indicating this
   message is from UNIX peer

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-20 00:23:16 +08:00
ClSlaid
7fbb4045e2
patch: fix FUSE load file
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-19 22:35:14 +08:00
ClSlaid
d0dc22794e
patch: fix file list parsing
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-19 20:01:44 +08:00
ClSlaid
169bbfd2db
patch: fix clipboard local format map
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-19 17:53:05 +08:00
ClSlaid
1f52bb35ba
patch: fix server file_transfer not enabled
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-19 17:20:44 +08:00
21pages
7a5bc864fa fix client side record
Signed-off-by: 21pages <pages21@163.com>
2023-10-19 09:50:55 +08:00
mcfans
22165ec1a5 feat: legacy mode android keyboard support 2023-10-19 00:16:22 +08:00
21pages
510cffb305 av1 record, set zero codec private
Signed-off-by: 21pages <pages21@163.com>
2023-10-18 19:28:12 +08:00