Compare commits

...

2399 Commits
1.2.2 ... 1.2.7

Author SHA1 Message Date
rustdesk
97f26f880b default-connect-password option 2024-07-23 10:46:50 +08:00
rustdesk
22c6f5e589 aggresive online query for self-hosting 2024-07-23 10:26:56 +08:00
お餅のCreeeper
b828768fa9 Update ja.rs and Add "About Rustdesk" (#8784)
* Update ja.rs

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

* Update ja.rs

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

* Add 'About RustDesk'

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

---------

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>
2024-07-23 08:58:48 +08:00
dignow
31e7b6acf1 refact: msi, revision version (#8782)
* refact: msi, revision version

Signed-off-by: dignow <linlong1265@gmail.com>

* check revision version

Signed-off-by: dignow <linlong1265@gmail.com>

* refact: msi, default revision number

Signed-off-by: dignow <linlong1265@gmail.com>

* Simple refact

Signed-off-by: dignow <linlong1265@gmail.com>

---------

Signed-off-by: dignow <linlong1265@gmail.com>
2024-07-22 23:37:25 +08:00
21pages
14b505130b remove end slash when setting server config (#8779)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-22 17:11:32 +08:00
21pages
22f3425ace fix custom client show ip whiltelist warning (#8778)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-22 17:00:29 +08:00
rustdesk
4723d6a830 mouse wrong commit ref 2024-07-22 10:29:00 +08:00
DiegoGZ
c4f3c0f133 Update ca.rs - Added new translation into Catalan and a few corrections (#8777)
Added new translation into Catalan and a few corrections
2024-07-22 09:58:04 +08:00
Bot_wxt1221
de375c91bb fix: nixos's headless mode. (#8774) 2024-07-21 17:05:32 +08:00
dignow
d3454f07d3 fix: move some crates to rustdesk-org (#8772)
Signed-off-by: fufesou <linlong1266@gmail.com>
Co-authored-by: fufesou <linlong1266@gmail.com>
2024-07-20 23:49:40 +08:00
fufesou
cf8ef2533a fix: keyboard, linux, repeated keys, #6793 (#8757)
* fix: keyboard, linux, repeat keys, #6793

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

* fix: keyboard, linux->linux, may also repeat keys with bad network

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-20 00:42:49 +08:00
お餅のCreeeper
6ad662260e Update ja.rs (#8758)
* Update ja.rs

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

* Update README-JP.md

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

---------

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>
2024-07-19 23:56:39 +08:00
21pages
2b54a553c7 buildin options and add to mobile (#8759)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-19 23:55:52 +08:00
rustdesk
85ded0a3e5 no idea why publish sciter windows tar.gz, remove it 2024-07-19 00:32:19 +08:00
21pages
5c16a8302e Revert vcpkg ffmpeg (#8751)
* Revert "fix linux ffmpeg link, still link ffmpeg in hwcodec (#8747)"

This reverts commit 48464835f5.

* Revert "fix linux armv7 ffmpeg arch, linux x64 sciter add hwcodec feature (#8744)"

This reverts commit b68d7a3054.

* Revert "arm linux remove cuda-llvm option (#8735)"

This reverts commit bc672b3367.

* Reapply "try fix arm64 linux ci and publish error log (#8730)" (#8732)

This reverts commit e283d33f28.

* Revert "try fix arm64 linux ci and publish error log (#8730)"

This reverts commit a4565bf0da.

* Revert "F-Droid: enable hwcodec for future builds (#8726)"

This reverts commit 188f85b042.

* Revert "remove unused vcpkg ffmpeg code (#8725)"

This reverts commit 72c96f22b6.

* Revert "install ffmpeg lib with vcpkg (#8724)"

This reverts commit 0143eaf601.

* update hwcodec to reverted

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

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 22:28:35 +08:00
21pages
04c175c62e fix custom client settings tab visibility (#8752)
* fix custom client settings tab visibility

only control with tabKeys

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

* fix preset-user-name typo

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

---------

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 22:27:31 +08:00
fufesou
2be05608d8 fix: windows, headless, not work when exiting RDP (#8753)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-18 22:23:45 +08:00
21pages
c3c99ba107 fix missing retry (#8750)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 17:16:25 +08:00
fufesou
a81d6468cc fix: desktop settings, disconnect, timeout (#8749)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-18 15:57:36 +08:00
21pages
48464835f5 fix linux ffmpeg link, still link ffmpeg in hwcodec (#8747)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-18 13:18:21 +08:00
rustdesk
edc5d86ee7 fix hide-help-cards and fix https://github.com/rustdesk/rustdesk/issues/8687 2024-07-18 11:26:11 +08:00
fufesou
e9c8ba5393 fix: macos, remove unused workaround (#8746)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-18 10:38:15 +08:00
rustdesk
a72bc0fb28 hide-help-cards 2024-07-18 09:47:04 +08:00
rustdesk
5a8c8cbf7c hide-help-cards 2024-07-18 09:47:04 +08:00
21pages
b68d7a3054 fix linux armv7 ffmpeg arch, linux x64 sciter add hwcodec feature (#8744)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-17 22:37:05 +08:00
rustdesk
9e931a6f04 change remove-preset-password-warning default value to Y 2024-07-17 21:17:54 +08:00
rustdesk
f0587796e2 OPTION_PRESET_STRATEGY_NAME, OPTION_PRESET_USERNAME 2024-07-17 20:11:30 +08:00
fufesou
875ac28ab5 fix: macos, remove useless workaround (#8738)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-17 19:13:03 +08:00
お餅のCreeeper
6821bef5e5 Update README-JP.md and ja.rs (#8737)
* Update README-JP.md

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

* Update ja.rs

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

* Fix README-JP.md

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>

---------

Signed-off-by: creeper-0910 <56744841+creeper-0910@users.noreply.github.com>
2024-07-17 19:11:04 +08:00
rustdesk
930561f431 remove unused protobuf 2024-07-17 18:17:30 +08:00
21pages
bc672b3367 arm linux remove cuda-llvm option (#8735)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-17 17:19:21 +08:00
21pages
e283d33f28 Revert "try fix arm64 linux ci and publish error log (#8730)" (#8732)
setup a selfhost and will fix it later

This reverts commit a4565bf0da.
2024-07-17 13:35:32 +08:00
fufesou
901505e8be fix: macos, load multi dylib instances (#8731)
Multiple dylib instances will cause some global instances to be invalid.

eg. lazy_static objects in rust side, will be created more than once.

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-17 11:49:11 +08:00
21pages
a4565bf0da try fix arm64 linux ci and publish error log (#8730)
FFmepg can be built on arm64 ubuntu vm, possible reason is that the
condition of nvcodec can't be satisfied. If this still can't work, nvcodec can
be removed for arm linux.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-17 11:40:50 +08:00
fufesou
092e4089c7 fix: try workaround, macos, subwindow, frozen (#8729)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-17 09:55:46 +08:00
Vasyl Gello
188f85b042 F-Droid: enable hwcodec for future builds (#8726)
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-16 16:35:10 +08:00
21pages
72c96f22b6 remove unused vcpkg ffmpeg code (#8725)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-16 15:46:20 +08:00
21pages
0143eaf601 install ffmpeg lib with vcpkg (#8724)
* use vcpkg to install ffmpeg and build sdk from source, so no prebuild lib in hwcodec.
* link ffmpeg in rustdesk directly, ffmpeg can be used as basic library.
* for windows developers, `VCPKG_DEFAULT_HOST_TRIPLET` env need to be set to `x64-windows-static` during installation.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-16 15:10:24 +08:00
21pages
09466680d3 mobile virtual display, resolution menu, proxy setting (#8717)
1. Merge code of mobile and desktop virtual display menu.
2. Mobile add seperate resolution menu, only support changing
   resolutions.
3. Android add proxy setting

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-15 18:53:14 +08:00
fufesou
eec879a801 refact: macos, hide&show on leaving view (#8712)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-15 10:50:54 +08:00
21pages
3f11d9cdb6 remove Instant sub (#8714)
which cause crash when connect to windows just startup

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-15 10:49:09 +08:00
21pages
8512c2b2b0 fix lan peers batch deletion (#8715)
`peers.map((p) async {})` is not sync and peers are loaded before deletion.

```
let mut peers = config::LanPeers::load().peers;
peers.retain(|x| x.id != id);
```

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-15 10:47:19 +08:00
fufesou
e2a7e38a39 fix: build ios (#8709)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-14 15:05:56 +08:00
21pages
3a0ece1447 mobile view mode menu (#8707)
* mobile add view mode menu, disable same menus as desktop
* show forbidden cursor when not view mode && no keyboard permission &&
  not show remote cursor
* hide keyboard/mouse bottom action when keyboard disabled
* fix not listen keyboard permission change
* mobile missing changing resolution and http proxy setting, will add if
  needed.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-14 15:04:35 +08:00
rustdesk
d0a54a6cc6 hc 2024-07-14 05:47:42 +08:00
RustDesk
bed214bd37 Update playground.yml 2024-07-14 04:56:03 +08:00
RustDesk
5f31211db3 Update playground.yml 2024-07-14 04:35:23 +08:00
RustDesk
29b8875c1c Update playground.yml 2024-07-14 04:28:22 +08:00
RustDesk
3367c541b2 Update playground.yml 2024-07-14 04:08:11 +08:00
fufesou
30afe4f779 refact: seperate audio device for voice call (#8703)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-14 04:07:02 +08:00
fufesou
d18e95703e fix: mouse forward back (#8705)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-14 03:49:16 +08:00
RustDesk
9adc083def Update playground.yml 2024-07-14 03:47:15 +08:00
RustDesk
0dc664474a Update playground.yml 2024-07-14 03:46:48 +08:00
Vasyl Gello
5e8fe239fa build_fdroid.sh: Fix review points by Licaon_Kter (#8701)
* NDK should be downloaded via verified Android SDK's sdkmanager
  * vcpkg should be built from sources not prebuilt

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-13 20:46:05 +08:00
RustDesk
7a3100a87c Update playground.yml 2024-07-13 16:08:07 +08:00
RustDesk
8a1acedae5 Update playground.yml 2024-07-13 15:51:51 +08:00
RustDesk
f5bcc17636 Update playground.yml 2024-07-13 15:45:59 +08:00
RustDesk
883c630206 Update playground.yml 2024-07-13 15:35:24 +08:00
RustDesk
a95a6ab733 Update playground.yml 2024-07-13 15:24:01 +08:00
RustDesk
46605fab1b Update playground.yml 2024-07-13 14:33:17 +08:00
RustDesk
9d26fec631 Update playground.yml 2024-07-13 11:33:15 +08:00
RustDesk
294a6ce9bc Update playground.yml 2024-07-13 11:15:00 +08:00
RustDesk
183ea47ba4 Update playground.yml 2024-07-13 01:29:17 +08:00
RustDesk
06e04143a8 Update playground.yml 2024-07-13 01:26:09 +08:00
RustDesk
a532b36e28 Update playground.yml 2024-07-13 01:03:43 +08:00
fufesou
c873b69662 refact: unwrap offstage for cursor paint (#8693)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-13 00:44:08 +08:00
RustDesk
b30f84623b Update playground.yml 2024-07-12 23:44:25 +08:00
fufesou
888e993534 fix: unable to close on fullscreen (#8690)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-12 22:04:11 +08:00
rustdesk
1d59a7fe5f adjust uni_link_desktop version to make work with old flutter 2024-07-12 18:07:27 +08:00
RustDesk
2c027cdcf5 Update playground.yml 2024-07-12 17:55:25 +08:00
RustDesk
fe513dd967 Update playground.yml 2024-07-12 17:26:00 +08:00
RustDesk
d652b99d5b Update playground.yml 2024-07-12 16:33:55 +08:00
RustDesk
c2716c2509 Update playground.yml 2024-07-12 15:44:51 +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
0ea88ce6ff Update playground.yml 2024-07-12 11:01:12 +08:00
RustDesk
21f41e98a0 Update playground.yml 2024-07-12 10:44:04 +08:00
RustDesk
282ea02ebf Update playground.yml 2024-07-12 10:41:13 +08:00
RustDesk
170200fa49 Update playground.yml 2024-07-12 10:14:25 +08:00
rustdesk
d8cee6507d test old flutter for mac intel freeze issue 2024-07-12 10:07:55 +08:00
fufesou
2391b18046 fix: ubuntu 18.04, service, Exec format error (#8680)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-11 23:13:41 +08:00
fufesou
b5a7165015 feat: android, controlled side, clipboard text (#8677)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-11 12:02:19 +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
Vasyl Gello
6f74080a2d build_fdroid: Move sudo-deps back to f-droid spec (#8659)
... as requested by linsui here:
https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15343#note_1988918695

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-09 14:36:05 +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
Vasyl Gello
d007408061 Factor out F-Droid buildscript (#8625)
Now RustDesk maintainers can make proactive changes in F-Droid
packaging script so F-Droid side is (fully) automated.

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-09 11:45:08 +08:00
fufesou
02572e9032 fix: obx, no rx value (#8652)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-08 21:51:16 +08:00
21pages
af66d2a73b main window add block mask, cm add keyboard block (#8640)
* block window body only so user can still click minisize button.
* cm doesn't show mask
* Remove focusable Offstage in tabbar_widget.dart

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-08 20:08:05 +08:00
bovirus
eb5ab4d7d9 Update Italian language (#8645) 2024-07-08 19:59:29 +08:00
rustdesk
c02b4f994a fix two tray icon on macos 2024-07-08 14:46:28 +08:00
XLion
d093fdc256 Translation (#8634)
* Update tw.rs

* Update en.rs: Using `.` instead of `,`

* Update tw.rs: Fix formatting
2024-07-08 12:10:02 +08:00
FastAct
2af799f46e Update nl.rs (#8632) 2024-07-08 12:09:50 +08:00
rustdesk
3c7e24c605 add MOUSE_MOVE_TIME to key event, may work for
https://github.com/rustdesk/rustdesk/issues/8633 when window resume via
keyboard rather than mouse
2024-07-08 11:38:42 +08:00
rustdesk
7d961d895b add assign function in device.py for user/strategy/ab 2024-07-07 16:35:57 +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
rustdesk
ac88121c4a fix ci 2024-07-06 11:46:33 +08:00
Vasilis553
90df80ed78 Update el.rs (#8628)
* Update el.rs

* Update el.rs
2024-07-06 11:35:29 +08:00
rustdesk
d4f3a87276 change to remove-preset-password-warning 2024-07-05 20:09:26 +08:00
rustdesk
48efdcf1f0 add remove-preset-password-warning-of 2024-07-05 19:26:20 +08:00
fufesou
0511cdbb21 feat: clipboard svg (#8615)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-05 09:30:59 +08:00
Thadah D. Denyse
8747b9847f Add basque language (#8597)
* Add basque language

* Update lang.rs
2024-07-05 09:30:07 +08:00
RustDesk
92d0fe1c3f Revert "feat: clipboard svg (#8608)" (#8612)
This reverts commit a9015bcf70.
2024-07-04 21:31:19 +08:00
fufesou
a9015bcf70 feat: clipboard svg (#8608)
* feat: clipboard svg

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

* fix: is_last_plain, reset on clipboard event

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-04 21:23:08 +08:00
flusheDData
f8f2686267 Update es.rs (#8609)
* Update es.rs

New terms added

* Update es.rs

Mistype correction
2024-07-04 20:21:28 +08:00
solokot
c2bd1b8965 Update ru.rs (#8610) 2024-07-04 20:21:18 +08:00
Nevaran
4eeee5b7ee Update bg.rs (#8611)
Added more translated parts, some might need more context to be more accurate
2024-07-04 20:21:06 +08:00
fufesou
dfc224ec01 fix: #8599 (#8603)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-04 20:20:25 +08:00
fufesou
86ff768241 clear unwrap (#8605)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-04 20:18:53 +08:00
jxdv
94addb162b update sk && cz tr (#8595)
* update sk translations

* update cz translations
2024-07-04 11:43:09 +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
Kleofass
9349210a87 Update lv.rs (#8591) 2024-07-03 20:40:57 +08:00
Vasyl Gello
95f4274eca vcpkg: sort triplets and restore local opus port for 1.5.1 (#8585)
* ci/flutter-build: Sort out triplets in job matrices

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* Restore local port for opus 1.5.1

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

---------

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-03 17:57:58 +08:00
Vasyl Gello
a6febb2816 [WIP] Fix F-Droid version file workflow (#8583) 2024-07-03 17:12:21 +08:00
Vasyl Gello
e294dafe7c Bump vcpkg baseline to 2024.06.15 (#8582)
* res/vcpkg: drop old opus port overlay

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* res/vcpkg: bump aom to 3.9.1

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* res/vcpkg: bump libvpx to 1.14.1

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* Bump vcpkg baseline to 2024.06.15

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

---------

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-07-03 15:53:17 +08:00
21pages
d00582e929 linux x11 rgb565 capture (#8580)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-03 14:20:41 +08:00
Vasyl Gello
6d2e985593 res/vcpkg: Bump aom to 3.9.1, opus to 1.5.1 and libvpx to 1.14.1 (#8555)
* res/vcpkg: drop old opus port overlay

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* res/vcpkg: bump aom to 3.9.1

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

* res/vcpkg: bump libvpx to 1.14.1

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>

---------

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2024-07-03 14:12:19 +08:00
Mr-Update
182e8c4ac0 Update de.rs (#8577) 2024-07-03 11:55:59 +08:00
bovirus
40019b80f6 Update Italian language (#8576) 2024-07-03 11:55:47 +08:00
fufesou
2f40b9dc04 fix: build ios (#8570)
ld: Undefined symbols:
     _kSecMatchSubjectWholeString, referenced from:
         security_framework::item::ItemSearchOptions::search::he568de2b0004b0c0 in liblibrustdesk.a[872](security_framework-88ef6afe340eb2ab.security_framework.e4562ffe63567184-cgu.0.rcgu.o)

TODO:

There's also a warning after commit "2116fec20b5a2165df97e329c156baf308668efc".
No idea how to fix it. But it does not stop building.

ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-02 15:37:45 +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
51db8e706d fix: win, clipboard image (#8561)
The window must belong to the current thread for clipboard-master.

https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getmessage#:~:text=The%20window%20must%20belong%20to%20the%20current%20thread.

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-07-02 00:46:55 +08:00
21pages
a0dc38f749 try fix linux arm64 build (#8560)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-02 00:19:18 +08:00
Mr-Update
625b610cfd Update de.rs (#8559) 2024-07-02 00:18:54 +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
0ab500c27c bring fdroid.yml back 2024-07-01 16:50:27 +08:00
21pages
285e974d1a ci for linux x86_64 sciter deb and flatpak (#8545)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-07-01 11:01:35 +08:00
rustdesk
e71d86c124 move clipboard in common.rs to clipboard.rs 2024-07-01 02:14:58 +08:00
rustdesk
14343e89d4 fix ci 2024-07-01 01:52:39 +08:00
rustdesk
3f2dfa521c fix ci 2024-07-01 01:43:16 +08:00
rustdesk
cd73368cb9 make clipboard dropped after no sub 2024-07-01 00:24:23 +08:00
rustdesk
84b5cd70ed initialize change_count to 1 so that first data always got 2024-06-30 23:27:33 +08:00
rustdesk
01672bc697 clipboard image, not tested, todo: set_html 2024-06-30 21:57:32 +08:00
21pages
763174657b add type to all Getx put/get/delete/isRegistered (#8550)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-30 21:24:18 +08:00
rustdesk
15fa80fb26 fix ci 2024-06-30 19:17:24 +08:00
FastAct
d537e2563d Update nl.rs (#8546) 2024-06-30 19:04:22 +08:00
rustdesk
1719e478e3 remove debug code 2024-06-30 17:07:23 +08:00
rustdesk
1f129e6ef3 change update_clipboard to threaded, since creating a context may take long 2024-06-30 17:05:09 +08:00
21pages
25d0ced8ba fix ci (#8543)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-30 13:54:40 +08:00
rustdesk
2116fec20b wl-clipboard-rs 0.9 and refresh cargo.lock 2024-06-30 12:07:32 +08:00
rustdesk
1252f45506 fix 100% cpu usage of clipboard disabled on remote menu 2024-06-30 10:57:15 +08:00
fufesou
1f4c62e480 fix: linux, arboard::new(), retry (#8538)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-30 01:13:45 +08:00
fufesou
bd334769fa fix: win, virtual display, privacy mode (#8537)
Restore display settings.

Only restore by the display registry settings.

Do not change display settings twice when turning off privacy mode.

Only restore the registry values.

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-30 00:44:10 +08:00
jxdv
750368af7b Update cs tr (#8536)
* update common tr

* update tips
2024-06-29 22:26:06 +08:00
jxdv
2fb35c3596 Update sk tr (#8535)
* translate normal

* translate bot tips
2024-06-29 22:16:40 +08:00
21pages
5114a9d369 shared memory size use the max resolution of all displays (#8534)
The case of setting a monitor inserted later as the primary monitor is not taken into account

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-29 21:50:21 +08:00
solokot
4b6ba7938f Update ru.rs (#8533)
* Update ru.rs

* Update ru.rs
2024-06-29 21:41:09 +08:00
Vedant
1e400d2a64 Update winget-releaser to latest (#8532) 2024-06-29 21:17:10 +08:00
fufesou
967e63266f fix: win, multi-display settings changed (#8531)
1. Windows, multi-display, as the controlled side.
2. Connect
3. Turn on privacy mode, with mode 2.
4. Turn off privacy mode.

Then the display settings are continues changed when connect &
disconnect.

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-29 20:16:22 +08:00
21pages
f9b0a88213 fix switch to primary display but can't see UAC (#8527)
How to reproduce: elevate at primary display->switch to another
display->
trigger UAC->switch to primary display->can't see UAC

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-29 17:14:09 +08:00
21pages
d67afa49b4 portable service only run on main display (#8525)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-29 14:17:24 +08:00
fufesou
1fd170b089 fix: mobile more actions, check version 1.2.7 (#8526)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-29 11:50:40 +08:00
rustdesk
a632718e80 typo 2024-06-29 10:46:21 +08:00
rustdesk
9f72d05749 do not run self-host in ci commit flow 2024-06-28 23:32:23 +08:00
fufesou
c062813c6d Upgrade arboard (#8522)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-06-28 23:15:33 +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
bovirus
96aff38862 Update Italian language (#8520) 2024-06-28 16:28:43 +08:00
rustdesk
ed3fb1efa4 bump to 1.2.7 2024-06-28 09:59:10 +08:00
fufesou
d689bbf38e refact: mobile more actions, divider (#8512)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-28 00:57:16 +08:00
fufesou
c1bbdaf9ae refact: mobile min cursor size, 12 (#8510)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-27 23:19:37 +08:00
21pages
ab9e1013b2 remove dpiAware from manifest in ci for self-extracted executable (#8508)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 22:23:25 +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
21pages
cfd27c8d87 wakelock not block system sleep (#8504)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-27 20:09:51 +08:00
rustdesk
a18947eed2 fix typo 2024-06-27 18:24:04 +08:00
bovirus
f8592e0d5b Update Italian language (#8502)
* Update Italian language

* Fix typo
2024-06-27 18:10:41 +08:00
rustdesk
5bfdf05ff2 /hello rather than hello to activate bot 2024-06-27 18:01:14 +08:00
rustdesk
9e851542ec telegram bot works now 2024-06-27 17:36:50 +08:00
rustdesk
e79946b4e4 telegram bot ui settings and code sending 2024-06-27 16:18:41 +08:00
solokot
aed212d8f8 Update ru.rs (#8497) 2024-06-27 15:04:53 +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
fufesou
b047730830 Refact/android input changed notify clients (#8494)
* refact: android, input control changed, notify clients

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

* fix: android init input perm

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-27 13:05:45 +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
Stas Solovey
ef06b7d5d0 add Belarusian locale (#8480)
* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Create be.rs (Belarussian locale)

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update be.rs

* Update lang.rs

* Update lang.rs

* Update be.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-06-26 20:32:05 +08:00
fufesou
f17e17a6b9 fix: mobile cursor, check null (#8481)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-26 19:49:52 +08:00
rustdesk
faf363cfd2 add TelegramBot 2024-06-26 18:49:41 +08:00
fufesou
dbbd9179b7 fix: android cursor scale (#8478)
* fix: android cursor scale

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

* Min scale restriction for mobile cursor

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-26 18:42:08 +08:00
rustdesk
49f848a453 refactor 2024-06-26 16:35:29 +08:00
rustdesk
ef56aea74f fix https://github.com/rustdesk/rustdesk/issues/8479 2024-06-26 16:28:31 +08:00
rustdesk
cb5fa85ac2 build 45 2024-06-26 09:59:35 +08:00
fufesou
11bdd3cfcd fix: ios keyboard, composing input (#8471)
* fix: ios keyboard, composing input

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

* Incorrect changes

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-26 00:24:57 +08:00
fufesou
f0dcc91907 fix: wrong use of Instant sub, just after booting (#8470)
* fix: wrong use of Instant sub, just after booting

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

* fix: ThrottledInterval, first next tick

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-25 20:33:38 +08:00
21pages
c1c2d26ec7 fix, check video_queue len rather than len when refresh (#8469)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-25 18:30:32 +08:00
21pages
93133b9a6c if fps is adjusted below 30, not set fps to 30 when changing image quality (#8468)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-25 17:25:50 +08:00
fufesou
245f08055f fix: mobile, chat menu, hide after tapping (#8465)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-25 00:31:41 +08:00
fufesou
00ddd63372 fix: ios, chat window position, wrong member value (#8464)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-24 22:56:13 +08:00
21pages
1765c7bbf4 fix multi display fps control (#8455)
* Calculate fps without distinguish displays, use one fps control
  because the controlled side control fps of all displays with one FPS
  variable.
* Because all displays decode frame in one thread, when there are N
  displays, the video frames received in one second is `fps * N`, so the
  calculated decode fps should be divided by N. Because the actual
  display count is not obvious in rust, when no data frame is received for 5 seconds, the display is considered inactive, and only the active display is used as the dividend.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-24 19:41:15 +08:00
Yevhen Popok
65edd55516 Update Ukrainian translation (#8453) 2024-06-24 17:32:00 +08:00
rustdesk
4947cf8718 fix https://github.com/rustdesk/rustdesk/issues/8452 2024-06-23 22:50:54 +08:00
jxdv
65dd2b8993 update sk.rs (#8449) 2024-06-23 18:05:28 +08:00
jxdv
ef82cfa034 update cs.rs (#8450) 2024-06-23 18:05:06 +08:00
rustdesk
1a69d525af fix tile type droplist and change to build 44 2024-06-23 11:39:44 +08:00
fufesou
307827be3c fix: mobile actions hide and mobile theme (#8447)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-23 11:26:15 +08:00
fufesou
40cb59336f fix: mobile actions, position (#8446)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-23 11:06:47 +08:00
XLion
a9e0ea8520 Update tw.rs (#8444) 2024-06-23 09:09:08 +08:00
rustdesk
baeee642dd build 43 2024-06-22 20:51:41 +08:00
Mr-Update
416efe9fd3 Update de.rs (#8443) 2024-06-22 20:51:33 +08:00
solokot
8b5ac390d1 Update ru.rs (#8442) 2024-06-22 20:05:56 +08:00
rustdesk
212e8e7559 fix one missing file 2024-06-22 12:45:32 +08:00
rustdesk
41a20b50ea split web js to v1 and v2 2024-06-22 12:29:20 +08:00
21pages
3742b51d58 quality monitor, delay displays as 0 when fps is 0 (#8441)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-22 09:39:02 +08:00
bovirus
1a21dff5d4 Update Italian language (#8439) 2024-06-22 08:11:09 +08:00
fufesou
bbf7d9e08a fix: android, no voice call under android 11 (#8440)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-22 08:10:54 +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
rustdesk
ff2e055a5a use flutter 3.13 for android because its video super slow on my phone 2024-06-21 18:14:58 +08:00
rustdesk
cdf97f8717 try out 3.13.9 with master 2024-06-21 17:42:58 +08:00
rustdesk
b2af79a3c5 try out 3.16.0 2024-06-21 17:05:51 +08:00
fufesou
74cc5abd09 fix: android prompt "Failed to stop voice call" on conn ended (#8434)
* fix: android prompt "Failed to stop voice call" on conn ended

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

* Remove invalid comment

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

* Better control of voice call status

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

* Better voice call status control

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

* better end conn for voice call

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-21 16:43:54 +08:00
rustdesk
32c4712d5e fix ci 2024-06-21 12:42:27 +08:00
rustdesk
3244395bfb try 3.22.2 playground 2024-06-21 12:34:00 +08:00
rustdesk
1cb0e1ce7b try out 3.22.2 2024-06-21 12:33:24 +08:00
fufesou
42394fcbdd fix: android, two finger pan, scale (#8429)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-21 09:07:32 +08:00
rustdesk
0b32e741f7 test 3.13.9 on master for android 2024-06-21 01:29:00 +08:00
rustdesk
80c5d59916 fix ci 2024-06-21 01:13:05 +08:00
rustdesk
e95823f543 for try out flutter 3.22.2 2024-06-21 01:00:46 +08:00
rustdesk
06fe972683 try out 3.22.2 for android 2024-06-21 00:45:45 +08:00
rustdesk
3057396c02 try latest 2024-06-21 00:19:05 +08:00
rustdesk
7db9543fee change back to old settings, only use flutter 3.13.9 2024-06-21 00:15:21 +08:00
rustdesk
58d86acf0d change back to 3.16.9 2024-06-20 23:51:58 +08:00
rustdesk
859020583d fix ci 2024-06-20 23:21:08 +08:00
rustdesk
0cab620ba5 try old flutter and vcpkg 2024-06-20 23:09:38 +08:00
rustdesk
4338fcc51a check if vpckg overrided 2024-06-20 23:06:42 +08:00
rustdesk
5f6f1e8d36 use prebuilt vcpkg to overwrite 2024-06-20 22:45:07 +08:00
fufesou
a91f244f35 fix: android, touch mode, one finger pan, start pos (#8427)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-20 22:21:14 +08:00
fufesou
82bf04da81 fix: android, touch mode, correct cursor input, on soft keyboard shows (#8426)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-20 22:18:57 +08:00
rustdesk
a679e4a5e3 vcpkg_root 2024-06-20 22:16:04 +08:00
rustdesk
3c79404534 use my vcpkg 2024-06-20 21:53:43 +08:00
rustdesk
ba707d1149 try out different ndk 2024-06-20 21:28:27 +08:00
rustdesk
93d88f30b4 test more commits 2024-06-20 21:10:43 +08:00
rustdesk
f5bc136b07 fix ci 2024-06-20 20:32:00 +08:00
rustdesk
ae69cbb207 fix ci 2024-06-20 20:30:55 +08:00
fufesou
39e3da1eb0 android, secure keyboard on remote input (#8425)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-20 20:20:32 +08:00
rustdesk
c1322b47c3 more commits 2024-06-20 20:13:57 +08:00
rustdesk
67f83bd5dd more commits 2024-06-20 19:48:40 +08:00
rustdesk
e424d01f3d publish missed 2024-06-20 19:41:43 +08:00
rustdesk
a424830893 fix ci 2024-06-20 19:23:17 +08:00
rustdesk
3c5810cc01 prepare android old version test 2024-06-20 19:16:51 +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
RustDesk
7956953669 Revert "fix: android, touch mode, move cursor (#8419)" (#8421)
This reverts commit dcba4615a2.
2024-06-20 12:22:36 +08:00
fufesou
dcba4615a2 fix: android, touch mode, move cursor (#8419)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-20 08:29:07 +08:00
rustdesk
0bf9de8256 also check --server in loop 2024-06-19 21:29:54 +08:00
rustdesk
77f1c7e74c add crate::platform::quit_gui(); for double sure 2024-06-19 21:21:51 +08:00
rustdesk
27478946ea open new window not always work, so give it a little time before exit 2024-06-19 21:17:26 +08:00
rustdesk
1f25a8af86 fix macos stop service on gui not restart 2024-06-19 20:23:05 +08:00
rustdesk
d75caad71f move --server check into daemon.plist 2024-06-19 19:54:30 +08:00
rustdesk
adf0226641 fix ci and make macos service time check more aggressive 2024-06-19 19:10:44 +08:00
rustdesk
137f58a84a refactor macos service for delegate again, remove runme in install service of linux 2024-06-19 18:49:49 +08:00
21pages
7c45a68870 linux install service, stop service before start (#8414)
If the stop-service option before installation is "", after
installation --sever is also started up. When clicking to
start service, restart --server to make it read the config file,
otherwise the service can't be started util --server is restarted.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-19 16:29:40 +08:00
rustdesk
99edab4b61 hide docker from tao, this may fix https://github.com/rustdesk/rustdesk/issues/8399 2024-06-19 16:25:48 +08:00
fufesou
e50b72622c fix: android, touch mode, soft keyboard, no pointer events (#8409)
* fix: android, touch mode, soft keyboard, no pointer events

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

* Reset lastIsBlocked on touch mode toggled

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

* refact: reset lastIsBlocked when updating keyHelpToolsRect

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-19 15:58:23 +08:00
rustdesk
60dc40f47f try hide docker in tao delegate because hide in rustdesk side a bit late so that still seeing it sometimes
refactor service to make it restart after login to avoid delegate caught for seconds after login
also make main windows Close event restart itself for above case
2024-06-19 15:42:53 +08:00
21pages
841c331981 fix sleep duration when receive ipc close (#8410)
unit is second

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-19 14:02:13 +08:00
21pages
4eafa5a585 fix ci (#8407)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-19 10:12:10 +08:00
rustdesk
5a740e891e make main window can be reopen if killed by --server for creating ipc 2024-06-19 09:27:29 +08:00
rustdesk
1fcc7001bd use exit(-1) in Data::Close to make sure --server can restart 2024-06-18 22:42:42 +08:00
rustdesk
e57854422a fix kill main window in --server 2024-06-18 22:04:34 +08:00
21pages
8c39979848 fix get mac display scale, find screen from display id (#8401) 2024-06-18 19:37:15 +08:00
Stas Solovey
2c38648e39 update ru.rs (#8400)
* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

* Update ru.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-06-18 19:36:32 +08:00
rustdesk
97aa739d69 revert https://github.com/rustdesk/rustdesk/pull/8368 2024-06-18 18:21:29 +08:00
Stas Solovey
b0042f29fb Update ru.rs (#8398)
* Update ru.rs

* Update ru.rs

* Update ru.rs
2024-06-18 17:08:44 +08:00
rustdesk
e3ca82945f fix https://github.com/rustdesk/rustdesk/issues/2680 2024-06-18 16:30:56 +08:00
rustdesk
bf6a3a7067 fix stupid flutter 2024-06-18 15:06:43 +08:00
rustdesk
d25670c79a fix https://github.com/rustdesk/rustdesk/issues/2680 2024-06-18 14:39:56 +08:00
XLion
32b26e4ad3 Update translation (#8394)
* Update tw.rs

* Update cn.rs

Add spacing
2024-06-18 09:54:03 +08:00
rustdesk
818439db48 fix ci 2024-06-18 08:43:19 +08:00
21pages
e23a9da1a8 sync get option in android setting (#8393)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-18 08:29:10 +08:00
21pages
37ebac2a9e update hwcodec, remove AVCodecParserContext (#8389)
It was used to decode different resolution with same decoder, but may
cause crash.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-17 23:53:43 +08:00
Kleofass
46bf552afc Update lv.rs (#8383) 2024-06-17 17:31:38 +08:00
rustdesk
70151e3dd8 add Push Notifications capability though we do not use it explictly, but our dep used it, have to enable it, otherwise review will refuse us 2024-06-17 12:50:29 +08:00
rustdesk
e933f0baf2 build 41 2024-06-17 11:16:33 +08:00
rustdesk
f2a612c3d9 add voice_call start_pa 2024-06-17 10:57:25 +08:00
flusheDData
4a648f0068 New terms added (#8377)
* Update es.rs

New term and tip added

* Update es.rs

change representación por renderizado (render)

* Update es.rs

New terms added
2024-06-17 10:36:10 +08:00
21pages
5b52742cf7 fix mobile ab/group not update when login with 2fa/email (#8378)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-17 10:35:57 +08:00
rustdesk
237d234277 add rustc 1.78 ABI change comment 2024-06-17 09:44:36 +08:00
rustdesk
ed0cba281f start dbus only for main 2024-06-16 23:59:09 +08:00
rustdesk
2e0eaed322 call _ffiBind.mainStartPa only for --cm 2024-06-16 23:51:00 +08:00
21pages
e2a6d66805 make mobile ab dropdown button text vertical center (#8376)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-16 23:41:40 +08:00
21pages
8d6de9ca59 opt android ab ui (#8374)
* multiline error banner
* mobile remove ab permission icons due to hard to press
* center ab dropdown button text

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-16 23:13:46 +08:00
fufesou
db108d964b fix: build 09f452b055 (#8373)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-06-16 22:37:14 +08:00
solokot
f016d453fa Update ru.rs (#8370) 2024-06-16 15:14:45 +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
jxdv
12ff1319f1 update sk.rs (#8364) 2024-06-15 16:03:56 +08:00
jxdv
f224d8872e update cs.rs (#8365) 2024-06-15 16:03:42 +08:00
rustdesk
5cf2d5f062 change back to 1.75 since sciter failed on m1 with 1.78 because of https://blog.rust-lang.org/2024/03/30/i128-layout-update.html 2024-06-15 14:03:33 +08:00
fufesou
92dd0ee1dd fix: non texture, multi window, switch display (#8353)
* fix: non texture, multi window, switch display

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

* fix build

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-14 17:55:03 +08:00
bovirus
70c20fc76f Update Italian language (#8352) 2024-06-14 17:39:24 +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
fufesou
12f7fc3d33 fix: push rgba only on desktop (#8348)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-13 23:22:03 +08:00
fufesou
60f47cb549 fix: desktop, remote toolbar autohide (#8347)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-13 21:04:00 +08:00
Mr-Update
d33fa3f073 Update de.rs (#8346) 2024-06-13 21:01:24 +08:00
21pages
2e4fafcf46 add missing call of androidUpdatekeepScreenOn (#8345)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-13 19:24:38 +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
fufesou
bc875a35b0 Refact/multi window soft rendering (#8343)
* refact: multi_window_soft_rendering

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

* fix: window pos, potential wait for image

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

* comments

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

* remove debug print

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

* explicitly set rgba_data.size_got to false after init

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

* refact: multi window, merge images, render with texture

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

* revert, flutter.rs, rgba valid

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

* Add displays index before sending capture msg

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

* refact: multi window, soft rendering

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

* fix: build

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-13 18:03:41 +08:00
rustdesk
8e12a34634 upgrade our ipc-parity and tokio-socks crate to tokio 1.38 2024-06-13 13:17:34 +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
fufesou
65c2ccdc93 fix: try fix, macos, flutter, focus changed, no reponse (#8338)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-13 10:42:50 +08:00
fufesou
964d4f1f87 try fix cursor id, int.parse, exceeds limit (#8333)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-13 00:34:23 +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
0f10a88b23 remove elevation/installation requirement for --get-id 2024-06-12 20:35:04 +08:00
Kleofass
60049c8cc5 Update lv.rs (#8323) 2024-06-12 17:20:29 +08:00
rustdesk
50aa5880de always call platformFFI.nextRgba no matter what to avoid dead lock because of unknown reason 2024-06-12 02:34:15 +08:00
rustdesk
47143318ba ensure nextRgba called no matter if image created 2024-06-12 01:40:54 +08:00
fufesou
c27791a9ac comments (#8316)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-12 00:53:54 +08:00
fufesou
b19d732a3a fix: audio rechannel len (#8315)
* fix: audio rechannel len

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

* comments

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-12 00:32:10 +08:00
rustdesk
cd3db3a686 try to fix https://github.com/rustdesk/rustdesk-server-pro/issues/266 2024-06-11 19:51:33 +08:00
fufesou
35fb9f8897 fix: peer option, individual_windows, use 'N' instead of '' (#8307)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-10 23:01:55 +08:00
21pages
ec042434be use sihost.exe as fallback for run_as_user if no explorer.exe (#8305)
* There is no relevant information, but I found that each session has a unique sihost.exe, and the user name of the process is consistent with the user name of the session, and after using the task manager to kill this process, it will automatically restart. Checking sessionUserName=siHost UserName may be unnecessary, but since there is no evidence, check it anyway.
* GetFallbackUserPid is called only when explorer.exe does not exist.
* ProcessHacker shows that the tokens of explorer.exe and sihost.exe are the same, I know little about it.

Signed-off-by: 21pages <pages21@163.com>
2024-06-10 20:29:53 +08:00
rustdesk
f8041a3de5 fix merge problem of last commit 2024-06-10 19:53:02 +08:00
rustdesk
dd90096e13 remove useless stop-rendezvous-service 2024-06-10 16:12:08 +08:00
fufesou
9ab5512bfa fix: custom client, option to bool (#8303)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-10 11:01:39 +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
rustdesk
78d7bfac01 fix https://github.com/rustdesk/rustdesk/discussions/8031 2024-06-09 19:48:42 +08:00
21pages
57570c3ba6 is_ipc_file_exist quote Config::ipc_path (#8295)
Signed-off-by: 21pages <pages21@163.com>
2024-06-08 21:56:47 +08:00
21pages
ffac670f95 fix nt_terminate_process missing CloseHandle (#8294)
Signed-off-by: 21pages <pages21@163.com>
2024-06-08 21:15:01 +08:00
Yevhen Popok
be16f1be44 Update Ukrainian translation (#8293) 2024-06-08 20:51:06 +08:00
21pages
fd0f85d565 no explorer.exe, judge by pid retrived from cpp (#8291)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-08 16:50:35 +08:00
21pages
8de5f3f0d3 not close connection if failed to start cm due to no explorer.exe (#8290)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-08 16:11:51 +08:00
21pages
0bb537b872 fix kill occupied ipc process, find with enumerate, kill with NtTerminateProcess (#8289)
* I reproduced the issue, that process did't have title, couldn't be connected
  to and taskkill not work
* Test whether ipc is opccupied with enumerating named pipe
* With NtTerminateProcess, it was killed successfully.
* There is a way to find the exact process which occupy the ipc, I have
  not check it, it's from https://github.com/winsiderss/systeminformer

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-08 14:09:16 +08:00
Mr-Update
987da00be0 Update de.rs (#8286) 2024-06-08 09:43:50 +08:00
jxdv
e9e2214d29 update cs.rs (#8285) 2024-06-08 09:43:32 +08:00
jxdv
ac9f3317f1 update sk.rs (#8284) 2024-06-08 09:43:17 +08:00
bovirus
7da85d277e Update Italian language (#8282) 2024-06-07 20:48:19 +08:00
solokot
274244b055 Update ru.rs (#8281) 2024-06-07 15:49:52 +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
fufesou
6d1d844b14 refact: Wayland, do not show multi displays (#8277)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-07 09:54:50 +08:00
fufesou
686dd11d8e fix: peer menu, hidden by wrong check (#8275)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-07 00:20:55 +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
Kleofass
54b8daede4 Update lv.rs (#8262) 2024-06-05 18:44:47 +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
fufesou
a84b9bd2c8 fix: setMovable only on macos (#8261)
* fix: setMovable only on macos

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

* Refact and comments

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

* comments

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

* Refact comments

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-05 14:52:56 +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
rustdesk
416d57bec6 https://github.com/rustdesk/rustdesk/pull/7971 2024-06-03 13:40:14 +08:00
21pages
7d56717cf5 msgbox responds to numpadEnter as submit (#8248)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-06-03 11:19:35 +08:00
fufesou
32ef5f47f8 fix: macos tab drag (#8242)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-02 10:56:29 +08:00
fufesou
32346c23e0 fix: macos, terminate, close main then remote windows (#8240)
* fix: macos, terminate, close main then remote windows

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

* comments

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-02 10:35:54 +08:00
fufesou
b6ebf61d6c fix: macos, fullscreen, remove mimimize button (#8238)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-01 21:28:35 +08:00
fufesou
d79efcedef fix: close all windows, obfuscated window id (#8237)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-01 21:28:03 +08:00
21pages
18464ec570 windows replace uni with cmd to start up main window after installation (#8235)
This is to avoid uni link not working

Other change: The install window now has the title "appname - Install" to distinguish it from the main application window.

Signed-off-by: 21pages <pages21@163.com>
2024-06-01 20:28:21 +08:00
fufesou
ed5487a1fc refact: mobile actions (#8236)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-01 20:23:58 +08:00
fufesou
df36580451 fix: tab, disable dragging (#8228)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-06-01 00:10:18 +08:00
rustdesk
bd7790c1eb https://github.com/rustdesk/rustdesk-server-pro/issues/261 2024-05-31 20:58:55 +08:00
FastAct
67d66c6750 Update nl.rs (#8224) 2024-05-31 19:57:26 +08:00
21pages
1c00d7aa1a android broadcast display changed immediately when change scale (#8219)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-31 16:44:42 +08:00
21pages
68cabe596d update hwcodec, fix wrong gop, which causes FFmpeg nvenc vram encode delay (#8220)
Signed-off-by: 21pages <pages21@163.com>
2024-05-31 16:44:18 +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
bovirus
d4dda94e2a Update Italian language (#8214) 2024-05-30 16:57:14 +08:00
XLion
ee58b37d1e Update translations (#8210)
* Update translations

Add additional hint for `texture_render_tip` to let user know that it may be an option to fix issue.

* fix formatting for tw.rs
2024-05-30 15:09:12 +08:00
rustdesk
06cb49ec71 preset-address-book-name preset-address-book-tag https://github.com/rustdesk/rustdesk-server-pro/issues/257 2024-05-30 14:27:47 +08:00
jxdv
caca7e5860 update cs.rs (#8208) 2024-05-30 08:33:32 +08:00
jxdv
3ddb4c9799 update sk.rs (#8207) 2024-05-30 08:30:54 +08:00
21pages
74c24caae9 not show paste menu when mobile control mobile (#8204)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-29 20:38:56 +08:00
æLtorio
48e8a25f6e Add missing french language tips (#8201)
* french language tips

* makes spaces conformed to original file

---------

Co-authored-by: Ronan <ronan.le_meillat@highcanfly.club>
2024-05-29 19:10:47 +08:00
fufesou
fd045043a1 fix: flutter image pub, version 3 to 4, get bytes (#8202)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-29 19:10:15 +08:00
Mr-Update
0e97696b47 Translation missing (#8199) 2024-05-29 17:11:13 +08:00
æLtorio
804764d529 french translations (#8198)
* french translations

* typo

---------

Co-authored-by: Ronan <ronan.le_meillat@highcanfly.club>
2024-05-29 16:52:40 +08:00
Yevhen Popok
98a38754d4 Update Ukrainian translation (#8195) 2024-05-29 15:07:37 +08:00
21pages
837382349e fix the bottom of FFmpeg vram qsv encoding being cropped (#8191)
Signed-off-by: 21pages <pages21@163.com>
2024-05-29 13:34:22 +08:00
fufesou
d2f119b85e fix: no forcely adaptive view style, if peer is android (#8189)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-29 12:24:33 +08:00
fufesou
89d855d085 fix: deactive widget ancester (#8187)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-29 08:16:36 +08:00
bovirus
1bfafaf07c Update Italian language (#8185) 2024-05-29 08:15:17 +08:00
solokot
cf4f073153 Update ru.rs (#8183) 2024-05-29 08:14:57 +08:00
flusheDData
aca9ba1a49 term change (#8181)
* Update es.rs

New term and tip added

* Update es.rs

change representación por renderizado (render)
2024-05-29 08:14:31 +08:00
flusheDData
399e20a14a Update es.rs (#8179)
New term and tip added
2024-05-28 22:33:52 +08:00
fufesou
7ca5a0b977 fix: switch texture, do not input os password (#8178)
* refact: switch texture, do not input os password

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

* Switch texture, refresh video

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

---------

Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-28 22:33:28 +08:00
Mr-Update
74d4505b3d Update de.rs (#8177) 2024-05-28 21:56:36 +08:00
rustdesk
df74a38b90 disable-group-panel for https://github.com/rustdesk/rustdesk-server-pro/issues/250 2024-05-28 20:10:12 +08:00
rustdesk
e8d02905fe pre-elevate-service for https://github.com/rustdesk/rustdesk-server-pro/issues/252 2024-05-28 19:58:47 +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
FastAct
f997a1ff52 Update nl.rs (#8170) 2024-05-28 15:40:04 +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
fufesou
b0c21e927b https://github.com/rustdesk-org/rustdesk_desktop_multi_window/pull/11 (#8166)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-28 10:30:56 +08:00
21pages
fcece3732c android request external stroage when start service for log (#8161)
This will not influence file transfer permission. Requesting external storage permissions does not turn on file transfer permissions, and turning off file transfer permissions does not turn off external storage permissions.

Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-27 21:01:09 +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
fufesou
9ce62dc584 fix: window backgroud color (#8155)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-27 09:29:31 +08:00
21pages
0442f7012b fix mac render memory, dispose old decoded image (#8140)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-27 09:27:30 +08:00
mehdi-song
e7f0f0ff8d Update fa.rs (#8141) 2024-05-25 09:58:53 +08:00
21pages
4fd4b24fa2 call capture_displays when no enable flutter_texture_render (#8146)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-25 09:45:12 +08:00
21pages
17d18f1dd8 impore fps control, quicker send refresh and clear video queue (#8137)
Signed-off-by: 21pages <sunboeasy@gmail.com>
2024-05-24 17:21:16 +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
fufesou
1efce51222 fix: restore window, on connection (#8129)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-23 22:11:40 +08:00
21pages
7da09f6296 sort address book name dropdown (#8127)
Signed-off-by: 21pages <pages21@163.com>
2024-05-23 17:44:48 +08:00
fufesou
b8d9c4c378 fix: mutlwindow, fullscreen (#8123)
Signed-off-by: fufesou <linlong1266@gmail.com>
2024-05-23 09:51:19 +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
Yevhen Popok
91f07b4b03 Update Ukrainian translation (#8118) 2024-05-22 17:17:59 +08:00
21pages
b2f4ba0882 fix cursor menu divider and Auto (null) (#8116)
Signed-off-by: 21pages <pages21@163.com>
2024-05-22 15:07:47 +08:00
fufesou
1acd7bd19c fix: macos fullscreen state (#8110)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-21 23:38:27 +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
e192f10c56 fix: proxy, username, enable (#8109)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-21 21:27:32 +08:00
fufesou
676ee99709 fix: revert window border width on Win and Mac (#8100)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-20 16:24:28 +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
3c502c6fc2 refact: replace some option keys (#8090)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-19 14:07:42 +08:00
fufesou
72d59af7b0 fix: popup menu, nav, pop (#8089)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-18 23:55:05 +08:00
21pages
d3eaa6600d fix, windows try kill flutter main window process only when --server's ipc is (#8086)
occupied

Signed-off-by: 21pages <pages21@163.com>
2024-05-18 23:14:42 +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
21pages
c2b7810c33 windows kill flutter main window when --server close (#8077)
Signed-off-by: 21pages <pages21@163.com>
2024-05-18 08:24:28 +08:00
fufesou
44d4e13fa7 fix: windows, restore windows pos (#8075)
* fix: windows, restore windows pos

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

* fix: restore window pos, a better way to get cur scale factor

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

* chore

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-18 08:23:09 +08:00
ddsardella
1dd7cd9384 Update Dockerfile for missing pam dev lib (#8078)
After failing to build with this due to the missing pam development library package I have added it to the DockerFile for the build image
2024-05-18 08:21:40 +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
3a4390e0c7 fix wrong feature to call update_supported_encoding (#8067)
Signed-off-by: 21pages <pages21@163.com>
2024-05-16 16:05:18 +08:00
XLion
68fa688c96 Update tw.rs (#8065) 2024-05-16 15:48:39 +08:00
Mr-Update
42428261d7 Update de.rs (#8063) 2024-05-15 17:20:03 +08:00
flusheDData
e01b1ed04d Android new call tip (#8057)
* Update es.rs

New terms added

* Update es.rs

New tip added

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-05-15 09:42:07 +08:00
Mikhail Samodurov
4e5dcd827b CI: Remove unused apt package (#8048)
* Update bridge.yml

Removed apt instructions for metapackages clang and llvm in favor of specific version package

* Replaced apt instructions to use specific llvm and libclang version
2024-05-15 07:38:31 +08:00
flusheDData
e8003510ef Update es.rs (#8047)
New terms added

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-05-15 07:15:26 +08:00
bovirus
da23e26a70 Update Italian language (#8052) 2024-05-15 07:12:33 +08:00
jxdv
c5b781fb02 update sk.rs (#8053) 2024-05-15 07:12:14 +08:00
jxdv
3bb1c22f49 update cs.rs (#8054) 2024-05-15 07:11:46 +08:00
fufesou
53647fd58e fix: mobile chat icon (#8041)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-14 15:35:34 +08:00
fufesou
0500bf070e refact: android audio input, voice call (#8037)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-14 09:20:27 +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
XLion
8b6913d31f Update tw.rs (#8022) 2024-05-12 10:49:49 +08:00
rustdesk
97f0642a8b remove fdroid, no idea why do we need this. 2024-05-11 16:27:44 +08:00
rustdesk
a04dd6ad31 split fdroid ci out 2024-05-11 16:24:04 +08:00
rustdesk
9827c76514 fix ci 2024-05-11 16:17:55 +08:00
21pages
712bfbae92 fix, not unregister gpu texture when closeSession is false (#8018)
Signed-off-by: 21pages <pages21@163.com>
2024-05-11 11:11:12 +08:00
jxdv
0152e937ec update cs.rs (#8013) 2024-05-11 08:55:30 +08:00
jxdv
c066dc8c24 update sk.rs (#8012) 2024-05-11 08:55:16 +08:00
Kleofass
0b96b3f345 Update lv.rs (#8010) 2024-05-11 08:54:59 +08:00
Mr-Update
b5781933b6 Update de.rs (#8007) 2024-05-11 08:54:44 +08:00
fufesou
d851bf8b69 fix: move tab to new window, black screen (#8016)
* fix: move tab to new window, black screen

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

* fix: can remove

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-11 08:54:17 +08:00
fufesou
b6d6a4360f fix: linux resizable (#8015)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-11 08:53:19 +08:00
fufesou
69b11e8dc6 fix: linux, custom client, incoming only, resizable (#8005)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-10 16:40:29 +08:00
rustdesk
6e78037770 fix linux custom client tray 2024-05-10 15:12:07 +08:00
fufesou
bed0375f45 fix: android, stop capture, release surface (#8004)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-10 14:37:00 +08:00
rustdesk
42d723f82f less cpu usage of sciter version build 2024-05-10 14:19:06 +08:00
rustdesk
fb0ce8c974 for saving disk space 2024-05-10 14:03:40 +08:00
21pages
d55770f12b remove android resolution scale (#8002)
Signed-off-by: 21pages <pages21@163.com>
2024-05-10 10:18:20 +08:00
fufesou
125c275623 fix: android media project dialog every conn on Android 14 (#7997)
* fix: android media project dialog every conn on Android 14

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

* comments

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

* comments

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-09 23:33:34 +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
73662ed7d9 fix: linux, custom client, incoming, window size (#7995)
* fix: linux, custom client, incoming, window size

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

* comments

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-09 22:51:53 +08:00
21pages
a595d83232 fix android possible waiting for image issue (#7994)
Signed-off-by: 21pages <pages21@163.com>
2024-05-09 18:59:51 +08:00
solokot
6743b4f290 Update ru.rs (#7993) 2024-05-09 18:09:44 +08:00
rustdesk
e8ecb738d0 remove msi beta 2024-05-09 18:09:17 +08:00
bovirus
9c20968e05 Update Italian language (#7992) 2024-05-09 16:31:04 +08:00
rustdesk
9f80690d8a fix flatpak 2024-05-09 16:09:19 +08:00
rustdesk
e58a95e7d9 fix flatpak 2024-05-09 16:03:12 +08:00
fufesou
d9b96d2f31 fix: build (#7989)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-09 11:13:35 +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
bovirus
9d56e29a09 Update Italian language (#7984) 2024-05-09 07:33:12 +08:00
Mr-Update
32fca6f9b3 Update de.rs (#7982) 2024-05-09 07:32:54 +08:00
Kleofass
72c2de575a Update lv.rs (#7979) 2024-05-09 07:32:38 +08:00
rustdesk
93d4987dcc remove package to image 2024-05-08 21:29:33 +08:00
rustdesk
2a25034039 fix flatpak 2024-05-08 20:45:09 +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
rustdesk
1b0a3e610e refactor flatpak/appimage deb path 2024-05-08 20:07:57 +08:00
RustDesk
2820f3f798 Update flutter-build.yml 2024-05-08 18:09:29 +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
RustDesk
35832f8f7f Revert "fix: bump winget releaser version & add dependabot (#4848)" (#7971)
This reverts commit 7466d8cb3a.
2024-05-08 14:19:09 +08:00
sitiom
7466d8cb3a fix: bump winget releaser version & add dependabot (#4848)
* fix: bump winget releaser version

* ci: add dependabot
2024-05-08 14:13:55 +08:00
21pages
ea3786457b cm window always on top (#7953)
Signed-off-by: 21pages <pages21@163.com>
2024-05-08 12:08:37 +08:00
fufesou
01322146c0 refact: window frame border (#7946)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-08 09:59:05 +08:00
bovirus
26adc557bf Update Italian language (#7943) 2024-05-08 09:52:04 +08:00
jxdv
36e52d8165 update sk.rs (#7949) 2024-05-08 09:51:50 +08:00
jxdv
4c0211fa23 update cs.rs (#7950) 2024-05-08 09:51:33 +08:00
fufesou
a3b4dcf762 fix: wayland, accept conn (#7951)
Show prompt window after the controlled side accepting the connection.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-08 09:50:55 +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
e373144350 android 13+ request notification permission when start service (#7941)
Signed-off-by: 21pages <pages21@163.com>
2024-05-07 18:45:05 +08:00
fufesou
3be4bfc821 fix: ci, ios (#7940)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-07 16:53:57 +08:00
fufesou
2c1595d0d5 fix: voice call, select audio input device (#7922)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-07 16:18:48 +08:00
fufesou
f08933f93c fix: translate, proxy (#7923)
* fix: translate, proxy

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

* refact: proxy server, change placeholder to tooltip

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-07 15:21:38 +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
rustdesk
ac04a032ad more for custom client of linux 2024-05-06 22:02:13 +08:00
21pages
f6223a6f71 dropdown menu for tabs that cannot be displayed (#7918)
* The visibility threshold is 75%
* Used in remote, file transfer, port forward and cm

Signed-off-by: 21pages <pages21@163.com>
2024-05-06 17:10:02 +08:00
fufesou
937cea5a01 refact: remove virtual_display_driver (#7915)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-06 15:26:21 +08:00
fufesou
846522037f fix: mstsc switch, plug in virtual displays (#7913)
* fix: mstsc switch, plug in virtual displays

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

* Update display_service.rs

---------

Signed-off-by: fufesou <shuanglongchen@yeah.ne>
Co-authored-by: fufesou <shuanglongchen@yeah.ne>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-05-06 14:01:59 +08:00
fufesou
b5a88d00af fix: headless, plug in multiple virtual displays (#7912)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-06 13:34:31 +08:00
bovirus
7391271107 Update Italian language (#7910) 2024-05-06 10:59:55 +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
29b13d19d6 modify GIO_MODULE_DIR 2024-05-05 23:33:58 +08:00
rustdesk
b0ff74c799 fix appimage 2024-05-05 16:44:59 +08:00
rustdesk
75c60660e7 remove unused code 2024-05-05 15:47:17 +08:00
rustdesk
eacc840c54 to make server work on wayland, have to use host's gstreamer 2024-05-05 15:46:30 +08:00
rustdesk
6d09c0adcf fix ci 2024-05-04 19:34:10 +08:00
rustdesk
fe1cf1105a fix ci 2024-05-04 19:10:32 +08:00
rustdesk
9454334ddd try out APPRUN_LD_LIBRARY_PATH 2024-05-04 18:29:22 +08:00
rustdesk
cc482c589c XDG_SESSION_TYPE as final backup 2024-05-04 17:22:43 +08:00
fufesou
b387bc1038 fix: linux, check load dylib in main.cc (#7901)
* fix: linux, check load dylib in main.cc

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

* Better error message

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

* refact error message

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

* Better error message

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

* check if "libnsl.so.1" is required, mainly for AppImage and yum

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-04 14:07:29 +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
XLion
eb81e00d20 Add /r tip at id_input_tip (#7900) 2024-05-03 23:45:00 +08:00
fufesou
c619bfc05c fix: flutter, process hangup on loading dylib failed (#7898)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-05-03 22:58:49 +08:00
rustdesk
b5935eb4c5 fix ci 2024-05-03 16:12:36 +08:00
rustdesk
73b3023c2d do not run ci if update res/ 2024-05-03 14:37:01 +08:00
21pages
4cf709fc26 update hwcodec, build linux ffmpeg lib on ubuntu 18 (#7897)
* Build linux ffmpeg lib on ubuntu 18 container
* Fix ffmpeg ram nvnec not work if the display connected to nvidia gpu
  is not the primary display
* Fix windows mfx lib link error if vram feature is not enabled.

Signed-off-by: 21pages <pages21@163.com>
2024-05-03 13:05:21 +08:00
rustdesk
b471b934f2 fix service unit again 2024-05-03 04:51:01 +08:00
rustdesk
abbd4c8934 fix ci 2024-05-03 03:24:22 +08:00
rustdesk
ed8c852d35 fix ci 2024-05-03 03:12:47 +08:00
rustdesk
c3598b3513 fix ci 2024-05-03 02:57:24 +08:00
rustdesk
b5f6a9c91a fix one flatpak feature missing 2024-05-03 02:52:41 +08:00
rustdesk
d18810b612 fix appimage --cm 2024-05-03 02:13:44 +08:00
rustdesk
3c17d713b3 try out APPIMAGE and ARGV0 2024-05-03 01:50:58 +08:00
flusheDData
d46b2d52ce New terms (#7894)
* Update es.rs

New terms added

* Update es.rs

A slight correction
2024-05-03 01:40:02 +08:00
rustdesk
e07d0b3b25 refactor 2024-05-03 00:42:20 +08:00
rustdesk
2ff3b24b33 fix --server not killed after service stop or uninstallation 2024-05-03 00:36:29 +08:00
rustdesk
115fb05c85 SPA_PLUGIN_DIR works for finding support/libspa-support.so, I tested
manually, though crash because used spa0.2
2024-05-02 22:41:13 +08:00
rustdesk
1e7e72883d fix libspa-support.so 2024-05-02 20:50:06 +08:00
rustdesk
1edb7639f6 try libspa-support again 2024-05-02 20:35:09 +08:00
rustdesk
33c5ceecec pibpipewire-0.2-1 2024-05-02 19:47:56 +08:00
rustdesk
a8a7f306fe fix ci 2024-05-02 19:32:53 +08:00
rustdesk
9888e51b93 fix ci 2024-05-02 19:32:00 +08:00
rustdesk
c3124314ef try to fix libspa-support.so not found in arm64 appimage when connection
started
2024-05-02 18:47:39 +08:00
rustdesk
975cd183bc fix ci 2024-05-02 18:19:36 +08:00
rustdesk
aa9da0b0c8 fix ci 2024-05-02 18:14:42 +08:00
rustdesk
d83b106607 fix ci 2024-05-02 17:12:05 +08:00
rustdesk
1a0a6cedc7 fix ci 2024-05-02 17:06:50 +08:00
rustdesk
d4e1a83a5a fix ci 2024-05-02 17:06:01 +08:00
rustdesk
03e93d546a fix ci 2024-05-02 17:03:20 +08:00
rustdesk
a1b957b0f7 fix ci 2024-05-02 16:51:37 +08:00
rustdesk
eeffb11841 fix ci 2024-05-02 16:50:11 +08:00
rustdesk
860dc7dbc2 fix ci, we have no arm64 makepkg image 2024-05-02 16:02:22 +08:00
rustdesk
220f267976 no need to publish deb in unsigned any more since we removed
appimage/flatpak/headless feature
2024-05-02 15:28:04 +08:00
rustdesk
b5bd6e008b fix ci 2024-05-02 14:57:17 +08:00
rustdesk
9d20bc6441 fix ci 2024-05-02 14:23:59 +08:00
rustdesk
1c36734092 fix ci 2024-05-02 14:23:27 +08:00
rustdesk
9102b6e6b8 fix ci 2024-05-02 13:54:09 +08:00
rustdesk
cd78fa9762 fix ci 2024-05-02 13:46:01 +08:00
rustdesk
407e2d4b7b fix ci 2024-05-02 13:45:14 +08:00
rustdesk
62d6ee46c4 fix ci 2024-05-02 13:36:48 +08:00
21pages
f15bf8166f fix visibilty of address book menu divider (#7890)
* fix visibilty of address book menu divider

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

* update hwcodec, fix nvenc use d3d11 without judging windows or linux

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-05-02 13:24:33 +08:00
rustdesk
7ce0b225ef remove linux_headless/appimage/flatpak feature 2024-05-02 13:23:32 +08:00
21pages
f853b29fd9 fix list type peer view (#7887)
* Layout list type peer view with layout rather than calculated width
* Hide menu sync from recent and web console if no write permission
* Pull ab twice because it's force updated when refreshCurrentUser is called on startup and
  connection status changing
2024-05-01 23:38:39 +08:00
rustdesk
f9cc8de93e fix ci 2024-05-01 21:42:21 +08:00
rustdesk
a924a876ae fix app name refactor 2024-05-01 21:29:11 +08:00
rustdesk
1f15d2c66e also --disable-flutter-texture-render for mac arm 2024-05-01 20:49:10 +08:00
rustdesk
ffd8354208 optimize ci 2024-05-01 19:40:30 +08:00
21pages
b3b1f4664c update hwcodec, fix wrong linux-x86_64 ffmpeg lib (#7883)
Signed-off-by: 21pages <pages21@163.com>
2024-05-01 19:15:21 +08:00
rustdesk
03410ded9a fix ci 2024-05-01 18:53:50 +08:00
rustdesk
09c9671376 fix ci 2024-05-01 16:38:04 +08:00
rustdesk
736b3b93e9 r26b -> r26d 2024-05-01 14:52:02 +08:00
rustdesk
4a71ca6b81 fix ci 2024-05-01 14:23:08 +08:00
RustDesk
a828f9b1f9 Update build-macos-arm64.yml 2024-05-01 14:06:44 +08:00
rustdesk
7ce5f8e8b6 fix ci 2024-05-01 13:05:50 +08:00
rustdesk
08b7e036b4 test vcpkg new in android 2024-05-01 12:58:27 +08:00
rustdesk
b1722a085e fix ci 2024-05-01 12:35:58 +08:00
rustdesk
9d985585b9 test android ci 2024-05-01 12:25:53 +08:00
rustdesk
de057b7234 enable makepkg for aarch64 2024-05-01 10:35:19 +08:00
rustdesk
04ec49e18e change to jobs 3 for selfhost linux arm 2024-05-01 10:20:44 +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
rustdesk
f74374e759 refactor ci 2024-04-30 23:19:59 +08:00
rustdesk
cce74f5631 fix ci 2024-04-30 23:14:37 +08:00
fufesou
003b9e48e1 fix: macos, crash, key input. --server also has UI. (#7878)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-30 22:53:42 +08:00
rustdesk
28bf73cd5a disable flutter texture render of osx intel 2024-04-30 22:50:59 +08:00
rustdesk
511b982dce --jobs=1 for arm64 linux selfhost 2024-04-30 22:42:09 +08:00
fufesou
dcd176f95c fix: keyboard input method, for flutter input (#7875)
* fix: keyboard input method, for flutter input

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

* comment

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-30 21:06:24 +08:00
fufesou
d394aa8a15 feat: msi reg QuietUninstallString (#7873)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-30 17:42:28 +08:00
rustdesk
c8b35d5ce1 fix ci 2024-04-30 16:27:44 +08:00
fufesou
6cd107c3e3 Fix/msi service (#7872)
* refact: msi service, shell execute control

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

* fix: msi, skip adding rules when uninstalling

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

* line indentation

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-30 15:57:12 +08:00
rustdesk
a884e32816 fix ci 2024-04-30 15:50:02 +08:00
rustdesk
45d2d3cbb5 refactor unsigned to prepare for flathub 2024-04-30 15:47:36 +08:00
rustdesk
382f75d249 shorten github ci time 2024-04-30 12:55:08 +08:00
rustdesk
e90010f0c0 no flatpak build for no upload 2024-04-30 12:44:10 +08:00
rustdesk
d6aaed1d82 fix ci 2024-04-30 12:03:53 +08:00
rustdesk
5082ed3b9e test flatpak arm64 2024-04-30 12:02:20 +08:00
rustdesk
a858e07db0 try out newer flatpak since error of "error: Nothing matches org.freedesktop.Platform in remote flathub" 2024-04-30 11:58:48 +08:00
rustdesk
df8f785731 rename some ci 2024-04-30 09:16:22 +08:00
rustdesk
332674a4a1 refactor linux build ci 2024-04-30 09:08:32 +08:00
fufesou
a686849bb6 fix: msi, delete service (#7867)
* fix: msi, delete service

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

* refact: msi, replace 1060 to ERROR_SERVICE_DOES_NOT_EXIST

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-30 08:21:34 +08:00
rustdesk
54d041701c print dlopen error 2024-04-29 18:00:34 +08:00
rustdesk
496eec17a1 add libc6:arm64 to same to x64 2024-04-29 15:43:57 +08:00
rustdesk
25eb67c582 try out ubuntu 20.04 for appimage arm64 2024-04-29 15:40:55 +08:00
XLion
a26fab3cce Update translation (#7861) 2024-04-29 14:42:26 +08:00
Mateusz Prais
7cb67cf8fb Add missing translations, improve wording and fix typos (#7860) 2024-04-29 11:26:46 +08:00
rustdesk
96ec1e937f libnsl.so.1 is included in libc6(already added), but it did not work, we
still need to install libnsl in fedora, however, installing libnsl on
x64 works, but on arm64 crashed (though no librustdesk.so any more)
2024-04-28 23:06:37 +08:00
rustdesk
b6616ed2cc change to libnsl 2024-04-28 21:12:04 +08:00
rustdesk
7e263af75f VideoConnCount for future use 2024-04-28 21:08:49 +08:00
rustdesk
b4c51f3d41 add libnsl2 for fedora 40 2024-04-28 20:24:39 +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
21pages
bd717349a7 update hwcodec, fix screen jitter (#7857)
Signed-off-by: 21pages <pages21@163.com>
2024-04-28 13:26:55 +08:00
rustdesk
99d7752e25 try libcanberra-gtk3-module 2024-04-28 12:58:15 +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
rustdesk
30ad142868 change to github m1 instead of selfhost m1 2024-04-28 12:14:00 +08:00
rustdesk
e084ff4f7b x64 mac 2024-04-28 11:43:53 +08:00
rustdesk
3bbec4081a add gtk modules 2024-04-28 10:44:14 +08:00
21pages
45137d5506 fix switch to setting page (#7849)
Signed-off-by: 21pages <pages21@163.com>
2024-04-27 23:24:07 +08:00
21pages
e9d9a656ab fix mouse wheel scroll up not work when controlling mac hidpi (#7848)
Signed-off-by: 21pages <pages21@163.com>
2024-04-27 17:31:35 +08:00
jxdv
ade458b820 update cs.rs (#7847) 2024-04-27 16:42:17 +08:00
jxdv
b022dcbb70 update sk.rs (#7846) 2024-04-27 16:40:24 +08:00
fufesou
b403a7a25d fix: scroll percent is auto reset after detecting displays change (#7845)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-27 15:01:21 +08:00
fufesou
a6632632fa fix: multi-window, click-move (#7844)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-27 13:45:44 +08:00
bovirus
b863ea51ad Update Italian language (#7838) 2024-04-27 13:13:21 +08:00
fufesou
796b66b057 fix: multi-window, init perms (#7839)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-26 22:34:11 +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
rustdesk
105a758914 disable flutter build of ios, since ios sdk not installed yet 2024-04-26 19:16:52 +08:00
rustdesk
98cce186c7 fix ci 2024-04-26 19:07:16 +08:00
rustdesk
474e13f8b9 move ios ci to arm64 mac 2024-04-26 19:00:38 +08:00
rustdesk
09f87238dc vcpkg -> FLUTTER_ELINUX_COMMIT_ID, and remove FLUTTER_ELINUX_COMMIT 2024-04-26 18:15:16 +08:00
fufesou
2b3f87d6f2 fix: msi, custom client, license (#7834)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-26 13:49:53 +08:00
LelieL91
9d3c823603 Update it.rs (#7833)
Fix typo
2024-04-26 11:57:26 +08:00
Kleofass
7e00d70f4d Update lv.rs (#7832) 2024-04-26 11:57:15 +08:00
Mr-Update
0828f747e3 Update de.rs (#7831) 2024-04-26 11:57:05 +08:00
rustdesk
d7de0c2578 improe job 2024-04-26 11:54:31 +08:00
fufesou
4dfc82f684 fix: msi, app icon (#7830)
* fix: msi, app icon

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

* refact: check if icon.ico exists

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-25 22:35:51 +08:00
solokot
92748de7d4 Update ru.rs (#7827) 2024-04-25 20:17:25 +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
FastAct
23147f2328 Update nl.rs (#7824) 2024-04-25 19:04: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
whosehang
66d1af63b0 chore: fix some typos in comments (#7814)
Signed-off-by: whosehang <whosehang@outlook.com>
2024-04-24 14:16:19 +08:00
Cong Zhang
bc68f400f6 fix: add support for headless in docker (#7811) 2024-04-24 09:47:45 +08:00
rustdesk
67ee3a5a67 refresh_process_specifics 2024-04-23 20:26:21 +08:00
fufesou
b407893db5 refact: win idd, x86 on x64 (#7796)
* refact: win idd, x86 on x64

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

* comments

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

* typo

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

* refact: win idd, check if x64 and deviceinstaller64 exits

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

* refact: win idd

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

* refact: win idd, add logs

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-23 17:00:41 +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
rustdesk
f11c332cb4 continue to remove --service runtime 2024-04-23 13:52:36 +08:00
flusheDData
3b4006b821 New terms added (#7797)
* Update es.rs

tip translation added

* Update es.rs
2024-04-22 23:01:00 +08:00
rustdesk
4c62d8c1b2 optimize runtime performance of macOS --service 2024-04-22 21:31:53 +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
ad062486ff Fix/win query arch (#7786)
* fix: win, query arch with GetNativeSystemInfo

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

* refact: idd, ci

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-21 14:55:42 +08:00
Kleofass
33c8bdfabf Update lv.rs (#7784) 2024-04-21 14:53:22 +08:00
rustdesk
0365c94407 remove IsWow64Process2 2024-04-20 19:24:44 +08:00
rustdesk
c81c4f9114 visual studio 2019 -> 2022 2024-04-20 18:20:09 +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
jxdv
d4a1d4cd7e update cs.rs (#7780) 2024-04-20 11:31:07 +08:00
jxdv
8a6d9a1496 update sk.rs (#7779) 2024-04-20 11:30:57 +08:00
Mr-Update
a8eefbc9f0 Update de.rs (#7778) 2024-04-20 11:30:48 +08:00
bovirus
75521fe363 Update Italian language (#7776) 2024-04-20 11:30:38 +08:00
fufesou
c75778943f refact: msi, version and build date, check (#7775)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-19 18:16:07 +08:00
solokot
0e6fa37ae4 Update ru.rs (#7771) 2024-04-19 17:58:06 +08:00
fufesou
819eea9456 refact: msi (#7774)
* refact: msi

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

* Remove unused coment

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-19 17:57:04 +08:00
rustdesk
25eb8dc9b0 typo 2024-04-19 14:35:50 +08:00
rustdesk
40067f5aa2 no countdown in scam warning of android for custom build 2024-04-19 13:49:45 +08:00
rustdesk
1ffc10e44f flutter 19.6 2024-04-19 13:25:02 +08:00
21pages
5d5547ffef put andriod custom client logo to settings section list (#7768)
Signed-off-by: 21pages <pages21@163.com>
2024-04-19 12:44:52 +08:00
fufesou
e83c28bf54 refact: win, virtual display (#7767)
* refact: win, virtual display

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

* Update flutter-build.yml

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-04-19 11:31:52 +08:00
fufesou
a3c0911529 fix: msi, explicit wide char api (#7764)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-19 00:47:13 +08:00
rustdesk
ae23f0de03 Improve android threading, https://github.com/rustdesk/rustdesk/issues/4118#issuecomment-1515666629
todo: should we add some condition to assure imageReader not be closed
while callback is running?
2024-04-18 22:38:32 +08:00
rustdesk
edb5529df3 flutter_icons does not generate mipmap-ldpi, so I drop it also 2024-04-18 17:32:15 +08:00
21pages
4d3fb77786 remove hwcodec for sciter armv7 (#7753)
Signed-off-by: 21pages <pages21@163.com>
2024-04-18 16:19:29 +08:00
rustdesk
24ac7c1626 remove google-services.json 2024-04-18 15:23:12 +08:00
writegr
9b2ec62be9 chore: fix some typos in comments (#7752)
Signed-off-by: writegr <wellweek@outlook.com>
2024-04-18 14:39:38 +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
4e8cbe3db1 buildPresetPasswordWarning for android 2024-04-17 22:01:09 +08:00
rustdesk
bdf8bbe26f custom android 2024-04-17 12:49:25 +08:00
Kleofass
990c05fc3d Update lv.rs (#7745) 2024-04-17 10:20:31 +08:00
rustdesk
7bb4e22a77 fix ci 2024-04-16 22:53:01 +08:00
rustdesk
736503df1b fix ci 2024-04-16 22:38:47 +08:00
rustdesk
414455a8fb fix ci 2024-04-16 22:25:10 +08:00
rustdesk
bc0ab88e74 do not load empty custom_client_config 2024-04-16 22:17:05 +08:00
rustdesk
01ec539065 load android custom client for jvm startServer 2024-04-16 21:46:54 +08:00
rustdesk
b9792fc17d bridge rust version 2024-04-16 20:18:17 +08:00
rustdesk
c656c3c087 typo 2024-04-16 18:46:46 +08:00
rustdesk
a6c1d2d486 customClientConfig in dart 2024-04-16 18:42:35 +08:00
rustdesk
44bce59777 more java_ffi_FFI 2024-04-16 18:22:36 +08:00
fufesou
9b5e5aa474 fix: Msi custom app, different component guids (#7738)
* fix: Msi custom app, different component guids

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

* fix: msi, update readme

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-16 14:12:39 +08:00
fufesou
a5d02998ad Fix. Msi, remove RustDesk words (#7732)
* Fix. Msi, remove RustDesk words

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

* Fix. Replace RustDesk in langs

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-16 13:09:20 +08:00
flusheDData
1d4c129e9c Update es.rs (#7733)
tip translation added
2024-04-16 11:10:31 +08:00
rustdesk
e9a6ca8ebc typo 2024-04-15 21:19:46 +08:00
rustdesk
28340c80dd fix me 2024-04-15 15:58:07 +08:00
rustdesk
05f6fde467 ffi.RustDesk -> ffi.FFI 2024-04-15 15:49:37 +08:00
rustdesk
56d353cb64 fix me 2024-04-15 15:39:25 +08:00
rustdesk
260d0cdc67 fix me 2024-04-15 15:37:33 +08:00
rustdesk
cdd92303b8 refactor android ffi 2024-04-15 15:20:27 +08:00
alewicki95
0dba37f4f7 Update pl.rs (#7723) 2024-04-15 11:13:32 +08:00
jxdv
7f3775a061 update system2 (#7722) 2024-04-15 00:52:27 +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
fufesou
5166083406 Fix. Msi, reg add SoftwareSASGeneration (#7708)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-14 21:03:51 +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
rustdesk
71c4d74759 fix typo 2024-04-13 14:43:27 +08:00
Mr-Update
725e8221a5 Update de.rs (#7712) 2024-04-13 13:12:40 +08:00
jxdv
92ae41cc13 update cs.rs (#7711) 2024-04-13 13:12:31 +08:00
jxdv
333b9130fe update sk.rs (#7710) 2024-04-13 13:12:20 +08:00
fufesou
60ae903cf3 Fix. Msi, reg values in HKCR (#7709)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-13 13:11:50 +08:00
fufesou
24ea55b010 Fix. Msi, firewall outbound profile (#7704)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-12 18:44:18 +08:00
fufesou
8231d07706 Fix. Msi. Terminate brokers. (#7693)
* Fix. Msi. Terminate brokers.

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

* Fix. Msi, remove tray shortcut in startmenu

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

* Msi. format

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

* Feat. Msi, set property

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

* Fix. Mis, only do InstallValidate if is Install

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-12 17:42:26 +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
fufesou
6e3d16173a Fix. Mis, do not InstallValidate when uninstall (#7692)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-11 23:27:09 +08:00
FastAct
a88b189664 Update nl.rs (#7691) 2024-04-11 20:42:21 +08:00
fufesou
48da00eb66 Fix. Msi, error 5 on uninstall (#7690)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-11 20:41:23 +08:00
RustDesk
5322332c5d Update flutter-build.yml 2024-04-11 20:23:08 +08:00
fufesou
c92cfbb20a Fix. Github ci (#7689)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-11 19:26:29 +08:00
fufesou
f673647072 Feat/msi (#7688)
* Feat. Msi, check is self-installed

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

* Feat. Msi.

1. Check if is self-installation.
2. Add firewall rule by custom action.

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

* Feat. Msi, github ci

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

* Feat. Msi, github ci

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

* Feat. Msi, github ci

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

* Feat. Msi, refact preprocess.py

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

* Feat. Msi

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

* Trivial, renames

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-11 18:54:32 +08:00
rustdesk
7ea5a9bba3 devices.py 2024-04-11 18:39:46 +08:00
fufesou
aa002c5d60 Refact. Msi, remove unused code (#7685)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-11 12:06:10 +08:00
fufesou
64020758d9 Feat. Msi (#7684)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-11 11:51:35 +08:00
bovirus
a4f357fd80 Update Italian language (#7678) 2024-04-11 10:50:40 +08:00
XLion
4c6fdfd76a Update tw.rs (#7677) 2024-04-11 10:50:26 +08:00
Tom-Brian Garcia
c972452310 fix: do not call WakeLock on Web (mobile) (#7668)
* fix: do not call WakeLock on Web (mobile)

* fix: do not call WakeLock on Web (mobile) - replaced isMobile by !isWeb
2024-04-10 21:32:05 +08:00
Alen Bajo
6ba6a16836 Update hr.rs (#7675)
Some small things changed
2024-04-10 17:27:59 +08:00
solokot
c63f1dfc53 Update ru.rs (#7674) 2024-04-10 15:19:19 +08:00
21pages
ac79c45529 remove tooltip of main window tab, opt some tooltip by raising its hierarchy (#7672)
Signed-off-by: 21pages <pages21@163.com>
2024-04-10 14:04:12 +08:00
Integral
7f58737f1f Update cn.rs (#7669) 2024-04-10 11:00:14 +08:00
RustDesk
ead8a48436 Update lang.rs 2024-04-10 00:23:45 +08:00
rustdesk
178d33155f fix check_process for empty arg since on mac, p.cmd() get "/Applications/RustDesk.app/Contents/MacOS/RustDesk", "XPC_SERVICE_NAME=com.carriez.RustDesk_server" 2024-04-09 20:38:07 +08:00
rustdesk
07ab8e508c fix me 2024-04-09 19:48:58 +08:00
rustdesk
ea1d4adfa6 fix check_process on mac since normal user can not get system's
process's command line arguments
2024-04-09 19:33:39 +08:00
rustdesk
f34a8ef0e5 fix me 2024-04-09 19:02:17 +08:00
mehdi-song
0df4b39bcc Update fa.rs (#7662) 2024-04-09 18:37:56 +08:00
rustdesk
07eca00bd5 feat: allow-only-conn-window-open https://github.com/rustdesk/rustdesk/discussions/7033 2024-04-09 18:34:44 +08:00
rustdesk
cf8386aa50 remove useless code in is_installed windows 2024-04-09 16:33:03 +08:00
SOZEL
44de6a5549 docs: update README-VN.md (#7655) 2024-04-08 21:38:47 +08:00
RustDesk
a41a9bcbf7 Update build-macos-arm64.yml 2024-04-08 21:13:56 +08:00
RustDesk
a679fae9c0 Update build-macos-arm64.yml 2024-04-08 21:11:34 +08:00
RustDesk
0f906f3937 Update build-macos-arm64.yml 2024-04-08 21:08:40 +08:00
RustDesk
c907daa741 Update build-macos-arm64.yml 2024-04-08 21:05:19 +08:00
RustDesk
df579de147 Update build-macos-arm64.yml 2024-04-08 21:03:54 +08:00
rustdesk
e884bdbbc4 fix https://github.com/rustdesk/rustdesk/pull/7654 2024-04-08 16:41:46 +08:00
Alen Bajo
84fc70e9a9 Create hr.rs (#7654)
Croatian translation (Hrvatski)
2024-04-08 16:30:50 +08:00
BrazilianArmy
4fc5d3f03b Update ptbr.rs (#7649)
Atualização de algumas KEYS para português BR
2024-04-08 11:56:12 +08:00
fufesou
9402516acd Refact. Flutter pub upgrade web (#7648)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-07 22:03:50 +08:00
fufesou
65f7541ec7 Fix. Compare cert blob before deleting it. (#7643)
* Fix. Compare cert blob before deleting it.

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

* Rename function name

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-07 14:31:09 +08:00
rustdesk
22da14e3f7 fix https://github.com/rustdesk/rustdesk/discussions/7628, https://github.com/rustdesk/rustdesk/discussions/7490 2024-04-07 11:31:51 +08:00
fufesou
fddad09167 Refact. Remove unused memset (#7633)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-06 23:19:50 +08:00
fufesou
f36f065508 Refact. Delete check reg fingerprint (#7631)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-06 22:58:42 +08:00
21pages
0c294eefae reordered peer tab (#7604)
* reordered peer tab

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

* opt peer tab visible menu, avoid checkbox value splash

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-04-06 17:53:03 +08:00
fufesou
5a0333ddaf Feat. msi (#7610)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-06 16:30:33 +08:00
Integral
e0b9a9a82f Update cn.rs (#7614) 2024-04-06 16:29:55 +08:00
fufesou
ab07eb6f4a Fix. Remove strange cert dir created by 1.2.3 (#7620)
* Fix. Remove strange cert dir created by 1.2.3

1. Remove `install_cert()`.
2. https://github.com/rustdesk/rustdesk/discussions/6444#discussioncomment-9017532

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

* comments

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-06 16:22:59 +08:00
Yevhen Popok
bddd800769 Update Ukrainian translation (#7611)
* Update Ukrainian translation

* Update Ukrainian translation

* Update Ukrainian translation
2024-04-06 16:21:11 +08:00
fufesou
5533ebf86a Fix. Remote toolbar, keyboard mode (#7626)
Move modeOnly to the scope it is needed.
Get modeOnly everytime of dropdown menu.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-06 11:37:31 +08:00
fufesou
2397fdc495 Fix. Remote toolbar, menu refresh (#7605)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-05 09:28:35 +08:00
fufesou
129548764e fix build (#7597)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-03 22:20:56 +08:00
fufesou
ed257e39d0 Feat. msi (#7590)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-03 14:27:35 +08:00
rustdesk
33eaf2e05c bump to flutter 3.19.5 for wrong cpu instruction used in flutter 3.16 -> 3.19.4, which cause not running on some CPU 2024-04-03 14:25:09 +08:00
21pages
41d99d5108 fix forget password toast error when personal ab doesn't contain this id (#7589)
Signed-off-by: 21pages <pages21@163.com>
2024-04-02 23:18:52 +08:00
RustDesk
edefa5f786 Revert "Refact. CI, print sha256sum (#7580)" (#7587)
This reverts commit 2b20714f50.
2024-04-02 22:20:07 +08:00
21pages
d7b47b49d2 opt password sync, opt ab widgets (#7582)
* Opt sync conctrl with password source, add some comments
* For sync from recent, legacy ab remove forceRelay, rdpPort, rdpUsername,
  because it's not used, personal ab add sync hash
* Opt style of add Id dialog

Signed-off-by: 21pages <pages21@163.com>
2024-04-02 22:08:47 +08:00
fufesou
74af7ef8b2 Fix. Custom client, connection status (#7586)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-02 21:59:17 +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
db6bf547a9 Feat. msi (#7584)
* Feat. msi

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

* remove ununsed file

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-02 18:10:09 +08:00
fufesou
2b20714f50 Refact. CI, print sha256sum (#7580)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-02 15:06:37 +08:00
FastAct
cfa72ad7d1 Update nl.rs (#7581) 2024-04-02 14:47:40 +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
XLion
58fe95d6fd Uppercase API (#7577) 2024-04-02 11:44:27 +08:00
21pages
de65c8b2cf fix resolution restoration (#7572)
* Fix resolution restore. Screen resolution changes may be slow and cause errors in judgment. Remove the consideration of resolution changes caused by other processes.
* Keep the design unchange: when all connections end, revert to the resolution when there were no connections.
* Resolution menu use `scaledRect` for retina
* I can't reproduce the restoration failure of retina with 3rd software, but it maybe the same reason of slow resolution change.

Signed-off-by: 21pages <pages21@163.com>
2024-04-01 17:20:19 +08:00
rustdesk
57510980ed move pkill tray to execstop of the service for linux 2024-04-01 17:07:10 +08:00
hzhou
26a7f9dd46 kill tray in postrm of linux 2024-04-01 16:36:34 +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
fufesou
9e7137ce09 Fix. Custom resolution removed after 2rd conn (#7571)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-04-01 13:27:52 +08:00
mehdi-song
80747fc306 Update fa.rs (#7566) 2024-03-31 21:37:22 +08:00
RustDesk
0d75f71d16 Update build-macos-arm64.yml 2024-03-30 18:27:23 +08:00
RustDesk
46c2288f50 Update build-macos-arm64.yml 2024-03-30 18:09:55 +08:00
RustDesk
d76c9ad1db Update build-macos-arm64.yml 2024-03-30 17:39:44 +08:00
RustDesk
3faa18c020 Update build-macos-arm64.yml 2024-03-30 17:19:03 +08:00
RustDesk
d699496a52 Update build-macos-arm64.yml 2024-03-30 17:13:23 +08:00
RustDesk
19bf5f1a23 Update build-macos-arm64.yml 2024-03-30 17:07:34 +08:00
RustDesk
080b56a0cb Update build-macos-arm64.yml 2024-03-30 16:55:28 +08:00
fufesou
82d9b033f2 Fix. Custom client, get app name (#7562)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-30 13:39:34 +08:00
FastAct
bf6e465970 Update nl.rs (#7554) 2024-03-29 19:43:06 +08:00
fufesou
3ef9824d8e Flutter web, custom cursor (#7545)
* Flutter web, custom cursor

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

* trivial changes

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

* Flutter web, custom cursor, use date after 'updateGetKey()'

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

* trivial changes

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-29 10:52:32 +08:00
21pages
4b0e88ce46 fix not saving cache after changing current address book (#7544)
and get address book mode from cache

Signed-off-by: 21pages <pages21@163.com>
2024-03-28 20:50:53 +08:00
21pages
0c32a889a9 fix ab cache not work, set current ab name after load cache (#7542)
Signed-off-by: 21pages <pages21@163.com>
2024-03-28 19:37:25 +08:00
rustdesk
6186b41e3f modify comment 2024-03-28 11:52:43 +08:00
fufesou
6e44a91d0b Refact. Flutter web desktop (#7539)
* Refact. Flutter web desktop

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

* Flutter web, prevent default context menu

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-28 11:38:11 +08:00
fufesou
810b980e6b Try fix, click tray icon, run main window (#7540)
* Try fix, click tray icon, run main window

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

* Remove start uni link on Windows, use 'run_me' instead

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-28 11:14:03 +08:00
21pages
22356940d9 ab show loading LinearProgressIndicator (#7538)
* Display the LinearProgressIndicator at the top of ab if the current ab is both empty and in a loading state.
* Add pull error like the legacy ab.
* When forcefully reading the 'ab' list, retrieve the personal ab guid to judge the current mode  to prevent server upgrades while the main window remains open

Signed-off-by: 21pages <pages21@163.com>
2024-03-27 21:28:21 +08:00
21pages
cc30f7aa02 handle boot args if initialLink is empty (#7537)
Signed-off-by: 21pages <pages21@163.com>
2024-03-27 15:51:30 +08:00
RustDesk
6e689400b6 Revert "macos support uni command "rustdesk rustdesk://xxxx" without mainwind…" (#7536)
This reverts commit 50fbf8833b.
2024-03-27 14:24:14 +08:00
21pages
50fbf8833b macos support uni command "rustdesk rustdesk://xxxx" without mainwindow (#7534)
Signed-off-by: 21pages <pages21@163.com>
2024-03-27 13:42:50 +08:00
fufesou
d7137990b9 Refact. Flutter web, peer cards (#7525)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-27 11:26:29 +08:00
flusheDData
8ecc107c06 New terms added (#7526)
* Update es.rs

New terms added

* Update es.rs

mistype correction

* Update es.rs

New term added

* Update es.rs

New terms added

* Update es.rs

New terms added

* Update es.rs

New terms added
2024-03-27 11:26:11 +08:00
rustdesk
1fa3837bb0 revert back to async_trait since having to use 1.75 because of win7
support
2024-03-27 03:36:33 +08:00
rustdesk
5aec5b084a refactor --service/--server start time check (my stupid to restart
--server)
2024-03-27 03:02:36 +08:00
rustdesk
b77add97db change to nightly-2023-10-13, the day of 1.2.3 2024-03-27 02:22:38 +08:00
rustdesk
b306d808fb change to nightly-2023-12-28, the day of 1.75.0 2024-03-27 02:13:25 +08:00
rustdesk
1729c3f76d have to use nightly for win32 2024-03-27 02:05:54 +08:00
rustdesk
2eb591391e fix ci 2024-03-27 01:48:34 +08:00
rustdesk
075194fea8 x86 rust toolchain 2024-03-27 01:45:17 +08:00
rustdesk
28b376d2d2 stick to rust 1.75 for win7/8, https://github.com/rustdesk/rustdesk/discussions/7503 2024-03-27 01:33:01 +08:00
crazeteam
4f3de4cf54 chore: fix some typos (#7518)
Signed-off-by: crazeteam <lilujing@outlook.com>
2024-03-27 01:08:56 +08:00
rustdesk
85f387bfb9 improve https://github.com/rustdesk/rustdesk/discussions/5631#discussioncomment-8916273 2024-03-27 00:38:13 +08:00
rustdesk
81aec8402b Temp solution for https://github.com/rustdesk/rustdesk/discussions/5631 2024-03-26 22:31:58 +08:00
rustdesk
d407dfed0a remove main.cc since not found the way to code sign it since g++ no ENABLE_HARDENED_RUNTIME 2024-03-26 21:27:02 +08:00
rustdesk
dcd4d0886e Close -> "Toggle tags" 2024-03-26 16:57:29 +08:00
rustdesk
9ad240951e fix uni link when mac service started, by use
applicationShouldOpenUntitledFile delegate
2024-03-26 14:11:02 +08:00
fufesou
e86d4657da Refact. Flutter web, key input (#7511)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-26 10:45:06 +08:00
rustdesk
d36e33a7cf rustdesk -> RustDesk in agent/daemon process since in App, the exe is
RustDesk rather than lowercase
2024-03-25 21:18:45 +08:00
21pages
376bcefc14 fix peer tab Tooltip persist via move it up (#7510)
Signed-off-by: 21pages <pages21@163.com>
2024-03-25 20:58:55 +08:00
21pages
c0c110fe7e opt pull ab (#7509)
* get ab settings only on new mode
* avoid pull dummpy current ab if list not initialized

Signed-off-by: 21pages <pages21@163.com>
2024-03-25 20:38:26 +08:00
rustdesk
3dc6e576df check isDisableAccount and isDisableAb before pull ab / group 2024-03-25 20:14:34 +08:00
21pages
49f717fcf8 opt pull ab (#7508)
1. Test legacy/new mode only upon logging out.
2. Avoid pulling all data unnecessarily:
* On startup: Retrieve list, current, and personal data.
* On refresh: Retrieve list and current data.
* On changing AB/switching tabs: Attempt to pull current data if not initialized.
3. Cache only personal and current AB.
4. Synchronize current AB from recent.
5. Remove AB loading CircularProgressIndicator.

Signed-off-by: 21pages <pages21@163.com>
2024-03-25 19:59:21 +08:00
rustdesk
00152e0db4 upload unsigned dmg since tar.gz does not work app failure 2024-03-25 15:43:18 +08:00
rustdesk
1964203848 fix unsigned mac 2024-03-25 15:04:34 +08:00
rustdesk
495444abd0 fix ci 2024-03-25 12:28:27 +08:00
rustdesk
09ec0b6325 fix https://github.com/rustdesk/rustdesk/discussions/7501 2024-03-25 12:15:51 +08:00
rustdesk
cad0f15a83 fix ci 2024-03-25 12:06:49 +08:00
rustdesk
b087dcd328 upload unsigned macos app 2024-03-25 11:21:01 +08:00
fufesou
8dff263a0c Refact. Flutter web, mid commit (#7502)
* Refact. Flutter web, mid commit

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

* Refact. Flutter web, mid commit

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-25 10:47:53 +08:00
XLion
d546b23bd8 Update translation (#7500) 2024-03-25 10:45:06 +08:00
solokot
bb9400745e Update ru.rs (#7496) 2024-03-25 10:43:01 +08:00
rustdesk
30f84e78e1 fix custom tray of mac 2024-03-24 22:17:40 +08:00
rustdesk
30af020ba8 fix config::is_incoming_only 2024-03-24 20:28:27 +08:00
rustdesk
ef27cd6c5c custom.txt and tray for mac 2024-03-24 20:09:37 +08:00
rustdesk
770289cd67 replace Assets.xcassets/AppIcon.appiconset with AppIcon.icns for custom
client
2024-03-24 15:23:24 +08:00
rustdesk
25b5c96648 remove default create-dmg in build.py 2024-03-24 14:04:05 +08:00
fufesou
85cafda168 Refact. Flutter web, mid commit (#7494)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-24 11:23:06 +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
fufesou
dd90e84f6a Fix. Peer tab, match name and icon (#7489)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-23 22:23:30 +08:00
rustdesk
05969c2f99 Hostname -> Server 2024-03-23 17:10:52 +08:00
fufesou
05ef1c3924 Feat. ci web (#7486)
* Feat. ci web

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

* Update README.md

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-23 14:28:25 +08:00
fufesou
8018920a64 Fix. Platform is MacOS and is Linux (#7485)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-23 10:27:17 +08:00
21pages
dcb7e389eb opt sytle of ab name (#7484)
Signed-off-by: 21pages <pages21@163.com>
2024-03-23 10:10:22 +08:00
fufesou
a15cd62fd4 Refact. Flutter web, mid commit (#7482)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-23 10:08:55 +08:00
rustdesk
1c3a2e475d safer handle_intranet 2024-03-23 00:56:18 +08:00
FastAct
83c45d772f Update nl.rs (#7475) 2024-03-22 23:36:59 +08:00
21pages
96c8d4de6a fix restore ab afer pullAb (#7480)
* Opt ab name drop downdrop, more width

Signed-off-by: 21pages <pages21@163.com>
2024-03-22 23:32:59 +08:00
fufesou
9558974080 Refact. Build flutter web (#7472)
* Refact. Build flutter web

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

* Refact. Flutter web, wrap Platform.xx

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-22 13:16:37 +08:00
21pages
285e298a8b fix ab tag flashing when refreshing (#7471)
* opt isFull, fix web console menu

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

* fix ab tag flashing when refreshing

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-03-22 11:02:22 +08:00
jxdv
57b17b1798 update cs.rs (#7467) 2024-03-22 09:53:37 +08:00
jxdv
7e13642098 update sk.rs (#7466)
* update sk.rs

* update pw warn
2024-03-22 09:53:21 +08:00
Mr-Update
26b5f53b12 Update de.rs (#7461) 2024-03-22 09:52:33 +08:00
bovirus
896b321cdc Italian language update (#7462) 2024-03-22 09:52:02 +08:00
Kleofass
4115a5936c Update lv.rs (#7460) 2024-03-22 09:51:46 +08:00
FastAct
0e0cf7df09 Update nl.rs (#7459) 2024-03-21 16:59:02 +08:00
21pages
0c232be0c4 opt web console menu text (#7452)
Signed-off-by: 21pages <pages21@163.com>
2024-03-21 14:44:13 +08:00
21pages
67bc26ed57 remove address book operation code, as it duplicates the the functionality of web console (#7451)
Signed-off-by: 21pages <pages21@163.com>
2024-03-21 14:01:18 +08:00
rustdesk
f421a14659 fix lang 2024-03-21 11:18:48 +08:00
RustDesk
81b74cf46c Update README.md 2024-03-21 11:17:09 +08:00
solokot
b1a3ce323b Update ru.rs (#7442) 2024-03-21 10:12:47 +08:00
Kleofass
1f58826444 Update lv.rs (#7440) 2024-03-21 10:12:33 +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
Daniel Marschall
a2e1647faa Update de.rs (#7447)
* Update de.rs

* Update de.rs
2024-03-21 10:08:43 +08:00
21pages
4e060203ad ab share rules, use user/group name rather than level (#7443)
Signed-off-by: 21pages <pages21@163.com>
2024-03-21 07:23:08 +08:00
RustDesk
0540e2cf6c Revert "missing quotes around MACOS_CODESIGN_IDENTIRY (#7416)" (#7438)
This reverts commit 794d3ffcac.
2024-03-20 21:20:39 +08:00
rustdesk
21e4679b6c improve tfa 2024-03-20 20:00:29 +08:00
RustDesk
8b9728b40b Revert "Fix how 2FA codes are verified (#7429)" (#7436)
This reverts commit e0739709e7.
2024-03-20 19:54:47 +08:00
p0358
e0739709e7 Fix how 2FA codes are verified (#7429)
Signed-off-by: p0358 <p0358@users.noreply.github.com>
2024-03-20 19:50:55 +08:00
21pages
41da6d552f shared address book (#7229)
Signed-off-by: 21pages <pages21@163.com>
2024-03-20 15:05:54 +08:00
solokot
ecb70b43df Update ru.rs (#7433) 2024-03-20 11:28:10 +08:00
FastAct
b2290f5b4c Update nl.rs (#7426) 2024-03-19 18:53:35 +08:00
Lee Jong Mun
c6f415e9df kor translation update (#7424) 2024-03-19 18:53:08 +08:00
XLion
3f7d622512 Small fix for langs (#7418) 2024-03-19 18:52:36 +08:00
Ronan LE MEILLAT
794d3ffcac missing quotes around MACOS_CODESIGN_IDENTIRY (#7416) 2024-03-19 18:51:33 +08:00
RustDesk
ee2f87ef32 Update build-macos-arm64.yml 2024-03-17 11:28:12 +08:00
rustdesk
87da2a165d fix ci 2024-03-17 11:20:25 +08:00
rustdesk
130deb8e22 add build arm64 macos 2024-03-17 11:17:23 +08:00
rustdesk
b65d65cb12 fix ci 2024-03-17 00:56:59 +08:00
Kleofass
3caa5776c8 Update lv.rs (#7408) 2024-03-16 22:38:08 +08:00
rustdesk
6cbbb6498f init_log once 2024-03-16 22:20:50 +08:00
rustdesk
fb12ee7f2a fix loadLogo 2024-03-16 21:55:21 +08:00
bovirus
48842b6f2a Update Italian language (#7407) 2024-03-16 17:41:26 +08:00
fufesou
fc90526258 Fix. Custom client, maxmize of incoming only (#7406)
* Fix. Custom client, maxmize of incoming only

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

* format

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-16 17:33:58 +08:00
fufesou
efd1f24ab2 Fix. Custom client, ui bugs (#7405)
* Fix. Custom client, ui bugs

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

* trivial

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-16 15:37:23 +08:00
rustdesk
0808672b6e modify warn 2024-03-16 11:59:12 +08:00
rustdesk
fe0de47805 preset password warning 2024-03-16 11:52:48 +08:00
jxdv
ccf5b0ef53 update cs.rs (#7404) 2024-03-16 10:13:12 +08:00
jxdv
218f4872b8 update sk.rs (#7403) 2024-03-16 10:12:12 +08:00
rustdesk
077569dd5d better option save 2024-03-16 01:51:16 +08:00
rustdesk
a3f79065c5 better error handle in job.py 2024-03-16 00:30:30 +08:00
rustdesk
fbfcf862cb add divider of statusbar back and add quit button for qs 2024-03-16 00:24:18 +08:00
RustDesk
7307b84dad Update flutter-build.yml 2024-03-15 23:36:03 +08:00
Daniel Marschall
6b15a9b6d2 Made censoring in screenshot nicer (Fixes #7398) (#7399) 2024-03-15 22:20:43 +08:00
fufesou
e3420fd563 Refact. Linux, x11, user --server (#7400)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-15 22:18:14 +08:00
RustDesk
31120f51c9 Update flutter-build.yml 2024-03-15 18:07:17 +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
fufesou
8e5fbc8480 Fix. Use rounded (seconds) timestamp for test (#7394)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-15 14:24:22 +08:00
bovirus
cdea968c24 Add files via upload (#7393)
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-15 10:19:46 +08:00
DeDuplicate
a6aabed6a1 add hebrew translation (#7391)
* add hebrew translation

* Update lang.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-15 10:18:08 +08:00
Mr-Update
cde235896f Update de.rs (#7390)
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-15 10:16:24 +08:00
jxdv
ca48aaf5ee update cs.rs (#7388)
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-15 10:14:44 +08:00
jxdv
8a705a6a9a update sk.rs (#7387)
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-15 10:14:03 +08:00
rustdesk
b3adbc1110 move outgoing_only_desk_tip to end 2024-03-15 10:12:58 +08:00
rustdesk
2bbc13ccf6 adjust logo and statusbar 2024-03-15 09:04:49 +08:00
fufesou
411384f0e7 Fix. MacOS, incoming only, restore pos (#7392)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-15 08:42:41 +08:00
rustdesk
a9b0bc0409 fix some minors of custom client 2024-03-15 00:26:53 +08:00
shuangcui
228582296c chore: remove repetitive word (#7386)
Signed-off-by: shuangcui <fliter@qq.com>
2024-03-14 21:36:55 +08:00
XLion
d67108cd20 Update translation (#7385)
Add translation for tw and add `to` to the sentence to make it more clear.
2024-03-14 21:33:08 +08:00
rustdesk
175f185cb1 fix https://github.com/rustdesk/rustdesk/discussions/7381 2024-03-14 20:38:57 +08:00
rustdesk
56f27ec356 fix ci 2024-03-14 11:45:16 +08:00
fufesou
5253d67e04 Fix/custom client styles (#7373)
* Fix. qs styles

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

* custom client, options

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

* Move logo.svg to icon.svg

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

* Refact. Custom client, connection status ui.

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

* Custom client ui. Disable settings, hide "Change password"

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

* Custom client, logo align center

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

* Custom client, refact, outgoing ui

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

* Custom client, outgoing, settings icon

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

* Custom client, powered by RustDesk

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

* Custom client, remove unused SizeBox

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

* Update config.rs

* Update flutter_ffi.rs

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-03-14 11:36:14 +08:00
rustdesk
a314f59db9 fix https://github.com/rustdesk/rustdesk/issues/7377 2024-03-14 11:03:47 +08:00
rustdesk
da4e268e63 fix job 2024-03-14 06:59:56 +08:00
XLion
c186378d43 Correct copyright year (#7375)
* Correct copyright year

* Correct name
2024-03-13 21:12:04 +08:00
rustdesk
482bb5f64f fix CI 2024-03-13 09:41:28 +08:00
n-connect
3c1492e9bc Update hu.rs - fixing ID Server and others (#7366)
After a failed client setup in Network settings - due to wrong translation
2024-03-12 23:19:23 +08:00
rustdesk
be301b825f load tray icon from asset 2024-03-12 22:13:28 +08:00
rustdesk
fc875f7ad6 more on custom client 2024-03-12 21:47:29 +08:00
rustdesk
f644053811 fix hostname for mac 2024-03-11 01:36:43 +08:00
rustdesk
c0e5e78d2b no sign for build ci 2024-03-10 15:49:07 +08:00
rustdesk
d103872c61 avoid upload debug file 2024-03-10 15:39:49 +08:00
rustdesk
d47104f3f3 new sign 2024-03-10 15:06:49 +08:00
rustdesk
d4288f89d3 fix ci 2024-03-10 14:03:28 +08:00
rustdesk
7060257051 Remove some arc, and add some custom client 2024-03-10 12:48:00 +08:00
Dimitris Apostolou
866ec097c0 fix: fix crate vulnerabilities (#7344) 2024-03-09 17:52:18 +08:00
21pages
dcbe2805e6 improve waiting for image when only one image received (#7340)
* fix padding of mobile server page PopupMenuItem

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

* improve waiting for image when only one image received

* For flutter texture late creation: create texture between session add and session start, it works not in principle but in test.
* For late PeerInfo handling
	a. rgba texture render: allow zero size in on_rgba
	b. gpu texture render and rgba buffer render doesn't check size currently
* Fix wrong valid flag of first frame in rgba texture render

Other issues:
* decodeImageFromPixels may fail on first image
* Correct width/height when resolution changes

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-03-08 17:24:02 +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
75a871c437 format 2024-03-07 16:37:51 +08:00
rustdesk
b5a47efe8e remove share rdp from strategy, useless and leading to confusion 2024-03-07 16:33:46 +08:00
Andrzej Rudnik
8ff24d876c Update pl.rs (#7329) 2024-03-07 14:09:09 +08:00
21pages
dd44bb2a0c flutter windows main.cpp get app name from rust (#7316)
Signed-off-by: 21pages <pages21@163.com>
2024-03-06 17:57:05 +08:00
rustdesk
f3686b23c7 fix tw 2024-03-06 17:38:33 +08:00
XLion
fccdc8ca1f Fix lang detection for zh-TW (#7326)
It is ``TW``, not ``tw``
2024-03-06 17:35:40 +08:00
rustdesk
fc149666d9 remove icon.rc and add compression level 2024-03-05 23:22:15 +08:00
jxdv
4292838e80 update sk.rs (#7317)
* fix typo

* update translations
2024-03-05 11:59:38 +08:00
fufesou
befac94473 Fix. macos, workaround fn (#7319)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-03-05 11:31:41 +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
rustdesk
fa575be289 fix ci 2024-03-04 19:53:17 +08:00
rustdesk
060ad68570 add rustdesk.tar.gz to ci 2024-03-04 18:12:34 +08:00
21pages
1620394736 fix windows ci, downgrade flutter-action (#7312)
Signed-off-by: 21pages <pages21@163.com>
2024-03-04 09:17:56 +08:00
RustDesk
1e6e91e4bd Update clear-cache.yml 2024-03-03 22:29:31 +08:00
rustdesk
b0cbe2ae70 upgrade clear-acache 2024-03-03 22:18:49 +08:00
rustdesk
1391202985 clear-cache action 2024-03-03 22:17:00 +08:00
mehdi-song
d9ad24f563 Update fa.rs (#7309)
;-)
For all those who live in the world
2024-03-03 19:38:03 +08:00
21pages
61279752e2 upgrade uni link desktop (#7307)
* fix macos uni not work since flutter 3.16, upgrade uni_links_desktop

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

* Connect when clicking enter (drop-down is not considered)

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-03-03 17:31:21 +08:00
rustdesk
1794b65182 remove devcontainer from readme, since it is not maintained and not good
for use
2024-03-01 15:50:25 +08:00
rustdesk
6bb5629bb4 update readme 2024-03-01 15:44:19 +08:00
rustdesk
0f3db29e75 fix https://github.com/rustdesk/rustdesk/discussions/7045 2024-02-29 11:27:21 +08:00
Yevhen Popok
c6cdf77a68 Update Ukrainian UI translation (#7288) 2024-02-29 09:57:48 +08:00
XLion
48682faf71 Update tw.rs (#7287) 2024-02-28 22:52:13 +08:00
21pages
49d396538c port forward, wait until TestDelay is replied (#7282)
* Revert "fix rdp not work, caused by test_delay_timer (#7274)"

This reverts commit 7fca0ba588.

* port forward, wait until TestDelay is replied

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-02-28 12:18:13 +08:00
flusheDData
30802820b0 new terms (#7275)
* Update es.rs

New terms added

* Update es.rs

mistype correction

* Update es.rs

New term added

* Update es.rs

New terms added

* Update es.rs

New terms added
2024-02-28 09:12:16 +08:00
21pages
7fca0ba588 fix rdp not work, caused by test_delay_timer (#7274)
* fix rdp not work, caused by test_delay_timer

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

* Update connection.rs

---------

Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-28 00:11:02 +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
96792bec78 Refact. Qs, do not check qs on startup. (#7272)
Process will not exit if early return on the flutter side.

core_main.rs has checked qs already.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-27 17:29:12 +08:00
fufesou
e6953c8883 Feat. Quick support, ui (#7267)
* Feat. QS ui

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

* Remove 'Quick support'

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

* add help card

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

* use addPostFrameCallback to get child size

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

* Fix. qs, set home window size

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

* Qs, set setResizable for settings page

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

* Qs, help cards margin bottom

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

* Qs, online status, padding

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

* Qs, online status, padding

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

* Qs, online status, use margin instead of padding

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

* Qs, fix, start cm window

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-27 17:02:10 +08:00
21pages
1d9b1781d4 update runas to 1.2.0 (#7271)
Signed-off-by: 21pages <pages21@163.com>
2024-02-27 15:42:35 +08:00
rustdesk
6720bb9f6b fix ci 2024-02-26 19:01:42 +08:00
rustdesk
2217e5303d fix ci 2024-02-26 18:12:28 +08:00
rustdesk
c8392a714c license.rs -> custom_server.rs to remove misunderstanding 2024-02-26 18:05:54 +08:00
rustdesk
749a1d2da2 support logo.png 2024-02-26 17:49:12 +08:00
21pages
2920e33d71 fix is_physical_console_session (#7266)
Signed-off-by: 21pages <pages21@163.com>
2024-02-26 13:34:26 +08:00
21pages
1bc11a207a fix rdp session ctrl+alt+delete (#7258)
Signed-off-by: 21pages <pages21@163.com>
2024-02-26 13:22:21 +08:00
fufesou
ddbd4e79a2 Refact. ci, third party, upload artifact (#7265)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-26 10:25:45 +08:00
fufesou
49c107bb5f Refact/ci remove third party topmost window (#7263)
* Refact. Remove third-party prebuilt dep, topmost window

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

* fix ci

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

* Update third-party-RustDeskTempTopMostWindow.yml

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-26 02:24:00 +08:00
fufesou
1b99d28c9b Refact. build.py, skip portable packing (#7264)
ci and build.py do the packing.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-26 02:20:37 +08:00
21pages
7b8e983412 fix calling getWindowName before bind init (#7259)
Signed-off-by: 21pages <pages21@163.com>
2024-02-26 00:02:42 +08:00
rustdesk
f1373234dd remove useless is_rdp_service_open 2024-02-25 20:10:36 +08:00
21pages
b511a52e09 remove is_rdp_service_open judgement for option share rdp (#7257)
Signed-off-by: 21pages <pages21@163.com>
2024-02-25 20:09:30 +08:00
rustdesk
4c8c2aa323 translate rustdesk 2024-02-25 15:06:55 +08:00
rustdesk
a28c9f8f36 remove more "rustdesk" built-in 2024-02-25 13:29:06 +08:00
fufesou
9ff1dfe019 Test. More comment (#7251)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-24 23:03:56 +08:00
fufesou
3ae52dacfc test RustDeskInterval with interval_at (#7249)
* test RustDeskInterval with interval_at

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

* Test. RustDeskInterval, to tokio interval

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

* Add comment

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-24 22:44:46 +08:00
rustdesk
aa6f879504 fix config string in exe file name 2024-02-24 20:36:18 +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
FastAct
913b422d74 Update nl.rs (#7248) 2024-02-24 17:08:54 +08:00
fufesou
2459bcd206 Fix. Multi sub windows, sync peer options (#7247)
* Fix. Multi window, sync peer options

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

* Remove unused `use`

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-23 22:49:53 +08:00
wangweijie
cce1ce0ee0 Add loongarch64 support (#7244)
Signed-off-by: wangweijie <wangweijie@loongson.cn>
2024-02-23 20:08:35 +08:00
21pages
8518513aff fix haredware codec memory leak (#7240)
Signed-off-by: 21pages <pages21@163.com>
2024-02-23 13:33:01 +08:00
jxdv
ce5e28c543 update cs.rs (#7234) 2024-02-23 10:15:53 +08:00
jxdv
9b7a8203f6 update sk.rs (#7233) 2024-02-23 10:14:49 +08:00
solokot
fd8f2422ea Update ru.rs (#7232) 2024-02-23 00:51:10 +08:00
fufesou
09325fadaf Fix. Text clipboard is not working correctly (#7226)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-22 13:44:44 +08:00
Mr-Update
d7d7be9366 Update de.rs (#7225) 2024-02-22 11:44:16 +08:00
fufesou
25afdda2b2 Fix/arboard clipboard context timeout (#7217)
* Fix. Set custom timeout for arboard clipboard

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

* fix build

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

* Do not block tokio runtime

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-21 22:05:27 +08:00
bovirus
c690d5e940 Italian language update (#7211) 2024-02-21 11:30:06 +08:00
Kleofass
243a8b60b1 Update lv.rs (#7210) 2024-02-21 11:29:54 +08:00
21pages
7b317619ac fix windows ci wrong sign directory since update to flutter 3.16.9 (#7209)
Signed-off-by: 21pages <pages21@163.com>
2024-02-20 21:05:19 +08:00
grummbeer
c987bed965 Automate year of copyright (#7206) 2024-02-20 18:00:07 +08:00
NicKoehler
ada4bafb94 Update italian readme (#7205)
* updated it readme

* fix link

* fix other links
2024-02-20 17:28:49 +08:00
fufesou
27f5d0fd54 Fix. Remove unused idd feature in ci. (#7198)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-20 03:19:38 +08:00
rustdesk
914da2b86f add tutorial-guide-for-safenet-authentication-client-for-code-signing
doc
2024-02-19 23:23:00 +08:00
fufesou
582db9d542 Refact. Remove idd driver (#7068)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-19 19:55:04 +08:00
21pages
9a1fd1aa4f windows specific session, fix sciter empty file directory or wrong home (#7189)
Signed-off-by: 21pages <pages21@163.com>
2024-02-19 17:08:15 +08:00
21pages
58ddac63d2 judge failure of get_current_process_session_id with None rather than 0 (#7188)
Signed-off-by: 21pages <pages21@163.com>
2024-02-19 13:06:06 +08:00
rustdesk
a8eff641b2 fix ios ci for flutter 3.16 2024-02-19 12:35:12 +08:00
21pages
d723c10a3b add space after ":" (#7187)
Signed-off-by: 21pages <pages21@163.com>
2024-02-19 11:06:01 +08:00
21pages
bf5abdb520 refactor windows specific session, file transfer and waiting for image (#7184)
* refactor windows specific session, file transfer and waiting for image

1. File transfer doesn't show directory until correct session id is ensured
2. Fix file transfer, caused by `pi.username = self.lc.read().unwrap().get_username(&pi);` in `handle_peer_info` override empty username and `get_active_username` doesn't return currect session username
* Fix home directory not change when session changed, or wrong home directory
* Fix show empty remote directory rather than error messagbox when current session is in login screen
3. Show `Connected, waiting for image` after user choose the same
   session id

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

* update translations

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

* Update connection.rs

---------

Signed-off-by: 21pages <pages21@163.com>
Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-19 10:32:13 +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
fufesou
4f1a4dc6a5 Refact. Better ThrottledInterval (#7174)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-18 21:54:07 +08:00
fufesou
8c108065eb Refact. Replace all tokio::time::interval() (#7173)
* Refact. Replace all `tokio::time::interval()`

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

* Refact Better min_interval for `ThrottledInterval`.

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-18 21:18:00 +08:00
FastAct
5fdcc748e1 Update nl.rs (#7163) 2024-02-18 14:25:50 +08:00
rustdesk
bf03156dd9 fix ci 2024-02-17 16:59:43 +08:00
rustdesk
964c2ed2b5 smaller timeout for android and self-hosting 2024-02-17 16:50:03 +08:00
fufesou
e942c80afb Fix. Potential dead lock, interval.tick() & named pipe (#7162)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-17 16:35:38 +08:00
Kristian Kraljic
d7dcb5feab Fix build on Windows (#7161)
`winapi::um::shellapi` is used in https://github.com/rustdesk/rustdesk/blob/master/src/platform/windows.rs but not declared in `Cargo.toml` resulting in a compilation error, when I tried building on Windows, this change adds shellapi as a dependency.
2024-02-17 11:14:44 +08:00
rustdesk
39d41486d6 fix ci 2024-02-17 00:24:58 +08:00
rustdesk
b85526ce54 add relay in --config https://github.com/rustdesk/rustdesk/discussions/7118 2024-02-17 00:09:03 +08:00
21pages
2a0c081380 fix windows ci (#7156)
Signed-off-by: 21pages <pages21@163.com>
2024-02-16 15:24:43 +08:00
Kleofass
1db4236f23 Update lv.rs (#7153) 2024-02-16 12:40:55 +08:00
Mr-Update
6749595afe Update de.rs (#7152) 2024-02-16 12:40:46 +08:00
jxdv
e65c43a292 update cs.rs (#7151) 2024-02-16 12:40:37 +08:00
jxdv
00b13bf918 update sk.rs (#7150)
* update sk.rs

* remove comma
2024-02-16 12:40:29 +08:00
rustdesk
f7f3bc8bee fix mac tray icon to use template icon, no need to know theme any more 2024-02-16 12:29:32 +08:00
rustdesk
51c603a3a6 improve for https://github.com/rustdesk/rustdesk/issues/4162 2024-02-16 00:43:08 +08:00
rustdesk
5fb026b8d5 fix https://github.com/rustdesk/rustdesk/discussions/7143 2024-02-15 21:12:24 +08:00
Andrzej Rudnik
f7530b16b8 Update pl.rs (#7138) 2024-02-15 16:55:31 +08:00
bovirus
db47209362 Update Italian language (#7136) 2024-02-15 16:55:20 +08:00
rustdesk
f375cbd871 fix bg 2024-02-15 16:54:52 +08:00
Nevaran
0474c8fb03 Update lang.rs (#7140)
added bg into the list
2024-02-15 16:52:32 +08:00
Nevaran
c00d23846a Added bg file (#7137)
Bulgarian translation
2024-02-15 16:52:24 +08:00
fufesou
a3d5ea8fb8 Fix. Set peers offline when the server is unreachable. (#7139)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-15 16:51:39 +08:00
solokot
7525a6ed6a Update ru.rs (#7134) 2024-02-15 12:51:34 +08:00
XLion
dd93416cf7 Update tw.rs (#7131)
455,541,550: Fix typo
540: delete space
Add translation
2024-02-15 12:45:31 +08:00
21pages
73d429d064 windows specific session, fix conn count (#7133)
Signed-off-by: 21pages <pages21@163.com>
2024-02-15 10:44:32 +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
236687ae53 fix some broken link 2024-02-14 19:49:06 +08:00
grummbeer
0d708f64b9 Fix dead link to docs for own server setup (#7128) 2024-02-14 17:33:50 +08:00
mehdi-song
222c9de19f Update fa.rs (#7124) 2024-02-14 12:23:13 +08:00
rustdesk
72fc34cd40 upgrade to tokio 1.36 2024-02-14 12:19:18 +08:00
grummbeer
3f7244f23f Peers. Multiselect. Provide actions only if peers selected (#7122) 2024-02-13 22:10:32 +08:00
21pages
dc24868800 fix multiselect does not reset on address book and groups (#7121)
Signed-off-by: 21pages <pages21@163.com>
2024-02-13 21:06:42 +08:00
21pages
1f557888f5 update pubspec.lock, remove some deprecated (#7110)
* fix some warnings and some deprecated reported by `flutter analyze`

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

* pubspec.lock changes from flutter 3.16.9

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

* pubspec.lock changes from `flutter pub upgrade`

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-02-12 21:39:19 +08:00
rustdesk
16db977fd8 fix iOS ci 2024-02-11 10:21:42 +08:00
21pages
a19d4d6686 upgrade flutter to 3.16.9 (#7099)
Signed-off-by: 21pages <pages21@163.com>
2024-02-11 00:15:11 +08:00
Samuel FORESTIER
633076ddd4 Fixes typo for dark theme in French i18n (#7095) 2024-02-10 11:55: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
flusheDData
a4393b8f90 New terms (#7053)
* Update es.rs

New terms added

* Update es.rs

mistype correction

* Update es.rs

New term added

* Update es.rs

New terms added
2024-02-05 13:30:02 +08:00
XLion
406d8469d8 Update tw.rs (#7047)
* Update tw.rs

Add new translation.

* Optimize tw.rs
2024-02-05 13:29:43 +08:00
fufesou
0cf4711515 Refact, remove avoidable clone (#7040)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-02-03 00:09:39 +08:00
Andrzej Rudnik
a2ba50c4ff Updated Polish translation (#7021)
* Update pl.rs

* Update pl.rs

* Update pl.rs

* Update pl.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-02-02 22:01:11 +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
750f1a1884 smaller MAX_FAILS 2024-01-30 18:03:46 +08:00
rustdesk
2cf83b41cc refactor reg_timeout to reduce fail try 2024-01-30 15:38:30 +08:00
mehdi-song
1f16b5236b Update fa.rs (#6999) 2024-01-29 14:15:50 +08:00
rustdesk
dd4b5349cb revert https://github.com/rustdesk/rustdesk/pull/6980 2024-01-26 19:22:26 +08:00
rustdesk
46b4e21e8c less udp message if failure 2024-01-26 18:58:05 +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
FastAct
a0d79dd26d Update nl.rs (#6979) 2024-01-26 11:07:24 +08:00
rustdesk
e6734af64e upgrade reqwest 2024-01-25 16:21:39 +08:00
rustdesk
0d8e3dc24f save debug disk 2024-01-25 15:46:45 +08:00
rustdesk
0e44aa1ada rustls-tls-native-roots 2024-01-25 15:40:02 +08:00
bovirus
9f40a0b490 Update Italian language (#6973) 2024-01-24 11:40:54 +08:00
jxdv
23430bee97 update cs.rs (#6969) 2024-01-24 11:40:34 +08:00
jxdv
04691a3b6c update sk.rs (#6967) 2024-01-24 11:40:24 +08:00
Ikko Eltociear Ashimine
db0f65eedd Add Japanese Documents (#6963)
* Add DEVCONTAINER-JP.md

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>

* Add CONTRIBUTING-JP.md

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>

* Add SECURITY-JP.md

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>

* Add CODE_OF_CONDUCT-JP.md

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>

---------

Signed-off-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
2024-01-23 15:35:32 +08:00
fufesou
2118b6dd7d Fix. sciter, switch display. Close unused display services after switching. (#6962)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-23 15:30:57 +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
21pages
2e16a2be56 fix port forward 2fa (#6956)
Signed-off-by: 21pages <pages21@163.com>
2024-01-22 19:57:23 +08:00
Mr-Update
ed24f432c3 Update de.rs (#6955) 2024-01-22 18:45:36 +08:00
21pages
669e8d5f8e fix last commit (#6952)
Signed-off-by: 21pages <pages21@163.com>
2024-01-22 16:40:23 +08:00
21pages
016f4abb32 sciter 2fa setting (#6951)
not add qr code text line as it's not selectable, and selectable input will steal the focus.

Signed-off-by: 21pages <pages21@163.com>
2024-01-22 16:29:08 +08:00
fufesou
b1a946ec20 Fix. Connection, 2FA dialog, esc & enter (#6946)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-22 13:44:10 +08:00
emmanuel
2576b46f34 Update README.md (#6944) 2024-01-22 11:15:00 +08:00
fufesou
a42df9a27b Refact, verification login with secret (#6943)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-22 11:14:28 +08:00
21pages
48102e9c53 opt 2fa (#6942)
1. switch sides not check 2fa
2. let self.authorized=true ahead of return, call try_start_cm when 2fa confirmed for updating authorized state
3. flutter 2fa dialog button color

port forward check and sciter will be later on

Signed-off-by: 21pages <pages21@163.com>
2024-01-21 21:53:29 +08:00
Integral
5770aeee26 Update cn.rs (#6935) 2024-01-21 15:22:32 +08:00
fufesou
cb102a5a61 Refact. Verification code, keyboardType (#6934)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-21 15:22:05 +08:00
FastAct
28f01784c1 Update nl.rs (#6932) 2024-01-21 15:21:33 +08:00
Kleofass
29eefbcc25 Update lv.rs (#6931) 2024-01-21 15:21:23 +08:00
Andrzej Rudnik
8679e55f6a Updated Polish translation (#6929)
* Update pl.rs

* Update pl.rs

* Update pl.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-01-21 15:21:01 +08:00
solokot
846db4e689 Update ru.rs (#6926) 2024-01-21 15:19:57 +08:00
rustdesk
68afb89b99 a quick fix for 2fa 2024-01-21 15:19:18 +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
fufesou
9e3633f1e4 Fix. Avoid invalid verification code attempts. (#6925)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-20 16:03:07 +08:00
fufesou
06b3894249 Refact/verification code input check (#6924)
* Refact, login verification code, input check

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

* Refact, settings, enable 2fa, dialog input

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

* Refact. Connect, 2fa code, input check

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

* refact, 2Fa text field, input formatter, only digits

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

* refact, error message

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-20 15:36:32 +08:00
Mr-Update
d39129887b Update de.rs (#6923) 2024-01-20 12:42:49 +08:00
rustdesk
e5379bb073 send2fa in sciter 2024-01-19 19:29:04 +08:00
rustdesk
c8dded1108 use native-tls for macos/windows only for the time being 2024-01-19 16:04:31 +08:00
rustdesk
44e6b7dbb0 2fa for unattended access 2024-01-19 15:35:58 +08:00
rustdesk
80857c22c9 https://github.com/rustdesk/rustdesk-server-pro/issues/189, using native-tls for better tls support 2024-01-18 13:37:42 +08:00
21pages
6548f9f0ed Fix ab merge and sync from recent (#6910)
* fix missing platform when merge ab

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

* sync from recent after ab initialized

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

---------

Signed-off-by: 21pages <pages21@163.com>
2024-01-17 14:38:12 +08:00
zEqueue
58fd8780e5 Fix incorrect CONTABUTING.md in README-ZH.md file (#6887)
Signed-off-by: zEqueue <zequeue@163.com>
2024-01-15 15:59:33 +08:00
Theofanis Sarmidis
0cccbc438b Update el.rs (#6869) 2024-01-15 15:59:16 +08:00
Andrzej Rudnik
558e7cb5ac Updated Polish translation (#6858)
* Update pl.rs

* Update pl.rs

* Update pl.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-01-15 15:58:57 +08:00
rustdesk
286181ca04 tcp rendezvous works now 2024-01-11 14:47:53 +08:00
Sahil Yeole
ce0fc14a8a scrollable scam warning dialog (#6850)
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2024-01-11 12:05:30 +08:00
rustdesk
ebfbc8ce61 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2024-01-10 11:48:54 +08:00
rustdesk
fdb038c7c9 one byte for future use 2024-01-10 11:48:23 +08:00
Integral
467e6dfd16 Update cn.rs (#6844)
* Update cn.rs

* Update cn.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2024-01-10 09:44:06 +08:00
Mr-Update
8c40c28fe0 Update de.rs (#6843) 2024-01-10 09:43:18 +08:00
jxdv
9e25049fe8 update cs.rs (#6842) 2024-01-10 09:43:08 +08:00
jxdv
e170153090 update sk.rs (#6841) 2024-01-10 09:42:58 +08:00
FastAct
99e8753629 Update nl.rs (#6839) 2024-01-10 09:42:45 +08:00
solokot
d5b0829065 Update ru.rs (#6836) 2024-01-10 09:42:29 +08:00
Moaz bin Mokhtar
2c8a60e0ea fix: update version of zbus to build system (#6845) 2024-01-10 09:27:36 +08:00
Sahil Yeole
352de75fdd fix height (#6846) 2024-01-10 09:26:01 +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
Yevhen Popok
e471c01269 Update Ukrainian translation (#6831)
Co-authored-by: Yevhen Popok <xalt7x.service@gmail..com>
2024-01-09 10:30:42 +08:00
Kleofass
5dfaa10709 Update lv.rs (#6830) 2024-01-09 10:30:31 +08:00
bovirus
7506f94a53 Update Italian language (#6827)
* Update Italian language

* Update italian language
2024-01-09 10:30:19 +08:00
21pages
a2d08fa40d opt mac sciter dark theme (#6824)
Signed-off-by: 21pages <pages21@163.com>
2024-01-08 11:35:55 +08:00
fufesou
159c883bf3 verification code, auto submit (#6822)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-07 21:07:25 +08:00
rustdesk
396d7680d3 fix possible id mismatch bug because of register_pk udp packet lost 2024-01-07 20:23:00 +08:00
rustdesk
7e93a5d3cf refactor to prepare for tcp rendezvous 2024-01-07 19:01:35 +08:00
rustdesk
955c55b6cc fix code merge 2024-01-07 13:25:19 +08:00
rustdesk
b2b30b0cf5 https://github.com/rustdesk/rustdesk/pull/6805 2024-01-07 13:21:38 +08:00
solokot
6352b3a594 Update ru.rs (#6814) 2024-01-07 09:45:42 +08:00
mehdi-song
5be684d2e5 Update fa.rs (#6810) 2024-01-07 09:45:29 +08:00
FastAct
8dda17d546 Update nl.rs (#6807) 2024-01-07 09:45:14 +08:00
Kleofass
0f5aaac1f5 Update lv.rs (#6806) 2024-01-07 09:45:02 +08:00
Integral
35fa75f9c9 Add cn translation for 2FA code (#6805) 2024-01-07 09:44:44 +08:00
fufesou
19d43b3f62 login on 'Enter' (#6819)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-06 21:51:05 +08:00
21pages
2b4a72897e Specify cmd.exe explicitly to avoid the replacement of cmd commands (#6818)
Signed-off-by: 21pages <pages21@163.com>
2024-01-06 20:56:40 +08:00
21pages
cdc31b7fc7 Execute the .bat file directly on install to avoid the replacement of cmd (#6817)
Signed-off-by: 21pages <pages21@163.com>
2024-01-06 20:28:46 +08:00
FastAct
f4ef1455c4 Update nl.rs (#6803) 2024-01-06 11:12:22 +08:00
bovirus
fe94512dd1 Update Italian language (#6798) 2024-01-06 11:12:10 +08:00
Juraj Virgovič
ae25542ce9 update sk.rs (#6796) 2024-01-06 11:11:59 +08:00
Juraj Virgovič
6c030a5230 update cs.rs (#6795) 2024-01-06 11:11:47 +08:00
tschettervictor
a145d6ebcc Punctuation correction (#6808) 2024-01-06 11:11:35 +08:00
Juraj Virgovič
14676e9618 fix 2fa_tip (#6797) 2024-01-04 20:34:35 +08:00
rustdesk
72e8476ded typo 2024-01-04 11:54:21 +08:00
Mr-Update
5888b051d9 Update de.rs (#6788) 2024-01-04 11:53:18 +08:00
ckesc
215cf73072 Fix russian translation of Ready to make it more understandable (#6787) 2024-01-04 11:52:54 +08:00
rustdesk
7f7d4a77b6 println install failure 2024-01-03 22:46:53 +08:00
fufesou
7e3a0c4ded Better 2fa verification support (#6782)
* Better 2fa verification support

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

* 2FA login verification, add request filed 'tfa_code'

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

* 2fa dialog

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

* msgbox, title

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

* Feat, oidc login, 2fa

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2024-01-03 16:43:39 +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
f47faa548b revert test delay timeout to 1 sec since many deps on it, including
quality monitor, also change test delay with instant rather than
systemtime, because instant is stable
2024-01-02 16:23:47 +08:00
rustdesk
36ed8f3f73 change REG_INTERVAL to 15 seconds to follow quic 2024-01-02 13:42:32 +08:00
rustdesk
ca1ca21cf8 change TEST_DELAY_TIMEOUT from 1 to 3 2024-01-01 17:53:20 +08:00
rustdesk
c7df539b31 require rust 1.75 2023-12-29 16:42:23 +08:00
21pages
e873188775 use official async trait (#6765)
Signed-off-by: 21pages <pages21@163.com>
2023-12-29 16:41:49 +08:00
21pages
6953efc2d8 fix last commit, snapshot for sending to new subscribers (#6762)
Signed-off-by: 21pages <pages21@163.com>
2023-12-29 13:41:33 +08:00
21pages
3e78aacc7e add snapshot before sending SwitchDisplay (#6760)
Signed-off-by: 21pages <pages21@163.com>
2023-12-28 21:34:54 +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
Sahil Yeole
bdf6f5c3b9 Fix: android scam warning not showing on toggling screen capture (#6750)
* fix scam warning not showing on toggling screen capture

* fix scam warning not showing on toggling screen capture

* fix scam warning not showing on toggling screen capture

* fix scam warning not showing on toggling screen capture
2023-12-26 10:19:05 +08:00
fufesou
6d0953dca4 Disable file copy & paste in view mode (#6749)
* Disable file copy & paste in view mode

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

* hide 'Enable file copy & paste' when no keyboard perm

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

* Disable some functions in view mode

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

---------

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-25 21:49:34 +08:00
fufesou
fc0fc5ea10 Fix. Do not send resolutions on file transfer conn (#6748)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-25 16:47:40 +08:00
Yevhen Popok
f7f2d84e1f Update Ukrainian UI translation (#6745) 2023-12-25 09:03:08 +08:00
linuxrider
57acadd52a fix xdg portal verison check for persist_mode (#6742) 2023-12-24 16:33:36 +08:00
21pages
26cebd2aeb request focus again when android account password obtain focus (#6744)
Signed-off-by: 21pages <pages21@163.com>
2023-12-24 16:16:47 +08:00
Péter B
9a652e789d Update hu.rs (#6729) 2023-12-21 17:13:54 +08:00
Madis Otenurm
f6509e3fd6 Estonian translation (#6702)
* Create et.rs

* Update lang.rs
2023-12-19 10:47:34 +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
FastAct
dc8a70bb26 Update nl.rs (#6708) 2023-12-19 10:39:36 +08:00
jimmyGALLAND
adf9b82d6b update lang fr (#6701) 2023-12-18 11:23:15 +08:00
Andrzej Rudnik
be212b5186 Updated Polish translation (#6699)
* Update pl.rs

* Update pl.rs

---------

Co-authored-by: RustDesk <71636191+rustdesk@users.noreply.github.com>
2023-12-18 11:23:00 +08:00
solokot
59ba461d83 Update ru.rs (#6695) 2023-12-18 11:22:46 +08:00
fufesou
004c2e069c https://github.com/rustdesk/rustdesk/issues/6686 (#6694)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-17 12:43:47 +08:00
Sahil Yeole
c168b7e979 Autocomplete container UI changes (#6690)
* add left & right padding to autocomplete peer and format

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

* handle max height for autocomplete equal padding, add box shadow and format

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

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-17 09:22:18 +08:00
fufesou
79411430a5 Fix. Windows snap-function (#6680)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-16 21:41:55 +08:00
flusheDData
853d655a92 New term added (#6673)
* Update es.rs

New terms added

* Update es.rs

mistype correction

* Update es.rs

New term added
2023-12-14 09:04:32 +08:00
Kleofass
2d5fa9ebbf Update lv.rs (#6672) 2023-12-14 09:04:18 +08:00
jxdv
b2deab08ab update checkout version (#6671) 2023-12-13 21:22:38 +08:00
Mr-Update
8452a17d79 Update de.rs (#6669) 2023-12-13 10:58:16 +08:00
jxdv
19851c8a47 update cs.rs (#6665) 2023-12-12 19:36:25 +08:00
jxdv
6b8ec6ae16 update sk.rs (#6664) 2023-12-12 19:31:55 +08:00
flusheDData
d648e67eaf Update es.rs (#6658)
* Update es.rs

New terms added

* Update es.rs

mistype correction
2023-12-12 15:12:45 +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
bovirus
2797a28c0d Update Italian language (#6654) 2023-12-11 20:09:55 +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
21pages
c061eddf2a move 'swap key' and 'swap left right mouse' to keyboard menu (#6650)
Signed-off-by: 21pages <pages21@163.com>
2023-12-11 12:56:26 +08:00
rustdesk
2e146190e1 swap left right mouse button 2023-12-11 11:22:27 +08:00
rustdesk
fc110c4988 Fix icon color on Sonoma 2023-12-09 10:18:13 +08:00
rustdesk
6003003228 Fix https://github.com/rustdesk/rustdesk-server-pro/issues/174 2023-12-08 20:52:33 +08:00
Andrzej Rudnik
70e5bee519 Update pl.rs (#6633) 2023-12-07 18:33:47 +08:00
Sahil Yeole
4062d1920c Fix: wayland repeated share screen prompts (#6628)
* fix wayland repeated screen share prompts

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

* fix is_x11 import

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

* fix supported resolutions import

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

* fix supported resolutions import

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

---------

Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-06 23:25:37 +08:00
21pages
50b81c2356 fix windows wakelock, add set_display (#6623)
Signed-off-by: 21pages <pages21@163.com>
2023-12-05 21:32:44 +08:00
21pages
00fe3a76c8 add popupMenuTheme (#6617)
Signed-off-by: 21pages <pages21@163.com>
2023-12-05 11:34:54 +08:00
fufesou
d11a3b9683 Refact, check current view style and scale mode, then update scroll percent (#6613)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-04 23:03:22 +08:00
rustdesk
7934fa24a2 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2023-12-04 22:51:28 +08:00
rustdesk
f0d9dee6ce makepkg on archlinux ci failed from 20231201, fall back to mine 2023-12-04 22:50:54 +08:00
fufesou
3a82bddcd3 Fix, cursor position, scall origin, scrollbar (#6612)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-04 22:35:14 +08:00
rustdesk
ebe044aee8 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2023-12-04 20:58:42 +08:00
rustdesk
674305ce29 https://github.com/rustdesk/rustdesk/discussions/6453#discussioncomment-7752797 2023-12-04 20:58:29 +08:00
21pages
b9a5c6ff31 showToast theme (#6603)
Signed-off-by: 21pages <pages21@163.com>
2023-12-03 22:56:47 +08:00
FastAct
bcb0a7822a Update nl.rs (#6602) 2023-12-03 22:54:12 +08:00
rustdesk
93aac0bc99 fix #616: support QR for uri link 2023-12-03 22:33:52 +08:00
rustdesk
7fe58afa9c fix #616: make ?key and /r work in uri 2023-12-03 22:18:11 +08:00
rustdesk
9d0f8d9886 Fix #616: add rustdesk://password/<password> for android only 2023-12-03 20:51:53 +08:00
rustdesk
aa7d0471db Fix #616, add rustdesk://config/<config_string> 2023-12-03 20:31:48 +08:00
RustDesk
6cd9227e8d Merge pull request #6598 from crwusiz/master_kr
kor translation update
2023-12-03 14:12:30 +08:00
RustDesk
213ef58959 Merge pull request #6595 from jxdv/cs-tr
update cs.rs
2023-12-03 14:12:09 +08:00
RustDesk
2fa1124752 Merge pull request #6594 from jxdv/sk-tr
update sk.rs
2023-12-03 14:11:58 +08:00
crwusiz
d00a0d6c75 kor translation update
fix typo
2023-12-03 11:27:05 +09:00
jxdv
2e225eb84f update cs.rs 2023-12-02 19:11:33 +01:00
jxdv
3c57ee89c4 update sk.rs 2023-12-02 19:04:08 +01:00
RustDesk
b6f870ac5f Merge pull request #6591 from fufesou/fix/6453
Fix. Do not update cursor pos when switching display on toolbar when "Show monitors on toolbar"
2023-12-02 22:23:19 +08:00
fufesou
570ce7d28d Refactor, optional parameter 'updateCursorPos'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-02 22:01:05 +08:00
fufesou
3958090e0f Fix, wrong argument of mobile updating cursor position
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-02 21:53:00 +08:00
fufesou
99ed1b729e Fix. Do not update cursor pos when switching display on toolbar when 'Show monitors on toolbar'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-12-02 21:23:19 +08:00
RustDesk
d16db77b52 Merge pull request #6585 from crwusiz/master_kr
kor translation update
2023-12-02 11:26:26 +08:00
RustDesk
56c176add4 Merge pull request #6586 from sahilyeole/feat/wayland_clipboard
Feat: wayland clipboard support
2023-12-01 23:06:02 +08:00
crwusiz
42a856c24a kor translation update 2023-12-01 22:33:18 +09:00
Sahil Yeole
b662090d64 update Cargo.lock for wayland clipboard 2023-12-01 18:23:23 +05:30
RustDesk
29e50a5f91 Merge pull request #6582 from xalt7x/ukrainian-translation
Update Ukrainian UI translation
2023-12-01 13:04:38 +08:00
Yevhen Popok
7885e07eed Update Ukrainian UI translation 2023-12-01 07:01:10 +02:00
rustdesk
65fd682f2a reorder lang to avoid translate miss some lines 2023-12-01 11:38:25 +08:00
RustDesk
cdecbb0857 Merge pull request #6579 from Mr-Update/patch-5
Update de.rs
2023-12-01 11:36:52 +08:00
RustDesk
68ee781f26 Merge pull request #6578 from bovirus/master
Update Italian language
2023-12-01 11:36:24 +08:00
Sahil Yeole
0f307e7ca2 preserve sudo env; required for WAYLAND_DISPLAY
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-01 05:14:09 +05:30
Sahil Yeole
7ac49287df set WAYLAND_DISPLAY env
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-01 05:13:03 +05:30
Sahil Yeole
83faf6025b use wayland-data-control arboard feature
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-12-01 05:11:41 +05:30
Mr-Update
4faf5e6d3e Update de.rs 2023-11-30 18:10:01 +01:00
bovirus
d300596ac1 Update Italian language 2023-11-30 15:33:44 +01:00
RustDesk
a30dc5988e Merge pull request #6577 from Kleofass/patch-7
Update lv.rs
2023-11-30 21:21:15 +08:00
Kleofass
e43a0da9a6 Update lv.rs 2023-11-30 15:19:34 +02:00
RustDesk
83b74c0930 Merge pull request #6575 from fufesou/fix/android_switch_display
fix, android switch display. Remove old display video subscription.
2023-11-30 16:32:06 +08:00
RustDesk
0d2a39267f Merge pull request #6574 from FastAct/patch-24
Update nl.rs
2023-11-30 16:29:18 +08:00
RustDesk
f87f380bb0 Update nl.rs 2023-11-30 16:29:02 +08:00
fufesou
ab28acd709 fix, android switch display. Remove old display video subscription.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-30 16:27:20 +08:00
FastAct
04b53f8e1e Update nl.rs 2023-11-30 09:26:09 +01:00
rustdesk
eb0e5c2de3 change location to make tranlator easier 2023-11-30 16:12:17 +08:00
RustDesk
8cb9b910a6 Merge pull request #6573 from FastAct/patch-23
Update nl.rs
2023-11-30 16:08:29 +08:00
FastAct
bdac79c91b Update nl.rs 2023-11-30 08:57:59 +01:00
RustDesk
88081fc3c4 Merge pull request #6571 from solokot/master
Update ru.rs
2023-11-30 13:48:37 +08:00
solokot
6be451e9f3 Update ru.rs 2023-11-30 08:45:22 +03:00
RustDesk
64ed25879c Merge pull request #6565 from fufesou/fix/elevated_switch_display
fix, elevated mode, switch display
2023-11-30 00:18:14 +08:00
RustDesk
d66e087d94 Update cn.rs 2023-11-30 00:17:58 +08:00
RustDesk
b7b0a44c52 Update en.rs 2023-11-30 00:16:13 +08:00
fufesou
44cba7adf7 fix, prompt msg
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 23:50:17 +08:00
fufesou
5a8a64d284 fix, elevated mode, switch display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 23:44:28 +08:00
RustDesk
eac6835982 Merge pull request #6564 from crwusiz/master_kr
kor translation update / fix typo
2023-11-29 23:34:02 +08:00
crwusiz
7992ca4c85 kor translation update / fix typo 2023-11-30 00:31:56 +09:00
RustDesk
ead200ea5d Merge pull request #6563 from fufesou/fix/is_subed
fix, is_subed()
2023-11-29 23:25:34 +08:00
fufesou
e146c2606f fix, is_subed()
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 23:19:29 +08:00
RustDesk
db158e1ffe Merge pull request #6561 from fufesou/feat/input_source
Feat/input source
2023-11-29 23:00:12 +08:00
RustDesk
72ef3c3394 Merge pull request #6562 from 21pages/force_reboot
fix macos and linux vm reboot
2023-11-29 22:57:38 +08:00
21pages
e17378c6b3 fix macos and linux vm reboot
Signed-off-by: 21pages <pages21@163.com>
2023-11-29 22:41:31 +08:00
fufesou
0e05f5305c fix build, android
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 22:13:38 +08:00
fufesou
58f43da23e update rdev
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 21:50:17 +08:00
fufesou
4a9e7f29da fix, flutter, keyboard mode
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 21:31:27 +08:00
fufesou
1589209567 release keys for flutter input source
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 21:05:21 +08:00
fufesou
5c6017b0a9 fix build, mobile
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
4246fe5b92 update rdev
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
c441d2f03f fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
6c21529594 update rdev
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
6fc4253d46 debug, linux
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
7a2590d1f9 fix, compilation
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
4cbbb5b64f feat, input source, win->win
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:40 +08:00
fufesou
f11104fcb5 tmp commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 20:58:39 +08:00
RustDesk
19e8ca6c06 Merge pull request #6557 from 21pages/force_reboot
replace reboot with force_reboot
2023-11-29 17:34:09 +08:00
21pages
13005e8242 replace reboot with force_reboot
Signed-off-by: 21pages <pages21@163.com>
2023-11-29 17:26:13 +08:00
RustDesk
d0dde6e572 Merge pull request #6554 from fufesou/fix/mobile_switch_display
fix, mobile, switch display
2023-11-29 12:34:36 +08:00
fufesou
5e103a5ccb fix, mobile, switch display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-29 12:30:41 +08:00
RustDesk
0c4e6f0a8c Merge pull request #6525 from bovirus/master
Update Italian language
2023-11-26 17:46:51 +08:00
RustDesk
03a89a5cdd Update it.rs 2023-11-26 17:33:12 +08:00
bovirus
e22d13be1f Update Italian language 2023-11-26 10:24:24 +01:00
RustDesk
ef9c4d96b7 Merge pull request #6524 from fufesou/fix/install_cert_silent
Fix. Install cert silently
2023-11-26 14:59:56 +08:00
fufesou
bb7300a055 Remove cert file arg on installing cert
Signed-off-by: fufesou <shuanglongchen@yeah.ne>
2023-11-26 14:26:45 +08:00
fufesou
2d456fd1fc --install-idd with cert
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-26 12:30:14 +08:00
fufesou
97108e788f Fix. Install cert silent
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-26 12:17:05 +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
f5d2eff8d3 Merge pull request #6514 from deep-soft/rustdesk-rustdesk
fix bridge.yml (dtolnay/rust-toolchain)
2023-11-24 13:15:17 +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
deep-soft
80786f692c fix bridge.yml (dtolnay/rust-toolchain)
toolchain
uses: dtolnay/rust-toolchain
2023-11-23 21:11:45 +02:00
RustDesk
177edfea3e Merge pull request #6511 from deep-soft/rustdesk-rustdesk
fix CI.yml (CARGO_TEST_OPTIONS and dtolnay/rust-toolchain)
2023-11-23 23:05:51 +08:00
deep-soft
b4b08db778 dtolnay/rust-toolchain 2023-11-23 16:47:54 +02:00
deep-soft
8abf2f768c Merge branch 'rustdesk:master' into rustdesk-rustdesk 2023-11-23 16:40:08 +02:00
deep-soft
8b14cd5aea Update ci.yml 2023-11-23 16:39:53 +02:00
rustdesk
84a21d72b9 link /usr/bin/rustdesk even for init system 2023-11-23 21:56:36 +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
RustDesk
3d368f9aca Merge pull request #6506 from 21pages/fix_os_password_show
don't show os password when don't have keyboard permission
2023-11-23 19:21:22 +08:00
21pages
414ac950e0 don't show os password when don't have keyboard permission
Signed-off-by: 21pages <pages21@163.com>
2023-11-23 19:17:19 +08:00
RustDesk
34fa82f72c Merge pull request #6501 from deep-soft/rustdesk-rustdesk
github actions (ci.yml and flutter-build.yml)
2023-11-23 11:45:50 +08:00
RustDesk
4d5fdc4725 Merge pull request #6503 from cacing69/master
add idd trans on indonesia
2023-11-23 09:55:40 +08:00
RustDesk
1c4f28e708 Merge pull request #6502 from sahilyeole/fix/wayland_distorted_stream_scaling
Fix: wayland cursor mismatch on fractional scaling
2023-11-23 09:54:04 +08:00
Ibnul Mutaki
7bf555ce4c add idd trans 2023-11-23 07:54:42 +07:00
deep-soft
bb388628a7 Update flutter-build.yml 2023-11-22 23:09:56 +02:00
deep-soft
a2920578a1 Update ci.yml 2023-11-22 22:38:41 +02:00
Sahil Yeole
b41a73f08d fix cursor mismatch on fractional scaling single screen
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-22 23:53:43 +05:30
RustDesk
c6ace470e3 Merge pull request #6498 from Mr-Update/patch-4
Update de.rs
2023-11-22 17:48:17 +08:00
Mr-Update
cdbe79d3c1 Update de.rs 2023-11-22 10:46:07 +01:00
RustDesk
493ec07ff2 Merge pull request #6497 from 21pages/fix_os_password_click
fix mobile os password edit action
2023-11-22 16:59:51 +08:00
21pages
ec15412755 fix mobile os password edit action
Signed-off-by: 21pages <pages21@163.com>
2023-11-22 16:46:17 +08:00
RustDesk
191b6d5b4e Merge pull request #6496 from necarnot/master
Update fr.rs typo
2023-11-22 16:44:06 +08:00
rustdesk
8718152dba no sign 2023-11-22 16:43:47 +08:00
necarnot
c585db7516 Update fr.rs typo
Lots of minor typos
2023-11-22 09:39:53 +01:00
RustDesk
515c91a407 Delete .github/ISSUE_TEMPLATE/task.yaml 2023-11-22 13:22:22 +08:00
RustDesk
b615029304 Merge pull request #6488 from Kleofass/patch-6
Update lv.rs
2023-11-21 22:28:02 +08:00
Kleofass
3b0f4b1f82 Update lv.rs 2023-11-21 16:21:08 +02:00
RustDesk
4a2bf7a0c3 Merge pull request #6487 from sahilyeole/fix/wayland_distorted_stream_scaling
Fix: wayland fractional scaling distortion
2023-11-21 21:46:32 +08:00
RustDesk
79212f8ef7 Merge pull request #6486 from crwusiz/master_kr
kor_translation update
2023-11-21 21:05:59 +08:00
crwusiz
c57a596156 kor_translation update 2023-11-21 22:04:08 +09: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
RustDesk
06aa18bfab Merge pull request #6483 from solokot/master
update ru.rs
2023-11-21 18:47:40 +08:00
solokot
f076afb6e1 update ru.rs 2023-11-21 12:48:16 +03:00
RustDesk
582402f4d9 Merge pull request #6482 from jxdv/cs-tr
update cs.rs
2023-11-21 16:58:04 +08:00
jxdv
0e04ff506b update cs.rs 2023-11-21 09:55:22 +01:00
RustDesk
e9f757dccb Merge pull request #6481 from jxdv/sk-tr
update sk.rs
2023-11-21 16:53:58 +08:00
jxdv
f02d858646 fix typo 2023-11-21 09:51:28 +01:00
jxdv
3727cd401c update sk.rs 2023-11-21 09:50:42 +01:00
RustDesk
f0c9deca4b Merge pull request #6475 from fufesou/feat/win10_virtual_display_not_support_msg
Feat/win10 virtual display not support msg
2023-11-21 11:59:02 +08:00
fufesou
f41a8bc355 idd_not_support_tip to idd_not_support_under_win10_2004_tip
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-21 11:05:50 +08:00
fufesou
3100930136 translation & Rustdesk to RustDesk
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-21 10:55:46 +08:00
fufesou
9abafafcdd translation
Signed-off-by: fufesou <shuanglongchen@yeah.ne>
2023-11-20 21:57:53 +08:00
fufesou
0d127dff3b translation
Signed-off-by: fufesou <shuanglongchen@yeah.ne>
2023-11-20 21:55:09 +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
RustDesk
3a6f56ebbc Merge pull request #6473 from fufesou/feat/format_idd_error_message
Feat/format idd error message
2023-11-20 18:56:39 +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
5064696480 send msgbox when plugging in/out virtual displays
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 15:46:22 +08:00
fufesou
6f0fbd1088 feat, format idd error message
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 15:30:56 +08:00
RustDesk
b535722421 Merge pull request #6470 from fufesou/feat/topmost_window_exclude_from_capture
Feat/topmost window exclude from capture
2023-11-20 12:46:23 +08:00
fufesou
60e96b637d privacy mode, remove 'recommended'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 11:50:53 +08:00
fufesou
7f29c7a601 add comment
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 11:07:18 +08:00
fufesou
060dfedb74 topmost_window_exclude_from_capture, change label text
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 10:57:01 +08:00
RustDesk
2907ed6029 Merge pull request #6468 from 0ofta/norwegian-bokmal-translation
Added Norwegian Bokmål Translation
2023-11-20 10:33:30 +08:00
fufesou
5649fcc9ca win, is version equal or greater, build number
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 10:28:57 +08:00
fufesou
85ddfc0739 remove redundent global variables
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 07:41:06 +08:00
fufesou
7c98bfd363 check if WDA_EXCLUDEFROMCAPTURE is supported
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-20 07:41:06 +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
0ofta
af89fb52f1 Added Norwegian Bokmål Translation
Signed-off-by: 0ofta <kaare@jenssen.it>
2023-11-19 20:32:11 +01:00
RustDesk
98f56fd506 Merge pull request #6466 from xalt7x/fix/README.md
README.md: Fix typo and use correct name for macOS
2023-11-20 00:02:14 +08:00
Yevhen Popok
88ea1ea85b README.md: Fix typo and use correct name for macOS 2023-11-19 17:57:25 +02:00
RustDesk
2a1e33f95c Merge pull request #6465 from xalt7x/ukrainian-translation
Update Ukrainian translations
2023-11-19 23:54:00 +08:00
Yevhen Popok
2fe55e2b55 Update Ukrainian README 2023-11-19 17:52:19 +02:00
Yevhen Popok
d6f5887b1d Update Ukrainian UI translation 2023-11-19 14:46:33 +02:00
RustDesk
dce045461a Merge pull request #6462 from fufesou/feat/top_most_window_cloak
feat, top most window cloak.
2023-11-19 13:38:57 +08:00
fufesou
4ab0324bc9 feat, top most window cloak. Window preview will not break privacy mode.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-19 12:34:30 +08:00
RustDesk
b2bb69fe42 Merge pull request #6460 from fufesou/feat/install_idd_when_installing_app
feat, install indirect display driver when installing the app
2023-11-19 11:44:26 +08:00
RustDesk
ad96f9aacd Merge pull request #6461 from 21pages/fix_max_codec_thread_num
fix exceeding the maximum number of threads allowed
2023-11-19 11:43:12 +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
fufesou
3f3bca753c feat, install indirect display driver when installing the app
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-18 12:14:21 +08:00
RustDesk
c223d6a87d Merge pull request #6457 from flusheDData/master
Update es.rs
2023-11-18 10:23:39 +08:00
RustDesk
14a428467c Merge pull request #6458 from cacing69/master
update id trans
2023-11-18 10:23:28 +08:00
RustDesk
efc84e53ec Merge pull request #6459 from 21pages/format_log
format log
2023-11-18 10:22:55 +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
Ibnul Mutaki
d90580943f update id trans 2023-11-18 08:26:44 +07:00
flusheDData
f6484b4e2b Update es.rs
New terms added
2023-11-18 00:11:25 +01:00
RustDesk
0b5f48b926 Merge pull request #6446 from fufesou/fix/do_not_get_displays_on_start
Fix. Do not get displays on server start.
2023-11-18 00:31:38 +08:00
fufesou
f2f649319d Remove redundant mutex
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-17 23:38:27 +08:00
RustDesk
35eaa94228 Merge pull request #6445 from fufesou/fix/mobile_soft_keyboard_focus
fix, mobile soft keyboard focus
2023-11-17 23:09:55 +08:00
fufesou
e09a050d41 Fix. Do not get displays on server start.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-17 17:11:25 +08:00
fufesou
38182ba020 tmp fix, mobile soft keyboard focus
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-17 14:43:23 +08:00
RustDesk
7960b2ca10 Merge pull request #6436 from fufesou/fix/android_soft_keyboard_input
fix, android_soft_keyboard_input, maybe flutter 3.13.*
2023-11-16 23:40:51 +08:00
fufesou
722c789448 add comment
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-16 23:39:07 +08:00
fufesou
faa4c36956 fix, android_soft_keyboard_input, maybe flutter 3.13.*
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-16 23:08:09 +08:00
RustDesk
d3a33d786d Merge pull request #6429 from bovirus/master
Update Italian language
2023-11-16 17:36:41 +08:00
bovirus
1a2d60dbfc Update Italian language 2023-11-16 08:00:23 +01:00
RustDesk
2aa5e685b8 Merge pull request #6425 from dignow/fix/query_onlines_block_thread
Fix/query onlines block thread
2023-11-16 13:29:13 +08:00
RustDesk
512c7df37d Merge pull request #6416 from basilgello/vcpkg-deps
vcpkg deps
2023-11-16 13:28:56 +08:00
RustDesk
57fddf1c85 Merge pull request #6418 from Kleofass/patch-5
Update lv.rs
2023-11-16 13:28:12 +08:00
RustDesk
afe4206782 Merge pull request #6415 from BestiaPL/master
Update pl.rs
2023-11-16 13:27:43 +08:00
dignow
02bc5e3111 debug, query_onlines_block_thread
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-16 10:32:22 +08:00
dignow
5a51284550 fix, query onlines, block current ffi thread
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-16 10:32:22 +08:00
Vasyl Gello
2d995826ad Globally drop yasm - libvpx should not need it
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-15 16:03:40 +02:00
Kleofass
92f3bf2999 Update lv.rs 2023-11-15 16:00:46 +02:00
Vasyl Gello
bfe282c2db VCPKG port fixes
* Do not patch vcpkg - replace the cmake script fully
  * Actualize libvpx port

[skip ci]

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-15 13:22:31 +02:00
Andrzej Rudnik
2d0b013af3 Update pl.rs 2023-11-15 11:16:34 +01:00
RustDesk
3df938ed61 Merge pull request #6414 from solokot/master
Update Russian translation
2023-11-15 16:32:54 +08:00
solokot
d4b6cab742 Update Russian translation 2023-11-15 11:29:33 +03: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
RustDesk
f135fbee26 Merge pull request #6413 from crwusiz/master_kr
kor_translation update
2023-11-15 14:05:04 +08:00
RustDesk
d65977bd59 Merge pull request #6410 from fufesou/fix/build_ios
fix, build ios
2023-11-15 14:03:41 +08:00
crwusiz
1e0242ede9 kor_translation update 2023-11-15 10:30:29 +09:00
fufesou
839d3365f8 fix, build ios
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 22:29:12 +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
fufesou
13bade262f remove warns
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 21:01:31 +08:00
fufesou
d2ff675fbc virtual_display_privacy_mode, switch privacy, debug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 20:46:06 +08:00
fufesou
1905a81f9a virtual_display_privacy_mode, switch privacy mode directly
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 19:36:51 +08:00
fufesou
e2382a1465 refact, mobile, privacy mode menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-14 17:35:16 +08:00
RustDesk
ec00cd2ae0 Merge pull request #6408 from basilgello/vcpkg-deps
vcpkg deps
2023-11-14 14:47:57 +08:00
RustDesk
e0fad4eaa5 Merge pull request #6407 from 21pages/sysinfo
opt sysinfo
2023-11-14 14:43:52 +08:00
Vasyl Gello
882b39b067 Ignore CRLF/LF conversion on sciter patch apply
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-14 08:09:07 +02:00
21pages
d15a641d88 fix mobile doesn't init ConnectionTypeState
Signed-off-by: 21pages <pages21@163.com>
2023-11-14 12:46:21 +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
RustDesk
d12352d568 Merge pull request #6358 from basilgello/vcpkg-deps
vcpkg deps
2023-11-13 23:33:53 +08:00
RustDesk
217a9808b2 Merge pull request #6392 from 21pages/fps
not use max fps by default
2023-11-13 23:32:55 +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
Vasyl Gello
f113fda6d4 [TEMP] Try disabling LLVM IR bitcode and upload rust target folder to cache
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-13 14:01:10 +02:00
RustDesk
5a6a773583 Merge pull request #6394 from rustdesk/revert-6379-fix/the_displays_order
Revert "Fix, windows display orders"
2023-11-13 17:32:10 +08:00
RustDesk
627d21a00a Revert "Fix, windows display orders" 2023-11-13 17:31:55 +08:00
RustDesk
44e13c84bc Merge pull request #6389 from xalt7x/ukrainian-translation
Update Ukrainian translation
2023-11-13 12:46:33 +08:00
Yevhen Popok
b96067cf2e Update Ukrainian translation 2023-11-13 00:11:20 +02:00
Yevhen Popok
b2fe5cce5e Update Ukrainian translation 2023-11-13 00:06:50 +02:00
Yevhen Popok
55775adba6 Update Ukrainian translation 2023-11-13 00:01:14 +02:00
RustDesk
0500f56163 Merge pull request #6385 from 21pages/only_windows_check_cm_exit
only windows no prelogin check cm exit
2023-11-12 22:18:55 +08:00
21pages
52e5d519ab only windows no prelogin check cm exit
Signed-off-by: 21pages <pages21@163.com>
2023-11-12 22:09:41 +08:00
RustDesk
bdfbb97bf8 Merge pull request #6384 from basilgello/fix-rpmbuild-flutter-3.13.9
rpm: Add missing libfile_selector_linux_plugin.so()(64bit) to provides
2023-11-12 21:22:55 +08:00
RustDesk
cff117cb40 Merge pull request #6383 from crwusiz/master_kr
kor_translation update
2023-11-12 21:21:46 +08:00
RustDesk
cf71adc7e1 Merge pull request #6379 from fufesou/fix/the_displays_order
Fix, windows display orders
2023-11-12 21:21:23 +08:00
Vasyl Gello
0582f2a168 rpm: Add missing libfile_selector_linux_plugin.so()(64bit) to provides
Fixes installation of rpms on fedora/suse.

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-12 06:59:20 +02:00
crwusiz
2721af3052 kor_translation update 2023-11-12 13:36:25 +09:00
fufesou
f9950639e8 remove warn
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-12 11:49:38 +08:00
fufesou
8f8c9ddc25 Fix, windows display orders
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-12 00:08:16 +08:00
RustDesk
58596ad1ab Merge pull request #6374 from jxdv/cs-tr
update cs.rs
2023-11-11 19:36:13 +08:00
RustDesk
b17ea991a3 Merge pull request #6373 from jxdv/sk-tr
update sk.rs
2023-11-11 19:35:58 +08:00
RustDesk
45d70f73bd Merge pull request #6354 from 21pages/relay_hint
Show relay hint regardless of whether data is received or not
2023-11-11 19:35:44 +08:00
RustDesk
7a6e483171 Merge pull request #6361 from fufesou/fix/check_update_broker_on_privacy_start
fix, run check_update_broker_process on privacy mode start
2023-11-11 19:29:58 +08:00
RustDesk
1792dd8d2c Merge pull request #6362 from KetaDotCC/master
fix: add missing winapi features on a fresh build
2023-11-11 19:28:56 +08:00
RustDesk
a4ea4b138f Merge pull request #6359 from cacing69/master
update ID Trans
2023-11-11 19:27:21 +08:00
jxdv
e2c6aedddd update cs.rs 2023-11-11 11:53:05 +01:00
jxdv
b91a03b602 update sk.rs 2023-11-11 11:45:53 +01: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
eaa054e599 Show relay hint regardless of whether data is received or not
Signed-off-by: 21pages <pages21@163.com>
2023-11-10 19:13:50 +08:00
Kingtous
e57d07f7d6 fix: add missing winapi features on a fresh build 2023-11-10 12:00:08 +08:00
fufesou
895831f46f fix, run check_update_broker_process on privacy mode start
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-10 09:56:25 +08:00
Ibnul Mutaki
6b16d7ee8a update ID Trans 2023-11-10 08:04:11 +07:00
rustdesk
45dbea57f1 allow /r in command line 2023-11-09 21:58:03 +08:00
RustDesk
6ea0dbc70f Merge pull request #6351 from basilgello/vcpkg-deps
vcpkg-deps fixes
2023-11-09 19:21:45 +08:00
Vasyl Gello
30a5041799 Dont mess CROSS with CC/CXX/etc
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-09 12:41:06 +02:00
Vasyl Gello
35083724f6 macos: Try to patch underlying file and not symlink
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-09 11:48:13 +02:00
RustDesk
959d5dd9c2 Merge pull request #6349 from 21pages/fix
fix windows build, add winapi features
2023-11-09 17:11:10 +08:00
rustdesk
a24a261c36 API_SERVER 2023-11-09 16:52:04 +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
fd3cb1b0eb Merge pull request #6333 from 21pages/cm
close all connections if cm exit unexpected, and allow retry
2023-11-09 16:06:57 +08:00
21pages
1902134f03 cm get config
Signed-off-by: 21pages <pages21@163.com>
2023-11-09 15:57:47 +08:00
RustDesk
cce48c5030 Merge pull request #6330 from dploeger/issue-6157
fix: Fix sysinfo >=0.29.1 crashing the main view on macOS
2023-11-09 15:47:59 +08:00
RustDesk
0654b8e427 Update Cargo.toml 2023-11-09 15:46:42 +08:00
RustDesk
7df10b20a4 Merge pull request #6328 from sahilyeole/fix/mobile_wayland_keyboard_mismatch
Fix: mobile -> wayland virtual keyboard mapping mismatch
2023-11-09 15:44:55 +08:00
RustDesk
dbde5af545 Merge pull request #6340 from grummbeer/allow-to-enable
Fix. translation keys "Allow file copy and paste" > "Enable file copy and paste"
2023-11-09 15:37:59 +08:00
RustDesk
85b4f0638f Merge pull request #6347 from rustdesk/revert-6343-remove_manual_fps
Revert "Remove manual adjustment of fps, automatically adjusted to the maximum already"
2023-11-09 15:25:10 +08:00
RustDesk
94f2751902 Revert "Remove manual adjustment of fps, automatically adjusted to the maximum already" 2023-11-09 15:24:57 +08:00
RustDesk
ffdfef0adc Merge pull request #6343 from 21pages/remove_manual_fps
Remove manual adjustment of fps, automatically adjusted to the maximum already
2023-11-09 15:13:45 +08:00
RustDesk
de7652836b Merge pull request #6334 from solokot/master
Update ru.rs
2023-11-09 15:12:24 +08:00
RustDesk
59913bc6f3 Merge pull request #6327 from Mr-Update/patch-3
Update de.rs
2023-11-09 15:11:44 +08:00
RustDesk
d77a684b64 Merge pull request #6326 from flusheDData/master
Update es.rs
2023-11-09 15:11:04 +08:00
RustDesk
529c075fe1 Merge pull request #6325 from basilgello/vcpkg-deps
Fixes for vcpkg-deps
2023-11-09 15:10:44 +08:00
Vasyl Gello
5190589653 Publish rustdesk version file on tag
[skip ci]

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-09 07:20:20 +02:00
Vasyl Gello
cb9a1b4bef Fix wrong CMake compiler detection of arm-linux on aarch64
[skip ci]

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-09 07:20:14 +02:00
21pages
a0beba4e20 remove fps manual adjust, which can only limit fps
Signed-off-by: 21pages <pages21@163.com>
2023-11-09 10:20:31 +08:00
Mr-Update
d794425f2c Update de.rs 2023-11-08 21:50:09 +01:00
Vasyl Gello
1ba11fc3ef Try to give more time to apple XProt service to verify app image
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-08 21:26:07 +02:00
Vasyl Gello
0dfb1ae776 Add oboe-wrapper local vcpkg port
... because we switched to unmodified oboe.

The wrapper is built as separate local vcpkg port
that depends on oboe.

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-08 21:26:04 +02:00
grummbeer
c8a054f997 fix translation keys. allow > enable 2023-11-08 18:32:55 +01:00
grummbeer
30c4e9cf00 fix translation keys. allow > enable 2023-11-08 18:31:37 +01:00
solokot
c9fd2fc1c2 Update ru.rs 2023-11-08 13:44:30 +03:00
Dennis Ploeger
e9e3a436eb fix: Corrected Cargo.lock 2023-11-08 10:50:15 +01:00
Dennis Ploeger
b9bd79895f fix: Fix sysinfo >=0.29.1 crashing the main view on macOS 2023-11-08 08:59:27 +01:00
21pages
36b574a5f8 close all connections if cm exit unexpected, and allow retry
Signed-off-by: 21pages <pages21@163.com>
2023-11-08 13:01:09 +08:00
Mr-Update
fe90372b2f Update de.rs 2023-11-07 23:52:56 +01:00
Sahil Yeole
d47ddac94c add layout mappings for shift+key events
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-07 23:44:26 +05:30
flusheDData
854c374e2f Update es.rs
New terms added
2023-11-07 16:27:41 +01:00
RustDesk
7bafe142ca Merge pull request #6322 from BestiaPL/master
Update pl.rs
2023-11-07 20:23:47 +08:00
RustDesk
14ec8c4bea Merge pull request #6323 from basilgello/vcpkg-deps
vcpkg deps
2023-11-07 20:21:01 +08:00
Vasyl Gello
e9f2a77bf6 Remove useless step for ios and document elinux need better
[skip ci]

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 14:17:09 +02:00
Vasyl Gello
dcb4ce8d9a Revert "CI: Remove flutter-elinux"
This reverts commit c4b68280fd.

Official flutter does not run on arm64 and it is very vaguely
documented.
2023-11-07 13:59:22 +02:00
Vasyl Gello
2702466cdf Revert "Avoid double build of bridge fies"
This reverts commit f0f52d7244.

Looks like macos and ios can use the same cached bridge but not
linux one because of missing headers: Runner/bridge_generated.h
2023-11-07 13:57:13 +02:00
Andrzej Rudnik
2016000d37 Update pl.rs 2023-11-07 12:36:05 +01:00
RustDesk
be0516c06c Merge pull request #6320 from basilgello/vcpkg-deps
vcpkg deps
2023-11-07 18:19:00 +08:00
Vasyl Gello
332a3635de Add ninja to vcpkg deps
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 12:08:44 +02:00
RustDesk
9df4fa6a0e Merge pull request #6319 from basilgello/vcpkg-deps
Add cmake to vcpkg deps
2023-11-07 18:03:01 +08:00
Vasyl Gello
ddcb9ff819 Add cmake to vcpkg deps
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 12:02:26 +02:00
RustDesk
7e9f5509ca Merge pull request #6318 from basilgello/vcpkg-deps
Add vcpkg deps (zip etc)
2023-11-07 17:57:39 +08:00
Vasyl Gello
c596d75e8c Add vcpkg deps (zip etc)
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 11:55:31 +02: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
f0f52d7244 Avoid double build of bridge fies
Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 10:55:44 +02:00
RustDesk
d55d796c00 Merge pull request #6314 from FastAct/patch-22
Update nl.rs
2023-11-07 16:14:07 +08:00
RustDesk
6da36b27aa Update nl.rs 2023-11-07 15:29:08 +08:00
FastAct
b4d3fc393e Update nl.rs 2023-11-07 07:42:25 +01:00
Vasyl Gello
c4b68280fd CI: Remove flutter-elinux
[skip ci]

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 08:31:14 +02:00
Vasyl Gello
97aeee7172 Fix CI
* Drop third party lib repos
  * Now all vcpkg dependencies are declared in vcpkg.json
  * Implement vcpkg binary caching in Github Actions

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 08:31:14 +02:00
Vasyl Gello
8bf57f1293 Refactor build_android_deps.sh
* Allow building one architecture or all 4 architectures
* Fix paths for ndk r25c+
* Bump libvpx to 1.13.1 to fix CVE-2023-5238
* Add ndk-compat from cpu-features to address missing
  android_getCpuFeatures symbol on android arm64 emulators

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 08:31:14 +02:00
Vasyl Gello
4584cebad5 Add custom ports not (yet) in upstream vcpkg
aom 3.7.0
libvpx 1.13.1: https://github.com/microsoft/vcpkg/pull/34814

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-07 08:31:11 +02:00
RustDesk
557773144b Merge pull request #6097 from mcfans/master
Physical keyboard to android support
2023-11-07 12:56:16 +08:00
mcfans
32a29a5556 chore: use a match instead of unwrap error 2023-11-07 12:51:16 +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
RustDesk
82b7650458 Merge pull request #6313 from fufesou/fix/crash_3.13_win_multidesktop
fix, crash 3.13, windows, multidesktop
2023-11-07 12:23:06 +08:00
fufesou
b7121c4447 fix, crash 3.13, windows, multidesktop
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-07 12:18:03 +08: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
eb94caf4b6 Merge pull request #6312 from fufesou/fix/remote_tab_menu
fix, remote tab menu
2023-11-07 12:00:30 +08:00
fufesou
0f59e0c950 fix, remote tab menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-07 11:56:07 +08:00
RustDesk
05a254c682 Merge pull request #6310 from 21pages/install_after_connect
fix install after connection
2023-11-07 11:37:52 +08:00
RustDesk
576ba2c745 Merge pull request #6308 from Kleofass/patch-4
Update lv.rs
2023-11-07 11:37:00 +08:00
RustDesk
3dafda6ace Merge pull request #6306 from bovirus/master
Update Italian language
2023-11-07 11:36:19 +08:00
RustDesk
2d048a3295 Merge pull request #6305 from FastAct/patch-21
Update nl.rs
2023-11-07 11:35:55 +08:00
21pages
f2d345e7b1 fix missing log when removed directory names have same prefix
Signed-off-by: 21pages <pages21@163.com>
2023-11-07 10:43:03 +08:00
21pages
6a0db02230 closeAllSubWindow before install
Signed-off-by: 21pages <pages21@163.com>
2023-11-07 10:42:57 +08:00
RustDesk
93f271912e Update nl.rs 2023-11-07 10:34:39 +08:00
Kleofass
55b78727ab Update lv.rs 2023-11-06 17:58:51 +02:00
bovirus
69b555c059 Update Italian language 2023-11-06 15:26:00 +01:00
FastAct
07f327d641 Update nl.rs 2023-11-06 15:11:47 +01:00
rustdesk
c69f4ba4a2 fix ci 2023-11-06 20:36:03 +08:00
rustdesk
d7e8d4d5c3 fix #6198 2023-11-06 20:12:01 +08:00
RustDesk
679a026e72 Merge pull request #6304 from yaseresmaeelpour/patch-1
Update fa.rs
2023-11-06 19:53:24 +08:00
yaseresmaeelpour
0db180a54f Update fa.rs
fix setup server tip message in farsi language
2023-11-06 14:52:46 +03:30
RustDesk
6c2de53e07 Merge pull request #6303 from 21pages/cm_file_log
Cm file createDir/delete log and block user input permission
2023-11-06 19:13:31 +08:00
21pages
af132aa62e permission allow->enable, block->blocking
Signed-off-by: 21pages <pages21@163.com>
2023-11-06 18:08:53 +08:00
21pages
d528fd3762 permisson block input
Signed-off-by: 21pages <pages21@163.com>
2023-11-06 15:07:03 +08:00
21pages
663d355a48 cm file delete/create log
Signed-off-by: 21pages <pages21@163.com>
2023-11-06 14:24:50 +08:00
RustDesk
27112e3480 Merge pull request #6286 from jxdv/cz-rs-update
update cs.rs
2023-11-06 11:00:24 +08:00
RustDesk
482d3ff352 Merge pull request #6297 from BestiaPL/master
Update pl.rs
2023-11-06 11:00:04 +08:00
RustDesk
a444d4af94 Merge pull request #6289 from crwusiz/master_kr
kor_translation update
2023-11-06 10:59:49 +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
Andrzej Rudnik
8f7d653e80 Update pl.rs 2023-11-06 00:30:59 +01:00
mcfans
e474b595ad fix: add proguard rules, avoid protobuf generated classes got obfuscated 2023-11-06 01:04:53 +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
crwusiz
4aa994827c kor_translation update 2023-11-05 10:12:45 +09:00
jxdv
a521ccde47 update cs.rs 2023-11-04 14:29:03 +01:00
RustDesk
03d280054b Merge pull request #6285 from jxdv/sk-rs-update
update sk.rs
2023-11-04 21:22:23 +08:00
jxdv
c0a3279856 update sk.rs 2023-11-04 14:12:10 +01:00
jxdv
e8643632bf translations 2023-11-04 13:24:23 +01:00
mcfans
6d8272472a fix: set correct flag 2023-11-04 20:24:15 +08:00
mcfans
409d5b124a fix: add page up/down keymap 2023-11-04 17:57:19 +08:00
RustDesk
0c1f3d056a Merge pull request #6279 from sahilyeole/feat/list_view
Fix: change view dropdown not working on macos clicking
2023-11-04 17:26:05 +08:00
Sahil Yeole
0e702d8693 remove setState
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-04 14:50:04 +05:30
mcfans
b155cd9a5a fix: set same rect for correct layout and navigation and set correct selection 2023-11-04 17:08:49 +08:00
RustDesk
6a281fb7ba Merge pull request #6266 from sahilyeole/feat/mobile_uni_link
Feat: mobile uni link support (android + ios)
2023-11-04 10:59:29 +08:00
Sahil Yeole
203891c957 fix change view dropdown not working on macos clicking
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-03 20:12:52 +05:30
Sahil Yeole
1365df898f support connect, play & file-transfer on mobile uri
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-03 18:31:30 +05:30
RustDesk
a2bc02b4c5 Merge pull request #6275 from 21pages/opt_codec
opt codec
2023-11-03 15:06:46 +08:00
21pages
0d01aa4eea opt close on taskbar, not call onWindowClose multi times
Signed-off-by: 21pages <pages21@163.com>
2023-11-03 11:52:43 +08:00
21pages
017c73132c condition show more quality
Signed-off-by: 21pages <pages21@163.com>
2023-11-03 11:52:43 +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
429f44eb6a Merge pull request #6274 from KagamineP/patch-2
Update ru.rs
2023-11-03 11:36:06 +08:00
Dmitry Kiryanov
346c88b661 Update ru.rs 2023-11-03 08:30:28 +05:00
mcfans
c49853e7b4 fix: set text before update accessibility node 2023-11-03 10:47:46 +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
RustDesk
9aa788f086 Merge pull request #6271 from Kleofass/patch-3
Update lv.rs
2023-11-03 10:34:26 +08:00
RustDesk
c35268c493 Merge pull request #6267 from flusheDData/master
Update es.rs
2023-11-03 10:34:09 +08:00
dignow
df0ad4486e fix build
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-03 09:23:28 +08:00
Kleofass
d369385657 Update lv.rs 2023-11-03 02:25:01 +02:00
dignow
059e067bdc fix, android rotate screen
Signed-off-by: dignow <linlong1265@gmail.com>
2023-11-03 07:17:40 +08:00
Sahil Yeole
050759c1c2 improve code format
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-03 01:55:56 +05:30
Sahil Yeole
6d264b4394 remove extra line
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-03 01:51:40 +05:30
Sahil Yeole
284330ed5f use desktop uri format for mobile
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-03 01:46:51 +05:30
Sahil Yeole
49205b604c add android intent url scheme
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-02 23:57:31 +05:30
Sahil Yeole
c14c27970f cold boot uni link mobile
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-02 23:57:31 +05:30
Sahil Yeole
b1682d5794 listen and connect to uni link mobile
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-02 23:57:31 +05:30
Sahil Yeole
d0b9dd9ae7 add ios uni link scheme
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-02 23:57:31 +05:30
mcfans
0a94b7473d fix: use onKeyDown to dispatch key event 2023-11-03 01:50:21 +08:00
flusheDData
587a928b84 Update es.rs
New terms added
2023-11-02 16:15:36 +01:00
RustDesk
48dbc06b29 Merge pull request #6264 from fufesou/fix/win_crash_tokio_1.28.1_upgrade_1.33.0
fix, win crash, tokio 1.28.1 to 1.33.0, revert
2023-11-02 14:56: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
8e0bce4da4 Merge pull request #6263 from xalt7x/ukrainian-translation
Update Ukrainian translation
2023-11-02 14:07:12 +08:00
Yevhen Popok
01078bd7b2 Update Ukrainian translation 2023-11-02 08:05:39 +02:00
RustDesk
a97fbb2d48 Merge pull request #6260 from fufesou/fix/build_mobile
fix build
2023-11-02 10:07:49 +08:00
RustDesk
6782f92703 Merge pull request #6262 from rustdesk/revert-6257-android-fixes
Revert "Fixes for Android (ndk r26b)"
2023-11-02 09:50:34 +08:00
RustDesk
9096c29fef Revert "Fixes for Android (ndk r26b)" 2023-11-02 09:50:02 +08:00
mcfans
100967c57b fix: set focusable before request focus 2023-11-02 00:37:21 +08:00
fufesou
c871af2711 fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-01 21:03:57 +08:00
RustDesk
faf99ffe14 Merge pull request #6258 from fufesou/fix/remove_unused_capturer_on_peer
fix, remove unused capturer when switching display
2023-11-01 20:06:12 +08:00
fufesou
58d073b516 fix, remove unused capturer when switching display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-01 19:53:37 +08:00
RustDesk
52a4d41c6f Merge pull request #6257 from basilgello/android-fixes
Fixes for Android (ndk r26b)
2023-11-01 18:36:50 +08:00
Vasyl Gello
0805b00c50 Fix build on android-x86 and rename function
... because we add ndk_compat and the function installs
android-specific dependencies.

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-01 11:41:17 +02:00
Vasyl Gello
c8f8bfd6f0 Refactor build_android_deps.sh
* Allow building one architecture or all 4 architectures
* Fix paths for ndk r25c+
* Bump libvpx to 1.13.1 to fix CVE-2023-5238
* Add ndk-compat from cpu-features to address missing
  android_getCpuFeatures symbol on android arm64 emulators

Signed-off-by: Vasyl Gello <vasek.gello@gmail.com>
2023-11-01 11:36:10 +02:00
RustDesk
1f51d37ae6 Merge pull request #6256 from 21pages/android_ci
Revert "fix android ci, replace use with try-finally"
2023-11-01 17:22:33 +08:00
rustdesk
f8a4b8de51 fix ci 2023-11-01 17:14:44 +08:00
rustdesk
eaa64d7b70 bump bridge to 1.80.1 2023-11-01 17:04:32 +08:00
21pages
4480fbf787 Revert "fix android ci, replace use with try-finally"
This reverts commit dfe96eb30c.
2023-11-01 16:38:20 +08:00
rustdesk
c2287033e3 XXPermissions:18.5 2023-11-01 16:31:37 +08:00
rustdesk
0a0fb5287a dump kotlin 2023-11-01 15:52:07 +08:00
rustdesk
52acbd7d2c fix ios ci 2023-11-01 15:45:48 +08:00
rustdesk
af4f84a84b fix ios ci 2023-11-01 15:16:33 +08:00
RustDesk
633241fcee Merge pull request #6253 from 21pages/upgrade_desktop_drop
upgrade desktop_drop to fix windows crash on close on flutter 3.13
2023-11-01 15:14:11 +08:00
21pages
f1f3d288cd upgrade desktop_drop to fix windows close on crash on flutter 3.13
https://github.com/MixinNetwork/flutter-plugins/pull/276

Signed-off-by: 21pages <pages21@163.com>
2023-11-01 15:09:02 +08:00
RustDesk
7c98da85a0 Merge pull request #6251 from 21pages/translate
opt "True color" translation
2023-11-01 12:00:51 +08:00
21pages
36f7d64352 opt "True color" translation
Signed-off-by: 21pages <pages21@163.com>
2023-11-01 11:46:51 +08:00
RustDesk
a4bbcbe5ff Merge pull request #6246 from Mr-Update/patch-2
Update de.rs
2023-11-01 10:56:29 +08:00
RustDesk
cbb4ec5aa1 Merge pull request #6244 from bovirus/master
Update Italian language
2023-11-01 10:55:29 +08:00
RustDesk
84fc5f7d67 Merge pull request #6247 from sahilyeole/feat/list_view
Fix small tiles view not restored
2023-11-01 10:54:52 +08:00
RustDesk
a4d84cdc21 Merge pull request #6249 from fufesou/refact/pubspec_flutter_rust_bridge
fix flutter_rust_bridge pub version
2023-11-01 10:54:25 +08:00
RustDesk
1a422f318c Merge pull request #6250 from 21pages/android_ci
fix android ci, replace use with try-finally
2023-11-01 10:54:01 +08:00
fufesou
8f202fd70d fix flutter_rust_bridge pub version
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-11-01 10:08:35 +08:00
21pages
dfe96eb30c fix android ci, replace use with try-finally
Signed-off-by: 21pages <pages21@163.com>
2023-11-01 09:22:49 +08:00
Sahil Yeole
3d7c6c14b3 fix remember list view
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-11-01 00:59:28 +05:30
Mr-Update
85a4e361d2 Update de.rs 2023-10-31 20:10:49 +01:00
bovirus
05b2fa97d3 Update Italian language 2023-10-31 19:09:39 +01:00
mcfans
47d57ddf70 fix: set focus and FLAG_RETRIEVE_INTERACTIVE_WINDOWS 2023-11-01 00:06:45 +08:00
mcfans
9521ac6adb chore: add some log 2023-10-31 21:14:32 +08:00
rustdesk
c2703d215b bump flutter to 3.13.9 and bridge to 1.79 2023-10-31 21:10:23 +08:00
RustDesk
f5c1133fc5 Merge pull request #6243 from fufesou/fix/remote_toolbar_border_radius
fix, remote toolbar, border radius
2023-10-31 19:27:39 +08:00
fufesou
f63d81826a fix, remote toolbar, border radius
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 19:15:13 +08:00
RustDesk
fa39982a8f Merge pull request #6242 from fufesou/refact/remote_toolbar_border
refact, remote toolbar, border
2023-10-31 17:09:21 +08:00
fufesou
4b52414e03 use get instead of static value
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 16:58:20 +08:00
fufesou
29b0a7659f refact, remote toolbar, border
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 16:52:18 +08:00
RustDesk
e69183ce12 Merge pull request #6239 from fufesou/refact/remote_toolbar_monitors_menu
refact, remote toolbar, monitors menu
2023-10-31 15:32:50 +08:00
fufesou
009c088a64 change active monitor style
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 15:14:43 +08:00
fufesou
2c1f948832 refact, remote toolbar, monitors menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 14:49:01 +08:00
RustDesk
b83e007405 Merge pull request #6238 from fufesou/fix/peer_info_changed_unexpected
fix, flutter, peer info event may be changed accidentally
2023-10-31 11:07:34 +08:00
fufesou
1d3ce2c029 fix, flutter, peer info event may be changed accidentally
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 11:03:35 +08:00
rustdesk
5ad0730a26 remove gen_flutter_rust_bridge in build.rs 2023-10-31 11:00:13 +08:00
RustDesk
52f1383903 Merge pull request #6237 from fufesou/fix/virtual_display_reset
fix, virtual dislay reset
2023-10-31 10:31:08 +08:00
RustDesk
12b8cbf3e0 Merge pull request #6229 from 21pages/444
yuv 444
2023-10-31 10:08:59 +08:00
fufesou
de44f8565d fix, virtual dislay reset
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-31 08:19:21 +08:00
RustDesk
7480ead76a Merge pull request #6227 from ClSlaid/feat/osx/pasteboard-file
[feat] osx pasteboard file copy and paste support
2023-10-30 22:52:35 +08:00
RustDesk
e96ae7a650 Merge pull request #6233 from fufesou/refact/displays_arrangement
Refact/displays arrangement
2023-10-30 22:39:50 +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
fufesou
5adce88c37 fix, virtual display bugs
1. Clear the map on reset.
2. Replace `containsKey` to `contains` in flutter.

Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-30 21:40:13 +08:00
fufesou
06dda24431 refact, show global displays' arrangement
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-30 21:40:13 +08:00
rustdesk
fa046df923 add controlRight to file manager 2023-10-30 21:20:55 +08:00
rustdesk
2432eb39b1 fix ci 2023-10-30 21:04:33 +08:00
rustdesk
c211a2517f fix ci 2023-10-30 20:51:50 +08:00
rustdesk
73ea0a57a0 fix https://github.com/rustdesk/rustdesk/issues/6232 2023-10-30 20:50:32 +08:00
21pages
f05f86dc80 444
Signed-off-by: 21pages <pages21@163.com>
2023-10-30 18:46:56 +08:00
ClSlaid
e44b25c80f Merge branch 'rustdesk:master' into feat/osx/pasteboard-file 2023-10-30 17:55:29 +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
Integral
007fb34ca5 Update cn.rs 2023-10-30 17:52:28 +08:00
RustDesk
46a363cce4 Merge pull request #5638 from ClSlaid/feat/x11/clipboard-file/init
[feat] x11 clipboard copy and paste file
2023-10-30 17:31:48 +08:00
RustDesk
3047ce57a3 Merge pull request #6222 from Integral-Tech/master
Update cn.rs
2023-10-30 15:41:52 +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
Integral
4d3e3f3aed Update cn.rs 2023-10-30 15:39:09 +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
mcfans
6fdce63359 fix: unified keyboard check logic in common.rs 2023-10-30 15:34:01 +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
mcfans
70dd3f323e fix: update text selection for API level lower than 33 2023-10-30 07:46:29 +08:00
ClSlaid
803509d952 patch: add feature to build script
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-30 00:06:53 +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
RustDesk
845d5a548f Merge pull request #6219 from bovirus/master
Update Italian language
2023-10-29 16:48:17 +08:00
RustDesk
14a8cf69ef Merge pull request #6215 from BestiaPL/master
Update pl.rs
2023-10-29 16:47:32 +08:00
RustDesk
c8a6e8005e Merge pull request #6213 from Mr-Update/patch-1
Update de.rs
2023-10-29 16:47:15 +08:00
RustDesk
e6bb2bfaae Merge pull request #6211 from jxd1337/py-improvements
feat: PEP8 improvements
2023-10-29 16:47:03 +08:00
RustDesk
8ba2d1cf72 Merge pull request #6210 from solokot/master
Update ru.rs
2023-10-29 16:45:53 +08:00
bovirus
a168fc3719 Update Italian language 2023-10-29 08:57:49 +01: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
7880cba0f9 feat: enable macos cliprdr
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-29 02:40:56 +08:00
Andrzej Rudnik
f8d64528b5 Update pl.rs 2023-10-28 20:19:50 +02:00
Mr-Update
f6ee61f29e Update de.rs 2023-10-28 20:19:17 +02: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
ClSlaid
fbf5a84c4a patch: make log less verbose
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 17:00:29 +08:00
jxd1337
55412b94d2 assert without redundant () 2023-10-28 10:59:33 +02:00
jxd1337
f61fd02ac7 build.py, generate.py improvements 2023-10-28 10:57:50 +02:00
jxd1337
dc96b473cd lang.py PEP8 improvements 2023-10-28 10:50:39 +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
solokot
f8092f924a Update ru.rs 2023-10-28 06:29:50 +03: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
RustDesk
f748395bda Merge pull request #6208 from fufesou/fix/prompt_driver_cert_on_disconn
fix, prompt, driver cert , on disconnecting
2023-10-28 10:48:54 +08:00
RustDesk
12018360fd Merge pull request #6207 from cacing69/master
improve ID trans
2023-10-28 10:48:04 +08:00
RustDesk
821b2fda85 Merge pull request #6205 from Kleofass/patch-2
Update lv.rs
2023-10-28 10:47:48 +08:00
RustDesk
4cb2b29187 Merge pull request #6203 from leroyloren/master
Update cs.rs
2023-10-28 10:47:32 +08:00
fufesou
bb59778313 fix, prompt, driver cert , on disconnecting
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-28 10:42:31 +08:00
ClSlaid
ed0ded33b7 patch: fix arboard pollution
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-28 09:55:34 +08:00
Ibnul Mutaki
db19528c24 improve ID trans 2023-10-28 07:46:53 +07:00
Kleofass
7d1fb0a238 Update lv.rs 2023-10-28 02:09:39 +03:00
leroyloren
11956d9e16 Update cs.rs 2023-10-27 20:26:50 +02:00
RustDesk
cef782c388 Merge pull request #6199 from fufesou/feat/windows_virtual_displays
feat, win virtual display
2023-10-28 02:03:24 +08:00
RustDesk
e87e371c14 Merge branch 'master' into feat/windows_virtual_displays 2023-10-28 02:03:16 +08:00
RustDesk
877a455ae0 Merge pull request #6201 from Kleofass/patch-1
Update lv.rs
2023-10-28 01:56:00 +08:00
RustDesk
a47618e986 Merge pull request #6202 from jxd1337/cz-translation-improvements
Update CZ translation
2023-10-28 01:55:37 +08:00
jxd1337
2bbd759c25 Update CZ translation 2023-10-27 19:01:30 +02:00
Kleofass
4dd19884e0 Update lv.rs 2023-10-27 16:06:32 +03: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
RustDesk
625f2d2410 Merge pull request #6195 from fufesou/fix/autocomplete
fix, autocomplete, fill id field
2023-10-27 17:06:16 +08:00
fufesou
e32748daf2 fix, autocomplete, fill id field
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 17:00:13 +08:00
RustDesk
8a2bd1cac3 Merge pull request #6194 from fufesou/fix/comments_infinite_loop
add comemnt
2023-10-27 16:45:57 +08:00
mcfans
9076f213e6 fix: hide map mode if peer is android 2023-10-27 16:43:50 +08:00
mcfans
e77edc56fd chore: update lock 2023-10-27 16:42:24 +08:00
fufesou
de356304c7 add comemnt
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 15:58:54 +08:00
RustDesk
8cc9e30f86 Merge pull request #6191 from Mr-Update/patch-4
Update de.rs
2023-10-27 15:11:12 +08:00
RustDesk
384323031b Merge pull request #6193 from fufesou/fix/ui_infinite_loop
fix, flutter, infinite loop
2023-10-27 15:09:52 +08:00
fufesou
b40a7b24d4 fix, flutter, infinite loop
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-27 15:01:20 +08:00
mcfans
67b2a433a8 fix: use enhanced accessibilty node find method 2023-10-27 13:18:35 +08:00
mcfans
07bdf02af4 chore: use updated old repo 2023-10-27 13:17:49 +08:00
Mr-Update
35b470dbac Update de.rs 2023-10-26 23:57:16 +02:00
RustDesk
42eb49b84c Merge pull request #6188 from leroyloren/master
Update cs.rs
2023-10-26 19:21:37 +08:00
leroyloren
9d3d11755f Update cs.rs 2023-10-26 13:19:34 +02:00
leroyloren
0fbc546696 Update cs.rs 2023-10-26 13:18:19 +02:00
RustDesk
220422ba0d Merge pull request #6187 from bovirus/master
Update Italian language
2023-10-26 18:59:27 +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
bovirus
320f6ddc6e Update Italian language 2023-10-26 12:05:59 +02:00
RustDesk
0da6d51150 Merge pull request #6186 from fufesou/fix/dialog_block_tab_on_remote_page
fix comments
2023-10-26 17:27:08 +08:00
RustDesk
65e3170cd9 Merge pull request #6185 from 21pages/taskbar_close
fix close on taskbar
2023-10-26 17:25:22 +08:00
fufesou
ee3750121c fix comments
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-26 17:04:09 +08:00
RustDesk
9736a4ddd0 Merge pull request #6184 from fufesou/fix/dialog_block_tab_on_remote_page
fix, dialog blocks tabs on the remote page
2023-10-26 16:57:17 +08:00
21pages
53e310ff77 fix close on taskbar
Signed-off-by: 21pages <pages21@163.com>
2023-10-26 16:56:30 +08:00
fufesou
17285720f1 fix, dialog blocks tabs on the remote page
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-26 16:52:54 +08:00
RustDesk
aa690cb9ab Merge pull request #6182 from solokot/master
Update ru.rs
2023-10-26 13:12:23 +08:00
RustDesk
6d3596087a Merge branch 'master' into master 2023-10-26 13:11:59 +08:00
rustdesk
0fe80e8e1f unify text style 2023-10-26 13:09:19 +08:00
solokot
f853f20b0c Update ru.rs 2023-10-26 07:54:13 +03:00
RustDesk
39e6fa35e1 Merge pull request #6165 from sahilyeole/feat/list_view
Feat single peer per row/list view
2023-10-26 11:59:59 +08:00
Sahil Yeole
23b911297e add langs for change peer view menu
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-26 05:39:15 +05:30
Sahil Yeole
6113d1e3eb Merge branch 'rustdesk:master' into feat/list_view 2023-10-26 05:32:00 +05:30
Sahil Yeole
55f3b93958 fix peer view menu position
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-26 05:25:54 +05:30
Sahil Yeole
c522987b6f fix list view on ab when id panel
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-26 05:16:27 +05:30
Sahil Yeole
8fe64755ec fix icon ui not updating
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-26 04:46:24 +05:30
Sahil Yeole
cc35328f28 add dropdown for peer view types
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-26 04:02:34 +05:30
RustDesk
a824a7fb73 Merge pull request #6168 from fufesou/fix/check_keyboard_mode_on_conn
fix, check session's keyboard mode on conn
2023-10-25 16:22:47 +08:00
RustDesk
075d7e52df Merge pull request #6173 from flusheDData/master
Update es.rs
2023-10-25 16:22:06 +08:00
flusheDData
cadbae31e4 Update es.rs
selinux_tip translation
2023-10-25 10:19:17 +02:00
RustDesk
39b5a67040 Update README.md 2023-10-25 13:19:37 +08:00
RustDesk
30580b2c57 Update README.md 2023-10-25 13:15:15 +08:00
RustDesk
00ab830ad1 Merge pull request #6166 from sahilyeole/feat/autocomplete
Fix ID text field ui not updating on peer card connection
2023-10-25 11:07:25 +08:00
fufesou
fcf3577f67 fix, check session's keyboard mode on conn
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-25 09:20:51 +08:00
Sahil Yeole
2cdfeb8dd0 fix id field ui not updating on peer card connection
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-25 02:36:23 +05:30
Sahil Yeole
ce300aa75f remove unused onSubmitted
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-25 02:05:17 +05:30
Sahil Yeole
a52caaec75 fix list view for group tab
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-25 01:26:41 +05:30
Sahil Yeole
3f3489b292 update peer view type tooltip
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-24 23:19:43 +05:30
Sahil Yeole
1e059c5649 update peer view type icons
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-24 23:15:42 +05:30
Sahil Yeole
d9e1b2df7f update peer view type options
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-24 22:33:51 +05:30
Sahil Yeole
94e51a8041 update enum for list view
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-24 22:14:59 +05:30
Sahil Yeole
81fe90f605 add ui for new list view
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-24 22:14:01 +05:30
RustDesk
69f643447d Merge pull request #6158 from solokot/master
Update ru.rs
2023-10-24 14:38:09 +08:00
solokot
d8355371e3 Update ru.rs 2023-10-24 08:42:17 +03:00
mcfans
cbe9b9c455 fix: hide map mode if peer is android 2023-10-24 13:36:33 +08:00
mcfans
dd33c0e582 fix: use seq for translate mode and use commitText 2023-10-24 13:34:52 +08:00
RustDesk
009b0aa361 Merge pull request #6156 from dignow/fix/win_install_cert
fix, win, install cert
2023-10-24 11:49:25 +08:00
dignow
f438176544 fix potential crash when uninstalling cert
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-24 11:41:01 +08:00
dignow
be8e8a0521 fix, win, install cert
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-24 10:51:01 +08:00
RustDesk
1a8b31bdb4 Merge pull request #6137 from sahilyeole/feat/autocomplete_mobile
Feat autocomplete mobile
2023-10-24 08:55:14 +08:00
RustDesk
8a47055273 Merge pull request #6155 from bovirus/master
Update Italian language
2023-10-24 08:53:59 +08:00
Sahil Yeole
feb6f7930e common code autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-24 05:30:43 +05:30
bovirus
0271ea7dad Update Italian language 2023-10-23 17:19:05 +02:00
ClSlaid
505b73d20e patch: try fix flutter paste
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-23 20:17:36 +08:00
RustDesk
dcad8a9f79 Merge pull request #6150 from 21pages/hwcodec_check5
hwcodec check wait more time
2023-10-23 18:28:37 +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
Sahil Yeole
70794c8eb5 Merge branch 'master' into feat/autocomplete_mobile 2023-10-23 05:28:15 +05:30
Sahil Yeole
c90c4a2e78 fix empty peers desktop
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-23 05:03:44 +05:30
Sahil Yeole
6797e8af52 improve maxHeight desktop
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-23 05:01:39 +05:30
Sahil Yeole
5109802dfb update id on onchaged
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-23 04:17:28 +05:30
Sahil Yeole
935297b9e8 fix empty peers
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-23 04:03:05 +05:30
Sahil Yeole
dad209d1cd feat autocomplete mobile
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-23 03:21:54 +05:30
RustDesk
e1072cc8ca Merge pull request #6134 from Kleofass/patch-3
Update lv.rs
2023-10-22 23:06:37 +08:00
RustDesk
1a1ba80188 Merge pull request #6133 from fufesou/fix/android_physical_mouse_click_through_bottom_bar
fix, android physical mouse, click events, penetrated
2023-10-22 22:52:05 +08:00
Kleofass
c878c91e11 Update lv.rs 2023-10-22 16:51:38 +03:00
fufesou
c518521d74 fix, android physical mouse, click events, penetrated
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-22 20:35:43 +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
RustDesk
9fe525bca1 Merge pull request #6131 from Mr-Update/patch-3
Update de.rs
2023-10-22 15:55:50 +08:00
Mr-Update
352865ddaa Update de.rs 2023-10-22 09:50:27 +02:00
RustDesk
bc950ee40a Merge pull request #6128 from fufesou/feat/selinux_tip
add selinux tip
2023-10-22 14:42:05 +08:00
fufesou
5c23dfd633 selinux tip, remove rust dep 'selinux'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-22 14:22:15 +08:00
RustDesk
4633a0450c Update cn.rs 2023-10-22 13:06:17 +08:00
RustDesk
842255766f Update en.rs 2023-10-22 13:05:37 +08:00
fufesou
827c32fafd add deps
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-22 10:56:41 +08:00
fufesou
f531cd23ee add selinux tip
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-21 23:24:54 +08:00
RustDesk
2408758360 Merge pull request #6125 from 21pages/reconnect
show reconnect timeout and dismiss all dialog when show reconnecting
2023-10-21 16:14:39 +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
21pages
c268a0ab14 show reconnect timeout and dismiss all dialog when show reconnecting
Signed-off-by: 21pages <pages21@163.com>
2023-10-21 15:25:01 +08:00
RustDesk
b12c7f21b3 Merge pull request #6123 from dignow/fix/is_x11_on_conn
fix is x11, on conn
2023-10-21 14:59:28 +08:00
dignow
b3948910ff fix is x11, on conn
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-21 13:10:51 +08:00
RustDesk
9ee1261204 Merge pull request #6119 from leroyloren/master
Update cs.rs
2023-10-21 11:51:55 +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
mcfans
d900f2c47c fix: add old code back for old version 2023-10-20 21:12:02 +08:00
leroyloren
82e1fe3f8b Update cs.rs 2023-10-20 14:34:12 +02:00
leroyloren
85eb82e69d Update cs.rs 2023-10-20 14:31:49 +02: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
rustdesk
aa3c58917b remove wayland related from readme 2023-10-20 19:09:13 +08:00
RustDesk
bc591a2399 Merge pull request #6103 from flusheDData/master
Update es.rs
2023-10-20 18:40:49 +08:00
RustDesk
11d996bb56 Merge pull request #6115 from FastAct/patch-20
Update nl.rs
2023-10-20 18:40:36 +08:00
RustDesk
088a78455c Merge pull request #6104 from Mr-Update/patch-2
Update de.rs
2023-10-20 18:36:02 +08:00
Mr-Update
869d9d487b Update de.rs 2023-10-20 12:06:04 +02:00
FastAct
db3978fd4e Update nl.rs 2023-10-20 11:24:55 +02:00
RustDesk
ae7e46fe5e Merge pull request #6106 from nfsec/master
Dockerfile refactor
2023-10-20 14:05:29 +08:00
RustDesk
4bd85e1804 Merge pull request #6109 from dignow/fix/macos_close_sesions
Fix/macos close sesions
2023-10-20 14:02:45 +08:00
RustDesk
01f4434f6b Merge pull request #6107 from cacing69/master
improve ID trans
2023-10-20 14:01:12 +08:00
RustDesk
d8f808bf38 Update es.rs 2023-10-20 13:59:48 +08:00
RustDesk
807dc7d220 Merge pull request #6093 from sahilyeole/fix/remote_home_button
Fix remote home button in file transfer
2023-10-20 13:52:22 +08:00
RustDesk
b14d0c9f60 Merge pull request #6040 from sahilyeole/feat/autocomplete
Feat autocomplete/search while typing in remote ID field
2023-10-20 13:49:52 +08:00
dignow
738a1a330c change comment
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-20 09:17:10 +08:00
dignow
676b02c8de fix, macos, close sessions, confirm dialog and then hide
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-20 09:15:53 +08:00
Sahil Yeole
7136400a33 remove scheduler import
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 05:11:07 +05:30
Sahil Yeole
4651d9df68 fix textToFind
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 04:50:07 +05:30
Sahil Yeole
00555a8e9e fix text selection
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 04:44:53 +05:30
Sahil Yeole
e8c4615ff6 improve text selection
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 04:34:50 +05:30
Ibnul Mutaki
763467058b improve ID trans 2023-10-20 04:33:16 +07:00
Patryk Krawaczyński
c055ba2985 Update Dockerfile 2023-10-19 23:19:34 +02:00
Patryk Krawaczyński
7666541905 Rename entrypoint to entrypoint.sh
Rename entrypoint to entrypoint.sh which is correct with shebang of the file.
2023-10-19 23:13:00 +02:00
Sahil Yeole
f4b0b39beb show id if alias exists
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 02:40:54 +05:30
Sahil Yeole
cfc0925e75 reduce toLowerCase
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 01:35:54 +05:30
Mr-Update
4dcc368378 Update de.rs 2023-10-19 20:50:08 +02:00
Sahil Yeole
8207908d9e fix remote home button
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-20 00:14:14 +05:30
Sahil Yeole
e08da096dd remove home dir peer option
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-19 23:45:48 +05:30
mcfans
9a903a1ca3 feat: use current input method to send key 2023-10-20 00:32:59 +08:00
flusheDData
1b22bf0e08 Update es.rs
New terms added
2023-10-19 18:32:06 +02: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
RustDesk
0f235a80e0 Merge pull request #6099 from solokot/master
Update ru.rs
2023-10-19 19:52:08 +08:00
solokot
2a28046382 Update ru.rs 2023-10-19 14:44:42 +03: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
RustDesk
4a03b3d7d9 Merge pull request #6084 from 21pages/av1_record
AV1 record
2023-10-19 14:23:35 +08:00
RustDesk
2544a7e4ea Merge pull request #6094 from dignow/fix/open_individual_window_offset
open individual window, add offset
2023-10-19 14:22:35 +08:00
mcfans
26e77ba2c3 feat: modifier key 2023-10-19 14:19:19 +08:00
mcfans
28c11801f3 feat: keyboard map mode control side 2023-10-19 13:40:12 +08:00
mcfans
b3e2ab0f3b feat: map mode and translate mode receive side 2023-10-19 13:33:26 +08:00
dignow
fb12ba8a2b Change the offset depending on the platform
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-19 12:36:21 +08:00
21pages
7a5bc864fa fix client side record
Signed-off-by: 21pages <pages21@163.com>
2023-10-19 09:50:55 +08:00
dignow
2e85d4b55a add comment
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-19 07:55:55 +08:00
dignow
80951a8e6e open individual window, add offset
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-19 07:50:59 +08:00
Sahil Yeole
9acddede65 fix remote home button
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-19 04:29:51 +05:30
mcfans
22165ec1a5 feat: legacy mode android keyboard support 2023-10-19 00:16:22 +08:00
RustDesk
d7036aae48 Merge pull request #6086 from dignow/fix/try_video_capturing_on_close_window
try stop video capturing, on close window
2023-10-18 23:15:28 +08:00
dignow
fe3924b432 try stop video capturing, on close window
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 20:50:20 +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
Sahil Yeole
05c789ae50 remove fav peers from search
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-18 16:00:50 +05:30
Sahil Yeole
5d95d61aef remove fav peers from search
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-18 14:40:29 +05:30
21pages
c61fa71a70 Revert "hide recording button if using av1"
This reverts commit c2023e8ca3.
2023-10-18 13:48:12 +08:00
RustDesk
3145269f65 Merge pull request #6081 from xalt7x/ukrainian-translation
Update Ukrainian translation
2023-10-18 13:31:33 +08:00
RustDesk
2d00a1e265 Merge pull request #6080 from xalt7x/fix/eng-typos
Fix typos regarding displays
2023-10-18 13:30:08 +08:00
RustDesk
f7f178d6e3 Merge pull request #6079 from dignow/fix/change_display_resolution
Fix/change display resolution
2023-10-18 13:29:49 +08:00
RustDesk
18c591e0d0 Merge pull request #6078 from Kleofass/patch-2
Update lv.rs
2023-10-18 13:27:19 +08:00
xalt7x.service
749241f4e5 Fix typos regarding displays 2023-10-18 07:13:48 +03:00
xalt7x.service
997c368604 Update Ukrainian translation 2023-10-18 07:09:56 +03:00
dignow
ed28928c84 fix build linux
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 12:06:55 +08:00
dignow
b55c916e77 add comments
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 11:39:05 +08:00
dignow
4d537b2a9a fix/change_display_resolution, send change resolution message
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 11:35:28 +08:00
dignow
21f7d6c9b9 fix/change_display_resolution, send switch display msg
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 10:45:46 +08:00
dignow
c1b865d00e fix, change_display_resolution, add comments
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 09:59:02 +08:00
dignow
a32e740242 fix build linux
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 08:07:10 +08:00
dignow
c4f09b5598 fix, change display resolution
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-18 07:44:12 +08:00
Kleofass
5a89aa3b32 Update lv.rs 2023-10-17 23:58:54 +03:00
Sahil Yeole
149d57150c attempt fix text selection
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-17 21:29:05 +05:30
mcfans
bbc241748b feat: support android keyboard input 2023-10-17 22:12:52 +08:00
RustDesk
74ecea6307 Merge pull request #6076 from 21pages/android_log_ext
android write rust log to ExternalStorage/RustDesk/Logs
2023-10-17 21:41:41 +08:00
21pages
2e829956f4 android write rust log to ExternalStorage/RustDesk/Logs
Signed-off-by: 21pages <pages21@163.com>
2023-10-17 21:30:48 +08:00
Sahil Yeole
9e2c9cbba9 add border radius
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-17 18:57:53 +05:30
Sahil Yeole
1ad740800b remove spaces only if number
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-17 18:35:38 +05:30
Sahil Yeole
c00d4c1a7b update _fetchPeers
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-17 18:23:44 +05:30
Sahil Yeole
e0985ebb1c add peers loading indicator
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-17 18:22:27 +05:30
RustDesk
d5706442de Merge pull request #6075 from bovirus/master
Update Italian language
2023-10-17 20:43:25 +08:00
bovirus
ad5a173f3f Update Italian language 2023-10-17 14:39:55 +02:00
ClSlaid
fbb1d9247f patch: reduce logic in Fuse and SystemClipboard
1. also added more observability

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-17 16:57:55 +08:00
RustDesk
63591941b8 Merge pull request #6064 from dignow/feat/open_multi_windows
Feat/open multi windows
2023-10-17 15:39:22 +08:00
dignow
fdfeec54d7 Remove the unnecessary setState, as RxBool is used
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 14:42:35 +08:00
dignow
b2404809fc trivial, add final
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 14:31:04 +08:00
dignow
f9f463e799 fix, use RxBool to sync fullscreen state (remote toolbar)
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 14:29:14 +08:00
dignow
f1d3a553d1 open multi windows, add remote toolbar option
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 13:57:06 +08:00
dignow
e997b148e1 Change option text
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 13:16:53 +08:00
dignow
af906fac03 debug, open multi windows
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 11:11:45 +08:00
dignow
19945df0b3 open_multi_windows, check before move and set fullscreen
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 11:11:44 +08:00
dignow
bf83d552f8 feat, open multi windows
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-17 11:11:42 +08:00
RustDesk
f5d8e99fc7 Merge pull request #6063 from cacing69/master
improve ID lang trans
2023-10-17 11:06:25 +08:00
RustDesk
975037c5a0 Merge pull request #6061 from dignow/fix/remove_warns_misspelling
fix, remove warns, misspellings
2023-10-17 11:06:01 +08:00
Ibnul Mutaki
8b0b45e089 improve ID lang trans 2023-10-17 07:55:26 +07:00
Sahil Yeole
182f2ae26e add search for alias
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-17 01:34:00 +05:30
Sahil Yeole
26982787ee make getAllPeers async
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-16 23:36:43 +05:30
Sahil Yeole
4a42e3ef1b add padding autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-16 23:06:14 +05:30
dignow
4f4498666e fix, remove warns, misspellings
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-16 23:19:07 +08:00
ClSlaid
8f9ba44c2c Merge remote-tracking branch 'rd/master' into feat/x11/clipboard-file/init
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-16 18:57:45 +08:00
ClSlaid
1f91d4fa7b patch: add more logs
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-16 18:42:02 +08:00
RustDesk
cf97d090f3 Merge pull request #6056 from solokot/master
Update ru.rs
2023-10-16 18:16:15 +08:00
RustDesk
9cd96a65d6 Merge pull request #6055 from BestiaPL/master
Update pl.rs
2023-10-16 18:15:57 +08:00
solokot
5fc75cb4cd Add files via upload 2023-10-16 13:06:04 +03:00
Andrzej Rudnik
27fe566412 Update pl.rs 2023-10-16 11:45:27 +02:00
RustDesk
a68c7bf019 Merge pull request #6051 from fufesou/fix/connect_the_same_peer
fix, connect the same peer
2023-10-16 10:54:46 +08:00
fufesou
11388849de fix, connect the same peer
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-16 10:47:16 +08:00
RustDesk
aa8fb55b30 Merge pull request #6050 from bovirus/master
Update Italian language
2023-10-16 10:18:13 +08:00
RustDesk
472bea2baa Merge pull request #6047 from dignow/fix/non_texture_render
fix, non-texture render, next_rgba
2023-10-16 10:15:45 +08:00
dignow
0a7a6c64ce remove 'Show displays as individual windows' if non-texture render
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-16 07:34:38 +08:00
dignow
fde8196874 fix several bugs
1. updateCurDisplay, canvas origin (x,y)
2. Do not show "Show displays as individual windows" on non-texture
   render version.

Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-16 07:26:55 +08:00
bovirus
ea8576d344 Update Italian language 2023-10-15 21:08:24 +02:00
ClSlaid
9adda25e00 patch: simplify FUSE
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-16 00:51:12 +08:00
dignow
2cc0bf22cb fix, non-texture render, next_rgba
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-16 00:20:41 +08:00
RustDesk
892ebc2e03 Merge pull request #6045 from 21pages/fix_ios_ci
fix ios ci
2023-10-15 16:28:49 +08:00
21pages
5c9ee03389 fix ios ci
don't know why call session_get_rgba

Signed-off-by: 21pages <pages21@163.com>
2023-10-15 16:05:29 +08:00
rustdesk
3702b0c694 fix ci 2023-10-15 11:56:56 +08:00
RustDesk
451d662af4 Merge pull request #6043 from SergeyMy/patch-2
Update ru.rs
2023-10-15 11:46:09 +08:00
RustDesk
7b8e0a2755 Merge pull request #6037 from Mr-Update/patch-1
Update de.rs
2023-10-15 11:45:58 +08:00
rustdesk
63ba4f4f91 fix ci 2023-10-15 11:44:44 +08:00
rustdesk
5f92465d0f move is_x11 out of loop, https://github.com/rustdesk/rustdesk/discussions/6042 2023-10-15 11:30:45 +08:00
SergeyMy
64c8c5a014 Update ru.rs 2023-10-15 08:21:38 +05:00
Sahil Yeole
2d6322f799 remove extra parameter from peer tile
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-15 04:59:03 +05:30
Sahil Yeole
8127ce18a3 optimise autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-15 04:53:57 +05:30
Sahil Yeole
7b5801920b update focusnode and texteditingcontroller for autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-15 03:34:53 +05:30
Mr-Update
c18c1e59df Update de.rs 2023-10-14 20:25:39 +02:00
RustDesk
4959e664a9 Merge pull request #6036 from Kleofass/patch-1
Update lv.rs
2023-10-14 23:54:36 +08:00
Kleofass
fb5ba257ef Update lv.rs 2023-10-14 18:43:17 +03:00
RustDesk
0ed1c0aa6b Merge pull request #6035 from cacing69/master
improve ID translation
2023-10-14 22:54:48 +08:00
Ibnul Mutaki
a12fac780b improve ID translation 2023-10-14 21:50:29 +07:00
RustDesk
0b16e13597 Merge pull request #6033 from cacing69/master
improve id translation
2023-10-14 22:35:25 +08:00
RustDesk
45a9e54631 Merge branch 'master' into master 2023-10-14 22:35:07 +08:00
Ibnul Mutaki
b969307c5e improve id translation 2023-10-14 21:33:05 +07:00
RustDesk
20325e87be Merge pull request #6032 from Mr-Update/patch-9
Update de.rs
2023-10-14 22:24:00 +08:00
RustDesk
fc48d9047a Merge branch 'master' into patch-9 2023-10-14 22:23:51 +08:00
RustDesk
16b4db5083 Merge pull request #6031 from 21pages/wallpaper_remove_unsupported
not show remove wallpaper option if unsupported
2023-10-14 22:22:37 +08:00
RustDesk
4c7487cd2e Merge pull request #6029 from SergeyMy/patch-1
Update ru.rs
2023-10-14 22:22:25 +08:00
RustDesk
271033e79d Merge branch 'master' into patch-1 2023-10-14 22:22:17 +08:00
RustDesk
d2ddcf2d38 Merge pull request #5945 from dignow/feat/multi_flutter_ui_sessions
feat, multi_flutter_ui_sessions
2023-10-14 22:21:24 +08:00
Mr-Update
8a2ab30302 Update de.rs
@grummbeer You are right.
2023-10-14 16:07:02 +02:00
Mr-Update
3070b0019e Update de.rs
@grummbeer You are right.
2023-10-14 16:01:09 +02:00
21pages
68ef1fc9e0 show wallpaper only when support, show test on checked
Signed-off-by: 21pages <pages21@163.com>
2023-10-14 19:22:42 +08:00
SergeyMy
c13d67dea5 Update ru.rs 2023-10-14 09:45:06 +05:00
dignow
b52cf070f5 multi flutter ui sessions, refact 'Show displays as individual windows'
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:31:57 +08:00
dignow
e363cd9813 'Choose Display Behavior' to 'Choose display behavior'
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:28 +08:00
dignow
c10fc26cce fix build, android
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:27 +08:00
dignow
3bb7123dd5 fix build, sciter
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:27 +08:00
dignow
2f2a7d1f89 feat, multi flutter ui sessions, change settings to 'Display'
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:27 +08:00
dignow
013d307bcd feat, multi_flutter_ui_sessions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-14 12:26:24 +08:00
rustdesk
5e616dd502 bump to 1.2.4 2023-10-14 11:07:08 +08:00
RustDesk
f200bd2198 Merge pull request #5990 from 21pages/remove_wallpaper_win_linux
win,linux remove desktop wallpaper
2023-10-14 10:21:06 +08:00
RustDesk
bd36ee4f67 Merge branch 'master' into remove_wallpaper_win_linux 2023-10-14 10:20:55 +08:00
RustDesk
e0e5cc076d Merge pull request #6026 from bovirus/master
Update Italian language
2023-10-14 10:05:43 +08:00
Sahil Yeole
95e3fb24f3 add ontap for autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-14 03:09:59 +05:30
Sahil Yeole
83d47aed2d update UI for autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-14 01:55:04 +05:30
Sahil Yeole
bbd7cf306a handle id whitespaces for autocomplete
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-13 23:28:54 +05:30
Sahil Yeole
f6b5c752f4 add autocomplete feat
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-13 23:10:31 +05:30
Sahil Yeole
ff20acc367 add rust bindings to get peers data
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-13 23:01:19 +05:30
bovirus
46c2720fc7 Update Italian language 2023-10-13 17:16:13 +02:00
RustDesk
cf0e3ec303 Merge pull request #6024 from Mr-Update/patch-8
Update de.rs
2023-10-13 17:58:32 +08:00
Mr-Update
c6bb3d6ae2 Update de.rs 2023-10-13 11:56:14 +02:00
RustDesk
b39ba92cfe Merge pull request #6018 from 21pages/sync_share_rdp
sync option share rdp
2023-10-13 15:27:17 +08:00
RustDesk
deb1c190c9 Merge pull request #6007 from cacing69/master
improve id  translate
2023-10-13 15:26:28 +08:00
21pages
5d0384f580 sync option share rdp
Signed-off-by: 21pages <pages21@163.com>
2023-10-13 14:28:31 +08:00
21pages
d3ce8203be win,linux remove desktop wallpaper
Signed-off-by: 21pages <pages21@163.com>
2023-10-13 13:58:11 +08:00
Ibnul Mutaki
6e80f0d93b update readme ID 2023-10-12 22:50:53 +07:00
Ibnul Mutaki
c9a923decf improve id translate 2023-10-12 22:46:33 +07:00
RustDesk
1be5f2d647 Merge pull request #6005 from 21pages/remove_option_enable_rdp
remove option enable rdp
2023-10-12 23:43:19 +08:00
RustDesk
a38bba80ee Merge pull request #6006 from fufesou/fix/linux_window_ensure_setOpacity_after_show
Fix window hide sometimes
2023-10-12 23:42:01 +08:00
fufesou
b15d84359b https://github.com/rustdesk/rustdesk/issues/5986
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-12 23:11:11 +08:00
21pages
a3670b731e remove option enable rdp
Signed-off-by: 21pages <pages21@163.com>
2023-10-12 21:44:04 +08:00
RustDesk
b89546de37 Prefer "Key" not translated. 2023-10-12 20:54:10 +08:00
RustDesk
fad4314538 Merge pull request #6003 from Kleofass/patch-2
Update lv.rs
2023-10-12 20:53:03 +08:00
Kleofass
a331961ef3 Update lv.rs 2023-10-12 15:13:23 +03:00
RustDesk
e6f62dc95e Merge pull request #5997 from solokot/master
Update ru.rs
2023-10-12 15:24:29 +08:00
solokot
bd6d863921 Update ru.rs 2023-10-12 10:12:50 +03:00
RustDesk
c11117b070 Merge pull request #5994 from bovirus/master
Add files via upload
2023-10-12 10:55:59 +08:00
bovirus
f387ccb9e4 Add files via upload 2023-10-11 19:32:57 +02:00
RustDesk
fd49830c35 Merge pull request #5987 from AnonymousWP/translation/dutch
fix(translation/Dutch): use formal translation
2023-10-11 18:16:43 +08:00
AnonymousWP
578ca6975f fix(translation/Dutch): use formal translation
Related: https://github.com/rustdesk/rustdesk/discussions/5948
2023-10-11 12:15:14 +02:00
RustDesk
c0442edb8d Merge pull request #5985 from 21pages/tag_filter_method
add option filter ab by intersection
2023-10-11 17:45:53 +08:00
21pages
1416197b62 add option filter ab by intersection
Signed-off-by: 21pages <pages21@163.com>
2023-10-11 16:50:48 +08:00
RustDesk
e1dd53f146 Merge pull request #5970 from bovirus/master
Update Italian language
2023-10-11 11:47:55 +08:00
RustDesk
73abd0f8b8 Merge pull request #5973 from sahilyeole/fix/scam_warning
Fix scam warning overflow
2023-10-11 11:47:34 +08:00
Sahil Yeole
ab982e86c3 fix scam alert buttons overflow
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-10 22:48:23 +05:30
Sahil Yeole
20a4cd49de update scam text height
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-10 21:32:05 +05:30
Sahil Yeole
387d712b67 make scam alert text scrollable
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-10 20:58:58 +05:30
bovirus
3d9ec91b35 Update Italian language 2023-10-10 15:52:55 +02:00
rustdesk
8892c8c883 remove doc_mac_permission from tempate 2023-10-10 11:53:27 +08:00
RustDesk
c51c98d682 Merge pull request #5959 from Akkowicz/master
Improve wording, add missing tip and documentation link [PL]
2023-10-10 11:50:57 +08:00
Mateusz Prais
3f4ac84cfb Improve wording, add missing tip and documentation link 2023-10-09 18:34:32 +02:00
RustDesk
c5a864e86b Merge pull request #5947 from AnonymousWP/translation/dutch
feat(translation): add and fix Dutch strings
2023-10-09 14:13:27 +08:00
RustDesk
e945dceab9 Merge pull request #5954 from dignow/fix/capitalization_styles
fix, uniform capitalization style
2023-10-09 14:12:22 +08:00
dignow
f176832851 fix, uniform capitalization style, capitalize the first letter of a phrase
Signed-off-by: dignow <linlong1265@gmail.com>
2023-10-09 14:06:26 +08:00
AnonymousWP
ab195ea520 feat(translation): add and fix Dutch strings 2023-10-08 23:34:41 +02:00
RustDesk
e4b861e766 Merge pull request #5944 from leroyloren/master
Update cs.rs
2023-10-08 19:48:04 +08:00
leroyloren
ead6d8d3a1 Update cs.rs 2023-10-08 13:46:04 +02:00
ClSlaid
796e2ec825 Merge remote-tracking branch 'rd/master' into feat/x11/clipboard-file/init
Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-07 17:32:25 +08:00
ClSlaid
a597c3f835 patch: update UI, clear previous FUSE
- UI updated, now allow copy and paste file in Linux
- Too hard to implement graceful shutdown for rustdesk, just clear
  previously mounted FUSE should also works

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-10-07 17:26:20 +08:00
RustDesk
c14cb29334 Merge pull request #5936 from hms5232/fix-term-in-tw
fix wrong terms in tw lang
2023-10-07 14:14:28 +08:00
hms5232
a233d28efc fix wrong terms in tw lang
quality is "品質" in Taiwan, the "質量" is used in China.
2023-10-07 14:11:43 +08:00
RustDesk
c7bc2ca82d Merge pull request #5935 from fufesou/fix/xwayland_server_envs
Fix/xwayland server envs
2023-10-07 13:48:56 +08:00
fufesou
bd6323ccae fix, xwayland server env, check xwayland running
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-07 00:40:16 -05:00
fufesou
4326bfa504 fix, xwayland server envs, check Xwayland
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-07 00:40:16 -05:00
fufesou
b7a4c0664b fix, wayland --server, display env, better way to find the envs
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-07 00:40:16 -05:00
fufesou
da7bcf89d4 fix, wayland --server, envs
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-07 00:40:16 -05:00
RustDesk
3907cc679a Merge pull request #5932 from fufesou/fix/mobile_cursor_offset
fix, mobile curosr (hotx,hoty)
2023-10-06 23:49:05 +08:00
fufesou
8cc5aee528 fix, mobile curosr (hotx,hoty)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-06 23:36:58 +08:00
RustDesk
d0b5c4de28 Merge pull request #5925 from RayJW/bump-flatpak-runtime
Update Freedesktop runtime to 23.08 for Flatpak.
2023-10-06 19:59:11 +08:00
RayJW
431150c262 Bumped fd runtime in CI 2023-10-06 11:28:07 +02:00
RayJW
ee994ea393 Bumped fd runtime 2023-10-06 11:22:14 +02:00
RustDesk
53cd259ffa Merge pull request #5917 from bankzst/feature/update-thai-language-fields
lang: (Thai) add new words and update existing words to up-to-date
2023-10-05 21:43:09 +08:00
Phongsathorn Sae-Ung (X10)
c0ed44abf9 fix: add new words and update existing words to up-to-date 2023-10-05 18:19:35 +07:00
RustDesk
0807eec4cc Merge pull request #5907 from Kleofass/patch-1
Update lv.rs
2023-10-05 11:16:47 +08:00
Kleofass
aec7271f50 Update lv.rs 2023-10-04 15:07:57 +03:00
RustDesk
a723518346 Merge pull request #5901 from fufesou/fix/cursor_hotxy_mismatch
fix, cursor (hotx,hoty) mismatch sometimes
2023-10-03 23:37:45 +08:00
fufesou
5d6d8e68ed Update cursor id immediately after the cursor event
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 22:15:58 +08:00
fufesou
197a9330df fix, cursor hotxy, use _id
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 21:18:53 +08:00
fufesou
8b807d7b50 fix, cursor (hotx,hoty) mismatch sometimes
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 21:16:12 +08:00
RustDesk
03c0111017 Merge pull request #5891 from fufesou/refact/flutter_sessions_lock
refact, flutter sessions lock
2023-10-03 13:19:07 +08:00
RustDesk
e55752869b Merge pull request #5890 from 21pages/mobile_peer_actions
dynamically display mobile peer tab actions
2023-10-03 13:14:49 +08:00
RustDesk
94830cffca Merge pull request #5887 from sahilyeole/fix/wayland_screen_share_prompt
Fix wayland screen prompt on display menu
2023-10-03 13:13:52 +08:00
RustDesk
8d4319ba5f Merge pull request #5886 from enoch85/patch-1
Update sv.rs
2023-10-03 13:12:39 +08:00
fufesou
06987c4ca9 refact, flutter sessions lock
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-03 09:51:21 +08:00
21pages
70c0edcbe7 mobile peer tab right actions dropdown
Signed-off-by: 21pages <pages21@163.com>
2023-10-03 09:27:35 +08:00
Sahil Yeole
7a482fd22a fix wayland screen prompt on display menu
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-10-02 21:22:40 +05:30
Daniel Hansson
022b8ec13a Update sv.rs 2023-10-02 17:48:09 +02:00
RustDesk
b02f169764 Merge pull request #5884 from fufesou/fix/sciter_reconnect_state
fix, sciter, reconnect, check thread running before the state
2023-10-02 20:40:15 +08:00
RustDesk
6c0254b5f4 Merge pull request #5880 from fufesou/fix/touch_mode_touble_tap
Fix/touch mode touble tap
2023-10-02 20:35:44 +08:00
fufesou
0a60d7016d fix, sciter, reconnect, check thread running before the state
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-02 20:17:43 +08:00
fufesou
315a2a695f add comments
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-02 12:17:11 +08:00
fufesou
863c8de28e fix, one tap results double tap event
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-02 10:30:51 +08:00
RustDesk
92213f9228 Merge pull request #5877 from leroyloren/master
Update cs.rs
2023-10-02 08:05:47 +08:00
leroyloren
253c8118a2 Update cs.rs 2023-10-01 18:54:47 +02:00
RustDesk
290c980d5f Merge pull request #5875 from 21pages/remove_translation
remove useless translations
2023-10-01 13:10:06 +08:00
21pages
6ead1f4bd9 remove useless translations
Signed-off-by: 21pages <pages21@163.com>
2023-10-01 13:04:47 +08:00
RustDesk
6e4a5b64b7 Merge pull request #5874 from fufesou/refact/remove_cursor_mobile_2_mobile
refact, remove cursor if mobile -- mobile
2023-10-01 12:56:55 +08:00
RustDesk
6e3e60a44d Merge pull request #5873 from 21pages/cm_width
opt cm width and elevation requires keyboard permission
2023-10-01 12:49:20 +08:00
fufesou
b88fafe5ff refact, remove cursor if mobile -- mobile
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-10-01 12:16:06 +08:00
21pages
17a56bbf48 elevation: keyboard permission required and remove foreground filter
Signed-off-by: 21pages <pages21@163.com>
2023-10-01 08:50:29 +08:00
21pages
d8e51c6b14 render cm side page after window size change, calculate real window
width

Signed-off-by: 21pages <pages21@163.com>
2023-10-01 08:50:24 +08:00
RustDesk
44554cb54b Merge pull request #5868 from dignow/fix/reconnect_potential_deadlock
fix, reconnect deadlock, introduce connection round control
2023-09-30 22:26:57 +08:00
dignow
0bd86a8211 remove warn
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-30 22:09:32 +08:00
dignow
7fcb3d70bb fix, reconnect deadlock, introduce connection round control
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-30 22:07:14 +08:00
RustDesk
563cd828ad Merge pull request #5865 from dignow/fix/dialog_button_reconnect_cancel
Fix/dialog button reconnect cancel
2023-09-30 15:38:49 +08:00
dignow
3581e0beed Add comment
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-30 14:21:11 +08:00
RustDesk
da04de7b2d Merge pull request #5866 from 21pages/fix_reconnect_elevate_menu
fix request elevation menu not displayed when reconnect
2023-09-30 13:36:59 +08:00
21pages
661ce29519 fix request elevation menu not displayed when reconnect
Signed-off-by: 21pages <pages21@163.com>
2023-09-30 11:22:18 +08:00
dignow
56bed3f297 Update flutter pub lock
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-30 11:14:31 +08:00
dignow
79a8715c8b fix, dialog button reconnect cancel, change the interval and try count
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-29 22:53:58 +08:00
dignow
69062dca16 fix, dialog button, reconnect cancel in a short time
1. Two `reconnect` is called.
2. The window cannot be closed.

Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-29 21:42:49 +08:00
RustDesk
40d3085cc2 Merge pull request #5856 from 21pages/fix
show rdp menu only windows to windows
2023-09-29 13:09:13 +08:00
21pages
5e444de031 show rdp menu only windows to windows
Signed-off-by: 21pages <pages21@163.com>
2023-09-29 08:42:06 +08:00
RustDesk
3e61b89499 Merge pull request #5847 from 21pages/tab_label
try fix remote tab label update
2023-09-28 10:39:21 +08:00
RustDesk
76e9d749c9 Merge pull request #5846 from dignow/fix/cm_window_await_call_order
fix: cm await call
2023-09-28 10:39:07 +08:00
RustDesk
3e47c352a3 Merge pull request #5844 from fetzu/lang-fr
Update fr.rs
2023-09-28 10:38:10 +08:00
21pages
6028cfc1a3 fix remote tab lable update, Get.find always return the first instance
Signed-off-by: 21pages <pages21@163.com>
2023-09-28 09:05:10 +08:00
Julien
20f1a85e69 Update fr.rs
+ Added French translation for new (and some old) strings.
2023-09-27 23:02:49 +02:00
dignow
00d3d0f094 fix: cm await call
1. Cm may crash in wrong order.
2. The window may be at the left top.
3. The window may be wrong size.

Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-27 23:51:27 +08:00
RustDesk
8756ae0fe6 Merge pull request #5841 from 21pages/av1_auto_codec
Give higher priority to AV1 over VP9 in the auto codec
2023-09-27 18:50:18 +08:00
21pages
bdb1fc2ed7 Give higher priority to AV1 over VP9 in the auto codec
Signed-off-by: 21pages <pages21@163.com>
2023-09-27 18:42:57 +08:00
RustDesk
34d64fbcaf Merge pull request #5829 from 21pages/scrollbar
desktop touch pad scroll
2023-09-27 10:53:55 +08:00
21pages
3eeb0628f5 adjust scrollbar style, peers view support touch pad scroll, settings tab
remove horizontal touch pad scroll

Signed-off-by: 21pages <pages21@163.com>
2023-09-27 10:25:49 +08:00
RustDesk
3ed71fa21e Merge pull request #5832 from dignow/fix/await_calling_order
use await to guarantee the calling order
2023-09-27 10:03:41 +08:00
dignow
731ecfda64 use await to guarantee the calling order
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-27 09:16:51 +08:00
RustDesk
230eb76532 Merge pull request #5822 from 21pages/me
show username followed by a 'Me' tag
2023-09-26 18:18:01 +08:00
21pages
93f2b288b5 show username followed by a 'Me' tag, use first letter as avatar
Signed-off-by: 21pages <pages21@163.com>
2023-09-26 18:01:33 +08:00
RustDesk
d9ee9ba238 Merge pull request #5821 from 21pages/tab_label
desktop tab lable format: id/alias@hostname
2023-09-26 15:26:31 +08:00
21pages
e000fdfb50 desktop tab lable format: id/alias@hostname
Signed-off-by: 21pages <pages21@163.com>
2023-09-26 15:11:31 +08:00
rustdesk
4e97d2503b chore 2023-09-26 11:02:52 +08:00
rustdesk
f21f793343 remove check update from periodical call 2023-09-26 10:47:45 +08:00
rustdesk
c470f2734d revert pub lock to old, because the shit flutter bridge does not work 2023-09-26 10:41:29 +08:00
rustdesk
28ddf6cf07 fix a potential crash 2023-09-26 10:26:42 +08:00
RustDesk
e0302d1f09 Merge pull request #5816 from solokot/master
Update ru.rs
2023-09-25 22:56:53 +08:00
RustDesk
a536f79f6d Merge pull request #5815 from flusheDData/master
Update es.rs
2023-09-25 22:56:24 +08:00
RustDesk
5c48fb9e66 Merge pull request #5814 from BestiaPL/master
Update pl.rs
2023-09-25 22:56:06 +08:00
rustdesk
994ba1edd9 debug=true does not work, update pub 2023-09-25 22:54:00 +08:00
solokot
ed90979417 Update ru.rs 2023-09-25 17:47:41 +03:00
flusheDData
4dc2172426 Update es.rs
New term added
2023-09-25 16:31:05 +02:00
Andrzej Rudnik
daa41f8664 Update pl.rs 2023-09-25 16:29:19 +02:00
RustDesk
4e93ffb924 Merge pull request #5812 from 21pages/desktop_single_scroll
desktop only one scrollbar
2023-09-25 21:33:01 +08:00
rustdesk
f29363f56d debug=true for debug 2023-09-25 21:31:33 +08:00
21pages
23680ccb14 replace desktop outer scroll view with Column, so that there will be
only one scrollbar

Signed-off-by: 21pages <pages21@163.com>
2023-09-25 21:04:40 +08:00
RustDesk
986e58aeec Merge pull request #5809 from sahilyeole/fix/wayland_server_start_late
Fix wayland --server starting late
2023-09-25 19:53:21 +08:00
Sahil Yeole
13da75c2b6 fix wayland server starting late
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-25 16:53:34 +05:30
RustDesk
28b28cfef6 Merge pull request #5808 from 21pages/mobile
mobile scrollable peers view
2023-09-25 16:37:39 +08:00
21pages
167bf70cd6 mobile: limited height scroll tags/users, and scrollable peers
Signed-off-by: 21pages <pages21@163.com>
2023-09-25 16:18:01 +08:00
21pages
5236dcfe52 peers view show no more than 1000 after filter
Signed-off-by: 21pages <pages21@163.com>
2023-09-25 13:41:23 +08:00
21pages
a437524c8f await loadCache
Signed-off-by: 21pages <pages21@163.com>
2023-09-25 13:41:23 +08:00
RustDesk
fcbd48648c Merge pull request #5803 from Mr-Update/patch-7
Update de.rs
2023-09-25 11:03:47 +08:00
RustDesk
3f29273f6e Merge pull request #5805 from cacing69/master
update id
2023-09-25 10:57:25 +08:00
RustDesk
b78ffdad02 Merge pull request #5799 from fufesou/fix/wayland_alt_tab
fix, alt + tab, switch window, release alt state
2023-09-25 10:57:09 +08:00
Ibnul Mutaki
fd4cd3ed04 update id 2023-09-25 08:38:58 +07:00
Mr-Update
d8001fcaea Update de.rs 2023-09-24 21:06:40 +02:00
fufesou
9771c652c5 fix, alt + tab, switch window, release alt state
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-25 00:15:36 +08:00
RustDesk
a0c7bbe213 Merge pull request #5798 from 21pages/mobile
mobile still use no scrollable widgets
2023-09-24 20:51:09 +08:00
21pages
6b43042828 mobile still use no scrollable widgets
Signed-off-by: 21pages <pages21@163.com>
2023-09-24 19:54:11 +08:00
RustDesk
73f0b1e8a3 Merge pull request #5796 from bovirus/master
Update Italian language
2023-09-24 16:55:43 +08:00
bovirus
fa1b61b3e3 Update Italian language 2023-09-24 10:54:29 +02:00
RustDesk
c116e94cba Merge pull request #5795 from Kleofass/master
Update lv.rs
2023-09-24 16:20:22 +08:00
Kleofass
7229652e31 Update lv.rs 2023-09-24 10:52:03 +03:00
RustDesk
03acf7a05c Merge pull request #5793 from 21pages/fix
remove ab pull error toast, translate group pull error
2023-09-24 11:14:03 +08:00
21pages
d83d8c18fc remove ab pull error toast, translate group pull error
Signed-off-by: 21pages <pages21@163.com>
2023-09-24 09:00:24 +08:00
RustDesk
2080e56f87 Merge pull request #5788 from 21pages/fix
fix file transfer affect codec selection
2023-09-23 23:45:17 +08:00
21pages
90f0f27fca fix file transfer affect codec selection
Signed-off-by: 21pages <pages21@163.com>
2023-09-23 21:09:24 +08:00
RustDesk
5837026e83 Merge pull request #5773 from sahilyeole/fix/wayland_cursor_mismatch
Fix wayland cursor mismatch on multiple screens
2023-09-23 16:08:34 +08:00
RustDesk
edc67e5da2 Merge pull request #5785 from 21pages/user_search
search user TextField horizontal align and case insensitive
2023-09-23 12:23:24 +08:00
21pages
55b43f4612 user search TextField horizontal align and case insensitive
Signed-off-by: 21pages <pages21@163.com>
2023-09-23 10:03:09 +08:00
RustDesk
32a32e4a72 Update README.md 2023-09-21 19:06:04 +08:00
RustDesk
0eae0da781 Merge pull request #5771 from 21pages/ab
merge info from group when add id to addressbook
2023-09-21 16:37:10 +08:00
21pages
51b62ea467 merge info from group when add id to addressbook
Signed-off-by: 21pages <pages21@163.com>
2023-09-21 16:34:04 +08:00
rustdesk
462fa5999f update window_manager pub for cm now shown sometings on linux 2023-09-21 16:01:43 +08:00
RustDesk
82b730c5b8 Merge pull request #5769 from solokot/master
Update ru.rs
2023-09-21 14:13:56 +08:00
solokot
492ea7264a Update ru.rs 2023-09-21 09:11:53 +03:00
RustDesk
a1c910e3aa Merge pull request #5762 from 21pages/scroll
tags and users add scrollbar
2023-09-21 12:03:16 +08:00
Sahil Yeole
bf5f58e0ce fix wayland cursor mismatch
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-20 19:55:13 +05:30
21pages
428bc9b419 group users add scroll bar
Signed-off-by: 21pages <pages21@163.com>
2023-09-20 17:47:33 +08:00
21pages
a2742caa87 tags add scroll bar
Signed-off-by: 21pages <pages21@163.com>
2023-09-20 17:45:38 +08:00
ClSlaid
d2a5edda46 Merge remote-tracking branch 'origin/master' into feat/x11/clipboard-file/init 2023-09-20 16:31:58 +08:00
RustDesk
38f8956bd0 Merge pull request #5758 from BestiaPL/master
Update pl.rs
2023-09-20 10:57:45 +08:00
RustDesk
ec8deab454 Merge pull request #5757 from Mr-Update/patch-6
Update de.rs
2023-09-20 10:57:06 +08:00
RustDesk
cdc92fc552 Merge pull request #5754 from dignow/fix/scale_adaptive_blurry
fix, scale adaptive blurry
2023-09-20 10:53:44 +08:00
Andrzej Rudnik
53fb48fe7d Update pl.rs 2023-09-19 23:12:47 +02:00
Mr-Update
73e4006447 Update de.rs 2023-09-19 22:15:50 +02:00
dignow
c2ff269b5f fix, scale adaptive blurry
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-19 23:49:17 +08:00
RustDesk
c7310b64ad Merge pull request #5750 from flusheDData/master
Update es.rs
2023-09-19 23:16:47 +08:00
RustDesk
83daa702f9 Merge pull request #5752 from dignow/fix/restore_texture_offset_linux
fix, set texture widget offset to int on linux
2023-09-19 23:15:50 +08:00
dignow
cb1a06270e fix, set texture widget offset to int on linux
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-19 22:57:53 +08:00
Miguel F. G
fd34f97120 Update es.rs
new term added
2023-09-19 16:21:31 +02:00
Miguel F. G
2dc8f3b3e4 Update es.rs
New terms added
2023-09-19 16:18:21 +02:00
RustDesk
7e5b81ff4d Merge pull request #5749 from dignow/fix/texture_widget_blurry_image
fix, texture render widget, blurry image
2023-09-19 22:03:51 +08:00
RustDesk
f5b945c09b Merge pull request #5748 from 21pages/group
fix group read peers
2023-09-19 22:02:04 +08:00
dignow
6014dd05a0 fix, texture render widget, blurry image
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-19 21:32:50 +08:00
21pages
0c6aa381c5 replace Wrap with builder in PeerView for efficiency
Signed-off-by: 21pages <pages21@163.com>
2023-09-19 20:33:35 +08:00
21pages
0246f050e2 fix group peers read
Signed-off-by: 21pages <pages21@163.com>
2023-09-19 16:18:59 +08:00
RustDesk
5f222c4df2 Merge pull request #5746 from cacing69/master
update id.rs
2023-09-19 09:03:06 +08:00
Ibnul Mutaki
800f3f765f upadte ud.rs 2023-09-19 07:59:07 +07:00
Ibnul Mutaki
635f346b12 update id.rs 2023-09-19 07:52:25 +07:00
RustDesk
abe79dbf64 Merge pull request #5737 from fufesou/refact/details_on_privacy_mode
Fix, privacy on, missing failed details
2023-09-18 22:23:34 +08:00
fufesou
2b72622fe8 Fix, privacy on, missing failed details
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-18 22:12:11 +08:00
rustdesk
201c7a7e49 e51fddf7f3 2023-09-18 22:03:37 +08:00
RustDesk
ef21283a61 Merge pull request #5733 from Kleofass/patch-1
Update lv.rs
2023-09-18 21:00:14 +08:00
Kleofass
4eb76cdc30 Update lv.rs 2023-09-18 15:08:42 +03:00
RustDesk
3b68f598b1 Merge pull request #5730 from 21pages/mac_tray
remove mac tray session count tooltip
2023-09-18 17:01:41 +08:00
RustDesk
31db43dbb0 Merge pull request #5731 from bovirus/master
Update Italian language
2023-09-18 17:01:23 +08:00
RustDesk
1efc4a03cc Merge pull request #5729 from borondics/change-wording
Change-wording
2023-09-18 17:00:58 +08:00
bovirus
607c818879 Update Italian language 2023-09-18 10:52:11 +02:00
borondics
6d5f044948 Changed "unremember" to "forget" everywhere. It sounds better, shorter and it is also used for variable names as 'forget'. 2023-09-18 10:09:06 +02:00
borondics
f24a8b3918 I suggest to change "unremember" to "forget", just like it is in the code. 2023-09-18 10:00:52 +02:00
RustDesk
2e402098a2 Merge pull request #5728 from 21pages/group
fix upgrade prompt condition
2023-09-18 15:49:01 +08:00
21pages
3389c798f6 remove mac tray session count tooltip, which won't be shown
Signed-off-by: 21pages <pages21@163.com>
2023-09-18 14:49:51 +08:00
21pages
738ad474c1 fix upgrade prompt condition
Signed-off-by: 21pages <pages21@163.com>
2023-09-18 14:36:55 +08:00
RustDesk
86e2ac1497 Merge pull request #5720 from 21pages/group
enable group
2023-09-18 14:16:28 +08:00
21pages
b2a4f11e0b enable group, show accessible users and peers
Signed-off-by: 21pages <pages21@163.com>
2023-09-18 13:44:41 +08:00
21pages
09d380ba8f allow hide peer tab
Signed-off-by: 21pages <pages21@163.com>
2023-09-18 09:12:58 +08:00
RustDesk
12bfa72f31 Merge pull request #5724 from dignow/fix/try_fix_build_ios
try fix build, ios
2023-09-17 23:55:30 +08:00
dignow
b0990ac6ec try fix build, ios
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-17 23:39:54 +08:00
rustdesk
6f1f07a1c4 update lock for rustdesk_desktop_multi_window 2023-09-17 22:58:45 +08:00
RustDesk
f55fdae9eb Merge pull request #5721 from dignow/fix/adjust_window_state
Change the maximized state on 'Adjust Window'
2023-09-17 22:54:13 +08:00
dignow
b0225880de Change the maximized state on 'Adjust Window'
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-17 19:49:02 +08:00
RustDesk
74be6af3e6 Merge pull request #5719 from fufesou/fix/remove_nested_read_calls
Refactor/remove nested read calls
2023-09-17 16:30:49 +08:00
fufesou
72f5fbd6ad fix build sciter
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-17 13:41:00 +08:00
fufesou
ae3efa1151 fix, RwLock, remove nested read calls
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-17 13:01:27 +08:00
RustDesk
348ed268c3 Merge pull request #5716 from fufesou/refact/privacy_mode_msgbox_details
Refact/privacy mode msgbox details
2023-09-17 11:23:24 +08:00
fufesou
df19ccf998 Set details for block input back notification
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-17 11:07:06 +08:00
fufesou
db2e4f30a7 Privacy mode, msgbox, add details
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-17 10:53:04 +08:00
RustDesk
a1e1f5aab6 Merge pull request #5715 from fufesou/fix/crash_macos_on_disconnect
fix, macos as the controlled side, crash on disconnect
2023-09-17 10:35:05 +08:00
fufesou
7ffe11b000 fix, macos as the controlled side, crash on disconnect
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-17 09:17:51 +08:00
RustDesk
eb5ea17610 Merge pull request #5713 from bovirus/master
Update italian language
2023-09-16 21:53:52 +08:00
bovirus
8657381dce Update italian language 2023-09-16 15:48:00 +02:00
RustDesk
55114082e3 Merge pull request #5710 from NicKoehler/manager-columns
Changed File Manager column behaviour
2023-09-16 18:53:31 +08:00
RustDesk
64051e9cfa Merge pull request #5709 from Kleofass/master
Update latvian lv.rs
2023-09-16 18:52:24 +08:00
NicKoehler
780d64a349 refactor functions 2023-09-16 12:28:00 +02:00
NicKoehler
bcd1827d8a Changed columns and window behaviour when resized 2023-09-16 11:54:17 +02:00
Kleofass
0097f5fc8d Update lv.rs 2023-09-16 12:42:03 +03:00
RustDesk
3766d2b97b Update vcpkg-deps-linux.yml 2023-09-16 15:04:06 +08:00
RustDesk
f2b7bfc561 Merge pull request #5706 from Mr-Update/patch-5
Update de.rs
2023-09-16 11:11:50 +08:00
RustDesk
4d3484002d Merge pull request #5708 from cacing69/master
update indo translation
2023-09-16 11:04:25 +08:00
Ibnul Mutaki
34f20f914a update indo translation 2023-09-16 08:36:39 +07:00
Mr-Update
19444353b4 Update de.rs 2023-09-15 21:36:08 +02:00
RustDesk
b4f0a13779 Merge pull request #5705 from Kleofass/master
Update latvian lv.rs
2023-09-15 22:58:21 +08:00
Kleofass
fa815af798 Update latvian lv.rs 2023-09-15 14:58:37 +03:00
Kleofass
f1e2aa8c96 Update latvian lang.rs 2023-09-15 14:58:10 +03:00
RustDesk
9fd24db257 Merge pull request #5704 from fufesou/fix/update_rdev
Fix/update rdev
2023-09-15 17:25:02 +08:00
fufesou
73414f2ee1 simple remove parentheses
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-15 15:38:42 +08:00
fufesou
7b37e5183c update rdev, fix grab system utf8, fallback on linux
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-15 15:35:44 +08:00
RustDesk
bb8438c770 Merge pull request #5702 from solokot/master
Update ru.rs
2023-09-15 14:34:11 +08:00
solokot
3dd329a999 Update ru.rs 2023-09-15 08:37:08 +03:00
RustDesk
ab2672777e Merge pull request #5700 from Integral-Tech/master
Update cn.rs
2023-09-15 12:04:27 +08:00
Integral
45aea4176f Update cn.rs 2023-09-15 11:56:04 +08:00
RustDesk
f8dfbbb0b9 Merge pull request #5697 from solokot/master
Update ru.rs
2023-09-15 09:59:15 +08:00
RustDesk
48a348c4d1 Merge branch 'master' into master 2023-09-15 09:25:01 +08:00
RustDesk
870ff56629 Merge pull request #5699 from cacing69/master
improve indonesia translation
2023-09-15 09:23:57 +08:00
RustDesk
b2ed8d8560 Merge branch 'master' into master 2023-09-15 09:23:49 +08:00
RustDesk
e8510ddc58 Merge pull request #5696 from sahilyeole/feat/optional_update_check
Feat optional update check and closable update card
2023-09-15 09:20:00 +08:00
Ibnul Mutaki
97f7575409 improve indo translation 2023-09-15 07:44:25 +07:00
Ibnul Mutaki
5220157b01 add indonesia translation 2023-09-15 07:42:45 +07:00
solokot
900f9ec9a9 Update ru.rs 2023-09-14 23:53:05 +03:00
Sahil Yeole
52ec2c2538 add lang
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-14 23:57:17 +05:30
Sahil Yeole
31101221e0 feat closable update card
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-14 20:41:25 +05:30
Sahil Yeole
ae37c2ab2a update checkbox text
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-14 19:02:53 +05:30
Sahil Yeole
e8d014d80d feat optional update check
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-14 16:31:17 +05:30
Sahil Yeole
b88f1dc79a fix flutter check for update
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-14 14:26:09 +05:30
Sahil Yeole
dccc791c99 Merge branch 'rustdesk:master' into feat/optional_update_check 2023-09-14 14:00:25 +05:30
Sahil Yeole
474d2402b7 add checkbox for update check on startup
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-14 13:57:58 +05:30
RustDesk
7a9f1e9c6c Update vcpkg-deps-linux.yml 2023-09-14 12:03:14 +08:00
RustDesk
98364e83b6 Update vcpkg-deps-linux.yml 2023-09-14 11:32:58 +08:00
RustDesk
bf65f033dd Merge pull request #5684 from Mr-Update/patch-4
Update de.rs
2023-09-14 09:34:15 +08:00
RustDesk
2d9b430327 Merge pull request #5685 from BestiaPL/master
Update pl.rs
2023-09-14 09:33:54 +08:00
RustDesk
ec54443674 Update pl.rs 2023-09-14 09:33:25 +08:00
Andrzej Rudnik
0fb84ccc49 Update pl.rs 2023-09-13 21:10:19 +02:00
Mr-Update
0b4aad4931 Update de.rs 2023-09-13 20:44:32 +02:00
RustDesk
ab470d4a4c Merge pull request #5682 from dignow/fix/scrollbar_thickness
fix, set scrollbar thickness to 12
2023-09-13 21:37:39 +08:00
dignow
88e1245d10 fix, set scrollbar thickness to 12
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-13 21:02:21 +08:00
RustDesk
bc4dbd6194 Merge pull request #5681 from bovirus/master
Update Italian language
2023-09-13 20:05:32 +08:00
bovirus
b35df54c81 Update Italian language 2023-09-13 13:59:38 +02:00
RustDesk
c53c7b1aaa Merge pull request #5674 from 21pages/auto_disconnect
auto disconnect
2023-09-13 14:04:32 +08:00
21pages
0a0653358c auto disconnect
Signed-off-by: 21pages <pages21@163.com>
2023-09-13 13:57:57 +08:00
rustdesk
e2ccaf2c91 allow hide cm for self-host pro 2023-09-13 13:54:02 +08:00
RustDesk
75f5212661 Merge pull request #5664 from sahilyeole/add/scam_warning
Add mobile scam warning window
2023-09-13 13:41:22 +08:00
Sahil Yeole
1e548af987 update lang
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-13 11:00:07 +05:30
RustDesk
2c2c828b47 Merge pull request #5659 from 21pages/fix
install service period protection
2023-09-13 13:22:21 +08:00
Sahil Yeole
19e49a7de7 Merge branch 'rustdesk:master' into add/scam_warning 2023-09-13 10:42:08 +05:30
Sahil Yeole
18c9ad25be remove lang
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-13 10:41:48 +05:30
RustDesk
9e3f0304de Merge pull request #5654 from 21pages/tray
translate placeholder && tray tooltip and pull up
2023-09-13 13:10:37 +08:00
21pages
55dbcb646b windows remove "--cm-no-ui", "--cm --hide"
Signed-off-by: 21pages <pages21@163.com>
2023-09-13 12:14:27 +08:00
21pages
db0ab2e4a9 try start tray when a new controlled connection is established for windows flutter
Signed-off-by: 21pages <pages21@163.com>
2023-09-13 12:14:27 +08:00
21pages
c254eebea2 windows/mac tray tooltip show controlled session count
* ubuntu 22.04 can't see tooltip

Signed-off-by: 21pages <pages21@163.com>
2023-09-13 12:14:25 +08:00
21pages
45b0e7dc01 translate placeholders ui:{value}, translation: {}
Signed-off-by: 21pages <pages21@163.com>
2023-09-13 12:13:18 +08:00
RustDesk
4c4c62c7e5 Update server_page.dart
change countdown to 12
2023-09-13 10:19:43 +08:00
RustDesk
cb2038442c Merge pull request #5666 from BestiaPL/master
Update pl.rs
2023-09-13 09:56:54 +08:00
RustDesk
1d219eb8f2 Merge pull request #5669 from cacing69/master
update text indo
2023-09-13 09:56:26 +08:00
RustDesk
7d33563010 Merge pull request #5656 from Mr-Update/patch-3
Update de.rs
2023-09-13 09:52:00 +08:00
Ibnul Mutaki
e3d34c46c7 update text indo 2023-09-12 13:08:19 +07:00
Andrzej Rudnik
9129e82804 Update pl.rs 2023-09-11 20:54:33 +02:00
Sahil Yeole
d4f4a64937 remove empty line 2023-09-11 21:57:45 +05:30
Sahil Yeole
2b4a51ba24 Add scam image 2023-09-11 21:55:06 +05:30
Sahil Yeole
6a8d755b27 add scam warning lang
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-11 21:53:57 +05:30
Sahil Yeole
754fea538a add scam warning window
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-11 21:48:36 +05:30
21pages
4d0b660c73 fix lan option reaction
Signed-off-by: 21pages <pages21@163.com>
2023-09-11 16:42:01 +08:00
21pages
d0173fbdc5 install service period protection
how to reproduce:
install, click stop service, click start service and click no
on uac, it'll show "Service is not running" but can be connected.

Signed-off-by: 21pages <pages21@163.com>
2023-09-11 16:04:51 +08:00
Mr-Update
62ae4aeac9 Update de.rs 2023-09-11 08:45:49 +02:00
21pages
e98aa81794 remove sciter keep cm open for file log
Signed-off-by: 21pages <pages21@163.com>
2023-09-11 11:23:00 +08:00
21pages
a5dcac137f fix dark theme error banner background color
Signed-off-by: 21pages <pages21@163.com>
2023-09-11 11:18:26 +08:00
RustDesk
96215d32b7 Merge pull request #5651 from flusheDData/master
Update es.rs
2023-09-11 08:43:57 +08:00
RustDesk
4a20989028 Merge pull request #5652 from bovirus/master
Update italian language
2023-09-11 08:43:16 +08:00
bovirus
f5fe6a36eb Update italian language
@rustdesk

Please merge. Thanks.
2023-09-10 21:42:22 +02:00
Miguel F. G
852bab6e0b Update es.rs
Some corrections plus new  terms
2023-09-10 20:34:26 +02:00
RustDesk
52ec27f785 Merge pull request #5649 from solokot/master
Update ru.rs
2023-09-10 23:04:25 +08:00
RustDesk
c6d617f190 Merge pull request #5650 from fufesou/fix/capitalization_style
fix, some case-style mismatch issues in the same option group
2023-09-10 23:04:00 +08:00
fufesou
1a6ef23ee7 fix, some capitalization style mismatch in the same option group
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-10 22:59:45 +08:00
solokot
759bbeac06 Update ru.rs 2023-09-10 16:47:50 +03:00
RustDesk
15c72fe7d3 Merge pull request #5646 from dignow/fix/android_input_connect_passwd
fix, android soft keyboard, 'delete input' on conn password
2023-09-10 21:02:47 +08:00
RustDesk
f6973f9a70 Merge pull request #5645 from fufesou/feat/scroll_mode
feat, mouse wheel and touchpad scroll mode, default or reverse
2023-09-10 21:02:36 +08:00
fufesou
f1d5afe72a Change the option 'Scroll mode' to be 'Reverse mouse wheel'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-10 18:31:16 +08:00
dignow
e1f2cd21e7 add comment
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-10 15:41:29 +08:00
dignow
ea5c60af7a fix, android softkeyboard, 'delete input' on conn password
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-10 15:32:50 +08:00
fufesou
558567d399 remove unused mut
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-10 14:28:58 +08:00
fufesou
0c1899a0af format
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-10 14:25:41 +08:00
fufesou
28d8ad1e61 add lang
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-10 14:23:22 +08:00
fufesou
eb0a0662a3 feat, mouse wheel and touchpad scroll mode, default or reverse
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-10 14:14:57 +08:00
ClSlaid
3a21efbaae patch: linux fuse unmount
todo: grosely exit

Signed-off-by: ClSlaid <cailue@bupt.edu.cn>
2023-09-09 19:24:38 +08:00
RustDesk
405363da59 Merge pull request #5639 from Mr-Update/patch-1
Update de.rs
2023-09-09 14:57:59 +08:00
蔡略
e5bcfeaad5 patch: linux set clipboard
Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
2023-09-09 09:48:31 +08:00
Mr-Update
8b8cfa7a1b Update de.rs 2023-09-08 21:29:45 +02:00
cailue
af131cd1e5 fix: review windows
make windows version able to run

Signed-off-by: cailue <cailue@bupt.edu.cn>
2023-09-08 20:37:14 +08:00
蔡略
a7bb90e7e6 Merge remote-tracking branch 'origin/master' into feat/x11/clipboard-file/init
Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
2023-09-08 20:09:57 +08:00
蔡略
25cf36a948 feat: add x11 clipboard support
Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
2023-09-08 19:39:00 +08:00
RustDesk
cc3ff284f7 Merge pull request #5635 from solokot/master
Update ru.rs
2023-09-08 16:35:10 +08:00
solokot
0af6f271c6 Update ru.rs 2023-09-08 11:25:14 +03:00
RustDesk
441cddbde6 Merge pull request #5634 from bovirus/master
Update Italian language
2023-09-08 16:06:38 +08:00
bovirus
1ab09c65f0 Update Italian language
@rustdesk

Please merge. Thanks.
2023-09-08 09:10:28 +02:00
RustDesk
b9892fc2d0 Merge pull request #5633 from 21pages/mobile
mobile privacy statement
2023-09-08 13:43:50 +08:00
21pages
14bf3056de mobile privacy statement
Signed-off-by: 21pages <pages21@163.com>
2023-09-08 13:29:07 +08:00
RustDesk
b3b9555daa Merge pull request #5632 from 21pages/silent-install
windows silent install notification
2023-09-08 10:49:54 +08:00
21pages
db66ffc868 not pop up cm for file log
Signed-off-by: 21pages <pages21@163.com>
2023-09-08 10:38:22 +08:00
21pages
91decea302 windows silent install notification
Signed-off-by: 21pages <pages21@163.com>
2023-09-08 10:38:05 +08:00
RustDesk
065c19cbbc Merge pull request #5625 from dignow/feat/remember_remote_window_fullscreen
Feat/remember remote window fullscreen
2023-09-08 00:41:38 +08:00
dignow
296ebd0341 fix, macos, remote fullscreen state, debug
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-07 22:26:32 +08:00
dignow
5293e3b277 fix, macos, remote fullscreen mode
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-07 21:50:03 +08:00
RustDesk
78f5b1e607 Merge pull request #5623 from 21pages/cm_file
add file log page to cm
2023-09-07 20:33:00 +08:00
dignow
17af5622ec remember remote window fullscreen, set global state
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-07 20:04:23 +08:00
21pages
2afce3f1f4 add file log page to cm
* Only send and receive logs are shown
* For older version, client send to server doesn't have size information, because server side doesn't know the total_size
* Not switch tabs automatically when new files are transferred
* If cm side page is open, not pop up automatically when new files are transferred
* Show unread message count
* The cm tab remains open when closed if a file transfer has previously occurred

Signed-off-by: 21pages <pages21@163.com>
2023-09-07 19:51:25 +08:00
rustdesk
dc29b4afa1 qs.exe -> -qs- 2023-09-07 15:17:07 +08:00
dignow
55fc0cb63b feat, remember remote window fullscreen state
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-07 13:39:20 +08:00
RustDesk
5e1eda9e97 Merge pull request #5616 from sahilyeole/fix/frequent_loginctl_calls
Fix frequent loginctl calls
2023-09-07 08:38:12 +08:00
Sahil Yeole
d582af8cb2 Merge branch 'rustdesk:master' into fix/frequent_loginctl_calls 2023-09-07 01:53:42 +05:30
Sahil Yeole
0931341a7f prevent frequent loginctl calls
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-06 22:43:33 +05:30
RustDesk
92916d9820 Merge pull request #5607 from flusheDData/master
Update es.rs
2023-09-05 22:23:40 +08:00
Miguel F. G
12fbbbb5b3 Update es.rs
New terms added
2023-09-05 16:22:08 +02:00
RustDesk
0a603d022f Merge pull request #5606 from sahilyeole/master
Few mobile chat window improvements
2023-09-05 22:21:12 +08:00
Sahil Yeole
2ada9fbee3 remove WidgetsBindingObserver ios
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-05 18:21:51 +05:30
Sahil Yeole
6e2132c65e Merge branch 'rustdesk:master' into master 2023-09-05 18:10:32 +05:30
Sahil Yeole
71dbf0fab2 fix avoid chat window keyboard overlap ios
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-05 17:58:22 +05:30
Sahil Yeole
048e97e1ee use modified dashchat to fix ios chat window safe area
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-05 17:40:11 +05:30
rustdesk
f1c0f1d0a4 prepare for https://github.com/rustdesk/rustdesk-server-pro/discussions/65 2023-09-05 17:44:49 +08:00
rustdesk
7242d03f56 change target android sdk to 33 2023-09-05 15:09:41 +08:00
RustDesk
58bbc33aa6 Merge pull request #5600 from fufesou/fix/mobile_connecting_canvas_color
fix, mobile connecting canvas color
2023-09-04 23:23:42 +08:00
fufesou
85e82d0bd5 fix, mobile connecting canvas color
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-04 23:21:47 +08:00
Sahil Yeole
d6c23bb5f3 avoid chat window keyboard overlap ios
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-04 20:49:38 +05:30
rustdesk
8235bca664 fix mac uninstall service 2023-09-04 16:22:56 +08:00
rustdesk
cd2541a9d2 fix docker issue #5595 2023-09-04 15:50:13 +08:00
蔡略
4f7036a405 feat(part): implement fuse support for linux clipboard
Signed-off-by: 蔡略 <cailue@bupt.edu.cn>
2023-09-04 15:38:53 +08:00
RustDesk
227c9594db Merge pull request #5597 from dignow/fix/image_over_android_toolbar
fix, the session image covers android toolbar
2023-09-04 15:07:05 +08:00
dignow
ea41a60057 fix, the session image covers android toolbar
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-04 14:17:54 +08:00
RustDesk
eee47eae61 Merge pull request #5596 from dignow/fix/generating_id
fix generating id
2023-09-04 12:13:34 +08:00
dignow
b6c1816833 fix generating id
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-04 12:11:35 +08:00
Sahil Yeole
4e359848d1 Merge branch 'rustdesk:master' into master 2023-09-04 01:47:39 +05:30
Sahil Yeole
9cce56caf8 remember chat window last position
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-04 01:45:48 +05:30
RustDesk
f5f0bae2ef Merge pull request #5593 from dignow/fix/remove_dup_maximized_state
Remove dup maximized state
2023-09-03 22:31:54 +08:00
dignow
4fc65aac84 Remote window restore, add 300 milliseconds delay for maximizing after the frame is restored
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-03 22:27:42 +08:00
dignow
bf32477f89 Remove dup maximized state
Signed-off-by: dignow <linlong1265@gmail.com>
2023-09-03 22:18:48 +08:00
Sahil Yeole
969eeff636 add ios chat window border
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-03 18:18:44 +05:30
RustDesk
958607ba9b Merge pull request #5591 from bovirus/master
Update italian language
2023-09-03 18:01:07 +08:00
bovirus
dcfcc1f271 Update italian language 2023-09-03 11:36:10 +02:00
RustDesk
bc3c6af95d Merge pull request #5574 from deep-soft/rustdesk-rustdesk
windows flutter - include version information in self-extracted executable
2023-09-03 15:01:05 +08:00
rustdesk
701220246d fix ci 2023-09-03 14:55:23 +08:00
rustdesk
e3b0cdaf69 Merge branch 'ios_1.2.2' 2023-09-03 11:28:21 +08:00
RustDesk
c61cbfc581 Merge pull request #5589 from 21pages/ios_1.2.2_chat
fix ios setting page show chat title
2023-09-03 10:46:19 +08:00
21pages
58073484fe fix ios setting page show chat title
Signed-off-by: 21pages <pages21@163.com>
2023-09-03 08:07:14 +08:00
deep-soft
8ce1bb1b0b Update flutter-build.yml 2023-09-02 20:52:29 +03:00
deep-soft
3fab42b8d1 Update build.rs 2023-09-02 20:52:07 +03:00
rustdesk
5b802e9edd Merge branch 'ios_1.2.2' 2023-09-03 00:16:08 +08:00
rustdesk
a9308dd992 higher build 2023-09-03 00:06:32 +08:00
RustDesk
937a3e7fd6 Merge pull request #5576 from fufesou/fix/mobile_enable_actions_before_first_image
mobile, enable bottom actions before first image is reached
2023-09-02 23:05:12 +08:00
deep-soft
c9caa5687a Update flutter-build.yml
fix find Runner.res
2023-09-02 14:29:03 +03:00
RustDesk
d6950c680f Merge pull request #5573 from sahilyeole/ios_1.2.2
Fix ios draggable chat window
2023-09-02 17:50:38 +08:00
deep-soft
4fe33db4f3 Update flutter-build.yml 2023-09-01 19:29:10 +03:00
fufesou
96d9604fe1 enable bottom actions before first image is reached
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-09-01 23:55:43 +08:00
deep-soft
0c6eacb141 Update Runner.rc 2023-09-01 16:13:21 +03:00
deep-soft
e83a97349f Update build.rs
# if Runner.res not found compile icon.rc
2023-09-01 16:12:13 +03:00
deep-soft
6c5f0aecb4 Update flutter-build.yml 2023-09-01 16:11:23 +03:00
Sahil Yeole
d9160f9126 Merge branch 'rustdesk:ios_1.2.2' into ios_1.2.2 2023-09-01 17:14:18 +05:30
RustDesk
1d93de8628 Merge pull request #5571 from 21pages/ios_1.2.2
mobile add display settings
2023-09-01 15:23:39 +08:00
21pages
54de5b0300 mobile add default display, merge set server and custom quality code
Signed-off-by: 21pages <pages21@163.com>
2023-09-01 15:04:36 +08:00
21pages
b7145959a7 impl Default for PeerConfig, fix default dispaly not work when ab has password
Signed-off-by: 21pages <pages21@163.com>
2023-09-01 14:57:15 +08:00
RustDesk
1d32a96b01 Merge pull request #5569 from 21pages/ios_1.2.2
replace SettingsTile.navigation with SettingsTile()
2023-09-01 14:57:12 +08:00
Sahil Yeole
9cc02d6fcb fix ios draggable chat window
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-09-01 12:08:33 +05:30
21pages
5d18c04661 replace SettingsTile.navigation with SettingsTile()
Signed-off-by: 21pages <pages21@163.com>
2023-09-01 12:49:57 +08:00
RustDesk
e88e17a4b0 Merge pull request #5557 from 21pages/fix
fix ios build
2023-08-31 09:49:58 +08:00
21pages
a75d73b8ac fix ios build
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 22:40:55 +08:00
RustDesk
bbac6b55d2 Merge pull request #5555 from 21pages/ios_1.2.2
ios add settings tab
2023-08-30 22:10:30 +08:00
21pages
3eeed39f52 ios add settings tab
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 22:04:15 +08:00
RustDesk
7356b7a104 Merge pull request #5554 from 21pages/elevate
close elevation request dialog on submit
2023-08-30 20:58:47 +08:00
21pages
54310b925d close elevation request dialog on submit to avoid frequent request
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 20:50:42 +08:00
RustDesk
85b5c60d60 Merge pull request #5551 from 21pages/android
mobile reset waitForImage
2023-08-30 20:02:08 +08:00
RustDesk
ab48ae6ca6 Merge pull request #5550 from 21pages/ios_1.2.2
Ios 1.2.2 waitForImage and login menu
2023-08-30 20:01:41 +08:00
21pages
7a62eb0ebf mobile reset waitForImage
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 19:46:47 +08:00
21pages
c9423509a9 ios show login/logout
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 19:26:15 +08:00
21pages
0c77d6d918 mobile reset waitForImage
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 18:58:05 +08:00
rustdesk
a0cc6afa7e iOS deploy can run 2023-08-30 18:25:50 +08:00
RustDesk
8a08a0211f Merge pull request #5547 from dignow/refact/ios_1.2.2_dummy_session_get_rgba
use get to call translate()
2023-08-30 14:59:46 +08:00
dignow
2c044d7262 use get to call translate()
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-30 14:56:55 +08:00
RustDesk
9ff3160808 Merge pull request #5546 from dignow/refact/ios_1.2.2_dummy_session_get_rgba
ios add dummy call and remove some lookup functions
2023-08-30 14:03:18 +08:00
dignow
7671ed857d ios add dummy call and remove some lookup functions
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-30 13:49:10 +08:00
RustDesk
b9bbe7a432 Merge pull request #5544 from 21pages/hide_cm
remove hide_cm
2023-08-30 11:56:48 +08:00
21pages
76a18f5ed3 remove hide_cm
Signed-off-by: 21pages <pages21@163.com>
2023-08-30 11:48:42 +08:00
RustDesk
0ee2b02700 Merge pull request #5528 from fufesou/refact/remove_virtual_display_tmp
remove virtual display
2023-08-28 10:48:13 +08:00
fufesou
173984ffd4 remove virtual display, beccause it sometimes unable to install(with the exclamation) and there's an connecting bug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-28 10:44:24 +08:00
RustDesk
f309ae0c67 Merge pull request #5516 from iAbdullah/master-ar
Add Arabic translation
2023-08-27 20:22:34 +08:00
Abdullah Ibrahim
26ef2539df Update lang.rs
Replace strange Unicode character ';' with Semicolon
2023-08-27 14:43:46 +03:00
RustDesk
bc7df4c841 Merge pull request #5526 from FastAct/patch-19
Update nl.rs
2023-08-27 19:35:07 +08:00
Abdullah Ibrahim
26c95bab66 Update lang.rs 2023-08-27 11:14:29 +03:00
FastAct
95b588f58e Update nl.rs 2023-08-27 09:33:13 +02:00
RustDesk
15e8f6ffb7 Update lang.rs 2023-08-27 13:03:22 +08:00
RustDesk
10cdd7640e Merge pull request #5523 from fufesou/fix/win_try_awake_os_if_locked
win, try awake the os by mouse movement and right click
2023-08-27 13:00:28 +08:00
RustDesk
f216287aee Merge pull request #5524 from 21pages/fix
fix decrypt unicode string
2023-08-27 13:00:11 +08:00
RustDesk
38871a98b4 Merge pull request #5525 from fufesou/fix/better_way_to_detect_no_displays
better way to detect no displays
2023-08-27 12:59:33 +08:00
21pages
9158bdfcf9 fix decrypt unicode string
Signed-off-by: 21pages <pages21@163.com>
2023-08-27 11:39:06 +08:00
fufesou
4dd694ab05 better way to detect no displays
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-27 11:12:02 +08:00
fufesou
553e3ee758 win, try awake the os by mouse movement and right click
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-27 10:28:16 +08:00
Abdullah Ibrahim
a470bf127e Merge branch 'rustdesk:master' into master-ar 2023-08-26 16:11:55 +03:00
Abdullah Ibrahim
52adf51d33 Complete arabic translation 2023-08-26 16:04:50 +03:00
RustDesk
d688e34521 Merge pull request #5514 from 21pages/cm
Do not start cm if file permission not allowed
2023-08-26 19:07:25 +08:00
21pages
50b8744f24 flutter hide cm if client is empty, close cm if that last for 6 seconds
Signed-off-by: 21pages <pages21@163.com>
2023-08-26 19:05:26 +08:00
21pages
3e6faf8364 rust start cm ipc only after login request permission check or switch sides
Signed-off-by: 21pages <pages21@163.com>
2023-08-26 16:43:20 +08:00
Abdullah Ibrahim
720de651f3 add additional translations 2023-08-25 21:58:27 +03:00
Abdullah Ibrahim
3d382d0354 Initial Arabic translation 2023-08-25 19:04:44 +03:00
RustDesk
8fea5585e5 Update README-TR.md 2023-08-25 21:45:00 +08:00
RustDesk
3f12a17246 TR 2023-08-25 21:43:32 +08:00
RustDesk
087ff278aa Merge pull request #5511 from SnmzTony/SnmzTony-patch-1-1
Update tr.rs
2023-08-25 21:13:08 +08:00
Mert Sonmez
301abcaa49 Update tr.rs 2023-08-25 16:10:09 +03:00
RustDesk
e33b8cc8e5 Merge pull request #5510 from SnmzTony/SnmzTony-rustdesk-1
Snmztony rustdesk 1
2023-08-25 19:51:16 +08:00
Mert Sonmez
d1bc8a7202 Update README-TR.md 2023-08-25 14:41:37 +03:00
Mert Sonmez
77fa3bd7fc Create DEVCONTAINER-TR.md 2023-08-25 14:40:02 +03:00
Mert Sonmez
3162fcf154 Create SECURITY-TR.md 2023-08-25 14:38:38 +03:00
Mert Sonmez
c618bdfe91 Update README-TR.md 2023-08-25 14:36:28 +03:00
Mert Sonmez
dd5c9939a0 Create CONTRIBUTING-TR.md 2023-08-25 14:35:45 +03:00
Mert Sonmez
80082b0880 Create CODE_OF_CONDUCT-TR.md 2023-08-25 14:32:27 +03:00
RustDesk
b7aa115bd2 Merge pull request #5507 from SnmzTony/SnmzTony-rustdesk-1
Create README-TR.md
2023-08-25 17:26:07 +08:00
Mert Sonmez
0e9950638c Create README-TR.md 2023-08-25 12:21:33 +03:00
rustdesk
a957acd893 remove LSUIElement=1 in info.plist so that system menu can be shown 2023-08-25 15:19:00 +08:00
RustDesk
a9244333fb Merge pull request #5504 from jimmyGALLAND/update_fr.rs
update fr.rs
2023-08-25 10:07:41 +08:00
Jimmy GALLAND
63a19bc0a1 update fr.rs 2023-08-24 22:36:55 +02:00
cailue
c25d648321 refactor: adjust windows file layout
Signed-off-by: cailue <cailue@bupt.edu.cn>
2023-08-24 23:53:15 +08:00
RustDesk
2f6711dd2d Merge pull request #5498 from 21pages/audit
alarm audit more info
2023-08-24 20:04:50 +08:00
RustDesk
c450b41e8f Merge pull request #5489 from fufesou/fix/enable_menu_before_image
Fix/enable menu before image
2023-08-24 19:57:23 +08:00
fufesou
9937650062 Use Overlay to wrap RemoteToolbar to enable rebuild everytime on click
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 14:40:02 +08:00
fufesou
56ff88934f Add RemoteToolbar to Obx(()) to rebuild after pi is recved
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 13:07:36 +08:00
fufesou
c1a577797a Revert Ctrl+Alt+Del in toolbar right menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 12:50:39 +08:00
fufesou
257227920d Fix missing menu action
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 12:24:08 +08:00
RustDesk
461633cd83 Merge pull request #5499 from cacing69/master
add new translation
2023-08-24 12:15:06 +08:00
Ibnul Mutaki
a0887e9285 changed tips for better understanding 2023-08-24 11:12:02 +07:00
Ibnul Mutaki
23354d371f change inconsitent word and add new translation 2023-08-24 11:07:47 +07:00
fufesou
0e838d59d5 Check if peer info is set
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 12:03:29 +08:00
RustDesk
f305c9d96a Merge pull request #5491 from PeterDaveHello/tw
Update and improve tw translation
2023-08-24 10:24:14 +08:00
RustDesk
226665403f Merge pull request #5496 from cacing69/master
fix some translate read me for indonesian translate, add create contributing-id.md
2023-08-24 10:23:17 +08:00
21pages
88d0460e3c alarm audit more info
Signed-off-by: 21pages <pages21@163.com>
2023-08-24 10:04:34 +08:00
Cacing69
e09b4f878e Merge branch 'rustdesk:master' into master 2023-08-24 08:02:45 +07:00
Ibnul Mutaki
a7ef3ce58a fix some translate read me for indonesian translate, add create contributing-id.md 2023-08-24 08:01:41 +07:00
Peter Dave Hello
256f33b720 Update and improve tw translation 2023-08-24 01:33:06 +08:00
fufesou
e17002c6da set right menu duration from 4s to 300s
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-24 00:00:18 +08:00
fufesou
f2d96b895f hide empty waiting layer after images are reached
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-23 23:57:09 +08:00
fufesou
dade589075 fix, enable menu before image
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2023-08-23 23:29:15 +08:00
rustdesk
0d9cd25a71 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2023-08-23 21:59:50 +08:00
rustdesk
cb73490107 add quick fix for https://github.com/rustdesk/rustdesk/issues/5488#issuecomment-1689997785 2023-08-23 21:59:22 +08:00
RustDesk
535405521c Merge pull request #5487 from Mr-Update/master-4
Update de.rs
2023-08-23 20:28:47 +08:00
Mr-Update
8785c08861 Update de.rs 2023-08-23 14:27:30 +02:00
RustDesk
0020a37029 Merge pull request #5486 from SergeyMy/master-3
Update ru.rs
2023-08-23 15:28:02 +08:00
SergeyMy
33cbed592a Update ru.rs 2023-08-23 12:25:43 +05:00
rustdesk
28c0e15058 bump to 1.2.3 2023-08-23 12:56:33 +08:00
rustdesk
a316411f76 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2023-08-23 12:52:44 +08:00
RustDesk
66ad519dbd Merge pull request #5386 from dignow/refact/tab_2_window_flutter_data
Refact/tab 2 window flutter data
2023-08-23 12:52:19 +08:00
RustDesk
2a8dc1d34a Merge pull request #5323 from dignow/refact/android_scroll_event
Refact/android scroll event
2023-08-23 12:51:54 +08:00
RustDesk
228b670b4f Merge pull request #5485 from 21pages/ab
fix pushAb
2023-08-23 12:51:12 +08:00
21pages
da9fb46b6a fix pushAb
Signed-off-by: 21pages <pages21@163.com>
2023-08-23 12:20:19 +08:00
rustdesk
f4d120b11f remove useless line 2023-08-23 12:04:19 +08:00
RustDesk
bc954b75ce Merge pull request #5482 from SergeyMy/master-2
Update ru.rs
2023-08-23 12:03:33 +08:00
RustDesk
b787734913 Merge branch 'master' into master-2 2023-08-23 12:03:25 +08:00
RustDesk
fb5a6c20de Merge pull request #5483 from sahilyeole/master
Using github latest release url to check for software update
2023-08-23 12:02:45 +08:00
RustDesk
3fda085cbb Merge pull request #5484 from 21pages/ab
add ColorPicker translations
2023-08-23 11:59:02 +08:00
21pages
d87ea854bc add ColorPicker translations
Signed-off-by: 21pages <pages21@163.com>
2023-08-23 08:15:56 +08:00
Sahil Yeole
f41cb0d81c updated get_new_version for ui
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-08-23 00:14:32 +05:30
Sahil Yeole
8427b03a39 Using github latest release url to check for software update
Signed-off-by: Sahil Yeole <sahilyeole93@gmail.com>
2023-08-23 00:13:23 +05:30
SergeyMy
9cb7786182 Update ru.rs 2023-08-22 19:26:59 +05:00
rustdesk
6666dece5d svgo gitlab.svg 2023-08-22 22:02:42 +08:00
RustDesk
efdd17fa9a Merge pull request #5481 from dignow/feat/add_oidc_gitlab_default_icon
oidc, add default gitlab icon
2023-08-22 22:00:35 +08:00
dignow
7f7d5d9f4c oidc, add default gitlab icon
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-22 21:52:23 +08:00
RustDesk
9b542f7653 Merge pull request #5476 from 21pages/ab
change tag color
2023-08-22 19:51:46 +08:00
21pages
b27c3ff169 change tag color
Signed-off-by: 21pages <pages21@163.com>
2023-08-22 19:07:01 +08:00
RustDesk
115221098a Merge pull request #5471 from 21pages/ab
mobile reuse tile peer card
2023-08-22 12:22:53 +08:00
21pages
5a6a7e8d82 mobile use _buildPeerTile
Signed-off-by: 21pages <pages21@163.com>
2023-08-22 11:41:57 +08:00
dignow
9adac5686b fix unregister texture condition
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-16 21:52:03 +08:00
dignow
fad88c2718 refact, tab to window, remove rust cache data
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-14 21:04:24 +08:00
dignow
e205577145 refact, tab to window, flutter data, init commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-14 20:58:31 +08:00
dignow
6368ab691c simple refactor, move code from flutter_ffi.rs to flutter.rs
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 16:08:30 +08:00
dignow
5b2358c97f debug android scroll
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
072430cef5 debug android scroll
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
5f7055e282 debug
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
be982d95ea tmp build
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
b9c8df7019 debug
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
e89ae475f6 fix build
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
9476d7fdbb try fix build
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:29 +08:00
dignow
da16a799fa fix build
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
9e0feb0b64 tmp debug
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
93a600a0a8 tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
06ee68f836 tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
d6f1abad95 tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
933c99110c tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
8999bbf297 tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
dignow
200fc56a4a tmp commit
Signed-off-by: dignow <linlong1265@gmail.com>
2023-08-10 14:54:28 +08:00
530 changed files with 71182 additions and 22660 deletions

View File

@@ -1,20 +0,0 @@
name: 📝 Task
description: Create a task for the team to work on, used internally only. We will delete tasks created by non-team members.
title: "[Task]: "
labels: [Task]
body:
- type: checkboxes
attributes:
label: Are you our team member?
description: If you are not our team member, please go to discussions.
options:
- label: Yes, I am?
required: true
- type: textarea
attributes:
label: SubTasks
placeholder: |
- Sub Task 1
- Sub Task 2
validations:
required: false

View File

@@ -1,14 +1,15 @@
# This yaml shares the build bridge steps with ci and nightly.
name: Build flutter-rust-bridge
# 2023-04-19 15:48:00+00:00
# 2023-11-23 18:00:00+00:00
on:
workflow_call:
env:
FLUTTER_VERSION: "3.10.6"
FLUTTER_RUST_BRIDGE_VERSION: "1.75.3"
FLUTTER_VERSION: "3.16.9"
FLUTTER_RUST_BRIDGE_VERSION: "1.80.1"
RUST_VERSION: "1.75" # https://github.com/rustdesk/rustdesk/discussions/7503
jobs:
generate_bridge:
runs-on: ${{ matrix.job.os }}
@@ -23,21 +24,33 @@ jobs:
}
steps:
- name: Checkout source code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install prerequisites
run: |
sudo apt install ca-certificates -y
sudo apt update -y
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config
sudo apt-get install ca-certificates -y
sudo apt-get update -y
sudo apt-get install -y \
clang \
cmake \
curl \
gcc \
git \
g++ \
libclang-10-dev \
libgtk-3-dev \
llvm-10-dev \
nasm \
ninja-build \
pkg-config \
wget
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
target: ${{ matrix.job.target }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
toolchain: ${{ env.RUST_VERSION }}
targets: ${{ matrix.job.target }}
components: "rustfmt"
- uses: Swatinem/rust-cache@v2
with:
@@ -74,5 +87,5 @@ jobs:
path: |
./src/bridge_generated.rs
./src/bridge_generated.io.rs
./flutter/lib/generated_bridge.dart
./flutter/lib/generated_bridge.dart
./flutter/lib/generated_bridge.freezed.dart

View File

@@ -1,8 +1,12 @@
name: CI
# env:
env:
# MIN_SUPPORTED_RUST_VERSION: "1.46.0"
# CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
# vcpkg version: 2023.10.19
# for multiarch gcc compatibility
VCPKG_COMMIT_ID: "8eb57355a4ffb410a2e94c07b4dca2dffbee8e50"
on:
workflow_dispatch:
@@ -17,6 +21,9 @@ on:
- ".github/**"
- "docs/**"
- "README.md"
- "res/**"
- "appimage/**"
- "flatpak/**"
jobs:
# ensure_cargo_fmt:
@@ -67,45 +74,73 @@ jobs:
# - { target: aarch64-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
# - { target: arm-unknown-linux-gnueabihf , os: ubuntu-20.04, use-cross: true }
# - { target: arm-unknown-linux-musleabihf, os: ubuntu-20.04, use-cross: true }
# - { target: i686-pc-windows-msvc , os: windows-2019 }
# - { target: i686-pc-windows-msvc , os: windows-2022 }
# - { target: i686-unknown-linux-gnu , os: ubuntu-20.04, use-cross: true }
# - { target: i686-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
# - { target: x86_64-apple-darwin , os: macos-10.15 }
# - { target: x86_64-pc-windows-gnu , os: windows-2019 }
# - { target: x86_64-pc-windows-msvc , os: windows-2019 }
# - { target: x86_64-pc-windows-gnu , os: windows-2022 }
# - { target: x86_64-pc-windows-msvc , os: windows-2022 }
- { target: x86_64-unknown-linux-gnu , os: ubuntu-20.04 }
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
steps:
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Checkout source code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Install prerequisites
shell: bash
run: |
case ${{ matrix.job.target }} in
x86_64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev;;
x86_64-unknown-linux-gnu)
sudo apt-get -y update
sudo apt-get install -y \
clang \
cmake \
curl \
gcc \
git \
g++ \
libpam0g-dev \
libasound2-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgtk-3-dev \
libpulse-dev \
libxcb-randr0-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libxdo-dev \
libxfixes-dev \
nasm \
wget
;;
# arm-unknown-linux-*) sudo apt-get -y update ; sudo apt-get -y install gcc-arm-linux-gnueabihf ;;
# aarch64-unknown-linux-gnu) sudo apt-get -y update ; sudo apt-get -y install gcc-aarch64-linux-gnu ;;
esac
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v7
- name: Setup vcpkg with Github Actions binary cache
uses: lukka/run-vcpkg@v11
with:
setupOnly: true
vcpkgGitCommitId: '501db0f17ef6df184fcdbfbe0f87cde2313b6ab1' #2023.04.15
vcpkgDirectory: /opt/artifacts/vcpkg
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
- name: Install vcpkg dependencies
run: |
$VCPKG_ROOT/vcpkg install libvpx libyuv opus aom
shell: bash
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
shell: bash
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
target: ${{ matrix.job.target }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
targets: ${{ matrix.job.target }}
components: ''
- name: Show version information (Rust, cargo, GCC)
shell: bash
@@ -117,8 +152,8 @@ jobs:
cargo -V
rustc -V
- uses: Swatinem/rust-cache@v1
- uses: Swatinem/rust-cache@v2
- name: Build
uses: actions-rs/cargo@v1
with:
@@ -183,7 +218,9 @@ jobs:
;;
esac;
echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
#deprecated echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS}" >> $GITHUB_ENV
echo "CARGO_TEST_OPTIONS=${CARGO_TEST_OPTIONS}" >> $GITHUB_OUTPUT
- name: Run tests
uses: actions-rs/cargo@v1

37
.github/workflows/clear-cache.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
name: Clear cache
on:
workflow_dispatch:
permissions:
actions: write
jobs:
clear-cache:
runs-on: ubuntu-latest
steps:
- name: Clear cache
uses: actions/github-script@v7
with:
script: |
console.log("About to clear")
const caches = await github.rest.actions.getActionsCacheList({
owner: context.repo.owner,
repo: context.repo.repo,
})
for (const cache of caches.data.actions_caches) {
console.log(cache)
github.rest.actions.deleteActionsCacheById({
owner: context.repo.owner,
repo: context.repo.repo,
cache_id: cache.id,
})
}
console.log("Clear completed")
- name: Purge cache # Above seems not clear thouroughly, so add this to double clear
uses: MyAlbum/purge-cache@v2
with:
accessed: true # Purge caches by their last accessed time (default)
created: false # Purge caches by their created time (default)
max-age: 1 # in seconds

34
.github/workflows/fdroid.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: Fdroid version file generation
on:
workflow_dispatch:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+-[0-9]+'
jobs:
# https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/com.carriez.flutter_hbb.yml
# Finds latest release and transforms F-Droid version code from version as follows:
# X.Y.Z-A => X * 1e6 + Y * 1e4 + Z * 1e2 + A
update-fdroid-version-file:
name: Publish RustDesk version file for F-Droid updater
runs-on: ubuntu-latest
steps:
- name: Generate RustDesk version file
run: |
UPSTREAM_VERNAME="$(curl https://api.github.com/repos/rustdesk/rustdesk/releases/latest | jq -r .tag_name | sed 's/^v//')"
UPSTREAM_VERCODE="$(echo "$UPSTREAM_VERNAME" | tr '.' ' ' | tr '-' ' ' | while read -r MAJOR MINOR PATCH REV; do [ -z "$MAJOR" ] && MAJOR=0; [ -z "$MINOR" ] && MINOR=0; [ -z "$PATCH" ] && PATCH=0; [ -z "$REV" ] && REV=0; echo "$(( 1000000 * $MAJOR + 10000 * $MINOR + 100 * $PATCH + $REV ))"; done)"
echo "versionName=$UPSTREAM_VERNAME" > rustdesk-version.txt
echo "versionCode=$UPSTREAM_VERCODE" >> rustdesk-version.txt
shell: bash
- name: Publish RustDesk version file
uses: softprops/action-gh-release@v1
with:
prerelease: true
tag_name: "fdroid-version"
files: |
./rustdesk-version.txt

File diff suppressed because it is too large Load Diff

View File

@@ -13,10 +13,12 @@ on:
- ".github/**"
- "docs/**"
- "README.md"
- "res/**"
- "appimage/**"
- "flatpak/**"
jobs:
run-ci:
uses: ./.github/workflows/flutter-build.yml
with:
upload-artifact: false

View File

@@ -12,4 +12,4 @@ jobs:
secrets: inherit
with:
upload-artifact: true
upload-tag: "nightly"
upload-tag: "nightly"

View File

@@ -15,4 +15,4 @@ jobs:
secrets: inherit
with:
upload-artifact: true
upload-tag: "1.2.2"
upload-tag: ${{ github.ref_name }}

View File

@@ -1,82 +0,0 @@
name: Flutter Windows History Build
on: [workflow_dispatch]
env:
LLVM_VERSION: "10.0"
FLUTTER_VERSION: "3.10.6"
TAG_NAME: "tmp"
FLUTTER_RUST_BRIDGE_VERSION: "1.75.3"
# vcpkg version: 2022.05.10
# for multiarch gcc compatibility
VCPKG_COMMIT_ID: "501db0f17ef6df184fcdbfbe0f87cde2313b6ab1"
VERSION: "1.2.2"
jobs:
build-for-history-windows:
name: ${{ matrix.job.date }}
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
- { target: x86_64-pc-windows-msvc, os: windows-2019, arch: x86_64, date: 2023-08-04, ref: 72c198a1e94cc1e0242fce88f92b3f3caedcd0c3 }
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
ref: ${{ matrix.job.ref }}
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: ${{ env.LLVM_VERSION }}
- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }}
cache: true
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.job.target }}
override: true
components: rustfmt
profile: minimal # minimal component installation (ie, no documentation)
- name: Install flutter rust bridge deps
run: |
cargo install flutter_rust_bridge_codegen --version ${{ env.FLUTTER_RUST_BRIDGE_VERSION }} --features "uuid"
Push-Location flutter ; flutter pub get ; Pop-Location
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
- name: Install vcpkg dependencies
run: |
cd C:\
git clone https://github.com/Kingtous/rustdesk_thirdpary_lib --depth=1
- name: Build rustdesk
env:
VCPKG_ROOT: C:\rustdesk_thirdpary_lib\vcpkg
run: python3 .\build.py --portable --hwcodec --flutter --feature IddDriver
- name: Build self-extracted executable
shell: bash
run: |
pushd ./libs/portable
python3 ./generate.py -f ../../flutter/build/windows/runner/Release/ -o . -e ../../flutter/build/windows/runner/Release/rustdesk.exe
popd
mkdir -p ./SignOutput
mv ./target/release/rustdesk-portable-packer.exe ./SignOutput/rustdesk-${{ matrix.job.date }}-${{ matrix.job.target }}.exe
- name: Publish Release
uses: softprops/action-gh-release@v1
with:
prerelease: true
tag_name: ${{ env.TAG_NAME }}
files: |
./SignOutput/rustdesk-*.exe

416
.github/workflows/playground.yml vendored Normal file
View File

@@ -0,0 +1,416 @@
name: playground
on:
#schedule:
# schedule build every night
# - cron: "0/6 * * * *"
workflow_dispatch:
env:
RUST_VERSION: "1.75" # https://github.com/rustdesk/rustdesk/discussions/7503
CARGO_NDK_VERSION: "3.1.2"
LLVM_VERSION: "15.0.6"
FLUTTER_VERSION: "3.22.2"
FLUTTER_RUST_BRIDGE_VERSION: "1.80.1"
# for arm64 linux because official Dart SDK does not work
FLUTTER_ELINUX_VERSION: "3.16.9"
TAG_NAME: "nightly"
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
# vcpkg version: 2024.06.15
VCPKG_COMMIT_ID: "f7423ee180c4b7f40d43402c2feb3859161ef625"
VERSION: "1.2.7"
NDK_VERSION: "r26d"
#signing keys env variable checks
ANDROID_SIGNING_KEY: "${{ secrets.ANDROID_SIGNING_KEY }}"
MACOS_P12_BASE64: "${{ secrets.MACOS_P12_BASE64 }}"
# To make a custom build with your own servers set the below secret values
RS_PUB_KEY: "${{ secrets.RS_PUB_KEY }}"
RENDEZVOUS_SERVER: "${{ secrets.RENDEZVOUS_SERVER }}"
API_SERVER: "${{ secrets.API_SERVER }}"
UPLOAD_ARTIFACT: "${{ inputs.upload-artifact }}"
SIGN_BASE_URL: "${{ secrets.SIGN_BASE_URL }}"
jobs:
build-for-macOS:
name: ${{ matrix.job.target }}
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
- {
target: x86_64-apple-darwin,
os: macos-13, #macos-latest or macos-14 use M1 now, https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#:~:text=14%20GB-,macos%2Dlatest%20or%20macos%2D14,-The%20macos%2Dlatestlabel
extra-build-args: "",
arch: x86_64,
flutter: "3.13.9",
ref: "f6509e3fd6917aa976bad2fc684182601ebf2434",
bridge: "1.80.1",
date: "20231219"
}
- {
target: x86_64-apple-darwin,
os: macos-13, #macos-latest or macos-14 use M1 now, https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#:~:text=14%20GB-,macos%2Dlatest%20or%20macos%2D14,-The%20macos%2Dlatestlabel
extra-build-args: "",
arch: x86_64,
flutter: "3.10.6",
ref: "f6509e3fd6917aa976bad2fc684182601ebf2434",
bridge: "1.80.1",
date: "20231219"
}
- {
target: x86_64-apple-darwin,
os: macos-13, #macos-latest or macos-14 use M1 now, https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#:~:text=14%20GB-,macos%2Dlatest%20or%20macos%2D14,-The%20macos%2Dlatestlabel
extra-build-args: "",
arch: x86_64,
flutter: "3.10.6",
ref: "85ddfc0739f052cab0029c46b899b959ee94eeb8",
bridge: "1.80.1",
date: "20231119"
}
- {
target: x86_64-apple-darwin,
os: macos-13, #macos-latest or macos-14 use M1 now, https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners#:~:text=14%20GB-,macos%2Dlatest%20or%20macos%2D14,-The%20macos%2Dlatestlabel
extra-build-args: "",
arch: x86_64,
flutter: "3.13.9",
ref: "85ddfc0739f052cab0029c46b899b959ee94eeb8",
bridge: "1.80.1",
date: "20231119"
}
steps:
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Checkout source code
uses: actions/checkout@v3
with:
ref: ${{ matrix.job.ref }}
- name: Import the codesign cert
if: env.MACOS_P12_BASE64 != null
uses: apple-actions/import-codesign-certs@v1
with:
p12-file-base64: ${{ secrets.MACOS_P12_BASE64 }}
p12-password: ${{ secrets.MACOS_P12_PASSWORD }}
keychain: rustdesk
- name: Check sign and import sign key
if: env.MACOS_P12_BASE64 != null
run: |
security default-keychain -s rustdesk.keychain
security find-identity -v
- name: Import notarize key
if: env.MACOS_P12_BASE64 != null
uses: timheuer/base64-to-file@v1.2
with:
# https://gregoryszorc.com/docs/apple-codesign/stable/apple_codesign_rcodesign.html#notarizing-and-stapling
fileName: rustdesk.json
fileDir: ${{ github.workspace }}
encodedString: ${{ secrets.MACOS_NOTARIZE_JSON }}
- name: Install rcodesign tool
if: env.MACOS_P12_BASE64 != null
shell: bash
run: |
pushd /tmp
wget https://github.com/indygreg/apple-platform-rs/releases/download/apple-codesign%2F0.22.0/apple-codesign-0.22.0-macos-universal.tar.gz
tar -zxvf apple-codesign-0.22.0-macos-universal.tar.gz
mv apple-codesign-0.22.0-macos-universal/rcodesign /usr/local/bin
popd
- name: Install build runtime
run: |
brew install llvm create-dmg nasm cmake gcc wget ninja pkg-config
- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: ${{ matrix.job.flutter }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
targets: ${{ matrix.job.target }}
components: "rustfmt"
- uses: Swatinem/rust-cache@v2
with:
prefix-key: ${{ matrix.job.os }}
- name: Install flutter rust bridge deps
shell: bash
run: |
sed -i '' 's/3.1.0/2.17.0/g' flutter/pubspec.yaml;
cargo install flutter_rust_bridge_codegen --version ${{ matrix.job.bridge }} --features "uuid"
# below works for mac to make buildable on 3.13.9
# pushd flutter/lib; find . -name "*.dart" | xargs -I{} sed -i '' 's/textScaler: TextScaler.linear(\(.*\)),/textScaleFactor: \1,/g' {}; popd;
pushd flutter && flutter pub get && popd
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart --c-output ./flutter/macos/Runner/bridge_generated.h
- name: Setup vcpkg with Github Actions binary cache
uses: lukka/run-vcpkg@v11
with:
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
- name: Install vcpkg dependencies
run: |
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v7
if: false
with:
setupOnly: true
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
- name: Install vcpkg dependencies
if: false
run: |
$VCPKG_ROOT/vcpkg install libvpx libyuv opus aom
- name: Show version information (Rust, cargo, Clang)
shell: bash
run: |
clang --version || true
rustup -V
rustup toolchain list
rustup default
cargo -V
rustc -V
- name: Build rustdesk
run: |
./build.py --flutter ${{ matrix.job.extra-build-args }}
- name: create unsigned dmg
run: |
CREATE_DMG="$(command -v create-dmg)"
CREATE_DMG="$(readlink -f "$CREATE_DMG")"
sed -i -e 's/MAXIMUM_UNMOUNTING_ATTEMPTS=3/MAXIMUM_UNMOUNTING_ATTEMPTS=7/' "$CREATE_DMG"
create-dmg --icon "RustDesk.app" 200 190 --hide-extension "RustDesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.dmg ./flutter/build/macos/Build/Products/Release/RustDesk.app
- name: Codesign app and create signed dmg
if: env.MACOS_P12_BASE64 != null
run: |
# Patch create-dmg to give more attempts to unmount image
CREATE_DMG="$(command -v create-dmg)"
CREATE_DMG="$(readlink -f "$CREATE_DMG")"
sed -i -e 's/MAXIMUM_UNMOUNTING_ATTEMPTS=3/MAXIMUM_UNMOUNTING_ATTEMPTS=7/' "$CREATE_DMG"
# Unlock keychain
security default-keychain -s rustdesk.keychain
security unlock-keychain -p ${{ secrets.MACOS_P12_PASSWORD }} rustdesk.keychain
# start sign the rustdesk.app and dmg
rm -rf *.dmg || true
codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep --strict ./flutter/build/macos/Build/Products/Release/RustDesk.app -vvv
create-dmg --icon "RustDesk.app" 200 190 --hide-extension "RustDesk.app" --window-size 800 400 --app-drop-link 600 185 rustdesk-${{ env.VERSION }}.dmg ./flutter/build/macos/Build/Products/Release/RustDesk.app
codesign --force --options runtime -s ${{ secrets.MACOS_CODESIGN_IDENTITY }} --deep --strict rustdesk-${{ env.VERSION }}.dmg -vvv
# notarize the rustdesk-${{ env.VERSION }}.dmg
rcodesign notary-submit --api-key-path ${{ github.workspace }}/rustdesk.json --staple rustdesk-${{ env.VERSION }}.dmg
- name: Rename rustdesk
run: |
for name in rustdesk*??.dmg; do
mv "$name" "${name%%.dmg}-${{ matrix.job.arch }}-flutter${{ matrix.job.flutter }}-flutter${{ matrix.job.date }}.dmg"
done
- name: Publish DMG package
uses: softprops/action-gh-release@v1
with:
prerelease: true
tag_name: ${{ env.TAG_NAME }}
files: |
rustdesk*-${{ matrix.job.arch }}*.dmg
build-rustdesk-android:
if: false
name: build rustdesk android apk ${{ matrix.job.target }}
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
- {
arch: aarch64,
target: aarch64-linux-android,
os: ubuntu-20.04,
openssl-arch: android-arm64,
ref: master, # latest
}
steps:
- name: Checkout source code
uses: actions/checkout@v3
with:
ref: ${{ matrix.job.ref }}
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
clang \
cmake \
curl \
gcc-multilib \
git \
g++ \
g++-multilib \
libappindicator3-dev \
libasound2-dev \
libc6-dev \
libclang-10-dev \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
libgtk-3-dev \
libpam0g-dev \
libpulse-dev \
libva-dev \
libvdpau-dev \
libxcb-randr0-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libxdo-dev \
libxfixes-dev \
llvm-10-dev \
nasm \
yasm \
ninja-build \
openjdk-11-jdk-headless \
pkg-config \
tree \
wget
- name: Install flutter
uses: subosito/flutter-action@v2
with:
channel: "stable"
flutter-version: ${{ env.FLUTTER_VERSION }}
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@v1
with:
toolchain: ${{ env.RUST_VERSION }}
components: "rustfmt"
- name: Install flutter rust bridge deps
run: |
git config --global core.longpaths true
cargo install flutter_rust_bridge_codegen --version ${{ env.FLUTTER_RUST_BRIDGE_VERSION }} --features "uuid"
sed -i 's/uni_links_desktop/#uni_links_desktop/g' flutter/pubspec.yaml
pushd flutter/lib; find . | grep dart | xargs sed -i 's/textScaler: TextScaler.linear(\(.*\)),/textScaleFactor: \1,/g'; popd;
pushd flutter ; flutter pub get ; popd
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
- uses: nttld/setup-ndk@v1
id: setup-ndk
with:
ndk-version: ${{ env.NDK_VERSION }}
add-to-path: true
- name: Setup vcpkg with Github Actions binary cache
uses: lukka/run-vcpkg@v11
with:
vcpkgDirectory: /opt/artifacts/vcpkg
vcpkgGitCommitId: ${{ env.VCPKG_COMMIT_ID }}
- name: Install vcpkg dependencies
run: |
case ${{ matrix.job.target }} in
aarch64-linux-android)
./flutter/build_android_deps.sh arm64-v8a
;;
armv7-linux-androideabi)
./flutter/build_android_deps.sh armeabi-v7a
;;
esac
shell: bash
- name: Clone deps
shell: bash
run: |
pushd /opt
git clone https://github.com/rustdesk-org/rustdesk_thirdparty_lib.git --depth=1
ls -ls /opt/artifacts/vcpkg/installed/arm64-android/lib/
# cp -rf /opt/rustdesk_thirdparty_lib/vcpkg/* /opt/artifacts/vcpkg/
ls -ls /opt/artifacts/vcpkg/installed/arm64-android/lib/
- name: Build rustdesk lib
env:
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }}
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
run: |
rustup target add ${{ matrix.job.target }}
cargo install cargo-ndk --version ${{ env.CARGO_NDK_VERSION }}
case ${{ matrix.job.target }} in
aarch64-linux-android)
./flutter/ndk_arm64.sh
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
;;
armv7-linux-androideabi)
./flutter/ndk_arm.sh
mkdir -p ./flutter/android/app/src/main/jniLibs/armeabi-v7a
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/librustdesk.so
;;
esac
- name: Build rustdesk
shell: bash
env:
JAVA_HOME: /usr/lib/jvm/java-11-openjdk-amd64
run: |
export PATH=/usr/lib/jvm/java-11-openjdk-amd64/bin:$PATH
# temporary use debug sign config
sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle
case ${{ matrix.job.target }} in
aarch64-linux-android)
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
# build flutter
pushd flutter
flutter build apk --release --target-platform android-arm64 --split-per-abi
mv build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
;;
armv7-linux-androideabi)
mkdir -p ./flutter/android/app/src/main/jniLibs/armeabi-v7a
cp ${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/arm-linux-androideabi/libc++_shared.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/
cp ./target/${{ matrix.job.target }}/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/armeabi-v7a/librustdesk.so
# build flutter
pushd flutter
flutter build apk --release --target-platform android-arm --split-per-abi
mv build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk
;;
esac
popd
mkdir -p signed-apk; pushd signed-apk
mv ../rustdesk-${{ env.VERSION }}-${{ matrix.job.arch }}.apk ./rustdesk-test-${{ matrix.job.ref }}-${{ matrix.job.ndk }}.apk
- uses: r0adkll/sign-android-release@v1
name: Sign app APK
if: env.ANDROID_SIGNING_KEY != null
id: sign-rustdesk
with:
releaseDirectory: ./signed-apk
signingKeyBase64: ${{ secrets.ANDROID_SIGNING_KEY }}
alias: ${{ secrets.ANDROID_ALIAS }}
keyStorePassword: ${{ secrets.ANDROID_KEY_STORE_PASSWORD }}
keyPassword: ${{ secrets.ANDROID_KEY_PASSWORD }}
env:
# override default build-tools version (29.0.3) -- optional
BUILD_TOOLS_VERSION: "30.0.2"
- name: Publish signed apk package
uses: softprops/action-gh-release@v1
with:
prerelease: true
tag_name: ${{ env.TAG_NAME }}
files: |
${{steps.sign-rustdesk.outputs.signedReleaseFile}}

View File

@@ -0,0 +1,60 @@
name: build RustDeskTempTopMostWindow
on:
workflow_call:
inputs:
upload-artifact:
type: boolean
default: true
target:
description: 'Target'
required: true
type: string
default: 'windows-2022'
configuration:
description: 'Configuration'
required: true
type: string
default: 'Release'
platform:
description: 'Platform'
required: true
type: string
default: 'x64'
target_version:
description: 'TargetVersion'
required: true
type: string
default: 'Windows10'
env:
project_path: WindowInjection/WindowInjection.vcxproj
jobs:
build-RustDeskTempTopMostWindow:
runs-on: ${{ inputs.target }}
strategy:
fail-fast: false
env:
build_output_dir: RustDeskTempTopMostWindow/WindowInjection/${{ inputs.platform }}/${{ inputs.configuration }}
steps:
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2
- name: Download the source code
run: |
git clone https://github.com/rustdesk-org/RustDeskTempTopMostWindow RustDeskTempTopMostWindow
# Build. commit 53b548a5398624f7149a382000397993542ad796 is tag v0.3
- name: Build the project
run: |
cd RustDeskTempTopMostWindow && git checkout 53b548a5398624f7149a382000397993542ad796
msbuild ${{ env.project_path }} -p:Configuration=${{ inputs.configuration }} -p:Platform=${{ inputs.platform }} /p:TargetVersion=${{ inputs.target_version }}
- name: Archive build artifacts
uses: actions/upload-artifact@master
if: ${{ inputs.upload-artifact }}
with:
name: topmostwindow-artifacts
path: |
./${{ env.build_output_dir }}/WindowInjection.dll

View File

@@ -1,88 +0,0 @@
name: Build vcpkg dependencies for linux clients
on:
workflow_call:
jobs:
build-vcpkg-deps-linux:
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: true
matrix:
job:
- { arch: armv7, os: ubuntu-20.04 }
- { arch: x86_64, os: ubuntu-20.04 }
- { arch: aarch64, os: ubuntu-20.04 }
steps:
- name: Create vcpkg artifacts folder
run: mkdir -p /opt/artifacts
- name: Cache Vcpkg
id: cache-vcpkg
uses: actions/cache@v3
with:
path: /opt/artifacts
key: vcpkg-${{ matrix.job.arch }}
- uses: Kingtous/run-on-arch-action@amd64-support
name: Run vcpkg install on ${{ matrix.job.arch }}
id: vcpkg
with:
arch: ${{ matrix.job.arch }}
distro: ubuntu18.04
githubToken: ${{ github.token }}
setup: |
ls -l "/opt/artifacts"
dockerRunArgs: |
--volume "/opt/artifacts:/artifacts"
shell: /bin/bash
install: |
apt update -y
case "${{ matrix.job.arch }}" in
x86_64)
# CMake 3.15+
apt install -y gpg wget ca-certificates
echo 'deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ bionic main' | tee /etc/apt/sources.list.d/kitware.list >/dev/null
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | tee /usr/share/keyrings/kitware-archive-keyring.gpg >/dev/null
apt update -y
apt install -y curl zip unzip tar git cmake g++ gcc build-essential pkg-config wget nasm yasm ninja-build libjpeg8-dev
cmake --version
gcc -v
;;
aarch64|armv7)
apt install -y curl zip unzip git
esac
run: |
# disable git safe.directory
git config --global --add safe.directory "*"
case "${{ matrix.job.arch }}" in
x86_64)
export VCPKG_FORCE_SYSTEM_BINARIES=1
pushd /artifacts
git clone https://github.com/microsoft/vcpkg.git || true
pushd vcpkg
git reset --hard ${{ env.VCPKG_COMMIT_ID }}
./bootstrap-vcpkg.sh
./vcpkg install libvpx libyuv opus aom
;;
aarch64)
pushd /artifacts
rm -rf rustdesk_thirdparty_lib
git clone https://github.com/Kingtous/rustdesk_thirdparty_lib.git --depth=1
mkdir -p /artifacts/vcpkg/installed
mv ./rustdesk_thirdparty_lib/vcpkg/installed/arm64-linux /artifacts/vcpkg/installed/arm64-linux
;;
armv7)
pushd /artifacts
rm -rf rustdesk_thirdparty_lib
git clone https://github.com/Kingtous/rustdesk_thirdparty_lib.git --depth=1
mkdir -p /artifacts/vcpkg/installed
mv ./rustdesk_thirdparty_lib/vcpkg/installed/arm-linux /artifacts/vcpkg/installed/arm-linux
;;
esac
- name: Upload artifacts
uses: actions/upload-artifact@master
with:
name: vcpkg-artifact-${{ matrix.job.arch }}
path: |
/opt/artifacts/vcpkg/installed

View File

@@ -4,9 +4,9 @@ on:
types: [released]
jobs:
publish:
runs-on: windows-latest # action can only be run on windows
runs-on: ubuntu-latest
steps:
- uses: vedantmgoyal2009/winget-releaser@v1
- uses: vedantmgoyal9/winget-releaser@main
with:
identifier: RustDesk.RustDesk
version: ${{ github.event.release.tag_name }}

6
.gitignore vendored
View File

@@ -49,4 +49,8 @@ lib/generated_bridge.dart
.ssh
.devcontainer/.*
# build cache in examples
examples/**/target/
examples/**/target/
# ===
vcpkg_installed
flutter/lib/generated_plugin_registrant.dart
libsciter.dylib

4939
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,12 @@
[package]
name = "rustdesk"
version = "1.2.2"
version = "1.2.7"
authors = ["rustdesk <info@rustdesk.com>"]
edition = "2021"
build= "build.rs"
description = "A remote control software."
description = "RustDesk Remote Desktop"
default-run = "rustdesk"
rust-version = "1.75"
[lib]
name = "librustdesk"
@@ -18,25 +19,29 @@ path = "src/naming.rs"
[features]
inline = []
cli = []
flutter_texture_render = []
appimage = []
flatpak = []
use_samplerate = ["samplerate"]
use_rubato = ["rubato"]
use_dasp = ["dasp"]
flutter = ["flutter_rust_bridge"]
default = ["use_dasp"]
hwcodec = ["scrap/hwcodec"]
vram = ["scrap/vram"]
mediacodec = ["scrap/mediacodec"]
linux_headless = ["pam" ]
virtual_display_driver = ["virtual_display"]
plugin_framework = []
linux-pkg-config = ["magnum-opus/linux-pkg-config", "scrap/linux-pkg-config"]
unix-file-copy-paste = [
"dep:x11-clipboard",
"dep:x11rb",
"dep:percent-encoding",
"dep:once_cell",
"clipboard/unix-file-copy-paste",
]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
whoami = "1.4"
async-trait = "0.1"
whoami = "1.5.0"
scrap = { path = "libs/scrap", features = ["wayland"] }
hbb_common = { path = "libs/hbb_common" }
serde_derive = "1.0"
@@ -47,33 +52,31 @@ cfg-if = "1.0"
lazy_static = "1.4"
sha2 = "0.10"
repng = "0.2"
parity-tokio-ipc = { git = "https://github.com/open-trade/parity-tokio-ipc" }
runas = "=1.0" # https://github.com/mitsuhiko/rust-runas/issues/13
magnum-opus = { git = "https://github.com/rustdesk/magnum-opus" }
parity-tokio-ipc = { git = "https://github.com/rustdesk-org/parity-tokio-ipc" }
magnum-opus = { git = "https://github.com/rustdesk-org/magnum-opus" }
dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"], optional = true }
rubato = { version = "0.12", optional = true }
samplerate = { version = "0.2", optional = true }
async-trait = "0.1"
uuid = { version = "1.3", features = ["v4"] }
clap = "4.2"
rpassword = "7.2"
base64 = "0.21"
num_cpus = "1.15"
bytes = { version = "1.4", features = ["serde"] }
default-net = "0.14"
wol-rs = "1.0"
flutter_rust_bridge = { version = "1.75", features = ["uuid"], optional = true}
flutter_rust_bridge = { version = "=1.80", features = ["uuid"], optional = true}
errno = "0.3"
rdev = { git = "https://github.com/fufesou/rdev" }
rdev = { git = "https://github.com/rustdesk-org/rdev" }
url = { version = "2.3", features = ["serde"] }
crossbeam-queue = "0.3"
hex = "0.4"
reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "json", "rustls-tls"], default-features=false }
chrono = "0.4"
cidr-utils = "0.5"
libloading = "0.8"
fon = "0.6"
zip = "0.6"
shutdown_hooks = "0.1"
totp-rs = { version = "5.4", default-features = false, features = ["gen_secret", "otpauth"] }
[target.'cfg(not(any(target_os = "android", target_os = "linux")))'.dependencies]
cpal = "0.15"
@@ -86,17 +89,35 @@ sys-locale = "0.3"
enigo = { path = "libs/enigo", features = [ "with_serde" ] }
clipboard = { path = "libs/clipboard" }
ctrlc = "3.2"
arboard = "3.2"
# arboard = { version = "3.4.0", features = ["wayland-data-control"] }
arboard = { git = "https://github.com/rustdesk-org/arboard", features = ["wayland-data-control", "image-data"] }
clipboard-master = { git = "https://github.com/rustdesk-org/clipboard-master" }
system_shutdown = "4.0"
qrcode-generator = "4.1"
[target.'cfg(target_os = "windows")'.dependencies]
winapi = { version = "0.3", features = ["winuser", "wincrypt", "shellscalingapi"] }
winapi = { version = "0.3", features = [
"winuser",
"wincrypt",
"shellscalingapi",
"pdh",
"synchapi",
"memoryapi",
"shellapi",
"devguid",
"setupapi",
"cguid",
"cfgmgr32",
"ioapiset",
] }
winreg = "0.11"
windows-service = "0.6"
virtual_display = { path = "libs/virtual_display", optional = true }
virtual_display = { path = "libs/virtual_display" }
impersonate_system = { git = "https://github.com/21pages/impersonate-system" }
shared_memory = "0.12"
shutdown_hooks = "0.1"
tauri-winrt-notification = "0.1.2"
runas = "1.2"
[target.'cfg(target_os = "macos")'.dependencies]
objc = "0.2"
@@ -105,51 +126,65 @@ dispatch = "0.2"
core-foundation = "0.9"
core-graphics = "0.22"
include_dir = "0.7"
dark-light = "1.0"
fruitbasket = "0.10"
objc_id = "0.1"
[target.'cfg(any(target_os = "macos", target_os = "linux", target_os = "windows"))'.dependencies]
tray-icon = { git = "https://github.com/rustdesk-org/tray-icon" }
tray-icon = { git = "https://github.com/tauri-apps/tray-icon" }
tao = { git = "https://github.com/rustdesk-org/tao", branch = "dev" }
image = "0.24"
[target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies]
keepawake = { git = "https://github.com/rustdesk-org/keepawake-rs" }
[target.'cfg(any(target_os = "windows", target_os = "linux"))'.dependencies]
wallpaper = { git = "https://github.com/21pages/wallpaper.rs" }
[target.'cfg(any(target_os = "macos", target_os = "windows"))'.dependencies]
# https://github.com/rustdesk/rustdesk-server-pro/issues/189, using native-tls for better tls support
reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "socks", "json", "native-tls", "gzip"], default-features=false }
[target.'cfg(not(any(target_os = "macos", target_os = "windows")))'.dependencies]
reqwest = { git = "https://github.com/rustdesk-org/reqwest", features = ["blocking", "socks", "json", "rustls-tls", "rustls-tls-native-roots", "gzip"], default-features=false }
[target.'cfg(target_os = "linux")'.dependencies]
psimple = { package = "libpulse-simple-binding", version = "2.27" }
pulse = { package = "libpulse-binding", version = "2.27" }
rust-pulsectl = { git = "https://github.com/open-trade/pulsectl" }
async-process = "1.7"
mouce = { git="https://github.com/fufesou/mouce.git" }
evdev = { git="https://github.com/fufesou/evdev" }
mouce = { git="https://github.com/rustdesk-org/mouce.git" }
evdev = { git="https://github.com/rustdesk-org/evdev" }
dbus = "0.9"
dbus-crossroads = "0.5"
pam = { git="https://github.com/fufesou/pam", optional = true }
pam = { git="https://github.com/rustdesk-org/pam" }
users = { version = "0.11" }
x11-clipboard = {git="https://github.com/clslaid/x11-clipboard", branch = "feat/store-batch", optional = true}
x11rb = {version = "0.12", features = ["all-extensions"], optional = true}
percent-encoding = {version = "2.3", optional = true}
once_cell = {version = "1.18", optional = true}
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.13"
jni = "0.21"
android-wakelock = { git = "https://github.com/21pages/android-wakelock" }
[workspace]
members = ["libs/scrap", "libs/hbb_common", "libs/enigo", "libs/clipboard", "libs/virtual_display", "libs/virtual_display/dylib", "libs/portable"]
exclude = ["vdi/host", "examples/custom_plugin"]
[package.metadata.winres]
LegalCopyright = "Copyright © 2023 Purslane, Inc."
# this FileDescription overrides package.description
FileDescription = "RustDesk"
LegalCopyright = "Copyright © 2024 Purslane Ltd. All rights reserved."
ProductName = "RustDesk"
FileDescription = "RustDesk Remote Desktop"
OriginalFilename = "rustdesk.exe"
[target.'cfg(target_os="windows")'.build-dependencies]
winres = "0.1"
winapi = { version = "0.3", features = [ "winnt" ] }
winapi = { version = "0.3", features = [ "winnt", "pdh", "synchapi" ] }
[build-dependencies]
cc = "1.0"
hbb_common = { path = "libs/hbb_common" }
flutter_rust_bridge_codegen = "1.75"
os-version = "0.2"
[dev-dependencies]
@@ -169,3 +204,7 @@ panic = 'abort'
strip = true
#opt-level = 'z' # only have smaller size after strip
rpath = true
[profile.dev]
split-debuginfo = '...' # Platform-specific.
#strip = "debuginfo"

View File

@@ -1,21 +1,55 @@
FROM debian
FROM debian:bullseye-slim
WORKDIR /
RUN apt update -y && apt install -y g++ gcc git curl nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake unzip zip sudo libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev cmake ninja-build && rm -rf /var/lib/apt/lists/*
ARG DEBIAN_FRONTEND=noninteractive
RUN apt update -y && \
apt install --yes --no-install-recommends \
g++ \
gcc \
git \
curl \
nasm \
yasm \
libgtk-3-dev \
clang \
libxcb-randr0-dev \
libxdo-dev \
libxfixes-dev \
libxcb-shape0-dev \
libxcb-xfixes0-dev \
libasound2-dev \
libpam0g-dev \
libpulse-dev \
make \
cmake \
unzip \
zip \
sudo \
libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev \
ca-certificates \
ninja-build && \
rm -rf /var/lib/apt/lists/*
RUN git clone --branch 2023.04.15 --depth=1 https://github.com/microsoft/vcpkg
RUN /vcpkg/bootstrap-vcpkg.sh -disableMetrics
RUN /vcpkg/vcpkg --disable-metrics install libvpx libyuv opus aom
RUN git clone --branch 2023.04.15 --depth=1 https://github.com/microsoft/vcpkg && \
/vcpkg/bootstrap-vcpkg.sh -disableMetrics && \
/vcpkg/vcpkg --disable-metrics install libvpx libyuv opus aom
RUN groupadd -r user && \
useradd -r -g user user --home /home/user && \
mkdir -p /home/user/rustdesk && \
chown -R user: /home/user && \
echo "user ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/user
RUN groupadd -r user && useradd -r -g user user --home /home/user && mkdir -p /home/user && chown user /home/user && echo "user ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/user
WORKDIR /home/user
RUN curl -LO https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
USER user
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
RUN chmod +x rustup.sh
RUN ./rustup.sh -y
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh && \
chmod +x rustup.sh && \
./rustup.sh -y
USER root
ENV HOME=/home/user
COPY ./entrypoint /
ENTRYPOINT ["/entrypoint"]
COPY ./entrypoint.sh /
ENTRYPOINT ["/entrypoint.sh"]

View File

@@ -5,7 +5,7 @@
<a href="#how-to-build-with-docker">Docker</a> •
<a href="#file-structure">Structure</a> •
<a href="#snapshot">Snapshot</a><br>
[<a href="docs/README-UA.md">Українська</a>] | [<a href="docs/README-CS.md">česky</a>] | [<a href="docs/README-ZH.md">中文</a>] | [<a href="docs/README-HU.md">Magyar</a>] | [<a href="docs/README-ES.md">Español</a>] | [<a href="docs/README-FA.md">فارسی</a>] | [<a href="docs/README-FR.md">Français</a>] | [<a href="docs/README-DE.md">Deutsch</a>] | [<a href="docs/README-PL.md">Polski</a>] | [<a href="docs/README-ID.md">Indonesian</a>] | [<a href="docs/README-FI.md">Suomi</a>] | [<a href="docs/README-ML.md">മലയാളം</a>] | [<a href="docs/README-JP.md">日本語</a>] | [<a href="docs/README-NL.md">Nederlands</a>] | [<a href="docs/README-IT.md">Italiano</a>] | [<a href="docs/README-RU.md">Русский</a>] | [<a href="docs/README-PTBR.md">Português (Brasil)</a>] | [<a href="docs/README-EO.md">Esperanto</a>] | [<a href="docs/README-KR.md">한국어</a>] | [<a href="docs/README-AR.md">العربي</a>] | [<a href="docs/README-VN.md">Tiếng Việt</a>] | [<a href="docs/README-DA.md">Dansk</a>] | [<a href="docs/README-GR.md">Ελληνικά</a>]<br>
[<a href="docs/README-UA.md">Українська</a>] | [<a href="docs/README-CS.md">česky</a>] | [<a href="docs/README-ZH.md">中文</a>] | [<a href="docs/README-HU.md">Magyar</a>] | [<a href="docs/README-ES.md">Español</a>] | [<a href="docs/README-FA.md">فارسی</a>] | [<a href="docs/README-FR.md">Français</a>] | [<a href="docs/README-DE.md">Deutsch</a>] | [<a href="docs/README-PL.md">Polski</a>] | [<a href="docs/README-ID.md">Indonesian</a>] | [<a href="docs/README-FI.md">Suomi</a>] | [<a href="docs/README-ML.md">മലയാളം</a>] | [<a href="docs/README-JP.md">日本語</a>] | [<a href="docs/README-NL.md">Nederlands</a>] | [<a href="docs/README-IT.md">Italiano</a>] | [<a href="docs/README-RU.md">Русский</a>] | [<a href="docs/README-PTBR.md">Português (Brasil)</a>] | [<a href="docs/README-EO.md">Esperanto</a>] | [<a href="docs/README-KR.md">한국어</a>] | [<a href="docs/README-AR.md">العربي</a>] | [<a href="docs/README-VN.md">Tiếng Việt</a>] | [<a href="docs/README-DA.md">Dansk</a>] | [<a href="docs/README-GR.md">Ελληνικά</a>] | [<a href="docs/README-TR.md">Türkçe</a>]<br>
<b>We need your help to translate this README, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> and <a href="https://github.com/rustdesk/doc.rustdesk.com">RustDesk Doc</a> to your native language</b>
</p>
@@ -29,25 +29,9 @@ RustDesk welcomes contribution from everyone. See [CONTRIBUTING.md](docs/CONTRIB
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Free Public Servers
Below are the servers you are using for free, they may change over time. If you are not close to one of these, your network may be slow.
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Germany | [Hetzner](https://www.hetzner.com) | 2 vCPU / 4 GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4 GB RAM |
## Dev Container
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
If you already have VS Code and Docker installed, you can click the badge above to get started. Clicking will cause VS Code to automatically install the Dev Containers extension if needed, clone the source code into a container volume, and spin up a dev container for use.
Go through [DEVCONTAINER.md](docs/DEVCONTAINER.md) for more info.
## Dependencies
Desktop versions use [Sciter](https://sciter.com/) or Flutter for GUI, this tutorial is for Sciter only.
Desktop versions use Flutter or Sciter (deprecated) for GUI, this tutorial is for Sciter only, since it is easier and more friendly to start. Check out our [CI](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) for building Flutter version.
Please download Sciter dynamic library yourself.
@@ -78,11 +62,12 @@ sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxc
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
```
### openSUSE Tumbleweed
### openSUSE Tumbleweed
```sh
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
```
### Fedora 28 (CentOS 8)
```sh
@@ -133,34 +118,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Change Wayland to X11 (Xorg)
RustDesk does not support Wayland. Check [this](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) to configuring Xorg as the default GNOME session.
## Wayland support
Wayland does not seem to provide any API for sending keypresses to other windows. Therefore, the RustDesk uses an API from a lower level, namely the `/dev/uinput` device (Linux kernel level).
When Wayland is the controlled side, you have to start in the following way:
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Notice**: Wayland screen recording uses different interfaces. RustDesk currently only supports org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## How to build with Docker
Begin by cloning the repository and building the Docker container:
@@ -196,20 +153,21 @@ Please ensure that you are running these commands from the root of the RustDesk
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: video codec, config, tcp/udp wrapper, protobuf, fs functions for file transfer, and some other utility functions
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: screen capture
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: platform specific keyboard/mouse control
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[libs/clipboard](https://github.com/rustdesk/rustdesk/tree/master/libs/clipboard)**: file copy and paste implementation for Windows, Linux, macOS.
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: obsolete Sciter UI (deprecated)
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: audio/clipboard/input/video services, and network connections
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: start a peer connection
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Communicate with [rustdesk-server](https://github.com/rustdesk/rustdesk-server), wait for remote direct (TCP hole punching) or relayed connection
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: platform specific code
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Flutter code for mobile
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Flutter code for desktop and mobile
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: JavaScript for Flutter web client
## Snapshots
## Screenshots
![image](https://user-images.githubusercontent.com/71636191/113112362-ae4deb80-923b-11eb-957d-ff88daad4f06.png)
![Connection Manager](https://github.com/rustdesk/rustdesk/assets/28412477/db82d4e7-c4bc-4823-8e6f-6af7eadf7651)
![image](https://user-images.githubusercontent.com/71636191/113112619-f705a480-923b-11eb-911d-97e984ef52b6.png)
![Connected to a Windows PC](https://github.com/rustdesk/rustdesk/assets/28412477/9baa91e9-3362-4d06-aa1a-7518edcbd7ea)
![image](https://user-images.githubusercontent.com/71636191/113112857-3fbd5d80-923c-11eb-9836-768325faf906.png)
![File Transfer](https://github.com/rustdesk/rustdesk/assets/28412477/39511ad3-aa9a-4f8c-8947-1cce286a46ad)
![image](https://user-images.githubusercontent.com/71636191/135385039-38fdbd72-379a-422d-b97f-33df71fb1cec.png)
![TCP Tunneling](https://github.com/rustdesk/rustdesk/assets/28412477/78e8708f-e87e-4570-8373-1360033ea6c5)

View File

@@ -2,7 +2,7 @@
version: 1
script:
- rm -rf ./AppDir || true
- bsdtar -zxvf ../rustdesk-1.2.2.deb
- bsdtar -zxvf rustdesk.deb
- tar -xvf ./data.tar.xz
- mkdir ./AppDir
- mv ./usr ./AppDir/usr
@@ -18,7 +18,7 @@ AppDir:
id: rustdesk
name: rustdesk
icon: rustdesk
version: 1.2.2
version: 1.2.7
exec: usr/lib/rustdesk/rustdesk
exec_args: $@
apt:
@@ -26,18 +26,18 @@ AppDir:
- arm64
allow_unauthenticated: true
sources:
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe multiverse
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal main restricted universe multiverse
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-updates main restricted universe multiverse
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-backports main restricted
universe multiverse
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted
- sourceline: deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports/ focal-security main restricted
universe multiverse
key_url: 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3b4fe6acc0b21f32'
include:
- libc6
- libc6:arm64
- libgtk-3-0
- libxcb-randr0
- libxdo3
@@ -51,9 +51,15 @@ AppDir:
- libva-x11-2
- libvdpau1
- libgstreamer-plugins-base1.0-0
- gstreamer1.0-pipewire
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libpulse0
- packagekit-gtk3-module
- libcanberra-gtk3-module
- libpam0g
- libdrm2
exclude:
- humanity-icon-theme
- hicolor-icon-theme
@@ -69,8 +75,11 @@ AppDir:
- usr/share/doc/*/TODO.*
runtime:
env:
GIO_MODULE_DIR: $APPDIR/usr/lib/x86_64-linux-gnu/gio/modules/
GIO_MODULE_DIR: /lib64/gio/modules:/usr/lib/aarch64-linux-gnu/gio/modules:$APPDIR/usr/lib/aarch64-linux-gnu/gio/modules
GDK_BACKEND: x11
APPDIR_LIBRARY_PATH: /lib64:/usr/lib/aarch64-linux-gnu:$APPDIR/lib/aarch64-linux-gnu:$APPDIR/lib/aarch64-linux-gnu/security:$APPDIR/lib/systemd:$APPDIR/usr/lib/aarch64-linux-gnu:$APPDIR/usr/lib/aarch64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders:$APPDIR/usr/lib/aarch64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/aarch64-linux-gnu/gtk-3.0/3.0.0/immodules:$APPDIR/usr/lib/aarch64-linux-gnu/gtk-3.0/3.0.0/printbackends:$APPDIR/usr/lib/aarch64-linux-gnu/krb5/plugins/preauth:$APPDIR/usr/lib/aarch64-linux-gnu/libcanberra-0.30:$APPDIR/usr/lib/aarch64-linux-gnu/pulseaudio:$APPDIR/usr/lib/aarch64-linux-gnu/sasl2:$APPDIR/usr/lib/aarch64-linux-gnu/vdpau:$APPDIR/usr/lib/rustdesk/lib:$APPDIR/lib/aarch64
GST_PLUGIN_PATH: /lib64/gstreamer-1.0:/usr/lib/aarch64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/aarch64-linux-gnu/gstreamer-1.0
GST_PLUGIN_SYSTEM_PATH: /lib64/gstreamer-1.0:/usr/lib/aarch64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/aarch64-linux-gnu/gstreamer-1.0
test:
fedora-30:
image: appimagecrafters/tests-env:fedora-30

View File

@@ -2,7 +2,7 @@
version: 1
script:
- rm -rf ./AppDir || true
- bsdtar -zxvf ../rustdesk-1.2.2.deb
- bsdtar -zxvf rustdesk.deb
- tar -xvf ./data.tar.xz
- mkdir ./AppDir
- mv ./usr ./AppDir/usr
@@ -18,7 +18,7 @@ AppDir:
id: rustdesk
name: rustdesk
icon: rustdesk
version: 1.2.2
version: 1.2.7
exec: usr/lib/rustdesk/rustdesk
exec_args: $@
apt:
@@ -26,18 +26,16 @@ AppDir:
- amd64
allow_unauthenticated: true
sources:
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-updates multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates universe
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-updates multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted
universe multiverse
- sourceline: deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted
- sourceline: deb http://archive.ubuntu.com/ubuntu/ focal-security main restricted
universe multiverse
- sourceline: deb http://ppa.launchpad.net/pipewire-debian/pipewire-upstream/ubuntu
bionic main
include:
- libc6:amd64
- libgtk-3-0
@@ -54,9 +52,14 @@ AppDir:
- libvdpau1
- libgstreamer-plugins-base1.0-0
- gstreamer1.0-pipewire
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libpulse0
- packagekit-gtk3-module
- libcanberra-gtk3-module
- libpam0g
- libdrm2
exclude:
- humanity-icon-theme
- hicolor-icon-theme
@@ -72,8 +75,11 @@ AppDir:
- usr/share/doc/*/TODO.*
runtime:
env:
GIO_MODULE_DIR: $APPDIR/usr/lib/x86_64-linux-gnu/gio/modules/
GIO_MODULE_DIR: /lib64/gio/modules:/usr/lib/x86_64-linux-gnu/gio/modules:$APPDIR/usr/lib/x86_64-linux-gnu/gio/modules
GDK_BACKEND: x11
APPDIR_LIBRARY_PATH: /lib64:/usr/lib/x86_64-linux-gnu:$APPDIR/lib/x86_64-linux-gnu:$APPDIR/lib/x86_64-linux-gnu/security:$APPDIR/lib/systemd:$APPDIR/usr/lib/x86_64-linux-gnu:$APPDIR/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders:$APPDIR/usr/lib/x86_64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules:$APPDIR/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/printbackends:$APPDIR/usr/lib/x86_64-linux-gnu/krb5/plugins/preauth:$APPDIR/usr/lib/x86_64-linux-gnu/libcanberra-0.30:$APPDIR/usr/lib/x86_64-linux-gnu/pulseaudio:$APPDIR/usr/lib/x86_64-linux-gnu/sasl2:$APPDIR/usr/lib/x86_64-linux-gnu/vdpau:$APPDIR/usr/lib/rustdesk/lib:$APPDIR/lib/x86_64
GST_PLUGIN_PATH: /lib64/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/x86_64-linux-gnu/gstreamer-1.0
GST_PLUGIN_SYSTEM_PATH: /lib64/gstreamer-1.0:/usr/lib/x86_64-linux-gnu/gstreamer-1.0:$APPDIR/usr/lib/x86_64-linux-gnu/gstreamer-1.0
test:
fedora-30:
image: appimagecrafters/tests-env:fedora-30

107
build.py
View File

@@ -16,7 +16,7 @@ osx = platform.platform().startswith(
hbb_name = 'rustdesk' + ('.exe' if windows else '')
exe_path = 'target/release/' + hbb_name
if windows:
flutter_build_dir = 'build/windows/runner/Release/'
flutter_build_dir = 'build/windows/x64/runner/Release/'
elif osx:
flutter_build_dir = 'build/macos/Build/Products/Release/'
else:
@@ -24,18 +24,21 @@ else:
flutter_build_dir_2 = f'flutter/{flutter_build_dir}'
skip_cargo = False
def get_arch() -> str:
custom_arch = os.environ.get("ARCH")
def get_deb_arch() -> str:
custom_arch = os.environ.get("DEB_ARCH")
if custom_arch is None:
return "amd64"
return custom_arch
def system2(cmd):
err = os.system(cmd)
if err != 0:
print(f"Error occurred when executing: {cmd}. Exiting.")
exit_code = os.system(cmd)
if exit_code != 0:
sys.stderr.write(f"Error occurred when executing: `{cmd}`. Exiting.\n")
sys.exit(-1)
def get_version():
with open("Cargo.toml", encoding="utf-8") as fh:
for line in fh:
@@ -45,21 +48,7 @@ def get_version():
def parse_rc_features(feature):
available_features = {
'IddDriver': {
'platform': ['windows'],
'zip_url': 'https://github.com/fufesou/RustDeskIddDriver/releases/download/v0.3/RustDeskIddDriver_x64.zip',
'checksum_url': 'https://github.com/fufesou/RustDeskIddDriver/releases/download/v0.3/checksum_md5',
'exclude': ['README.md', 'certmgr.exe', 'install_cert_runas_admin.bat', 'RustDeskIddApp.exe'],
},
'PrivacyMode': {
'platform': ['windows'],
'zip_url': 'https://github.com/fufesou/RustDeskTempTopMostWindow/releases/download/v0.1'
'/TempTopMostWindow_x64_pic_en.zip',
'checksum_url': 'https://github.com/fufesou/RustDeskTempTopMostWindow/releases/download/v0.1/checksum_md5',
'include': ['WindowInjection.dll'],
}
}
available_features = {}
apply_features = {}
if not feature:
feature = []
@@ -83,8 +72,9 @@ def parse_rc_features(feature):
return get_all_features()
elif isinstance(feature, list):
if windows:
# force add PrivacyMode
feature.append('PrivacyMode')
# download third party is deprecated, we use github ci instead.
# feature.append('PrivacyMode')
pass
for feat in feature:
if isinstance(feat, str) and feat.upper() == 'ALL':
return get_all_features()
@@ -109,7 +99,7 @@ def make_parser():
nargs='+',
default='',
help='Integrate features, windows only.'
'Available: IddDriver, PrivacyMode. Special value is "ALL" and empty "". Default is empty.')
'Available: [Not used for now]. Special value is "ALL" and empty "". Default is empty.')
parser.add_argument('--flutter', action='store_true',
help='Build flutter package', default=False)
parser.add_argument(
@@ -118,26 +108,32 @@ def make_parser():
help='Enable feature hwcodec' + (
'' if windows or osx else ', need libva-dev, libvdpau-dev.')
)
parser.add_argument(
'--vram',
action='store_true',
help='Enable feature vram, only available on windows now.'
)
parser.add_argument(
'--portable',
action='store_true',
help='Build windows portable'
)
parser.add_argument(
'--flatpak',
'--unix-file-copy-paste',
action='store_true',
help='Build rustdesk libs with the flatpak feature enabled'
)
parser.add_argument(
'--appimage',
action='store_true',
help='Build rustdesk libs with the appimage feature enabled'
help='Build with unix file copy paste feature'
)
parser.add_argument(
'--skip-cargo',
action='store_true',
help='Skip cargo build process, only flutter version + Linux supported currently'
)
if windows:
parser.add_argument(
'--skip-portable-pack',
action='store_true',
help='Skip packing, only flutter version + Windows supported'
)
parser.add_argument(
"--package",
type=str
@@ -172,8 +168,8 @@ def generate_build_script_for_docker():
export VCPKG_ROOT=`pwd`/vcpkg
git clone https://github.com/microsoft/vcpkg
vcpkg/bootstrap-vcpkg.sh
vcpkg/vcpkg install libvpx libyuv opus
popd
$VCPKG_ROOT/vcpkg install --x-install-root="$VCPKG_ROOT/installed"
# build rustdesk
./build.py --flutter --hwcodec
''')
@@ -181,10 +177,14 @@ def generate_build_script_for_docker():
system2("bash /tmp/build.sh")
# Downloading third party resources is deprecated.
# We can use this function in an offline build environment.
# Even in an online environment, we recommend building third-party resources yourself.
def download_extract_features(features, res_dir):
import re
proxy = ''
def req(url):
if not proxy:
return url
@@ -196,9 +196,9 @@ def download_extract_features(features, res_dir):
for (feat, feat_info) in features.items():
includes = feat_info['include'] if 'include' in feat_info and feat_info['include'] else []
includes = [ re.compile(p) for p in includes ]
includes = [re.compile(p) for p in includes]
excludes = feat_info['exclude'] if 'exclude' in feat_info and feat_info['exclude'] else []
excludes = [ re.compile(p) for p in excludes ]
excludes = [re.compile(p) for p in excludes]
print(f'{feat} download begin')
download_filename = feat_info['zip_url'].split('/')[-1]
@@ -261,17 +261,14 @@ def external_resources(flutter, args, res_dir):
def get_features(args):
features = ['inline'] if not args.flutter else []
if windows:
features.append('virtual_display_driver')
if args.hwcodec:
features.append('hwcodec')
if args.vram:
features.append('vram')
if args.flutter:
features.append('flutter')
features.append('flutter_texture_render')
if args.flatpak:
features.append('flatpak')
if args.appimage:
features.append('appimage')
if args.unix_file_copy_paste:
features.append('unix-file-copy-paste')
print("features:", features)
return features
@@ -288,7 +285,7 @@ Homepage: https://rustdesk.com
Depends: libgtk-3-0, libxcb-randr0, libxdo3, libxfixes3, libxcb-shape0, libxcb-xfixes0, libasound2, libsystemd0, curl, libva-drm2, libva-x11-2, libvdpau1, libgstreamer-plugins-base1.0-0, libpam0g, libappindicator3-1, gstreamer1.0-pipewire
Description: A remote control software.
""" % (version, get_arch())
""" % (version, get_deb_arch())
file = open(control_file_path, "w")
file.write(content)
file.close()
@@ -350,6 +347,7 @@ def build_flutter_deb(version, features):
os.rename('rustdesk.deb', '../rustdesk-%s.deb' % version)
os.chdir("..")
def build_deb_from_folder(version, binary_folder):
os.chdir('flutter')
system2('mkdir -p tmpdeb/usr/bin/')
@@ -388,18 +386,22 @@ def build_deb_from_folder(version, binary_folder):
os.rename('rustdesk.deb', '../rustdesk-%s.deb' % version)
os.chdir("..")
def build_flutter_dmg(version, features):
if not skip_cargo:
# set minimum osx build target, now is 10.14, which is the same as the flutter xcode project
system2(f'MACOSX_DEPLOYMENT_TARGET=10.14 cargo build --features {features} --lib --release')
system2(
f'MACOSX_DEPLOYMENT_TARGET=10.14 cargo build --features {features} --lib --release')
# copy dylib
system2(
"cp target/release/liblibrustdesk.dylib target/release/librustdesk.dylib")
os.chdir('flutter')
system2('flutter build macos --release')
'''
system2(
"create-dmg --volname \"RustDesk Installer\" --window-pos 200 120 --window-size 800 400 --icon-size 100 --app-drop-link 600 185 --icon RustDesk.app 200 190 --hide-extension RustDesk.app rustdesk.dmg ./build/macos/Build/Products/Release/RustDesk.app")
os.rename("rustdesk.dmg", f"../rustdesk-{version}.dmg")
'''
os.chdir("..")
@@ -414,7 +416,7 @@ def build_flutter_arch_manjaro(version, features):
system2('HBB=`pwd`/.. FLUTTER=1 makepkg -f')
def build_flutter_windows(version, features):
def build_flutter_windows(version, features, skip_portable_pack):
if not skip_cargo:
system2(f'cargo build --features {features} --lib --release')
if not os.path.exists("target/release/librustdesk.dll"):
@@ -425,6 +427,8 @@ def build_flutter_windows(version, features):
os.chdir('..')
shutil.copy2('target/release/deps/dylib_virtual_display.dll',
flutter_build_dir_2)
if skip_portable_pack:
return
os.chdir('libs/portable')
system2('pip3 install -r requirements.txt')
system2(
@@ -474,13 +478,14 @@ def main():
os.chdir('../../..')
if flutter:
build_flutter_windows(version, features)
build_flutter_windows(version, features, args.skip_portable_pack)
return
system2('cargo build --release --features ' + features)
# system2('upx.exe target/release/rustdesk.exe')
system2('mv target/release/rustdesk.exe target/release/RustDesk.exe')
pa = os.environ.get('P')
if pa:
# https://certera.com/kb/tutorial-guide-for-safenet-authentication-client-for-code-signing/
system2(
f'signtool sign /a /v /p {pa} /debug /f .\\cert.pfx /t http://timestamp.digicert.com '
'target\\release\\rustdesk.exe')
@@ -545,13 +550,6 @@ def main():
'cp libsciter.dylib target/release/bundle/osx/RustDesk.app/Contents/MacOS/')
# https://github.com/sindresorhus/create-dmg
system2('/bin/rm -rf *.dmg')
plist = "target/release/bundle/osx/RustDesk.app/Contents/Info.plist"
txt = open(plist).read()
with open(plist, "wt") as fh:
fh.write(txt.replace("</dict>", """
<key>LSUIElement</key>
<string>1</string>
</dict>"""))
pa = os.environ.get('P')
if pa:
system2('''
@@ -564,7 +562,8 @@ def main():
codesign -s "Developer ID Application: {0}" --force --options runtime ./target/release/bundle/osx/RustDesk.app/Contents/MacOS/*
codesign -s "Developer ID Application: {0}" --force --options runtime ./target/release/bundle/osx/RustDesk.app
'''.format(pa))
system2('create-dmg "RustDesk %s.dmg" "target/release/bundle/osx/RustDesk.app"' % version)
system2(
'create-dmg "RustDesk %s.dmg" "target/release/bundle/osx/RustDesk.app"' % version)
os.rename('RustDesk %s.dmg' %
version, 'rustdesk-%s.dmg' % version)
if pa:
@@ -584,7 +583,7 @@ def main():
else:
print('Not signed')
else:
# buid deb package
# build deb package
system2(
'mv target/release/bundle/deb/rustdesk*.deb ./rustdesk.deb')
system2('dpkg-deb -R rustdesk.deb tmpdeb')

View File

@@ -1,9 +1,11 @@
#[cfg(windows)]
fn build_windows() {
let file = "src/platform/windows.cc";
cc::Build::new().file(file).compile("windows");
let file2 = "src/platform/windows_delete_test_cert.cc";
cc::Build::new().file(file).file(file2).compile("windows");
println!("cargo:rustc-link-lib=WtsApi32");
println!("cargo:rerun-if-changed={}", file);
println!("cargo:rerun-if-changed={}", file2);
}
#[cfg(target_os = "macos")]
@@ -41,7 +43,7 @@ fn build_manifest() {
}
}
fn install_oboe() {
fn install_android_deps() {
let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
if target_os != "android" {
return;
@@ -49,6 +51,8 @@ fn install_oboe() {
let mut target_arch = std::env::var("CARGO_CFG_TARGET_ARCH").unwrap();
if target_arch == "x86_64" {
target_arch = "x64".to_owned();
} else if target_arch == "x86" {
target_arch = "x86".to_owned();
} else if target_arch == "aarch64" {
target_arch = "arm64".to_owned();
} else {
@@ -66,62 +70,16 @@ fn install_oboe() {
path.join("lib").to_str().unwrap()
)
);
println!("cargo:rustc-link-lib=ndk_compat");
println!("cargo:rustc-link-lib=oboe");
println!("cargo:rustc-link-lib=oboe_wrapper");
println!("cargo:rustc-link-lib=c++");
println!("cargo:rustc-link-lib=OpenSLES");
// I always got some strange link error with oboe, so as workaround, put oboe.cc into oboe src: src/common/AudioStreamBuilder.cpp
// also to avoid libc++_shared not found issue, cp ndk's libc++_shared.so to jniLibs, e.g.
// ./flutter_hbb/android/app/src/main/jniLibs/arm64-v8a/libc++_shared.so
// let include = path.join("include");
//cc::Build::new().file("oboe.cc").include(include).compile("oboe_wrapper");
}
#[cfg(feature = "flutter")]
fn gen_flutter_rust_bridge() {
if !std::env::var("RUN_FFIGEN").is_ok() {
return;
}
use lib_flutter_rust_bridge_codegen::{
config_parse, frb_codegen, get_symbols_if_no_duplicates, RawOpts,
};
let llvm_path = match std::env::var("LLVM_HOME") {
Ok(path) => Some(vec![path]),
Err(_) => None,
};
// Tell Cargo that if the given file changes, to rerun this build script.
println!("cargo:rerun-if-changed=src/flutter_ffi.rs");
// Options for frb_codegen
let raw_opts = RawOpts {
// Path of input Rust code
rust_input: vec!["src/flutter_ffi.rs".to_string()],
// Path of output generated Dart code
dart_output: vec!["flutter/lib/generated_bridge.dart".to_string()],
// Path of output generated C header
c_output: Some(vec!["flutter/macos/Runner/bridge_generated.h".to_string()]),
/// Path to the installed LLVM
llvm_path,
// for other options use defaults
..Default::default()
};
// get opts from raw opts
let configs = config_parse(raw_opts);
// generation of rust api for ffi
let all_symbols = get_symbols_if_no_duplicates(&configs).unwrap();
for config in configs.iter() {
frb_codegen(config, &all_symbols).unwrap();
}
}
fn main() {
hbb_common::gen_version();
install_oboe();
// there is problem with cfg(target_os) in build.rs, so use our workaround
// let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
// if target_os == "android" || target_os == "ios" {
#[cfg(feature = "flutter")]
gen_flutter_rust_bridge();
// return;
// }
install_android_deps();
#[cfg(all(windows, feature = "inline"))]
build_manifest();
#[cfg(windows)]

101
docs/CODE_OF_CONDUCT-JP.md Normal file
View File

@@ -0,0 +1,101 @@
# コントリビューター規約 行動規範
## 私たちの誓い
私たちは、メンバー、貢献者、リーダーとして、年齢、体格、目に見える・見えない障害、
民族性、性の特徴、性自認と表現、経験のレベル、教育、社会経済的地位、国籍、個人の外見、
人種、宗教、性的自認と指向に関係なく、誰もがハラスメントのないコミュニティに参加できるようにすることを誓います。
私たちは、開かれた、歓迎された、多様で、包容力のある、健全な地域社会に貢献するように行動し、交流することを誓います。
## 私たちの基準
地域社会にとって好ましい環境にコントリビュートする行動の例には、以下のようなものがある:
* 他者への共感と優しさ
* 異なる意見、視点、経験を尊重すること
* 建設的なフィードバックを与え、潔く受け入れること
* 私たちの過ちによって影響を受けた人々に責任を受け入れ、謝罪し、経験から学ぶこと
* 私たち個人にとってだけでなく、地域社会全体にとって何が最善であるかに焦点を合わせること
許されない行為の例:
* 性的な言葉やイメージの使用、性的な注目や誘いかけ
* 荒らし、侮辱的または軽蔑的なコメント、個人的または政治的な攻撃
* 公的または私的な嫌がらせ
* 明示的な許可なく、他人の住所や電子メールアドレスなどの個人情報を公開すること
* 職業上不適切と見なされるその他の行為
## 執行責任
コミュニティリーダーは、許容される行動の基準を明確にし、実施する責任があり、
不適切、脅迫的、攻撃的、または有害と判断される行動に対しては、適切かつ公正な是正措置をとります
コミュニティリーダーは、本行動規範に沿わないコメント、コミット、コード、ウィキ編集、
課題、その他の貢献を削除、編集、拒否する権利と責任を有し、適切な場合にはモデレーション決定の理由を伝えます。
## スコープ
この行動規範は、すべてのコミュニティスペースで適用され、また個人が公的なスペースでコミュニティを公式に代表している場合にも適用されます。
当コミュニティを代表する例としては、公式 E メールアドレスの使用、公式ソーシャルメディアアカウントによる投稿、
オンラインまたはオフラインのイベントでの任命された代表としての行動などが挙げられます。
## 施行
虐待、ハラスメント、その他容認できない行為があった場合は、[info@rustdesk.com](mailto:info@rustdesk.com) の
執行担当コミュニティリーダーに報告することができる。
すべての苦情は、迅速かつ公正に検討・調査されます。
すべての地域社会の指導者は、いかなる事件の報告者のプライバシーと安全を尊重する義務がある。
## 執行ガイドライン
コミュニティリーダーは、本行動規範に違反すると判断した行為に対する結果を決定する際、
以下の「コミュニティへの影響に関するガイドライン」に従います:
### 1. 修正
**コミュニティへの影響**: 不適切な言葉の使用、またはプロフェッショナルでない、あるいは地域社会で歓迎されないとみなされるその他の行動。
**結果**: コミュニティリーダーからの私的な書面による警告。違反の性質と、
なぜその行為が不適切であったのかについての説明を明確にする。公的な謝罪が要求される場合もある。
### 2. 警告
**コミュニティへの影響**: 単一の出来事または一連の行動による違反。
**結果**: 行動を続けた場合の結果を伴う警告。一定期間、行動規範の実施者との勝手な交流を含め、
関係者と交流しないこと。これには、ソーシャルメディアなどの外部チャンネルだけでなく、
コミュニティスペースでの交流を避けることも含まれます。これらの条件に違反した場合、一時的または恒久的に追放される可能性があります。
### 3. 一時的な禁止
**コミュニティへの影響**: 継続的な不適切な行動を含む、コミュニティ基準に対する重大な違反。
**結果**: 一定期間、地域社会とのあらゆる交流や公的なコミュニケーションを一時的に禁止すること。
この期間中は、行動規範を執行する人々との未承諾の交流を含め、関係者との公私にわたる交流は許されない。
これらの条件に違反した場合、永久禁止となる可能性があります。
### 4. 永久禁止
**コミュニティへの影響**: 継続的な不適切な行動、個人に対する嫌がらせ、
または個人クラスに対する攻撃や中傷など、地域社会の基準に対する違反のパターンを示すこと。
**結果**: コミュニティ内でのあらゆる公的交流の永久禁止。
## 帰属
この行動規範は、[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0] に掲載されている
[コントリビューター規約][ホームページ]、バージョン 2.0 から引用したものです。
コミュニティインパクトガイドラインは、[Mozilla's code of conduct enforcement ladder][Mozilla CoC] に触発されました。
この行動規範に関するよくある質問については、[https://www.contributor-covenant.org/faq][FAQ] の FAQ をご覧ください。
翻訳は [https://www.contributor-covenant.org/translations][翻訳] にあります。
[ホームページ]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla CoC]: https://github.com/mozilla/diversity
[FAQ]: https://www.contributor-covenant.org/faq
[翻訳]: https://www.contributor-covenant.org/translations

View File

@@ -0,0 +1,89 @@
# Katkıda Bulunanların Davranış Kuralları
## Taahhüdümüz
Biz üyeler, katkıda bulunanlar ve liderler olarak, yaş, beden büyüklüğü, görünür veya görünmez engellilik, etnik köken, cinsiyet özellikleri, cinsiyet kimliği ve ifadesi, deneyim seviyesi, eğitim, sosyo-ekonomik durum, milliyet, kişisel görünüm, ırk, din veya cinsel kimlik ve yönelim ayrımı gözetmeksizin herkes için topluluğumuzdaki katılımı taciz içermeyen bir deneyim haline getirmeyi taahhüt ederiz.
ık, hoşgörülü, çeşitli, kapsayıcı ve sağlıklı bir topluluğa katkıda bulunacak şekillerde hareket etmeyi ve etkileşimde bulunmayı taahhüt ederiz.
## Standartlarımız
Topluluğumuz için olumlu bir ortam yaratmaya katkıda bulunan davranış örnekleri şunlardır:
* Diğer insanlara empati ve nezaket göstermek
* Farklı görüşlere, bakış açılarına ve deneyimlere saygılı olmak
* Yapıcı eleştiriyi vermek ve zarifçe kabul etmek
* Hatalarımızdan etkilenenlere sorumluluk kabul etmek, özür dilemek ve deneyimden öğrenmek
* Sadece bireyler olarak değil, aynı zamanda genel topluluk için en iyisi üzerine odaklanmak
Kabul edilemez davranış örnekleri şunları içerir:
* Cinselleştirilmiş dil veya imgelerin kullanımı ve cinsel ilgi veya herhangi bir türdeki yaklaşımlar
* Trollük, aşağılayıcı veya hakaret içeren yorumlar ve kişisel veya siyasi saldırılar
* Kamuoyu veya özel taciz
* Başkalarının fiziksel veya e-posta adresi gibi özel bilgilerini, açık izinleri olmadan yayınlamak
* Profesyonel bir ortamda makul bir şekilde uygunsuz kabul edilebilecek diğer davranışlar
## Uygulama Sorumlulukları
Topluluk liderleri, kabul edilebilir davranış standartlarımızııklığa kavuşturmak ve uygulamakla sorumludur ve uygunsuz, tehditkar, saldırgan veya zarar verici herhangi bir davranışa yanıt olarak uygun ve adil düzeltici önlemler alacaklardır.
Topluluk liderleri, bu Davranış Kurallarına uyumlu olmayan yorumları, taahhütlerini veya kodu, wiki düzenlemelerini, sorunları ve diğer katkıları kaldırma, düzenleme veya reddetme hakkına sahiptir. Denetim kararlarının nedenlerini uygun olduğunda ileteceklerdir.
## Kapsam
Bu Davranış Kuralları, tüm topluluk alanlarında geçerlidir ve aynı zamanda birey resmi olarak topluluğu halka açık alanlarda temsil ettiğinde de geçerlidir. Topluluğumuzu temsil etme örnekleri, resmi bir e-posta adresi kullanmak, resmi bir sosyal medya hesabı üzerinden gönderi yapmak veya çevrimiçi veya çevrimdışı bir etkinlikte atanmış bir temsilci olarak hareket etmeyi içerir.
## Uygulama
Taciz edici, rahatsız edici veya başka türlü kabul edilemez davranış örnekleri, [info@rustdesk.com](mailto:info@rustdesk.com) adresindeki uygulama sorumlularına bildirilebilir. Tüm şikayetler hızlı ve adil bir şekilde incelenecek ve araştırılacaktır.
Tüm topluluk liderleri, olayın raporlayıcısının gizliliğine ve güvenliğine saygı gösterme yükümlülüğündedir.
## Uygulama Kılavuzları
Topluluk liderleri, bu Davranış Kurallarını ihlal olarak değerlendirdikleri herhangi bir eylem için bu Topluluk Etkisi Kılavuzlarını izleyeceklerdir:
### 1. Düzeltme
**Topluluk Etkisi**: Topluluk içinde profesyonel veya hoşgörülü olmayan uygun olmayan dil veya diğer davranışların kullanımı.
**Sonuç**: Topluluk liderlerinden özel ve yazılı bir uyarı almak, ihlalin niteliği ve davranışın nedeninin açıklığa kavuşturulması. Bir kamu özrü istenebilir.
### 2. Uyarı
**Topluluk Etkisi**: Tek bir olay veya dizi aracılığıyla bir ihlal.
**Sonuç**: Devam eden davranış için sonuçları olan bir uyarı. Topluluk liderleri de dahil olmak üzere ihlalle ilgili kişilerle etkileşim, belirli bir süre boyunca önerilmez. Bu, topluluk alanlarında ve sosyal medya gibi harici kanallarda etkileşimleri içerir. Bu koşulları ihlal etmek geçici veya kalıcı bir yasağa yol açabilir.
### 3. Geçici Yasak
**Topluluk Etkisi**: Sürekli uygunsuz davranış da dahil olmak üzere topluluk standartlarının ciddi bir ihlali.
**Sonuç**: Belirli bir süre için toplulukla herhangi bir türdeki etkileşim veya halka açık iletişimden geçici bir yasak. Bu dönem boyunca, toplul
ukla veya uygulama kurallarını uygulayanlarla her türlü kamuoyu veya özel etkileşim izin verilmez. Bu koşulları ihlal etmek geçici veya kalıcı bir yasağa yol açabilir.
### 4. Kalıcı Yasak
**Topluluk Etkisi**: Topluluk standartlarının ihlalinde sürekli bir desen sergilemek, bireye sürekli olarak uygun olmayan davranışlarda bulunmak, bir bireye tacizde bulunmak veya birey sınıflarına karşı saldırganlık veya aşağılama yapmak.
**Sonuç**: Topluluk içinde her türlü halka açık etkileşimden kalıcı bir yasak.
## Atıf
Bu Davranış Kuralları, [Contributor Covenant][anasayfa], 2.0 sürümünden uyarlanmıştır ve
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0] adresinde bulunmaktadır.
Topluluk Etkisi Kılavuzları,
[Mozilla'nın davranış kuralları uygulama merdiveni][Mozilla DK] tarafından ilham alınarak oluşturulmuştur.
Bu davranış kuralları hakkında yaygın soruların cevapları için, SSS'ye göz atın:
[https://www.contributor-covenant.org/faq][SSS]. Çeviriler,
[https://www.contributor-covenant.org/translations][çeviriler] adresinde bulunabilir.
[anasayfa]: https://www.contributor-covenant.org
[v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
[Mozilla DK]: https://github.com/mozilla/diversity
[SSS]: https://www.contributor-covenant.org/faq
[çeviriler]: https://www.contributor-covenant.org/translations

31
docs/CONTRIBUTING-ID.md Normal file
View File

@@ -0,0 +1,31 @@
# Berkontribusi dalam pengembangan RustDesk
RustDesk mengajak semua orang untuk ikut berkontribusi. Berikut ini adalah panduan jika kamu sedang mempertimbangkan untuk memberikan bantuan kepada kami:
## Kontirbusi
Untuk melakukan kontribusi pada RustDesk atau dependensinya, sebaiknya dilakukan dalam bentuk pull request di GitHub. Setiap permintaan pull request akan ditinjau oleh kontributor utama atau seseorang yang memiliki wewenang untuk menggabungkan perubahan kode, baik yang sudah dimasukkan ke dalam struktur utama ataupun memberikan umpan balik untuk perubahan yang akan diperlukan. Setiap kontribusi harus sesuai dengan format ini, juga termasuk yang berasal dari kontributor utama.
Apabila kamu ingin mengatasi sebuah masalah yang sudah ada di daftar issue, harap klaim terlebih dahulu dengan memberikan komentar pada GitHub issue yang ingin kamu kerjakan. Hal ini dilakukan untuk mencegah terjadinya duplikasi dari kontributor pada daftar issue yang sama.
## Pemeriksaan Pull Request
- Branch yang menjadi acuan adalah branch master dari repositori utama dan, jika diperlukan, lakukan rebase ke branch master yang terbaru sebelum kamu mengirim pull request. Apabila terdapat masalah kita melakukan proses merge ke branch master kemungkinan kamu akan diminta untuk melakukan rebase pada perubahan yang sudah dibuat.
- Sebaiknya buatlah commit seminimal mungkin, sambil memastikan bahwa setiap commit yang dibuat sudah benar (contohnya, setiap commit harus bisa di kompilasi dan berhasil melewati tahap test).
- Setiap commit harus disertai dengan tanda tangan Sertifikat Asal Pengembang (Developer Certificate of Origin) (<http://developercertificate.org>), yang mengindikasikan bahwa kamu (and your employer if applicable) bersedia untuk patuh terhadap persyaratan dari [lisensi projek](../LICENCE). Di git bash, ini adalah opsi parameter `-s` pada `git commit`
- Jika perubahan yang kamu buat tidak mendapat tinjauan atau kamu membutuhkan orang tertentu untuk meninjaunya, kamu bisa @-reply seorang reviewer meminta peninjauan dalam permintaan pull request atau komentar, atau kamu bisa meminta tinjauan melalui [email](mailto:info@rustdesk.com).
- Sertakan test yang relevan terhadap bug atau fitur baru yang sudah dikerjakan.
Untuk instruksi Git yang lebih lanjut, cek disini [GitHub workflow 101](https://github.com/servo/servo/wiki/GitHub-workflow).
## Tindakan
<https://github.com/rustdesk/rustdesk/blob/master/docs/CODE_OF_CONDUCT-ID.md>
## Komunikasi
Kontributor RustDesk sering berkunjung ke [Discord](https://discord.gg/nDceKgxnkV).

41
docs/CONTRIBUTING-JP.md Normal file
View File

@@ -0,0 +1,41 @@
# RustDesk へのコントリビュート
RustDesk は皆さんからのコントリビュートを歓迎します。ご協力いただける方のガイドラインは
以下の通りです:
## コントリビューション
RustDesk またはその依存関係へのコントリビュートは、GitHub のプルリクエストの形で行ってください。
それぞれのプルリクエストは、コアコントリビューター(パッチの適用を許可されている人)によってレビューされ、
メインツリーに適用されるか、必要な変更についてのフィードバックが与えられます。
コアコントリビューターからのものであっても、すべてのコントリビューターはこのフォーマットに従うべきです。
ある issue に取り組みたい場合は、GitHub の issue にコメントすることで、まずその対応を主張してください。
これは、同じ issue に対するコントリビューターの重複作業を防ぐためです。
## プルリクエストのチェックリスト
- master ブランチからブランチし、必要であればプルリクエストを提出する前に現在の master ブランチにリベースしてください。
master と正しくマージできない場合、変更をリベースするよう求められる可能性があります。
- コミットは、各コミットが独立して正しい(すなわち、各コミットがコンパイルされ、テストに合格する)ことを保証しながら、
可能な限り小さくすべきです。
- コミットには、Developer Certificate of Origin (http://developercertificate.org) の sign-off を添えてください。
これは、あなた(および該当する場合はあなたの雇用主)が [プロジェクトのライセンス](../LICENCE) の条項に拘束されることに
同意していることを示すものです。git では、これは `git commit``-s` オプションを使います。
- もしあなたのパッチがレビューされなかったり、特定の人にレビューしてもらう必要がある場合、
プルリクエストやコメントでレビューを依頼するレビュアーに@返信したり、[email](mailto:info@rustdesk.com) でレビューを依頼することができます。
- 修正したバグや新機能に関連するテストを追加する。
具体的なgitの手順については、[GitHub workflow 101](https://github.com/servo/servo/wiki/GitHub-workflow)を参照してください。
## 行動規範
https://github.com/rustdesk/rustdesk/blob/master/docs/CODE_OF_CONDUCT.md
## コミュニケーション
RustDesk のコントリビューターは、[Discord](https://discord.gg/nDceKgxnkV) を良く使っています。

31
docs/CONTRIBUTING-TR.md Normal file
View File

@@ -0,0 +1,31 @@
# RustDesk'a Katkı Sağlamak
RustDesk, herkesten katkıyı memnuniyetle karşılar. Eğer bize yardımcı olmayı düşünüyorsanız, işte rehberlik eden kurallar:
## Katkılar
RustDesk veya bağımlılıklarına yapılan katkılar, GitHub pull istekleri şeklinde yapılmalıdır. Her bir pull isteği, çekirdek katkıcı tarafından gözden geçirilecek (yamaları kabul etme izni olan biri) ve ana ağaca kabul edilecek veya gerekli değişiklikler için geri bildirim verilecektir. Tüm katkılar bu formata uymalıdır, çekirdek katkıcılardan gelenler bile.
Eğer bir konu üzerinde çalışmak isterseniz, önce üzerinde çalışmak istediğinizi belirten bir yorum yaparak konuyu talep ediniz. Bu, katkı sağlayanların aynı konuda çift çalışmasını engellemek içindir.
## Pull İstek Kontrol Listesi
- Master dalından dallandırın ve gerekiyorsa pull isteğinizi göndermeden önce mevcut master dalına rebase yapın. Eğer master ile temiz bir şekilde birleşmezse, değişikliklerinizi rebase yapmanız istenebilir.
- Her bir commit mümkün olduğunca küçük olmalıdır, ancak her commit'in bağımsız olarak doğru olduğundan emin olun (örneğin, her commit derlenebilir ve testleri geçmelidir).
- Commit'ler, bir Geliştirici Sertifikası ile desteklenmelidir (http://developercertificate.org). Bu, [proje lisansının](../LICENCE) koşullarına uymayı kabul ettiğinizi gösteren bir onaydır. Git'te bunu `git commit` seçeneği olarak `-s` seçeneği ile yapabilirsiniz.
- Yamalarınız gözden geçirilmiyorsa veya belirli bir kişinin gözden geçirmesine ihtiyacınız varsa, çekme isteği veya yorum içinde bir gözden geçirmeyi istemek için bir inceleyiciyi @etiketleyebilir veya inceleme için [e-posta](mailto:info@rustdesk.com) ile talep edebilirsiniz.
- Düzelttiğiniz hatanın veya eklediğiniz yeni özelliğin ilgili testlerini ekleyin.
Daha spesifik git talimatları için, [GitHub iş akışı 101](https://github.com/servo/servo/wiki/GitHub-workflow)'e bakınız.
## Davranış
https://github.com/rustdesk/rustdesk/blob/master/docs/CODE_OF_CONDUCT-TR.md
## İletişim
RustDesk katkı sağlayıcıları, [Discord](https://discord.gg/nDceKgxnkV) kanalını sık sık ziyaret ederler.

14
docs/DEVCONTAINER-JP.md Normal file
View File

@@ -0,0 +1,14 @@
docker コンテナで devcontainer を起動すると、デバッグモードの linux バイナリが作成されます。
現在 devcontainer では、Linux と android のビルドをデバッグモードとリリースモードの両方で提供しています。
以下は、特定のビルドを作成するためにプロジェクトのルートから実行するコマンドの表になります。
コマンド|ビルド タイプ|モード
-|-|-|
`.devcontainer/build.sh --debug linux`|Linux|debug
`.devcontainer/build.sh --release linux`|Linux|release
`.devcontainer/build.sh --debug android`|android-arm64|debug
`.devcontainer/build.sh --release android`|android-arm64|release

12
docs/DEVCONTAINER-TR.md Normal file
View File

@@ -0,0 +1,12 @@
Docker konteynerinde devcontainer'ın başlatılmasından sonra, hata ayıklama modunda bir Linux ikili dosyası oluşturulur.
Şu anda devcontainer, hata ayıklama ve sürüm modunda hem Linux hem de Android derlemeleri sunmaktadır.
Aşağıda, belirli derlemeler oluşturmak için projenin kökünden çalıştırılması gereken komutlar yer almaktadır.
Komut | Derleme Türü | Mod
-|-|-
`.devcontainer/build.sh --debug linux` | Linux | hata ayıklama
`.devcontainer/build.sh --release linux` | Linux | sürüm
`.devcontainer/build.sh --debug android` | Android-arm64 | hata ayıklama
`.devcontainer/build.sh --release android` | Android-arm64 | sürüm

View File

@@ -27,14 +27,6 @@
[**BINARY تنزيل**](https://github.com/rustdesk/rustdesk/releases)
## خوادم مفتوحة ومجانية
فيما يلي الخوادم التي تستخدمها مجانًا، وقد تتغير طوال الوقت. إذا لم تكن قريبًا من أحد هؤلاء، فقد تكون شبكتك بطيئة.
| الموقع | المورد | المواصفات |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4 GB RAM |
## التبعيات
لواجهة المستخدم الرسومية [sciter](https://sciter.com/) نسخة سطح المكتب تستخدم
@@ -118,10 +110,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### X11 (Xorg) إلى Wayland تغيير
افتراضية GNOME session ك Xorg إتبع [هذه](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) الخطوات لإعداد Wayland لا تدعم RustDesk
## Docker طريقة البناء باستخدام
ابدأ باستنساخ المستودع وبناء الكونتاينر:

View File

@@ -6,10 +6,10 @@
<a href="#file-structure">Struktura</a> •
<a href="#snapshot">Ukázky</a><br>
[<a href="../README.md">English</a>] | [<a href="README-UA.md">Українська</a>] | [<a href="README-ZH.md">中文</a>] | [<a href="README-HU.md">Magyar</a>] | [<a href="README-ES.md">Español</a>] | [<a href="README-FA.md">فارسی</a>] | [<a href="README-FR.md">Français</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-PL.md">Polski</a>] | [<a href="README-ID.md">Indonesian</a>] | [<a href="README-FI.md">Suomi</a>] | [<a href="README-ML.md">മലയാളം</a>] | [<a href="README-JP.md">日本語</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-IT.md">Italiano</a>] | [<a href="README-RU.md">Русский</a>] | [<a href="README-PTBR.md">Português (Brasil)</a>] | [<a href="README-EO.md">Esperanto</a>] | [<a href="README-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>] | [<a href="README-GR.md">Ελληνικά</a>]<br>
<b>Potřebujeme Vaši pomoc s překláním textů tohoto ČTIMNE, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">uživatelského rozhraní aplikace RustDesk</a> a <a href="https://github.com/rustdesk/doc.rustdesk.com">dokumentace k ní</a> do vašeho jazyka</b>
<b>Potřebujeme Vaši pomoc s překladem tohoto README, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">uživatelského rozhraní aplikace RustDesk</a> a <a href="https://github.com/rustdesk/doc.rustdesk.com">dokumentace k ní</a> do vašeho jazyka</b>
</p>
Dopisujte si s námi: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
Popovídejte si s námi: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
@@ -22,14 +22,6 @@ Projekt RustDesk vítá přiložení ruky k dílu od každého. Jak začít se d
[**STAHOVÁNÍ ZKOMPILOVANÝCH APLIKACÍ**](https://github.com/rustdesk/rustdesk/releases)
## Veřejné, zdarma službu nabízející servery
Níže jsou uvedeny servery zdarma k vašemu použití (údaje se mohou v čase měnit). Pokud se nenacházíte v oblastech světa poblíž nich, spojení může být pomalé.
| umístění | dodavatel | parametry |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4 GB RAM |
## Softwarové součásti, na kterých závisí
Varianta pro počítač používá pro grafické uživatelské rozhraní [sciter](https://sciter.com/) stáhněte si potřebnou knihovnu.
@@ -44,7 +36,7 @@ Varianta pro mobilní platformy používá aplikační rámec (framework) Flutte
- Připravte si vývojové prostředí pro jazyky Rust a C++
- Nainstalujte [vcpkg](https://github.com/microsoft/vcpkg), a nastavte správně proměnnou prostsředí `VCPKG_ROOT`
- Nainstalujte [vcpkg](https://github.com/microsoft/vcpkg), a správně nastavte proměnnou prostředí `VCPKG_ROOT`
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus aom
@@ -111,10 +103,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Změna z Wayland na X11 (Xorg)
RustDesk (zatím) nepodporuje zobrazovací server Wayland. Jak nastavit Xorg jako výchozí pro relace v prostředí GNOME naleznete [zde](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/).
## Jak sestavit prostřednictvím Docker kontejnerizace
Začněte tím, že si naklonujete tento repozitář a sestavíte docker kontejner:
@@ -131,7 +119,7 @@ Poté pokaždé, když bude třeba aplikaci sestavit, spusťte následující p
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
```
Všimněte si, že prvotní sestavení může trvat déle (než se do mezipaměti uloží veškeré softwarové součásti, které jsou potřeba) následná opakování už budou rychlejší. Dále, pokud potřebujete příkazu pro sestavení zadat nějaké argumenty, je možné je zapsat na konec příkazu na pozici `<OPTIONAL-ARGS>`. Například, pokud byste chtěli sestavit optimalizovaně pro vydání, spustili byste výše uvedený příkaz následovaný `--release`. Výsledný spustitelný soubor se objeví v cílové složce na vašem systému a bude ho možné spustit pomocí:
Všimněte si, že prvotní sestavení může trvat déle (než se do mezipaměti uloží veškeré softwarové součásti, které jsou potřeba) následná opakování už budou rychlejší. Pokud navíc potřebujete zadat různé argumenty příkazu pro sestavení, můžete tak učinit na konci příkazu v pozici `<OPTIONAL-ARGS>`. Například, pokud byste chtěli sestavit optimalizovanou verzi pro vydání, spustili byste výše uvedený příkaz následovaný `--release`. Výsledný spustitelný soubor se objeví v cílové složce na vašem systému a bude ho možné spustit pomocí:
```sh
target/debug/rustdesk
@@ -143,7 +131,7 @@ Nebo, pokud spouštíte variantu pro vydání:
target/release/rustdesk
```
Zajistětě, abyste tyto příkazy spouštěli z kořene repozitáře s RustDesk, jinak aplikace nemusí být schopná nalézt potřebné prostředky (resources). Také si všimněte, že ostatní dílčí príkazy nástroje cargo, jako třeba `install` nebo `run` zatím nejsou prostřednictvím této metody podporovány, protože by vedly k instalaci či spuštění program uvnitř kontejneru namísto přímo v systému.
Ujistěte se, že tyto příkazy spouštíte z kořenového adresáře RustDesk, jinak aplikace nemusí být schopná nalézt potřebné prostředky (resources). Také si všimněte, že ostatní dílčí príkazy nástroje cargo, jako třeba `install` nebo `run` zatím nejsou prostřednictvím této metody podporovány, protože by vedly k instalaci či spuštění program uvnitř kontejneru namísto přímo v systému.
## Struktura souborů

View File

@@ -19,14 +19,6 @@ RustDesk hilser bidrag fra alle velkommen. Se [`docs/CONTRIBUTING.md`](docs/CONT
[**PROGRAM DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## Gratis offentlige servere
Nedenfor er de servere, du bruger gratis, det kan ændre sig med tiden. Hvis du ikke er tæt på en af disse, kan dit netværk være langsomt.
| Beliggenhed | Udbyder | Specifikation |
| ---------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
## Afhængigheder
Desktopversioner bruger [sciter](https://sciter.com/) eller Flutter til GUI, denne vejledning er kun for Sciter.
@@ -108,33 +100,6 @@ mv libsciter-gtk.so target/debug
cargo run
```
### Skift Wayland til X11 (Xorg)
RustDesk understøtter ikke Wayland. Tjek [dette](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) for at konfigurere Xorg som standard GNOME-session.
## Wayland-support
Wayland ser ikke ud til at levere nogen API til at sende tastetryk til andre vinduer. Derfor bruger rustdesk et API fra et lavere niveau, nemlig `/dev/uinput`-enheden (Linux-kerneniveau).
Når wayland er den kontrollerede side, skal du starte på følgende måde:
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Bemærk**: Wayland-skærmoptagelse bruger forskellige grænseflader. RustDesk understøtter i øjeblikket kun org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Sådan bygger du med Docker
```sh

View File

@@ -29,22 +29,6 @@ RustDesk heißt jegliche Mitarbeit willkommen. Schauen Sie sich [CONTRIBUTING-DE
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Freie öffentliche Server
Nachfolgend sind die Server gelistet, die Sie kostenlos nutzen können. Es kann sein, dass sich diese Liste immer mal wieder ändert. Falls Sie nicht in der Nähe einer dieser Server sind, kann es sein, dass Ihre Verbindung langsam sein wird.
| Standort | Anbieter | Spezifikation |
| --------- | ------------- | ------------------ |
| Deutschland | [Hetzner](https://www.hetzner.com/de/) | 2 vCPU / 4 GB RAM |
| Ukraine (Kiew) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4 GB RAM |
## Dev-Container
[![In Dev-Containern öffnen](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
Wenn Sie VS Code und Docker bereits installiert haben, können Sie auf das Abzeichen oben klicken, um loszulegen. Wenn Sie darauf klicken, wird VS Code automatisch die Dev-Container-Erweiterung installieren, den Quellcode in ein Container-Volume klonen und einen Dev-Container für die Verwendung aufsetzen.
Weitere Informationen finden Sie in [DEVCONTAINER-DE.md](DEVCONTAINER-DE.md).
## Abhängigkeiten
Desktop-Versionen verwenden [Sciter](https://sciter.com/) oder Flutter für die GUI, dieses Tutorial ist nur für Sciter.
@@ -133,34 +117,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Wayland zu X11 (Xorg) ändern
RustDesk unterstützt Wayland nicht. Siehe [hier](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/), um Xorg als Standard-GNOME-Sitzung zu nutzen.
## Wayland-Unterstützung
Wayland scheint keine API für das Senden von Tastatureingaben an andere Fenster zu bieten. Daher verwendet RustDesk eine API von einer niedrigeren Ebene, nämlich dem Gerät `/dev/uinput` (Linux-Kernelebene).
Wenn Wayland die kontrollierte Seite ist, müssen Sie wie folgt vorgehen:
```bash
# Dienst uinput starten
$ sudo rustdesk --service
$ rustdesk
```
**Hinweis**: Die Wayland-Bildschirmaufnahme verwendet verschiedene Schnittstellen. RustDesk unterstützt derzeit nur org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Keine Unterstützung
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Unterstützung
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Auf Docker kompilieren
Beginnen Sie damit, das Repository zu klonen und den Docker-Container zu bauen:

View File

@@ -19,14 +19,6 @@ RustDesk bonvenigas kontribuon de ĉiuj. Vidu [`docs/CONTRIBUTING.md`](CONTRIBUT
[**BINARA ELŜUTO**](https://github.com/rustdesk/rustdesk/releases)
## Senpagaj publikaj serviloj
Malsupre estas la serviloj, kiuj vi uzas senpage, ĝi povas ŝanĝi laŭlonge de la tempo. Se vi ne estas proksima de unu de tiuj, via reto povas esti malrapida.
| Situo | Vendanto | Detaloj |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dependantaĵoj
La labortabla versio uzas [sciter](https://sciter.com/) por la interfaco, bonvolu elŝuti la bibliotekon dinamikan sciter.
@@ -104,10 +96,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Ŝanĝi Wayland por X11 (Xorg)
RustDesk ne subtenas Wayland. Kontrolu [tion](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) por agordi Xorg kiel defaŭlta sesio GNOME.
## Kiel kompili kun Docker
Komencu klonante la deponejon kaj kompilu la konteneron Docker:

View File

@@ -25,15 +25,6 @@ RustDesk agradece la contribución de todo el mundo. Lee [`docs/CONTRIBUTING.md`
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Servidores gratis de uso público
A continuación se muestran los servidores gratuitos, pueden cambiar a medida que pasa el tiempo. Si no estás cerca de uno de ellos, tu conexión puede ser lenta.
| Ubicación | Compañía | Especificación |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dependencias
La versión Desktop usa [Sciter](https://sciter.com/) o Flutter para el GUI, este tutorial es solo para Sciter.
@@ -113,34 +104,6 @@ mv libsciter-gtk.so target/debug
cargo run
```
### Cambia Wayland a X11 (Xorg)
RustDesk no soporta Wayland. Lee [esto](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) para configurar Xorg en la sesión por defecto de GNOME.
## Soporte para Wayland
Wayland no parece proporcionar ninguna API para enviar pulsaciones de teclas a otras ventanas. Por lo tanto, rustdesk usa una API de nivel bajo, a saber, el dispositivo `/dev/uinput` (a nivel del kernel de Linux).
Cuando wayland esta del lado controlado, hay que iniciar de la siguiente manera:
```bash
# Empezar el servicio uinput
$ sudo rustdesk --service
$ rustdesk
```
**Aviso**: La grabación de pantalla de Wayland utiliza diferentes interfaces. RustDesk actualmente sólo soporta org.freedesktop.portal.ScreenCast
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# No soportado
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Soportado
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Como compilar con Docker
Empieza clonando el repositorio y compilando el contenedor de docker:

View File

@@ -25,13 +25,6 @@
[دریافت نرم‌افزار](https://github.com/rustdesk/rustdesk/releases)
## سرورهای عمومی رایگان
شما مي‌توانید از سرورهای زیر به رایگان استفاده کنید. این لیست ممکن است به مرور زمان تغییر می‌کند. اگر به این سرورها نزدیک نیستید، ممکن است اتصال شما کند باشد.
| موقعیت | سرویس دهنده | مشخصات |
| --------- | ------------- | ------------------ |
| آلمان | Hetzner | 2 vCPU / 4GB RAM |
## وابستگی ها
نسخه‌های رومیزی از [sciter](https://sciter.com/) برای رابط کاربری گرافیکی استفاده می‌کنند. خواهشمندیم کتابخانه‌ی پویای sciter را خودتان دانلود کنید از این منابع دریافت کنید.
@@ -112,10 +105,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### تغییر Wayland به (X11 (Xorg
راست‌دسک از Wayland پشتیبانی نمی کند. برای جایگزنی Xorg به عنوان پیش‌فرض GNOM، [اینجا](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) را کلیک کنید.
## نحوه ساخت با داکر
این مخزن Git را دریافت کنید و کانتینر را به روش زیر بسازید

View File

@@ -19,14 +19,6 @@ RustDesk toivottaa avustukset tervetulleiksi kaikilta. Katso lisätietoja [`docs
[**BINAARILATAUS**](https://github.com/rustdesk/rustdesk/releases)
## Vapaita julkisia palvelimia
Alla on palvelimia, joita voit käyttää ilmaiseksi, ne saattavat muuttua ajan mittaan. Jos et ole lähellä yhtä näistä, verkkosi voi olla hidas.
| Sijainti | Myyjä | Määrittely |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Riippuvuudet
Desktop-versiot käyttävät [sciter](https://sciter.com/) graafisena käyttöliittymänä, lataa sciter-dynaaminen kirjasto itsellesi.
@@ -104,10 +96,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Vaihda Wayland-ympäristö X11 (Xorg)-ympäristöön
RustDesk ei tue Waylandia. Tarkista [tämä](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) asettamalla Xorg oletus GNOME-istuntoon.
## Kuinka rakennetaan Dockerin kanssa
Aloita kloonaamalla tietovarasto ja rakentamalla docker-säiliö:

View File

@@ -19,14 +19,6 @@ RustDesk accueille les contributions de tout le monde. Voir [`docs/CONTRIBUTING.
[**TÉLÉCHARGEMENT BINAIRE**](https://github.com/rustdesk/rustdesk/releases)
## Serveurs publics libres
Ci-dessous se trouvent les serveurs que vous utilisez gratuitement, cela peut changer au fil du temps. Si vous n'êtes pas proche de l'un d'entre eux, votre réseau peut être lent.
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
## Dépendances
Les versions de bureau utilisent [sciter](https://sciter.com/) pour l'interface graphique, veuillez télécharger la bibliothèque dynamique sciter vous-même.
@@ -104,10 +96,6 @@ mv libsciter-gtk.so target/debug
Exécution du cargo
```
### Changer Wayland en X11 (Xorg)
RustDesk ne supporte pas Wayland. Lisez [cela](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) pour configurer Xorg comme la session GNOME par défaut.
## Comment construire avec Docker
Commencez par cloner le dépôt et construire le conteneur Docker :

View File

@@ -29,22 +29,6 @@
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Δωρεάν δημόσιοι διακομιστές
Παρακάτω είναι οι διακομιστές που χρησιμοποιούνται δωρεάν, ενδέχεται να αλλάξουν με την πάροδο του χρόνου. Εάν δεν είστε κοντά σε ένα από αυτούς, το δίκτυό σας ίσως να είναι αργό.
| Περιοχή | Πάροχος | Προδιαγραφές |
| --------- | ------------- | ------------------ |
| Γερμανία | Hetzner | 2 vCPU / 4GB RAM |
| Ουκρανία (Κίεβο) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dev Container
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
Αν έχετε εγκατεστημένα το VS Code και το Docker, μπορείτε να ξεκινήσετε κάνοντας κλικ στην παραπάνω εικόνα. Αυτό θα έχει ως αποτέλεσμα, το VS Code να εγκαταστήσει αυτόματα την επέκταση Dev Containers, εάν χρειάζεται, θα κλωνοποιήσει τον πηγαίο κώδικα σε έναν νέο container και θα εκκινήσει ένα Dev Container για χρήση προγραμματισμού.
Για περισσότερες πληροφορίες μεταβείτε στο [DEVCONTAINER.md](docs/DEVCONTAINER.md).
## Προαπαιτούμενα για build
Στις παραθυρικές εκδόσεις χρησιμοποιείται είτε το [sciter](https://sciter.com/) είτε το Flutter, τα παρακάτω βήματα είναι μόνο για το Sciter.
@@ -133,34 +117,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Αλλαγή του Wayland σε X11 (Xorg)
Το RustDesk δεν υποστηρίζει το πρωτόκολλο Wayland. Διαβάστε [εδώ](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) ώστε να ορίσετε το Xorg ως το προκαθορισμένο GNOME περιβάλλον.
## Υποστήριξη Wayland
Το Wayland προς το παρόν δεν διαθέτει κάποιο API το οποίο να στέλνει τα πατήματα πλήκτρων στα υπόλοιπα παράθυρα. Για τον λόγο αυτό, το Rustdesk χρησιμοποιεί ένα API από κατώτερο επίπεδο, όπως το `/dev/uinput` (Linux kernel level).
Σε περίπτωση που το Wayland είναι η ελεγχόμενη πλευρά, θα πρέπει να ξεκινήσετε με τον παρακάτω τρόπο:
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Σημείωση**: Η εγγραφή οθόνης του Wayland χρησιμοποιεί διαφορετικές διεπαφές. Το RustDesk προς το παρόν υποστηρίζει μόνο org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Πως να κάνετε build στο Docker
Ξεκινήστε κλωνοποιώντας το αποθετήριο και κάνοντας build το docker container:
@@ -189,7 +145,7 @@ target/debug/rustdesk
target/release/rustdesk
```
Βεβαιωθείτε ότι εκτελείτε αυτές τις εντολές από την αρχική διαδρομή του αποθετηρίου του Rustdesk, διαφορετικά η εφαρμογή ενδέχεται να μην είναι σε θέση να βρεί τους απαιτούμενους πόρους. Σημειώστε επίσης ότι άλλες υποεντολές, όπως το `install` ή το `run` δεν υποστηρίζονται επί του παρόντος μέσω αυτής της μεθόδου καθώς θα εγκαταστήσουν ή θα εκτελέσουν το πρόγραμμα εντός του container αντί του κεντρικού υπολογιστή.
Βεβαιωθείτε ότι εκτελείτε αυτές τις εντολές από την αρχική διαδρομή του αποθετηρίου του RustDesk, διαφορετικά η εφαρμογή ενδέχεται να μην είναι σε θέση να βρεί τους απαιτούμενους πόρους. Σημειώστε επίσης ότι άλλες υποεντολές, όπως το `install` ή το `run` δεν υποστηρίζονται επί του παρόντος μέσω αυτής της μεθόδου καθώς θα εγκαταστήσουν ή θα εκτελέσουν το πρόγραμμα εντός του container αντί του κεντρικού υπολογιστή.
## Δομή φακέλων

View File

@@ -27,14 +27,6 @@ A RustDesk szívesen fogad minden contributiont, támogatást mindenkitől. Lás
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Ingyenes publikus szerverek
Ezalatt az üzenet alatt találhatóak azok a publikus szerverek, amelyeket ingyen használhatsz. Ezek a szerverek változhatnak a jövőben, illetve a hálózatuk lehet hogy lassú lehet.
| Hely | Host | Specifikáció |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dependencies
Az asztali verziók [sciter](https://sciter.com/)-t használnak a GUI-hoz, kérlek telepítsd a dynamikus könyvtárat magad.
@@ -116,10 +108,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Válts Wayland-ról X11-re (Xorg)
A RustDesk nem támogatja a Waylendet. [Itt](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) található egy tutorial amelynek segítségével beállíthatod a Xorg-ot mint alap GNOME session.
## Hogyan építs Dockerrel
Kezdjünk a repo clónozásával, majd pedig a Docker container megépítésével:

View File

@@ -13,29 +13,27 @@ Mari mengobrol bersama kami: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
Merupakan perangkat lunak Remote Desktop yang baru, dibangun dengan Rust. kamu bisa langsung menggunakannya tanpa perlu konfigurasi tambahan. Serta ,emiliki kontrol penuh terhadap semua data, tanpa perlu merasa was-was tentang isu keamanan, dan yang lebih menarik adalah memiliki opsi untuk menggunakan server rendezvous/relay milik kami, [konfigurasi server sendiri](https://rustdesk.com/server), atau [tulis rendezvous/relay server anda sendiri](https://github.com/rustdesk/rustdesk-server-demo).
[![Open Bounties](https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2Frustdesk%2Fbounties%3Fstatus%3Dopen)](https://console.algora.io/org/rustdesk/bounties?status=open)
RustDesk mengajak semua orang untuk ikut berkontribusi. Lihat [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) untuk melihat panduan.
Merupakan perangkat lunak Remote Desktop yang baru, dan dibangun dengan Rust. Bahkan kamu bisa langsung menggunakannya tanpa perlu melakukan konfigurasi tambahan. Serta memiliki kontrol penuh terhadap semua data, tanpa perlu merasa was-was tentang isu keamanan, dan yang lebih menarik adalah memiliki opsi untuk menggunakan server rendezvous/relay milik kami, [konfigurasi server sendiri](https://rustdesk.com/server), atau [tulis rendezvous/relay server anda sendiri](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk mengajak semua orang untuk ikut berkontribusi. Lihat [`docs/CONTRIBUTING-ID.md`](CONTRIBUTING-ID.md) untuk melihat panduan.
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**UNDUH BINARY**](https://github.com/rustdesk/rustdesk/releases)
## Server Publik Gratis
[**NIGHTLY BUILD**](https://github.com/rustdesk/rustdesk/releases/tag/nightly)
Di bawah ini merupakan server gratis yang bisa kamu gunakan, seiring waktu kemungkinan akan terjadi perubahan spesifikasi pada setiap server. Jika lokasi kamu berada jauh dengan salah satu server yang tersedia, kemungkinan koneksi akan terasa lambat ketika melakukan proses remote.
| Lokasi | Penyedia | Spesifikasi |
| --------- | ------------- | ------------------ |
| Jerman | [Hetzner](https://www.hetzner.com) | 2 vCPU / 4GB RAM |
| Ukraina (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dev Container
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
Apabila kamu sudah menginstall VS Code dan Docker, kamu bisa mengklik badge yang ada diatas untuk memulainya. Dengan mengklik badge tersebut secara otomatis akan menginstal ekstensi pada VS Code, lakukan kloning (clone) source code kedalam container volume, dan aktifkan dev container untuk menggunakannya.
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Dependensi
Pada versi desktop, antarmuka pengguna (GUI) menggunakan [Sciter](https://sciter.com/) atau flutter, tutorial ini hanya berlaku untuk Sciter
Pada versi desktop, antarmuka pengguna (GUI) menggunakan [Sciter](https://sciter.com/) atau flutter
Kamu bisa mengunduh Sciter dynamic library disini.
@@ -116,37 +114,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Mengubah Wayland ke X11 (Xorg)
RustDesk tidak mendukung Wayland. Cek [ini](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) untuk mengonfigurasi Xorg sebagai sesi standar di GNOME.
## Kompatibilitas dengan Wayland
Sepertinya Wayland tidak memiliki API untuk mengirimkan ketukan tombol ke jendela lain. Maka dari itu, RustDesk menggunakan API dari level yang lebih rendah, lebih tepatnya perangkat `/dev/uinput` (linux kernel level)
Saat Wayland menjadi sisi yang dikendalikan atau sisi yang sedang diremote, kamu harus memulai dengan cara ini
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Harap Diperhatikan**: Saat Perekaman layar menggunakan Wayland antarmuka (UI) yang ditampilkan akan berbeda. Untuk saat ini RustDesk hanya mendukung org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Cara Build dengan Docker
Mulailah dengan melakukan kloning (clone) repositori dan build dengan docker container:

View File

@@ -4,8 +4,8 @@
<a href="#passaggi-per-la-compilazione">Compilazione</a> •
<a href="#come-compilare-con-docker">Docker</a> •
<a href="#struttura-dei-file">Struttura</a> •
<a href="#screenshots">Schermate</a><br>
[<a href="../README.md">English</a>] | [<a href="README-UA.md">Українська</a>] | [<a href="README-CS.md">česky</a>] | [<a href="README-ZH.md">中文</a>] | [<a href="README-HU.md">Magyar</a>] | [<a href="README-ES.md">Español</a>] | [<a href="README-FA.md">فارسی</a>] | [<a href="README-FR.md">Français</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-PL.md">Polski</a>] | [<a href="README-ID.md">Indonesian</a>] | [<a href="README-FI.md">Suomi</a>] | [<a href="README-ML.md">മലയാളം</a>] | [<a href="README-JP.md">日本語</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-RU.md">Русский</a>] | [<a href="README-PTBR.md">Português (Brasil)</a>] | [<a href="README-EO.md">Esperanto</a>] | [<a href="README-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>] | [<a href="README-GR.md">Ελληνικά</a>]<br>
<a href="#schermate">Schermate</a><br>
[<a href="../README.md">English</a>] | [<a href="README-UA.md">Українська</a>] | [<a href="README-CS.md">česky</a>] | [<a href="README-ZH.md">中文</a>] | [<a href="README-HU.md">Magyar</a>] | [<a href="README-ES.md">Español</a>] | [<a href="README-FA.md">فارسی</a>] | [<a href="README-FR.md">Français</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-PL.md">Polski</a>] | [<a href="README-ID.md">Indonesian</a>] | [<a href="README-FI.md">Suomi</a>] | [<a href="README-ML.md">മലയാളം</a>] | [<a href="README-JP.md">日本語</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-RU.md">Русский</a>] | [<a href="README-PTBR.md">Português (Brasil)</a>] | [<a href="README-EO.md">Esperanto</a>] | [<a href="README-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>] | [<a href="README-DA.md">Dansk</a>] | [<a href="README-GR.md">Ελληνικά</a>] | [<a href="README-TR.md">Türkçe</a>]<br>
<b>Abbiamo bisogno del tuo aiuto per tradurre questo file README e la <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">UI RustDesk</a> nella tua lingua nativa</b>
</p>
@@ -13,28 +13,29 @@ Chatta con noi su: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
Ancora un altro software per il controllo remoto del desktop, scritto in Rust.
Funziona immediatamente, nessuna configurazione richiesta. Hai il pieno controllo dei tuoi dati, senza preoccupazioni per la sicurezza.
Puoi usare il nostro server rendezvous/relay, [configurare il tuo server](https://rustdesk.com/server) o [realizzare il tuo server rendezvous/relay](https://github.com/rustdesk/rustdesk-server-demo).
[![Bounties aperti](https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2Frustdesk%2Fbounties%3Fstatus%3Dopen)](https://console.algora.io/org/rustdesk/bounties?status=open)
RustDesk accoglie il contributo di tutti.
Per ulteriori informazioni su come iniziare a contribuire, vedi [`docs/CONTRIBUTING-IT.md`](CONTRIBUTING.md).
Ancora un altro software per il controllo remoto del desktop, scritto in Rust. Funziona immediatamente, nessuna configurazione richiesta. Hai il pieno controllo dei tuoi dati, senza preoccupazioni per la sicurezza. Puoi usare il nostro server rendezvous/relay, [configurare il tuo server](https://rustdesk.com/server) o [realizzare il tuo server rendezvous/relay](https://github.com/rustdesk/rustdesk-server-demo).
[**DOWNLOAD PROGRAMMA**](https://github.com/rustdesk/rustdesk/releases)
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
## Server pubblici gratuiti
RustDesk accoglie il contributo di tutti. Per ulteriori informazioni su come iniziare a contribuire, vedi [CONTRIBUTING.md](CONTRIBUTING-IT.md).
Qui sotto trovi i server che possono essere usati gratuitamente, la lista potrebbe cambiare nel tempo.
Se non sei vicino a uno di questi server, la connessione potrebbe essere lenta.
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
| Posizione | Venditore | Specifiche |
| --------- | ------------- | ------------------ |
| Germania | Hetzner | 2 vCPU / 4GB RAM |
| Ucraina (Kyev) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
[**SCARICA PROGRAMMA**](https://github.com/rustdesk/rustdesk/releases)
[**SCARICA NIGHTLY**](https://github.com/rustdesk/rustdesk/releases/tag/nightly)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Dipendenze
La versione Desktop usa per la GUI [sciter](https://sciter.com/), per favore scarica la libreria dinamica sciter.
Le versioni desktop utilizzano Flutter o Sciter (deprecato) per l'interfaccia utente, questo tutorial è solo per Sciter, poiché è più facile per iniziare. Controlla il nostro [CI](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) per la compilazione della versione Flutter.
Scarica la libreria dinamica Sciter.
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
@@ -51,12 +52,22 @@ La versione Desktop usa per la GUI [sciter](https://sciter.com/), per favore sca
- Esegui `cargo run`
## [Build](https://rustdesk.com/docs/en/dev/build/)
## Come compilare in Linux
### Ubuntu 18 (Debian 10)
```sh
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
```
### openSUSE Tumbleweed
```sh
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
```
### Fedora 28 (CentOS 8)
@@ -109,11 +120,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Cambiare Wayland in X11 (Xorg)
RustDesk non supporta Wayland.
Controlla [qui](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) per configurare Xorg come sessione predefinita di GNOME.
## Come compilare con Docker
Clona il repository e compila i container docker:
@@ -130,10 +136,7 @@ Quindi, ogni volta che devi compilare l'applicazione, esegui il seguente comando
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
```
Tieni presente che la prima build potrebbe richiedere più tempo prima che le dipendenze vengano memorizzate nella cache, le build successive saranno più veloci.
Inoltre, se hai bisogno di specificare argomenti diversi per il comando build, puoi farlo alla fine del comando nella posizione `<OPTIONAL-ARGS>`.
Ad esempio, se vuoi creare una versione di rilascio ottimizzata, esegui il comando precedentemente indicato seguito da `--release`.
L'eseguibile generato sarà creato nella cartella destinazione del sistema e può essere eseguito con:
Tieni presente che la prima build potrebbe richiedere più tempo prima che le dipendenze vengano memorizzate nella cache, le build successive saranno più veloci. Inoltre, se hai bisogno di specificare argomenti diversi per il comando build, puoi farlo alla fine del comando nella posizione `<OPTIONAL-ARGS>`. Ad esempio, se vuoi creare una versione di rilascio ottimizzata, esegui il comando precedentemente indicato seguito da `--release`. L'eseguibile generato sarà creato nella cartella destinazione del sistema e può essere eseguito con:
```sh
target/debug/rustdesk
@@ -145,19 +148,21 @@ Oppure, se stai avviando un eseguibile di rilascio:
target/release/rustdesk
```
Assicurati di eseguire questi comandi dalla radice del repository RustDesk, altrimenti l'applicazione potrebbe non essere in grado di trovare le risorse richieste.
Nota inoltre che altri sottocomandi cargo come `install` o `run` non sono attualmente supportati tramite questo metodo poiché installerebbero o eseguirebbero il programma all'interno del container anziché nell'host.
Assicurati di eseguire questi comandi dalla radice del repository RustDesk, altrimenti l'applicazione potrebbe non essere in grado di trovare le risorse richieste. Nota inoltre che altri sottocomandi cargo come `install` o `run` non sono attualmente supportati tramite questo metodo poiché installerebbero o eseguirebbero il programma all'interno del container anziché nell'host.
## Struttura dei file
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: codec video, config, wrapper tcp/udp, protobuf, funzioni per il trasferimento file, e altre funzioni utili.
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: cattura dello schermo
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: controllo tastiera/mouse specifico della piattaforma
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[libs/clipboard](https://github.com/rustdesk/rustdesk/tree/master/libs/clipboard)**: implementazione del copia e incolla dei file per Windows, Linux, macOS.
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: Sciter UI obsoleto (deprecato)
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: servizi audio/appunti/input/video e connessioni di rete
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: avvio di una connessione peer
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Comunica con [rustdesk-server](https://github.com/rustdesk/rustdesk-server), attende la connessione remota diretta (TCP hole punching) oppure indiretta (relayed)
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: comunica con [rustdesk-server](https://github.com/rustdesk/rustdesk-server), attende la connessione remota diretta (TCP hole punching) oppure indiretta (relayed)
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: codice specifico della piattaforma
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: codice Flutter per desktop e mobile
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: JavaScript per client web Flutter
## Schermate

View File

@@ -1,67 +1,73 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<img src="../res/logo-header.svg" alt="RustDesk - あなたのためのリモートデスクトップ"><br>
<a href="#free-public-servers">Servers</a> •
<a href="#raw-steps-to-build">Build</a> •
<a href="#how-to-build-with-docker">Docker</a> •
<a href="#file-structure">Structure</a> •
<a href="#snapshot">Snapshot</a><br>
[<a href="../README.md">English</a>] | [<a href="README-UA.md">Українська</a>] | [<a href="README-CS.md">česky</a>] | [<a href="README-ZH.md">中文</a>] | [<a href="README-HU.md">Magyar</a>] | [<a href="README-ES.md">Español</a>] | [<a href="README-FA.md">فارسی</a>] | [<a href="README-FR.md">Français</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-PL.md">Polski</a>] | [<a href="README-ID.md">Indonesian</a>] | [<a href="README-FI.md">Suomi</a>] | [<a href="README-ML.md">മലയാളം</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-IT.md">Italiano</a>] | [<a href="README-RU.md">Русский</a>] | [<a href="README-PTBR.md">Português (Brasil)</a>] | [<a href="README-EO.md">Esperanto</a>] | [<a href="README-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>] | [<a href="README-GR.md">Ελληνικά</a>]<br>
<b>このREADMEをあなたの母国語に翻訳するために、あなたの助けが必要です。</b>
[<a href="docs/README-UA.md">Українська</a>] | [<a href="docs/README-CS.md">česky</a>] | [<a href="docs/README-ZH.md">中文</a>] | [<a href="docs/README-HU.md">Magyar</a>] | [<a href="docs/README-ES.md">Español</a>] | [<a href="docs/README-FA.md">فارسی</a>] | [<a href="docs/README-FR.md">Français</a>] | [<a href="docs/README-DE.md">Deutsch</a>] | [<a href="docs/README-PL.md">Polski</a>] | [<a href="docs/README-ID.md">Indonesian</a>] | [<a href="docs/README-FI.md">Suomi</a>] | [<a href="docs/README-ML.md">മലയാളം</a>] | [<a href="docs/README-JP.md">日本語</a>] | [<a href="docs/README-NL.md">Nederlands</a>] | [<a href="docs/README-IT.md">Italiano</a>] | [<a href="docs/README-RU.md">Русский</a>] | [<a href="docs/README-PTBR.md">Português (Brasil)</a>] | [<a href="docs/README-EO.md">Esperanto</a>] | [<a href="docs/README-KR.md">한국어</a>] | [<a href="docs/README-AR.md">العربي</a>] | [<a href="docs/README-VN.md">Tiếng Việt</a>] | [<a href="docs/README-DA.md">Dansk</a>] | [<a href="docs/README-GR.md">Ελληνικά</a>] | [<a href="docs/README-TR.md">Türkçe</a>]<br>
<b>READMEや<a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a>、 <a href="https://github.com/rustdesk/doc.rustdesk.com">RustDesk Doc</a>の翻訳者を歓迎します!</b>
</p>
Chat with us: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
私たちと話す: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
Rustで書かれた、設定不要ですぐに使えるリモートデスクトップソフトウェアです。自分のデータを完全にコントロールでき、セキュリティの心配もありません。私たちのランデブー/リレーサーバを使うことも、[自分で設定する](https://rustdesk.com/server) ことも、 [自分でランデブー/リレーサーバを書くこともできます](https://github.com/rustdesk/rustdesk-server-demo)。
Rustで書かれた、設定不要ですぐに使えるリモートデスクトップソフトウェアです。自分のデータを完全にコントロールでき、セキュリティの心配もありません。私たちのランデブー/リレーサーバを使うことも、[自分でサーバーをセットアップする](https://rustdesk.com/server) ことも、 [自分でランデブー/リレーサーバを作成する](https://github.com/rustdesk/rustdesk-server-demo)こともできます
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDeskは誰からの貢献歓迎します。 貢献するには [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) を参照してください。
RustDeskは皆さんの貢献歓迎します。
貢献の方法については[CONTRIBUTING.md](docs/CONTRIBUTING.md)をご確認ください。
[**RustDeskはどの様に動くのか?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**よくある質問**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
[**パッケージのダウンロード**](https://github.com/rustdesk/rustdesk/releases)
## 無料のパブリックサーバー
[**ナイトリービルド**](https://github.com/rustdesk/rustdesk/releases/tag/nightly)
下記のサーバーは、無料で使用できますが、後々変更されることがあります。これらのサーバーから遠い場合、接続が遅い可能性があります。
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="F-Droidで入手する"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## 依存関係
デスクトップ版ではGUIに [sciter](https://sciter.com/) が使われています。 sciter dynamic library をダウンロードしてください。
デスクトップ版ではGUIにFlutterまたはSciter(非推奨)を使用しますが、チュートリアルでは分かりやすく、簡単なSciterのみを対象に解説しています。Flutterでのビルド方法については[CI](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml)をご覧ください。
Sciter dynamic libraryを事前にダウンロードしてください。
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
[MacOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
モバイル版はFlutterを利用します。デスクトップ版もSciterからFlutterへマイグレーション予定です。
[macOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
## ビルド手順
- Rust開発環境とC ++ビルド環境を準備します
- Rust開発環境とC++ビルド環境を準備します
- [vcpkg](https://github.com/microsoft/vcpkg), をインストールし、 `VCPKG_ROOT` 環境変数を正しく設定します。
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus aom
- run `cargo run`
- [vcpkg](https://github.com/microsoft/vcpkg)をインストールし、環境変数に`VCPKG_ROOT`設定します。
その後、以下のコマンドを実行します。
- Windowsの場合: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/macOSの場合: vcpkg install libvpx libyuv opus aom
- `cargo run`を実行します。
## [ビルド](https://rustdesk.com/docs/en/dev/build/)
## Linuxでのビルド手順
## Linuxでのビルド方法
### Ubuntu 18 (Debian 10)
```sh
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
```
### openSUSE Tumbleweed
```sh
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
```
### Fedora 28 (CentOS 8)
@@ -76,7 +82,7 @@ sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
```
### Install vcpkg
### vcpkgのインストール
```sh
git clone https://github.com/microsoft/vcpkg
@@ -88,7 +94,7 @@ export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
```
### Fix libvpx (For Fedora)
### libvpxの修正 (Fedoraのみ)
```sh
cd vcpkg/buildtrees/libvpx/src
@@ -114,14 +120,9 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Wayland の場合、X11Xorgに変更します
## Dockerでのビルド方法
RustDeskはWaylandをサポートしていません。
[こちら](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) を確認して、XorgをデフォルトのGNOMEセッションとして構成します。
## Dockerでビルドする方法
リポジトリのクローンを作成し、Dockerコンテナを構築することから始めます。
リポジトリをクローンし、Dockerコンテナを構築します:
```sh
git clone https://github.com/rustdesk/rustdesk
@@ -129,44 +130,50 @@ cd rustdesk
docker build -t "rustdesk-builder" .
```
その後、アプリケーションをビルドする必要があるたびに、以下のコマンドを実行します
以下のコマンドを実行します:
```sh
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
```
このコマンドはRustDeskをビルドする度に実行する必要があります。
なお、最初のビルドでは、依存関係がキャッシュされるまで時間がかかることがありますが、その後のビルドではより速くなります。さらに、ビルドコマンドに別の引数を指定する必要がある場合は、コマンドの最後にある `<OPTIONAL-ARGS>` の位置で指定することができます。例えば、最適化されたリリースバージョンをビルドしたい場合は、上記のコマンドの後に
`--release` を実行します。できあがった実行ファイルはシステムのターゲットフォルダに格納され、のコマンドで実行できます。
初回ビルドは時間がかかるかもしれませんが、2回目以降は依存関係がキャッシュされるため、ビルドにかかる時間が短くなります。
ビルドコマンドに追加の引数を指定する必要がある場合は、コマンドの最後(`<OPTIONAL-ARGS>`の位置)で指定することができます。例えば、最適化されたリリースバージョンをビルドしたい場合は、上記のコマンドの後に `--release`追記し実行します。ビルドされた実行ファイルはあなたのシステムのターゲットフォルダに保存され、下記のコマンドで実行することができます。
デバッグビルドを起動する場合:
```sh
target/debug/rustdesk
```
あるいは、リリース用の実行ファイルを実行している場合:
リリースビルドを起動する場合:
```sh
target/release/rustdesk
```
これらのコマンドをRustDeskリポジトリのルートから実行していることを確認してください。そうしないと、アプリケーションが必要なリソースを見つけられない可能性があります。また、 `install``run` などの他の cargo サブコマンドは、ホストではなくコンテナ内プログラムをインストールまたは実行するため、現在の方法ではサポートされていないことに注意してください
コマンドをRustDeskリポジトリのルートから実行していることを確認してください。また、`install``run` などの他のcargoサブコマンドは、ホストではなくコンテナ内プログラムをインストール実行するため、現在の方法ではサポートされていません
## ファイル構造
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: ビデオコーデック、コンフィグ、tcp/udpラッパー、protobuf、ファイル転送用のfs関数その他のユーティリティ関数
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: ビデオコーデック、設定、tcp/udpラッパー、protobuf、ファイル転送に利用されるfs関数その他のユーティリティ関数
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: スクリーンキャプチャ
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: プラットフォーム固有のキーボード/マウスコントロール
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: オーディオ/クリップボード/入力/ビデオサービス、ネットワーク接続
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: プラットフォーム固有のキーボード/マウス操作
- **[libs/clipboard](https://github.com/rustdesk/rustdesk/tree/master/libs/clipboard)**: Windows、Linux、macOS向けのファイルのコピーと貼り付けの実装
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: 廃止された Sciter UI (非推奨)
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**:
オーディオ/クリップボード/入力/ビデオ サービスとネットワーク接続
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: ピア接続の開始
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: [rustdesk-server](https://github.com/rustdesk/rustdesk-server), と通信し、リモートダイレクト (TCP hole punching) または中継接続を待つ
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: [rustdesk-server](https://github.com/rustdesk/rustdesk-server)と通信し、リモートの直接接続(TCPホールパンチング)や中継接続を担う
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: プラットフォーム固有のコード
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: デスクトップとモバイル向けのFlutterコード
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Flutterウェブクライアント向けのJavaScript
## スナップショット
## スクリーンショット
![image](https://user-images.githubusercontent.com/71636191/113112362-ae4deb80-923b-11eb-957d-ff88daad4f06.png)
![Connection Manager](https://github.com/rustdesk/rustdesk/assets/28412477/db82d4e7-c4bc-4823-8e6f-6af7eadf7651)
![image](https://user-images.githubusercontent.com/71636191/113112619-f705a480-923b-11eb-911d-97e984ef52b6.png)
![Connected to a Windows PC](https://github.com/rustdesk/rustdesk/assets/28412477/9baa91e9-3362-4d06-aa1a-7518edcbd7ea)
![image](https://user-images.githubusercontent.com/71636191/113112857-3fbd5d80-923c-11eb-9836-768325faf906.png)
![File Transfer](https://github.com/rustdesk/rustdesk/assets/28412477/39511ad3-aa9a-4f8c-8947-1cce286a46ad)
![image](https://user-images.githubusercontent.com/71636191/135385039-38fdbd72-379a-422d-b97f-33df71fb1cec.png)
![TCP Tunneling](https://github.com/rustdesk/rustdesk/assets/28412477/78e8708f-e87e-4570-8373-1360033ea6c5)

View File

@@ -24,13 +24,6 @@ RustDesk는 모든 기여를 환영합니다. 기여하고자 한다면 [`docs/C
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## 무료 퍼블릭 서버
표에 있는 서버는 무료로 사용할 수 있지만 추후 변경될 수도 있습니다. 이 서버에서 멀다면, 네트워크가 느려질 가능성도 있습니다.
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
## 의존관계
데스크탑판에는 GUI에 [sciter](https://sciter.com/)가 사용되었습니다. sciter dynamic library 를 다운로드해주세요.
@@ -112,10 +105,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Wayland 일 경우, X11(Xorg)로 변경
RustDesk는 Wayland를 지원하지 않습니다. [링크](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/)를 확인해서 Xorg 기본값의 GNOME 세션을 구성합니다.
## Docker에 빌드하는 방법
레포지토리를 클론하고, Docker 컨테이너 구성하는 것으로 시작합니다.

View File

@@ -19,13 +19,6 @@
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## സൗജന്യ പൊതു സെർവറുകൾ
നിങ്ങൾ സൗജന്യമായി ഉപയോഗിക്കുന്ന സെർവറുകൾ ചുവടെയുണ്ട്, അത് സമയത്തിനനുസരിച്ച് മാറിയേക്കാം. നിങ്ങൾ ഇവയിലൊന്നിനോട് അടുത്തല്ലെങ്കിൽ, നിങ്ങളുടെ നെറ്റ്‌വർക്ക് സ്ലോ ആയേക്കാം.
| സ്ഥാനം | കച്ചവടക്കാരൻ | വിവരണം |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
## ഡിപെൻഡൻസികൾ
ഡെസ്‌ക്‌ടോപ്പ് പതിപ്പുകൾ GUI-യ്‌ക്കായി [sciter](https://sciter.com/) ഉപയോഗിക്കുന്നു, ദയവായി സ്‌സൈറ്റർ ഡൈനാമിക് ലൈബ്രറി സ്വയം ഡൗൺലോഡ് ചെയ്യുക.
@@ -103,10 +96,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### വേലാൻഡ് X11 (Xorg) ആയി മാറ്റുക
RustDesk Wayland-നെ പിന്തുണയ്ക്കുന്നില്ല. സ്ഥിരസ്ഥിതി ഗ്നോം സെഷനായി Xorg കോൺഫിഗർ ചെയ്യുന്നതിന് [ഇത്](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) പരിശോധിക്കുക.
## ഡോക്കർ ഉപയോഗിച്ച് എങ്ങനെ നിർമ്മിക്കാം
റെപ്പോസിറ്റോറി ക്ലോണുചെയ്‌ത് ഡോക്കർ കണ്ടെയ്‌നർ നിർമ്മിക്കുന്നതിലൂടെ ആരംഭിക്കുക:

View File

@@ -27,22 +27,6 @@ RustDesk verwelkomt bijdragen van iedereen. Zie [`docs/CONTRIBUTING.md`](CONTRIB
alt="Download het op F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Gratis openbare servers
Hieronder staan de servers die u gratis gebruikt, ze kunnen in de loop van de tijd veranderen. Als u niet in de buurt van een van deze servers bevindt, kan uw vervinding langzamer zijn.
| Locatie | Aanbieder | Specificaties |
| --------- | ------------- | ------------------ |
| Duitsland | Hetzner | 2 vCPU / 4GB RAM |
| Oekraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dev Container
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
Als u VS Code en Docker al hebt geinstalleerd, kunt u op de bovenstaande badge klikken om te beginnen. Door te klikken zal VS Code automatisch de Dev Containers-extensie installeren indien nodig, de broncode klonen naar een containervolume en een dev container opstarten voor gebruik.
Bekijk [DEVCONTAINER.md](docs/DEVCONTAINER.md) voor meer informatie.
## Afhankelijkheden
Desktop versies gebruiken [sciter](https://sciter.com/) of Flutter voor GUI, deze handleiding is alleen voor Sciter.
@@ -130,34 +114,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Wissel van Wayland naar X11 (Xorg)
RustDesk ondersteunt Wayland niet. Lees [hier](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) hoe je Xorg als standaardsessie kunt instellen voor GNOME.
## Wayland support
Wayland lijkt geen API te bieden voor het verzenden van toetsaanslagen naar andere vensters. Daarom gebruikt de rustdesk een API van een lager niveau, namelijk het `/dev/uinput` apparaat (Linux kernel niveau).
Als wayland de gecontroleerde kant is, moet je op de volgende manier beginnen:
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Let op**: Wayland schermopname gebruikt verschillende interfaces. RustDesk ondersteunt momenteel alleen org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Bouwen met Docker
Begin met het klonen van de repository en het bouwen van de docker container:

View File

@@ -29,22 +29,6 @@ RustDesk zaprasza do współpracy każdego. Zobacz [`docs/CONTRIBUTING-PL.md`](C
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Darmowe Serwery Publiczne
Poniżej znajdują się serwery, z których można korzystać za darmo, może się to zmienić z upływem czasu. Jeśli nie znajdujesz się w pobliżu jednego z nich, Twoja prędkość połączenia może być niska.
| Lokalizacja | Dostawca | Specyfikacja |
| --------- | ------------- | ------------------ |
| Niemcy | Hetzner | 2 vCPU / 4GB RAM |
| Ukraina (Kijów) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Konterner Programisty (Dev Container)
[![Otwórz w Kontenerze programisty](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
Jeżeli masz zainstalowany VS Code i Docker, możesz kliknąć w powyższy link, aby rozpocząć. Kliknięcie spowoduje automatyczną instalację rozszrzenia Kontenera Programisty w VS Code (jeżeli wymagany), sklonuje kod źródłowy do kontenera, i przygotuje kontener do użycia.
Więcej informacji w pliku [DEVCONTAINER-PL.md](docs/DEVCONTAINER-PL.md) for more info.
## Zależności
Wersje desktopowe używają [sciter](https://sciter.com/) dla GUI, proszę pobrać samodzielnie bibliotekę sciter.
@@ -128,34 +112,6 @@ mv libsciter-gtk.so target/debug
cargo run
```
### Zmień Wayland na X11 (Xorg)
RustDesk nie obsługuje Waylanda. Sprawdź [tutaj](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/), jak skonfigurować Xorg jako domyślną sesję GNOME.
## Wspracie Wayland
Wygląda na to, że Wayland nie wspiera żadnego API do wysyłania naciśnięć klawiszy do innych okien. Dlatego rustdesk używa API z niższego poziomu, urządzenia o nazwie `/dev/uinput` (poziom jądra Linux).
Gdy po stronie kontrolowanej pracuje Wayland, musisz uruchomić program w następujący sposób:
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Uwaga**: Nagrywanie ekranu Wayland wykorzystuje różne interfejsy. RustDesk obecnie obsługuje tylko org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## Jak kompilować za pomocą Dockera
Rozpocznij od sklonowania repozytorium i stworzenia kontenera docker:

View File

@@ -19,14 +19,6 @@ RustDesk acolhe contribuições de todos. Leia [`docs/CONTRIBUTING.md`](CONTRIBU
[**DOWNLOAD DE BINÁRIOS**](https://github.com/rustdesk/rustdesk/releases)
## Servidores Públicos Grátis
Abaixo estão os servidores que você está utilizando de graça, ele pode mudar com o tempo. Se você não está próximo de algum deles, sua conexão pode ser lenta.
| Localização | Fornecedor | Especificações |
| ----------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
## Dependências
Versões de desktop utilizam [sciter](https://sciter.com/) para a GUI, por favor baixe a biblioteca dinâmica sciter por conta própria.
@@ -104,10 +96,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Mude Wayland para X11 (Xorg)
RustDesk não suporta Wayland. Veja [esse link](https://docs.fedoraproject.org/pt_BR/quick-docs/configuring-xorg-as-default-gnome-session/) para configurar o Xorg como a sessão padrão do GNOME.
## Como compilar com Docker
Comece clonando o repositório e montando o container docker:

View File

@@ -28,13 +28,6 @@ RustDesk приветствует вклад каждого. Ознакомьт
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Бесплатные общедоступные серверы
Ниже приведены бесплатные публичные сервера, используемые по умолчанию. Имейте ввиду, они могут меняться со временем. Также стоит отметить, что скорость работы сети зависит от вашего местоположения и расстояния до серверов. Подключение происходит к ближайшему доступному.
| Расположение | Поставщик | Технические характеристики |
| --------- | ------------- | ------------------ |
| Германия | Hetzner | 2 vCPU / 4GB RAM |
## Зависимости
Настольные версии используют [sciter](https://sciter.com/) для графического интерфейса, загрузите динамическую библиотеку sciter самостоятельно.
@@ -114,10 +107,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Смените Wayland на X11 (Xorg)
RustDesk не поддерживает Wayland. Смотрите [этот документ](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) для настройки Xorg в качестве сеанса GNOME по умолчанию.
## Как собрать с помощью Docker
Начните с клонирования репозитория и создания docker-контейнера:

178
docs/README-TR.md Normal file
View File

@@ -0,0 +1,178 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Uzak masaüstü uygulamanız"><br>
<a href="#free-public-servers">Sunucular</a> •
<a href="#raw-steps-to-build">Derleme</a> •
<a href="#how-to-build-with-docker">Docker ile Derleme</a> •
<a href="#file-structure">Dosya Yapısı</a> •
<a href="#snapshot">Ekran Görüntüleri</a><br>
[<a href="docs/README-UA.md">Українська</a>] | [<a href="docs/README-CS.md">česky</a>] | [<a href="docs/README-ZH.md">中文</a>] | [<a href="docs/README-HU.md">Magyar</a>] | [<a href="docs/README-ES.md">Español</a>] | [<a href="docs/README-FA.md">فارسی</a>] | [<a href="docs/README-FR.md">Français</a>] | [<a href="docs/README-DE.md">Deutsch</a>] | [<a href="docs/README-PL.md">Polski</a>] | [<a href="docs/README-ID.md">Indonesian</a>] | [<a href="docs/README-FI.md">Suomi</a>] | [<a href="docs/README-ML.md">മലയാളം</a>] | [<a href="docs/README-JP.md">日本語</a>] | [<a href="docs/README-NL.md">Nederlands</a>] | [<a href="docs/README-IT.md">Italiano</a>] | [<a href="docs/README-RU.md">Русский</a>] | [<a href="docs/README-PTBR.md">Português (Brasil)</a>] | [<a href="docs/README-EO.md">Esperanto</a>] | [<a href="docs/README-KR.md">한국어</a>] | [<a href="docs/README-AR.md">العربي</a>] | [<a href="docs/README-VN.md">Tiếng Việt</a>] | [<a href="docs/README-DA.md">Dansk</a>] | [<a href="docs/README-GR.md">Ελληνικά</a>]<br>
<b>README, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> ve <a href="https://github.com/rustdesk/doc.rustdesk.com">RustDesk Belge</a>'sini ana dilinize çevirmemiz için yardımınıza ihtiyacımız var</b>
</p>
Bizimle sohbet edin: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
Başka bir uzak masaüstü yazılımı daha, Rust dilinde yazılmış. Hemen kullanıma hazır, hiçbir yapılandırma gerektirmez. Verilerinizin tam kontrolünü elinizde tutarsınız ve güvenlikle ilgili endişeleriniz olmaz. Kendi buluş/iletme sunucumuzu kullanabilirsiniz, [kendi sunucunuzu kurabilirsiniz](https://rustdesk.com/server) veya [kendi buluş/iletme sunucunuzu yazabilirsiniz](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk, herkesten katkıyı kabul eder. Başlamak için [CONTRIBUTING.md](docs/CONTRIBUTING-TR.md) belgesine göz atın.
[**SSS**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**BİNARİ İNDİR**](https://github.com/rustdesk/rustdesk/releases)
[**NİGHTLY DERLEME**](https://github.com/rustdesk/rustdesk/releases/tag/nightly)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="F-Droid'de Alın"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Bağımlılıklar
Masaüstü sürümleri GUI için
[Sciter](https://sciter.com/) veya Flutter kullanır, bu kılavuz sadece Sciter içindir.
Lütfen Sciter dinamik kütüphanesini kendiniz indirin.
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
[macOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
## Temel Derleme Adımları
- Rust geliştirme ortamınızı ve C++ derleme ortamınızı hazırlayın.
- [vcpkg](https://github.com/microsoft/vcpkg) yükleyin ve `VCPKG_ROOT` çevresel değişkenini doğru bir şekilde ayarlayın.
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/macOS: vcpkg install libvpx libyuv opus aom
- `cargo run` komutunu çalıştırın.
## [Derleme](https://rustdesk.com/docs/en/dev/build/)
## Linux Üzerinde Derleme Nasıl Yapılır
### Ubuntu 18 (Debian 10)
```sh
sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
```
### openSUSE Tumbleweed
```sh
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
```
### Fedora 28 (CentOS 8)
```sh
sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel
```
### Arch (Manjaro)
```sh
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
```
### vcpkg'yi Yükleyin
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
```
### libvpx'i Düzeltin (Fedora için)
```sh
cd vcpkg/buildtrees/libvpx/src
cd *
./configure
sed -i 's/CFLAGS+=-I/CFLAGS+=-fPIC -I/g' Makefile
sed -i 's/CXXFLAGS+=-I/CXXFLAGS+=-fPIC -I/g' Makefile
make
cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/
cd
```
### Derleme
```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
## Docker ile Derleme Nasıl Yapılır
Öncelikle deposunu klonlayın ve Docker konteynerini oluşturun:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Ardından, uygulamayı derlemek için her seferinde aşağıdaki komutu çalıştırın:
```sh
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
```
İlk derleme, bağımlılıklar önbelleğe alınmadan önce daha uzun sürebilir, sonraki derlemeler daha hızlı olacaktır. Ayrıca, derleme komutuna isteğe bağlı argümanlar belirtmeniz gerekiyorsa, bunu
komutun sonunda `<İSTEĞE BAĞLI-ARGÜMANLAR>` pozisyonunda yapabilirsiniz. Örneğin, optimize edilmiş bir sürümü derlemek isterseniz, yukarıdaki komutu çalıştırdıktan sonra `--release` ekleyebilirsiniz. Oluşan yürütülebilir dosya sisteminizdeki hedef klasöründe bulunacak ve şu komutla çalıştırılabilir:
```sh
target/debug/rustdesk
```
Veya, yayın yürütülebilir dosyası çalıştırılıyorsa:
```sh
target/release/rustdesk
```
Lütfen bu komutları RustDesk deposunun kökünden çalıştırdığınızdan emin olun, aksi takdirde uygulama gereken kaynakları bulamayabilir. Ayrıca, `install` veya `run` gibi diğer cargo altkomutları şu anda bu yöntem aracılığıyla desteklenmemektedir, çünkü bunlar programı konteyner içinde kurar veya çalıştırır ve ana makinede değil.
## Dosya Yapısı
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: video kodlayıcı, yapılandırma, tcp/udp sarmalayıcı, protobuf, dosya transferi için fs işlevleri ve diğer bazı yardımcı işlevler
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: ekran yakalama
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: platforma özgü klavye/fare kontrolü
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: ses/pasta/klavye/video hizmetleri ve ağ bağlantıları
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: bir eş bağlantısı başlatır
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: [rustdesk-server](https://github.com/rustdesk/rustdesk-server) ile iletişim kurar, uzak doğrudan (TCP delik vurma) veya iletme bağlantısını bekler
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: platforma özgü kod
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: mobil için Flutter kodu
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Flutter web istemcisi için JavaScript
## Ekran Görüntüleri
![image](https://user-images.githubusercontent.com/71636191/113112362-ae4deb80-923b-11eb-957d-ff88daad4f06.png)
![image](https://user-images.githubusercontent.com/71636191/113112619-f705a480-923b-11eb-911d-97e984ef52b6.png)
![image](https://user-images.githubusercontent.com/71636191/113112857-3fbd5d80-923c-11eb-9836-768325faf906.png)
![image](https://user-images.githubusercontent.com/71636191/135385039-38fdbd72-379a-422d-b97f-33df71fb1cec.png)
```

View File

@@ -1,71 +1,59 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Ваш віддалений робочий стіл"><br>
<img src="../res/logo-header.svg" alt="RustDesk - Ваша віддалена стільниця"><br>
<a href="#безкоштовні-загальнодоступні-сервери">Сервери</a> •
<a href="#первинні-кроки-для-складання">Складання</a> •
<a href="#кроки-для-збірки">Збирання</a> •
<a href="#як-зібрати-за-допомогою-docker">Docker</a> •
<a href="#структура-файлів">Структура</a> •
<a href="#знімки">Знімки</a><br>
[<a href="../README.md">English</a>] | [<a href="README-CS.md">česky</a>] | [<a href="README-ZH.md">中文</a>] | [<a href="README-HU.md">Magyar</a>] | [<a href="README-ES.md">Español</a>] | [<a href="README-FA.md">فارسی</a>] | [<a href="README-FR.md">Français</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-PL.md">Polski</a>] | [<a href="README-ID.md">Indonesian</a>] | [<a href="README-FI.md">Suomi</a>] | [<a href="README-ML.md">മലയാളം</a>] | [<a href="README-JP.md">日本語</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-IT.md">Italiano</a>] | [<a href="README-RU.md">Русский</a>] | [<a href="README-PTBR.md">Português (Brasil)</a>] | [<a href="README-EO.md">Esperanto</a>] | [<a href="README-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>] | [<a href="README-GR.md">Ελληνικά</a>]<br>
<b>Нам потрібна ваша допомога для перекладу цього README і <a href="https://github.com/rustdesk/rustdesk/tree/master/src/rustdesk/tree/master/src/lang">RustDesk UI</a> на вашу рідну мову</B>
[<a href="../README.md">English</a>] | [<a href="docs/README-CS.md">česky</a>] | [<a href="docs/README-ZH.md">中文</a>] | [<a href="docs/README-HU.md">Magyar</a>] | [<a href="docs/README-ES.md">Español</a>] | [<a href="docs/README-FA.md">فارسی</a>] | [<a href="docs/README-FR.md">Français</a>] | [<a href="docs/README-DE.md">Deutsch</a>] | [<a href="docs/README-PL.md">Polski</a>] | [<a href="docs/README-ID.md">Indonesian</a>] | [<a href="docs/README-FI.md">Suomi</a>] | [<a href="docs/README-ML.md">മലയാളം</a>] | [<a href="docs/README-JP.md">日本語</a>] | [<a href="docs/README-NL.md">Nederlands</a>] | [<a href="docs/README-IT.md">Italiano</a>] | [<a href="docs/README-RU.md">Русский</a>] | [<a href="docs/README-PTBR.md">Português (Brasil)</a>] | [<a href="docs/README-EO.md">Esperanto</a>] | [<a href="docs/README-KR.md">한국어</a>] | [<a href="docs/README-AR.md">العربي</a>] | [<a href="docs/README-VN.md">Tiếng Việt</a>] | [<a href="docs/README-DA.md">Dansk</a>] | [<a href="docs/README-GR.md">Ελληνικά</a>] | [<a href="docs/README-TR.md">Türkçe</a>]<br>
<b>Нам потрібна ваша допомога для перекладу цього README, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">інтерфейсу</a> та <a href="https://github.com/rustdesk/doc.rustdesk.com">документації</a> RustDesk на вашу рідну мову</B>
</p>
Спілкування з нами: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
Ще одне програмне забезпечення для віддаленого робочого столу, написане на Rust. Працює з коробки, не потребує налаштування. Ви повністю контролюєте свої дані, не турбуючись про безпеку. Ви можете використовувати наш сервер ретрансляції, [налаштувати свій власний](https://rustdesk.com/server), або [написати свій власний сервер ретрансляції](https://github.com/rustdesk/rustdesk-server-demo).
[![Open Bounties](https://img.shields.io/endpoint?url=https%3A%2F%2Fconsole.algora.io%2Fapi%2Fshields%2Frustdesk%2Fbounties%3Fstatus%3Dopen)](https://console.algora.io/org/rustdesk/bounties?status=open)
Ще один застосунок для віддаленого керування стільницею, написаний на Rust. Працює з коробки, не потребує налаштування. Ви повністю контролюєте свої дані, не турбуючись про безпеку. Ви можете використовувати наш сервер ретрансляції, [налаштувати свій власний](https://rustdesk.com/server), або [написати свій власний сервер ретрансляції](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk вітає внесок кожного. Дивіться [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) для допомоги на початку роботи.
RustDesk вітає внесок кожного. Ознайомтеся з [CONTRIBUTING.md](docs/CONTRIBUTING.md), щоб отримати допомогу на початковому етапі.
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**ЧаПи**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**Як працює RustDesk?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**ЗАВАНТАЖЕННЯ ЗАСТОСУНКУ**](https://github.com/rustdesk/rustdesk/releases)
[**ЗАВАНТАЖИТИ ЗАСТОСУНОК**](https://github.com/rustdesk/rustdesk/releases)
[**НІЧНІ ЗБІРКИ**](https://github.com/rustdesk/rustdesk/releases/tag/nightly)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Безкоштовні загальнодоступні сервери
Нижче наведені сервери, для безкоштовного використання, вони можуть змінюватися з часом. Якщо ви не перебуваєте поруч з одним із них, ваша мережа може працювати повільно.
| Місцезнаходження | Постачальник | Технічні характеристики |
| --------- | ------------- | ------------------ |
| Німеччина | Hetzner | 2 VCPU / 4GB RAM |
| Україна (Київ) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4GB RAM |
## Dev Container
[![Open in Dev Containers](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
Якщо у вас уже встановлено VS Code і Docker, ви можете натиснути значок вище, щоб почати. Клацання призведе до того, що VS Code автоматично встановить розширення Dev Containers, якщо це необхідно, клонує виcхідний код у том контейнера та розгорне контейнер dev для використання.
Дивіться [DEVCONTAINER.md](docs/DEVCONTAINER.md) для додаткової інфо.
## Залежності
Настільні версії використовують [sciter](https://sciter.com/) для графічного інтерфейсу, завантажте динамічну бібліотеку sciter самостійно.
Стільничні версії використовують Flutter чи Sciter (застаріле) для графічного інтерфейсу. Ця інструкція лише для Sciter, оскільки він є більш простим та дружнім для початківців. Перегляньте [CI](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) для збірки версії на Flutter.
Будь ласка, завантажте динамічну бібліотеку Sciter самостійно.
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
[MacOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
[macOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
Мобільні версії використовують Flutter. У майбутньому ми перенесемо настільну версію зі Sciter на Flutter.
## Кроки для збірки
## Первинні кроки для складання
- Підготуйте середовище розробки Rust і середовище збірки C++.
- Підготуйте середовище розробки Rust і середовище збирання C++.
- Встановіть [vcpkg](https://github.com/microsoft/vcpkg), і правильно встановіть змінну `VCPKG_ROOT`.
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus aom
- Linux/macOS: vcpkg install libvpx libyuv opus aom
- Запустіть `cargo run`
## [Збирання](https://rustdesk.com/docs/en/dev/build/)
## Як зібрати на Linux
### Ubuntu 18 (Debian 10)
@@ -76,11 +64,12 @@ sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxc
libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
```
### openSUSE Tumbleweed
### openSUSE Tumbleweed
```sh
sudo zypper install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libXfixes-devel cmake alsa-lib-devel gstreamer-devel gstreamer-plugins-base-devel xdotool-devel
```
### Fedora 28 (CentOS 8)
```sh
@@ -99,7 +88,7 @@ sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-c
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ...
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
@@ -118,7 +107,7 @@ cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/
cd
```
### Збірка
### Збирання
```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
@@ -131,10 +120,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Змініть Wayland на X11 (Xorg)
RustDesk не підтримує Wayland. Дивіться [цей документ](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) для налаштування Xorg як сеансу GNOME за замовчуванням.
## Як зібрати за допомогою Docker
Почніть з клонування сховища та створення docker-контейнера:
@@ -145,7 +130,7 @@ cd rustdesk
docker build -t "rustdesk-builder" .
```
Потім кожного разу, коли вам потрібно зібрати додаток, запускайте таку команду:
Надалі щоразу, коли вам буде потрібно зібрати застосунок, запускайте таку команду:
```sh
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
@@ -170,6 +155,7 @@ target/release/rustdesk
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: відеокодек, конфіг, обгортка tcp/udp, protobuf, функції fs для передавання файлів і деякі інші службові функції
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: захоплення екрана
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: специфічне для платформи керування клавіатурою/мишею
- **[libs/clipboard](https://github.com/rustdesk/rustdesk/tree/master/libs/clipboard)**: реалізація копіювання та вставлення файлів для Windows, Linux, macOS.
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: графічний інтерфейс користувача
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: сервіси аудіо/буфера обміну/вводу/відео та мережевих підключень
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: однорангове з'єднання

View File

@@ -1,64 +1,55 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Phần mềm điểu khiển máy tính từ xa dành cho bạn"><br>
<a href="#free-public-servers">Máy chủ</a> •
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#free-public-servers">Server</a> •
<a href="#raw-steps-to-build">Build</a> •
<a href="#how-to-build-with-docker">Docker</a> •
<a href="#file-structure">Cấu trúc tệp tin</a> •
<a href="#file-structure">Structure</a> •
<a href="#snapshot">Snapshot</a><br>
[<a href="../README.md">English</a>] | [<a href="README-UA.md">Українська</a>] | [<a href="README-CS.md">česky</a>] | [<a href="README-ZH.md">中文</a>] | [<a href="README-HU.md">Magyar</a>] | [<a href="README-ES.md">Español</a>] | [<a href="README-FA.md">فارسی</a>] | [<a href="README-FR.md">Français</a>] | [<a href="README-DE.md">Deutsch</a>] | [<a href="README-PL.md">Polski</a>] | [<a href="README-ID.md">Indonesian</a>] | [<a href="README-FI.md">Suomi</a>] | [<a href="README-ML.md">മലയാളം</a>] | [<a href="README-JP.md">日本語</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-IT.md">Italiano</a>] | [<a href="README-RU.md">Русский</a>] | [<a href="README-PTBR.md">Português (Brasil)</a>] | [<a href="README-EO.md">Esperanto</a>] | [<a href="README-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-GR.md">Ελληνικά</a>]<br>
<b>Chúng tôi cần sự gíup đỡ của bạn để dịch trang README này, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> và <a href="https://github.com/rustdesk/doc.rustdesk.com">tài liệu</a> sang ngôn ngữ bản địa của bạn</b>
<b>Chúng tôi rất hoan nghênh sự hỗ trợ của bạn trong việc dịch trang README, trang giao diện người dùng của RustDesk - <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> và trang tài liệu của RustDesk - <a href="https://github.com/rustdesk/doc.rustdesk.com">RustDesk Doc</a> sang Tiếng Việt</b>
</p>
Chat với chúng tôi qua: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
Hãy trao đổi với chúng tôi qua: [Discord](https://discord.gg/nDceKgxnkV) | [Twitter](https://twitter.com/rustdesk) | [Reddit](https://www.reddit.com/r/rustdesk)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
Một phần mềm điểu khiển máy tính từ xa, đuợc lập trình bằng ngôn ngữ Rust. Hoạt động tức thì, không cần phải cài đặt. Bạn có toàn quyền điểu khiển với dữ liệu của bạn mà không cần phải lo lắng về sự bảo mật. Bạn có thể sử dụng máy chủ rendezvous/relay của chúng tôi, [tự cài đặt máy chủ](https://rustdesk.com/server), hay thậm chí [tự tạo máy chủ rendezvous/relay](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk là một phần mềm điểu khiển máy tính từ xa mã nguồn mở, được viết bằng Rust. Nó hoạt động ngay sau khi cài đặt, không yêu cầu cấu hình phức tạp. Bạn có toàn quyền kiểm soát với dữ liệu của mình mà không cần phải lo lắng về vấn đề bảo mật. Bạn có thể sử dụng máy chủ rendezvous/relay của chúng tôi hoặc [tự cài đặt máy chủ của riêng mình](https://rustdesk.com/server) hay thậm chí [tự tạo máy chủ rendezvous/relay cho riêng bạn](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
Mọi người đều đuợc chào đón để đóng góp vào RustDesk. Để bắt đầu, hãy đọc [`docs/CONTRIBUTING.md`](CONTRIBUTING.md).
**RustDesk** luôn hoan nghênh mọi đóng góp từ mọi người. Hãy xem tệp [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) để bắt đầu.
[**RustDesk hoạt động như thế nào?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**CÁC BẢN PHÂN PHÁT MÃ NHỊ PHÂN**](https://github.com/rustdesk/rustdesk/releases)
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
[**NIGHTLY BUILD**](https://github.com/rustdesk/rustdesk/FAQreleases/tag/nightly)
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## Các Máy Chủ Công Khai Miễn Phí
Dưới đây là những máy chủ mà bạn có thể sử dụng mà không mất phí, chú ý là máy chủ có thể thay đổi theo thời gian. Nếu địa điểm của bạn không gần một trong số những máy chủ này, thì kết nói có thể chậm.
| Địa điểm | Nhà cung cấp | Cấu hình |
| --------- | ------------- | ------------------ |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
## Dependencies
Phiên bản cho máy tính sử dụng [sciter](https://sciter.com/) cho giao diện của phần mềm, vậy nên bn cần tự tải về thư viện sciter.
Phiên bản máy tính sử dụng __Flutter__ hoặc __Sciter__ (đã lỗi thời) cho giao diện người dùng (GUI). Hướng dẫn này chỉ áp dụng cho phiên bn Sciter, vì nó thân thiện và dễ bắt đầu hơn. Hãy kiểm tra [CI](https://github.com/rustdesk/rustdesk/blob/master/.github/workflows/flutter-build.yml) của chúng tôi để xây dựng phiên bản Flutter.
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
[MacOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
Vui lòng tự tải thư viện `Sciter` về máy theo hướng dẫn cho từng hệ điều hành.
Phiên bản cho điện thoại sử dụng Flutter. Chúng tôi sẽ chuyển sang sử dụng Flutter thay cho Sciter cho phiên bản máy tính.
[Windows](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) | [Linux](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) | [MacOS](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
## Cách để build
## Các bước build cơ bản
- Chuẩn bị môi trường phát triển Rust và môi trường build C++
- Chuẩn bị môi trường phát triển Rust và môi trường biên dịch C++
- Tải và cài [vcpkg](https://github.com/microsoft/vcpkg), và đặt biến môi trường `VCPKG_ROOT` sao cho đúng.
- Đối với Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- Đối với Linux/MacOS: vcpkg install libvpx libyuv opus aom
- Tải và cài đặt [`vcpkg`](https://github.com/microsoft/vcpkg), và thiết lập biến môi trường `VCPKG_ROOT`.
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static`
- Linux/MacOS: `vcpkg install libvpx libyuv opus aom`
- Chạy lệnh `cargo run`
## [Build](https://rustdesk.com/docs/en/dev/build/)
## Cách để build cho Linux
## Cách build cho Linux
### Ubuntu 18 (Debian 10)
@@ -78,7 +69,7 @@ sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-
sudo pacman -Syu --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire
```
### Cách cài vcpkg
### Cách cài đặt `vcpkg`
```sh
git clone https://github.com/microsoft/vcpkg
@@ -90,7 +81,7 @@ export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom
```
### Cách sửa lỗi libvpx (Dành cho hệ điều hành Fedora)
### Cách sửa lỗi `libvpx` (Dành cho hệ điều hành Fedora)
```sh
cd vcpkg/buildtrees/libvpx/src
@@ -103,7 +94,7 @@ cp libvpx.a $HOME/vcpkg/installed/x64-linux/lib/
cd
```
### Cách build
### Build
```sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
@@ -116,13 +107,9 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### Chuyển từ Wayland sang X11 (Xorg)
## Cách build bằng Docker
RustDesk hiện không hỗ trợ Wayland. Hãy xem [đường linh ở đây](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) cách để cài đặt Xorg làm session mặc định của GNOME.
## Cách để build sử dụng Docker
Bắt đầu bằng cách sao chép repo này về máy tính và build cái Docker cointainer:
Bắt đầu bằng cách sao chép repo này về máy tính của bạn và tạo Docker container:
```sh
git clone https://github.com/rustdesk/rustdesk
@@ -130,37 +117,37 @@ cd rustdesk
docker build -t "rustdesk-builder" .
```
Rồi mỗi khi bạn chạy ứng dụng, thì hãy chạy lệnh này:
Sau đó, mỗi khi bạn chạy ứng dụng, thì hãy chạy dòng lệnh sau:
```sh
docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
```
Chú ý: Lần build đầu tiên có thể sẽ mất lâu hơn truớc khi các dependecies đuợc lưu lại, nhng lần build sau sẽ nhanh hơn. Hơn nũa, nếu bạn cần cung cấp các cài đặt lệnh khác cho lệnh build, bạn có thể đặt những cài đặt lệnh này vào cuối lệnh ở phần `<OPTIONAL-ARGS>`. Ví dụ nếu bạn cần build phiên bản đuợc tối ưu hóa, bạn sẽ chạy lệnh trên cùng với cài đặt lệnh --release. Kết quả build sẽ được lưu trong thư mục target trên máy tính của bạn, và có thể chạy với lệnh:
Lưu ý rằng **lần build đầu tiên có thể mất thời gian hơn trước khi các dependencies được lưu vào bộ nhớ cache**, nhưng các lần build sau sẽ nhanh hơn. Ngoài ra, nếu bạn cần chỉ định các đối số khác cho lệnh build, bạn có thể thêm chúng vào cuối lệnh ở phần `<OPTIONAL-ARGS>`. Ví dụ, nếu bạn muốn build phiên bản tối ưu hóa, bạn sẽ chạy lệnh trên với tùy chọn `--release`. Kết quả biên dịch sẽ được lưu trong thư mục target trên máy tính của bạn, và có thể chạy với lệnh:
```sh
target/debug/rustdesk
```
Nếu bạn đang chạy bản build đuợc tối ưu hóa, thì bạn có thể chạy với lệnh:
Nếu bạn đang chạy bản build được tối ưu hóa, thì bạn có thể chạy với lệnh:
```sh
target/release/rustdesk
```
Hãy đảm bảo bạn đang chạy những lệnh này từ thu mục rễ của repo RustDesk, vì nếu không thì ứng dụng có thể sẽ không tìm đuợc những tệp tài nguyên cần thiết. Cũng như nhớ rằng những lệnh con của cargo như `install` hoặc `run` hiện chưa được hỗ trợ bởi phương pháp này vì chúng sẽ cài đặt hoặc chạy ứng dụng trong container thay vì trên máy tính của bạn.
Hãy đảm bảo rằng bạn đang chạy các lệnh này từ gốc của thư mục **RustDesk**, nếu không, ứng dụng có thể không thể tìm thấy các tệp tài nguyên cần thiết. Hãy lưu ý rằng các câu lệnh con khác của **cargo** như **install** hoặc **run** hiện không được hỗ trợ qua phương pháp này, vì chúng sẽ cài đặt hoặc chạy chương trình bên trong **container** thay vì trên máy tính của bạn.
## Cấu trúc tệp tin
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: video codec, cấu hình, tcp/udp wrapper, protobuf, fs functions để truyền file, và một số hàm tiện ích khác
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: để ghi lại màn hình
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: để điều khiển máy tính/con chuột trên những nền tảng khác nhau
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: ghi lại màn hình
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: điều khiển máy tính/chuột trên các nền tảng khác nhau
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: giao diện người dùng
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: các dịch vụ âm thanh, clipboard, đầu vào, video và các kết nối mạng
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: để bắt đầu kết nối với một peer
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Để liên lạc với [rustdesk-server](https://github.com/rustdesk/rustdesk-server), đợi cho kết nối trực tiếp (TCP hole punching) hoặc kết nối được relayed.
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: bắt đầu kết nối với một peer
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: giao tiếp với [rustdesk-server](https://github.com/rustdesk/rustdesk-server), đợi kết nối trực tiếp (TCP hole punching) hoặc kết nối được chuyển tiếp.
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: mã nguồn riêng cho mỗi nền tảng
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Mã Flutter dành cho điện thoại
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Mã Flutter dành máy tính và điện thoại
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Mã JavaScript dành cho giao diện trên web bằng Flutter
## Snapshot

View File

@@ -18,7 +18,7 @@ Chat with us: [知乎](https://www.zhihu.com/people/rustdesk) | [Discord](https:
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk 期待各位的贡献. 如何参与开发? 详情请看 [CONTRIBUTING.md](docs/CONTRIBUTING.md).
RustDesk 期待各位的贡献. 如何参与开发? 详情请看 [CONTRIBUTING.md](CONTRIBUTING.md).
[**FAQ**](https://github.com/rustdesk/rustdesk/wiki/FAQ)
@@ -30,23 +30,6 @@ RustDesk 期待各位的贡献. 如何参与开发? 详情请看 [CONTRIBUTING.m
alt="Get it on F-Droid"
height="80">](https://f-droid.org/en/packages/com.carriez.flutter_hbb)
## 免费的公共服务器
以下是您可以使用的、免费的、会随时更新的公共服务器列表,在国内也许网速会很慢或者无法访问。
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Germany | [Hetzner](https://www.hetzner.com) | 2 vCPU / 4 GB RAM |
| Ukraine (Kyiv) | [dc.volia](https://dc.volia.com) | 2 vCPU / 4 GB RAM |
## Dev Container
[![在 Dev Containers 中打开](https://img.shields.io/static/v1?label=Dev%20Container&message=Open&color=blue&logo=visualstudiocode)](https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/rustdesk/rustdesk)
如果你已经安装了 VS Code 和 Docker, 你可以点击上面的徽章开始使用. 点击后, VS Code 将自动安装 Dev Containers 扩展(如果需要),将源代码克隆到容器卷中, 并启动一个 Dev 容器供使用.
Go through [DEVCONTAINER.md](docs/DEVCONTAINER.md) for more info.
## 依赖
桌面版本界面使用[sciter](https://sciter.com/), 请自行下载。
@@ -134,39 +117,6 @@ mv libsciter-gtk.so target/debug
VCPKG_ROOT=$HOME/vcpkg cargo run
```
### 把 Wayland 修改成 X11 (Xorg)
RustDesk 暂时不支持 Wayland不过正在积极开发中。
> [点我](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/)
查看如何将 Xorg 设置成默认的 GNOME session.
## Wayland 支持
Wayland 似乎没有提供任何将按键发送到其他窗口的 API. 因此, RustDesk 使用较低级别的 API, 即 `/dev/uinput` devices (Linux kernal level).
当 Wayland 是受控方时,您必须以下列方式开始操作:
```bash
# Start uinput service
$ sudo rustdesk --service
$ rustdesk
```
**Notice**: Wayland 屏幕录制使用不同的接口. RustDesk 目前只支持 org.freedesktop.portal.ScreenCast.
```bash
$ dbus-send --session --print-reply \
--dest=org.freedesktop.portal.Desktop \
/org/freedesktop/portal/desktop \
org.freedesktop.DBus.Properties.Get \
string:org.freedesktop.portal.ScreenCast string:version
# Not support
Error org.freedesktop.DBus.Error.InvalidArgs: No such interface “org.freedesktop.portal.ScreenCast”
# Support
method return time=1662544486.931020 sender=:1.54 -> destination=:1.139 serial=257 reply_serial=2
variant uint32 4
```
## 使用 Docker 编译
克隆版本库并构建 Docker 容器:

9
docs/SECURITY-JP.md Normal file
View File

@@ -0,0 +1,9 @@
# セキュリティポリシー
## 脆弱性の報告
私たちはプロジェクトのセキュリティを非常に重視しています。私たちは、すべてのユーザーが脆弱性を発見した場合、私たちに報告することを奨励しています。
RustDesk プロジェクトにセキュリティの脆弱性を発見した場合は、info@rustdesk.com までメールで責任を持って報告してください。
現時点では、バグ報奨金制度はありません。私たちは大きな問題を解決しようとしている小さなチームです。コミュニティ全体のために安全なアプリケーションを作り続けることができるよう、
責任を持って脆弱性を報告してください。

9
docs/SECURITY-TR.md Normal file
View File

@@ -0,0 +1,9 @@
# Güvenlik Politikası
## Bir Güvenlik Açığı Bildirme
Projemiz için güvenliği çok önemsiyoruz. Kullanıcıların keşfettikleri herhangi bir güvenlik açığını bize bildirmelerini teşvik ediyoruz.
Eğer RustDesk projesinde bir güvenlik açığı bulursanız, lütfen info@rustdesk.com adresine sorumlu bir şekilde bildirin.
Şu an için bir hata ödül programımız bulunmamaktadır. Büyük bir sorunu çözmeye çalışan küçük bir ekibiz. Herhangi bir güvenlik açığını sorumlu bir şekilde bildirmenizi rica ederiz,
böylece tüm topluluk için güvenli bir uygulama oluşturmaya devam edebiliriz.

View File

@@ -1,36 +1,50 @@
{
"id": "com.rustdesk.RustDesk",
"runtime": "org.freedesktop.Platform",
"runtime-version": "21.08",
"runtime-version": "23.08",
"sdk": "org.freedesktop.Sdk",
"command": "rustdesk",
"icon": "share/icons/hicolor/scalable/apps/rustdesk.svg",
"modules": [
"shared-modules/libappindicator/libappindicator-gtk3-12.10.json",
"xdotool.json",
{
"name": "pam",
"buildsystem": "simple",
"build-commands": [
"./configure --disable-selinux --prefix=/app && make -j4 install"
],
"sources": [
{
"type": "archive",
"url": "https://github.com/linux-pam/linux-pam/releases/download/v1.3.1/Linux-PAM-1.3.1.tar.xz",
"sha256": "eff47a4ecd833fbf18de9686632a70ee8d0794b79aecb217ebd0ce11db4cd0db"
}
]
},
{
"name": "rustdesk",
"buildsystem": "simple",
"build-commands": [
"bsdtar -zxvf rustdesk-1.2.2.deb",
"bsdtar -zxvf rustdesk.deb",
"tar -xvf ./data.tar.xz",
"cp -r ./usr/* /app/",
"mkdir -p /app/bin && ln -s /app/lib/rustdesk/rustdesk /app/bin/rustdesk",
"mv /app/share/applications/rustdesk.desktop /app/share/applications/com.rustdesk.RustDesk.desktop",
"sed -i '/^Icon=/ c\\Icon=com.rustdesk.RustDesk' /app/share/applications/com.rustdesk.RustDesk.desktop",
"sed -i '/^Icon=/ c\\Icon=com.rustdesk.RustDesk' /app/share/applications/rustdesk-link.desktop",
"mv /app/share/applications/rustdesk-link.desktop /app/share/applications/com.rustdesk.RustDesk-link.desktop",
"sed -i '/^Icon=/ c\\Icon=com.rustdesk.RustDesk' /app/share/applications/*.desktop",
"mv /app/share/icons/hicolor/scalable/apps/rustdesk.svg /app/share/icons/hicolor/scalable/apps/com.rustdesk.RustDesk.svg",
"for size in 16 24 32 48 64 128 256 512; do\n rsvg-convert -w $size -h $size -f png -o $size.png logo.svg\n install -Dm644 $size.png /app/share/icons/hicolor/${size}x${size}/apps/com.rustdesk.RustDesk.png\n done"
"for size in 16 24 32 48 64 128 256 512; do\n rsvg-convert -w $size -h $size -f png -o $size.png scalable.svg\n install -Dm644 $size.png /app/share/icons/hicolor/${size}x${size}/apps/com.rustdesk.RustDesk.png\n done"
],
"cleanup": ["/include", "/lib/pkgconfig", "/share/gtk-doc"],
"sources": [
{
"type": "file",
"path": "../rustdesk-1.2.2.deb"
"path": "./rustdesk.deb"
},
{
"type": "file",
"path": "../res/logo.svg"
"path": "../res/scalable.svg"
}
]
}

1
flutter/.gitignore vendored
View File

@@ -32,7 +32,6 @@
/build/
# Web related
lib/generated_plugin_registrant.dart
# Symbolication related
app.*.symbols

View File

@@ -13,4 +13,4 @@ A few resources to get you started if this is your first Flutter project:
For help getting started with Flutter development, view the
[online documentation](https://docs.flutter.dev/), which offers tutorials,
samples, guidance on mobile development, and a full API reference.
samples and guidance on mobile development, and a full API reference.

View File

@@ -1,3 +1,8 @@
import com.google.protobuf.gradle.*
plugins {
id "com.google.protobuf" version "0.9.4"
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
@@ -31,10 +36,33 @@ apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
dependencies {
implementation 'com.google.protobuf:protobuf-javalite:3.20.1'
}
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.20.1'
}
generateProtoTasks {
all().configureEach { task ->
task.builtins {
java {
option "lite"
}
}
}
}
}
android {
compileSdkVersion 33
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
main.proto.srcDirs += '../../../libs/hbb_common/protos'
main.proto.includes += "message.proto"
}
compileOptions {
@@ -46,7 +74,7 @@ android {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.carriez.flutter_hbb"
minSdkVersion 21
targetSdkVersion 31
targetSdkVersion 33
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
@@ -65,6 +93,7 @@ android {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules'
}
}
}
@@ -75,8 +104,8 @@ flutter {
dependencies {
implementation "androidx.media:media:1.6.0"
implementation 'com.github.getActivity:XXPermissions:16.2'
implementation 'com.github.getActivity:XXPermissions:18.5'
implementation("org.jetbrains.kotlin:kotlin-stdlib") { version { strictly("$kotlin_version") } }
implementation 'com.caverock:androidsvg-aar:1.4'
}
apply plugin: 'com.google.gms.google-services'

View File

@@ -1,40 +0,0 @@
{
"project_info": {
"project_number": "768133699366",
"firebase_url": "https://rustdesk.firebaseio.com",
"project_id": "rustdesk",
"storage_bucket": "rustdesk.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:768133699366:android:5fc9015370e344457993e7",
"android_client_info": {
"package_name": "com.carriez.flutter_hbb"
}
},
"oauth_client": [
{
"client_id": "768133699366-s9gdfsijefsd5g1nura4kmfne42lencn.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "AIzaSyAPOsKcXjrAR-7Z148sYr_gdB_JQZkamTM"
}
],
"services": {
"appinvite_service": {
"other_platform_oauth_client": [
{
"client_id": "768133699366-s9gdfsijefsd5g1nura4kmfne42lencn.apps.googleusercontent.com",
"client_type": 3
}
]
}
}
}
],
"configuration_version": "1"
}

View File

@@ -0,0 +1,4 @@
# Keep class members from protobuf generated code.
-keepclassmembers class * extends com.google.protobuf.GeneratedMessageLite {
<fields>;
}

View File

@@ -3,6 +3,7 @@
package="com.carriez.flutter_hbb">
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
@@ -61,6 +62,14 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Intent for deep linking-->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="rustdesk" />
</intent-filter>
</activity>
<activity
@@ -72,6 +81,11 @@
android:name=".MainService"
android:enabled="true"
android:foregroundServiceType="mediaProjection" />
<service
android:name=".FloatingWindowService"
android:enabled="true" />
<!--
Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java
@@ -81,4 +95,4 @@
android:value="2" />
</application>
</manifest>
</manifest>

View File

@@ -0,0 +1,193 @@
package com.carriez.flutter_hbb
import ffi.FFI
import android.Manifest
import android.content.Context
import android.media.*
import android.content.pm.PackageManager
import android.media.projection.MediaProjection
import androidx.annotation.RequiresApi
import androidx.core.app.ActivityCompat
import android.os.Build
import android.util.Log
import kotlin.concurrent.thread
const val AUDIO_ENCODING = AudioFormat.ENCODING_PCM_FLOAT // ENCODING_OPUS need API 30
const val AUDIO_SAMPLE_RATE = 48000
const val AUDIO_CHANNEL_MASK = AudioFormat.CHANNEL_IN_STEREO
class AudioRecordHandle(private var context: Context, private var isVideoStart: ()->Boolean, private var isAudioStart: ()->Boolean) {
private val logTag = "LOG_AUDIO_RECORD_HANDLE"
private var audioRecorder: AudioRecord? = null
private var audioReader: AudioReader? = null
private var minBufferSize = 0
private var audioRecordStat = false
private var audioThread: Thread? = null
@RequiresApi(Build.VERSION_CODES.M)
fun createAudioRecorder(inVoiceCall: Boolean, mediaProjection: MediaProjection?): Boolean {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.Q) {
return false
}
if (ActivityCompat.checkSelfPermission(
context,
Manifest.permission.RECORD_AUDIO
) != PackageManager.PERMISSION_GRANTED
) {
Log.d(logTag, "createAudioRecorder failed, no RECORD_AUDIO permission")
return false
}
var builder = AudioRecord.Builder()
.setAudioFormat(
AudioFormat.Builder()
.setEncoding(AUDIO_ENCODING)
.setSampleRate(AUDIO_SAMPLE_RATE)
.setChannelMask(AUDIO_CHANNEL_MASK).build()
);
if (inVoiceCall) {
builder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION)
} else {
mediaProjection?.let {
var apcc = AudioPlaybackCaptureConfiguration.Builder(it)
.addMatchingUsage(AudioAttributes.USAGE_MEDIA)
.addMatchingUsage(AudioAttributes.USAGE_ALARM)
.addMatchingUsage(AudioAttributes.USAGE_GAME)
.addMatchingUsage(AudioAttributes.USAGE_UNKNOWN).build();
builder.setAudioPlaybackCaptureConfig(apcc);
} ?: let {
Log.d(logTag, "createAudioRecorder failed, mediaProjection null")
return false
}
}
audioRecorder = builder.build()
Log.d(logTag, "createAudioRecorder done,minBufferSize:$minBufferSize")
return true
}
@RequiresApi(Build.VERSION_CODES.M)
private fun checkAudioReader() {
if (audioReader != null && minBufferSize != 0) {
return
}
// read f32 to byte , length * 4
minBufferSize = 2 * 4 * AudioRecord.getMinBufferSize(
AUDIO_SAMPLE_RATE,
AUDIO_CHANNEL_MASK,
AUDIO_ENCODING
)
if (minBufferSize == 0) {
Log.d(logTag, "get min buffer size fail!")
return
}
audioReader = AudioReader(minBufferSize, 4)
Log.d(logTag, "init audioData len:$minBufferSize")
}
@RequiresApi(Build.VERSION_CODES.M)
fun startAudioRecorder() {
checkAudioReader()
if (audioReader != null && audioRecorder != null && minBufferSize != 0) {
try {
FFI.setFrameRawEnable("audio", true)
audioRecorder!!.startRecording()
audioRecordStat = true
audioThread = thread {
while (audioRecordStat) {
audioReader!!.readSync(audioRecorder!!)?.let {
FFI.onAudioFrameUpdate(it)
}
}
// let's release here rather than onDestroy to avoid threading issue
audioRecorder?.release()
audioRecorder = null
minBufferSize = 0
FFI.setFrameRawEnable("audio", false)
Log.d(logTag, "Exit audio thread")
}
} catch (e: Exception) {
Log.d(logTag, "startAudioRecorder fail:$e")
}
} else {
Log.d(logTag, "startAudioRecorder fail")
}
}
fun onVoiceCallStarted(mediaProjection: MediaProjection?): Boolean {
if (!isSupportVoiceCall()) {
return false
}
// No need to check if video or audio is started here.
if (!switchToVoiceCall(mediaProjection)) {
return false
}
return true
}
fun onVoiceCallClosed(mediaProjection: MediaProjection?): Boolean {
// Return true if not supported, because is was not started.
if (!isSupportVoiceCall()) {
return true
}
if (isVideoStart()) {
switchOutVoiceCall(mediaProjection)
}
tryReleaseAudio()
return true
}
@RequiresApi(Build.VERSION_CODES.M)
fun switchToVoiceCall(mediaProjection: MediaProjection?): Boolean {
audioRecorder?.let {
if (it.getAudioSource() == MediaRecorder.AudioSource.VOICE_COMMUNICATION) {
return true
}
}
audioRecordStat = false
audioThread?.join()
audioThread = null
if (!createAudioRecorder(true, mediaProjection)) {
Log.e(logTag, "createAudioRecorder fail")
return false
}
startAudioRecorder()
return true
}
@RequiresApi(Build.VERSION_CODES.M)
fun switchOutVoiceCall(mediaProjection: MediaProjection?): Boolean {
audioRecorder?.let {
if (it.getAudioSource() != MediaRecorder.AudioSource.VOICE_COMMUNICATION) {
return true
}
}
audioRecordStat = false
audioThread?.join()
if (!createAudioRecorder(false, mediaProjection)) {
Log.e(logTag, "createAudioRecorder fail")
return false
}
startAudioRecorder()
return true
}
fun tryReleaseAudio() {
if (isAudioStart() || isVideoStart()) {
return
}
audioRecordStat = false
audioThread?.join()
audioThread = null
}
fun destroy() {
Log.d(logTag, "destroy audio record handle")
audioRecordStat = false
audioThread?.join()
}
}

View File

@@ -0,0 +1,378 @@
package com.carriez.flutter_hbb
import android.annotation.SuppressLint
import android.app.PendingIntent
import android.app.Service
import android.content.Intent
import android.content.res.Configuration
import android.graphics.Bitmap
import android.graphics.Canvas
import android.graphics.PixelFormat
import android.graphics.drawable.BitmapDrawable
import android.graphics.drawable.Drawable
import android.os.Build
import android.os.Handler
import android.os.IBinder
import android.os.Looper
import android.util.Log
import android.view.Gravity
import android.view.MotionEvent
import android.view.View
import android.view.WindowManager
import android.view.WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN
import android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
import android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL
import android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON
import android.widget.ImageView
import android.widget.PopupMenu
import com.caverock.androidsvg.SVG
import ffi.FFI
import kotlin.math.abs
class FloatingWindowService : Service(), View.OnTouchListener {
private lateinit var windowManager: WindowManager
private lateinit var layoutParams: WindowManager.LayoutParams
private lateinit var floatingView: ImageView
private lateinit var originalDrawable: Drawable
private lateinit var leftHalfDrawable: Drawable
private lateinit var rightHalfDrawable: Drawable
private var dragging = false
private var lastDownX = 0f
private var lastDownY = 0f
private var viewCreated = false;
private var keepScreenOn = KeepScreenOn.DURING_CONTROLLED
companion object {
private val logTag = "floatingService"
private var firstCreate = true
private var viewWidth = 120
private var viewHeight = 120
private const val MIN_VIEW_SIZE = 32 // size 0 does not help prevent the service from being killed
private const val MAX_VIEW_SIZE = 320
private var viewUntouchable = false
private var viewTransparency = 1f // 0 means invisible but can help prevent the service from being killed
private var customSvg = ""
private var lastLayoutX = 0
private var lastLayoutY = 0
private var lastOrientation = Configuration.ORIENTATION_UNDEFINED
}
override fun onBind(intent: Intent): IBinder? {
return null
}
override fun onCreate() {
super.onCreate()
windowManager = getSystemService(WINDOW_SERVICE) as WindowManager
try {
if (firstCreate) {
firstCreate = false
onFirstCreate(windowManager)
}
Log.d(logTag, "floating window size: $viewWidth x $viewHeight, transparency: $viewTransparency, lastLayoutX: $lastLayoutX, lastLayoutY: $lastLayoutY, customSvg: $customSvg")
createView(windowManager)
handler.postDelayed(runnable, 1000)
Log.d(logTag, "onCreate success")
} catch (e: Exception) {
Log.d(logTag, "onCreate failed: $e")
}
}
override fun onDestroy() {
super.onDestroy()
if (viewCreated) {
windowManager.removeView(floatingView)
}
handler.removeCallbacks(runnable)
}
@SuppressLint("ClickableViewAccessibility")
private fun createView(windowManager: WindowManager) {
floatingView = ImageView(this)
viewCreated = true
originalDrawable = resources.getDrawable(R.drawable.floating_window, null)
if (customSvg.isNotEmpty()) {
try {
val svg = SVG.getFromString(customSvg)
Log.d(logTag, "custom svg info: ${svg.documentWidth} x ${svg.documentHeight}");
// This make the svg render clear
svg.documentWidth = viewWidth * 1f
svg.documentHeight = viewHeight * 1f
originalDrawable = svg.renderToPicture().let {
BitmapDrawable(
resources,
Bitmap.createBitmap(it.width, it.height, Bitmap.Config.ARGB_8888)
.also { bitmap ->
it.draw(Canvas(bitmap))
})
}
floatingView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
Log.d(logTag, "custom svg loaded")
} catch (e: Exception) {
e.printStackTrace()
}
}
val originalBitmap = Bitmap.createBitmap(
originalDrawable.intrinsicWidth,
originalDrawable.intrinsicHeight,
Bitmap.Config.ARGB_8888
)
val canvas = Canvas(originalBitmap)
originalDrawable.setBounds(
0,
0,
originalDrawable.intrinsicWidth,
originalDrawable.intrinsicHeight
)
originalDrawable.draw(canvas)
val leftHalfBitmap = Bitmap.createBitmap(
originalBitmap,
0,
0,
originalDrawable.intrinsicWidth / 2,
originalDrawable.intrinsicHeight
)
val rightHalfBitmap = Bitmap.createBitmap(
originalBitmap,
originalDrawable.intrinsicWidth / 2,
0,
originalDrawable.intrinsicWidth / 2,
originalDrawable.intrinsicHeight
)
leftHalfDrawable = BitmapDrawable(resources, leftHalfBitmap)
rightHalfDrawable = BitmapDrawable(resources, rightHalfBitmap)
floatingView.setImageDrawable(rightHalfDrawable)
floatingView.setOnTouchListener(this)
floatingView.alpha = viewTransparency * 1f
var flags = FLAG_LAYOUT_IN_SCREEN or FLAG_NOT_TOUCH_MODAL or FLAG_NOT_FOCUSABLE
if (viewUntouchable || viewTransparency == 0f) {
flags = flags or WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
}
layoutParams = WindowManager.LayoutParams(
viewWidth / 2,
viewHeight,
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY else WindowManager.LayoutParams.TYPE_PHONE,
flags,
PixelFormat.TRANSLUCENT
)
layoutParams.gravity = Gravity.TOP or Gravity.START
layoutParams.x = lastLayoutX
layoutParams.y = lastLayoutY
val keepScreenOnOption = FFI.getLocalOption("keep-screen-on").lowercase()
keepScreenOn = when (keepScreenOnOption) {
"never" -> KeepScreenOn.NEVER
"service-on" -> KeepScreenOn.SERVICE_ON
else -> KeepScreenOn.DURING_CONTROLLED
}
Log.d(logTag, "keepScreenOn option: $keepScreenOnOption, value: $keepScreenOn")
updateKeepScreenOnLayoutParams()
windowManager.addView(floatingView, layoutParams)
moveToScreenSide()
}
private fun onFirstCreate(windowManager: WindowManager) {
val wh = getScreenSize(windowManager)
val w = wh.first
val h = wh.second
// size
FFI.getLocalOption("floating-window-size").let {
if (it.isNotEmpty()) {
try {
val size = it.toInt()
if (size in MIN_VIEW_SIZE..MAX_VIEW_SIZE && size <= w / 2 && size <= h / 2) {
viewWidth = size
viewHeight = size
}
} catch (e: Exception) {
e.printStackTrace()
}
}
}
// untouchable
viewUntouchable = FFI.getLocalOption("floating-window-untouchable") == "Y"
// transparency
FFI.getLocalOption("floating-window-transparency").let {
if (it.isNotEmpty()) {
try {
val transparency = it.toInt()
if (transparency in 0..10) {
viewTransparency = transparency * 1f / 10
}
} catch (e: Exception) {
e.printStackTrace()
}
}
}
// custom svg
FFI.getLocalOption("floating-window-svg").let {
if (it.isNotEmpty()) {
customSvg = it
}
}
// position
lastLayoutX = 0
lastLayoutY = (wh.second - viewHeight) / 2
lastOrientation = resources.configuration.orientation
}
private fun performClick() {
showPopupMenu()
}
override fun onTouch(view: View?, event: MotionEvent?): Boolean {
when (event?.action) {
MotionEvent.ACTION_DOWN -> {
dragging = false
lastDownX = event.rawX
lastDownY = event.rawY
}
MotionEvent.ACTION_UP -> {
val clickDragTolerance = 10f
if (abs(event.rawX - lastDownX) < clickDragTolerance && abs(event.rawY - lastDownY) < clickDragTolerance) {
performClick()
} else {
moveToScreenSide()
}
}
MotionEvent.ACTION_MOVE -> {
val dx = event.rawX - lastDownX
val dy = event.rawY - lastDownY
// ignore too small fist start moving(some time is click)
if (!dragging && dx*dx+dy*dy < 25) {
return false
}
dragging = true
layoutParams.x = event.rawX.toInt()
layoutParams.y = event.rawY.toInt()
layoutParams.width = viewWidth
floatingView.setImageDrawable(originalDrawable)
windowManager.updateViewLayout(view, layoutParams)
lastLayoutX = layoutParams.x
lastLayoutY = layoutParams.y
}
}
return false
}
private fun moveToScreenSide(center: Boolean = false) {
val windowManager = getSystemService(WINDOW_SERVICE) as WindowManager
val wh = getScreenSize(windowManager)
val w = wh.first
if (layoutParams.x < w / 2) {
layoutParams.x = 0
floatingView.setImageDrawable(rightHalfDrawable)
} else {
layoutParams.x = w - viewWidth / 2
floatingView.setImageDrawable(leftHalfDrawable)
}
if (center) {
layoutParams.y = (wh.second - viewHeight) / 2
}
layoutParams.width = viewWidth / 2
windowManager.updateViewLayout(floatingView, layoutParams)
lastLayoutX = layoutParams.x
lastLayoutY = layoutParams.y
}
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
if (newConfig.orientation != lastOrientation) {
lastOrientation = newConfig.orientation
val wh = getScreenSize(windowManager)
Log.d(logTag, "orientation: $lastOrientation, screen size: ${wh.first} x ${wh.second}")
val newW = wh.first
val newH = wh.second
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE || newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
// Proportional change
layoutParams.x = (layoutParams.x.toFloat() / newH.toFloat() * newW.toFloat()).toInt()
layoutParams.y = (layoutParams.y.toFloat() / newW.toFloat() * newH.toFloat()).toInt()
}
moveToScreenSide()
}
}
private fun showPopupMenu() {
val popupMenu = PopupMenu(this, floatingView)
val idShowRustDesk = 0
popupMenu.menu.add(0, idShowRustDesk, 0, translate("Show RustDesk"))
val idStopService = 1
popupMenu.menu.add(0, idStopService, 0, translate("Stop service"))
popupMenu.setOnMenuItemClickListener { menuItem ->
when (menuItem.itemId) {
idShowRustDesk -> {
openMainActivity()
true
}
idStopService -> {
stopMainService()
true
}
else -> false
}
}
popupMenu.setOnDismissListener {
moveToScreenSide()
}
popupMenu.show()
}
private fun openMainActivity() {
val intent = Intent(this, MainActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
val pendingIntent = PendingIntent.getActivity(
this, 0, intent,
PendingIntent.FLAG_IMMUTABLE or PendingIntent.FLAG_ONE_SHOT
)
try {
pendingIntent.send()
} catch (e: PendingIntent.CanceledException) {
e.printStackTrace()
}
}
private fun stopMainService() {
MainActivity.flutterMethodChannel?.invokeMethod("stop_service", null)
}
enum class KeepScreenOn {
NEVER,
DURING_CONTROLLED,
SERVICE_ON,
}
private val handler = Handler(Looper.getMainLooper())
private val runnable = object : Runnable {
override fun run() {
if (updateKeepScreenOnLayoutParams()) {
windowManager.updateViewLayout(floatingView, layoutParams)
}
handler.postDelayed(this, 1000) // 1000 milliseconds = 1 second
}
}
private fun updateKeepScreenOnLayoutParams(): Boolean {
val oldOn = layoutParams.flags and FLAG_KEEP_SCREEN_ON != 0
val newOn = keepScreenOn == KeepScreenOn.SERVICE_ON || (keepScreenOn == KeepScreenOn.DURING_CONTROLLED && MainService.isStart)
if (oldOn != newOn) {
Log.d(logTag, "change keep screen on to $newOn")
if (newOn) {
layoutParams.flags = layoutParams.flags or FLAG_KEEP_SCREEN_ON
} else {
layoutParams.flags = layoutParams.flags and FLAG_KEEP_SCREEN_ON.inv()
}
return true
}
return false
}
}

View File

@@ -10,12 +10,29 @@ import android.accessibilityservice.AccessibilityService
import android.accessibilityservice.GestureDescription
import android.graphics.Path
import android.os.Build
import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.util.Log
import android.widget.EditText
import android.view.accessibility.AccessibilityEvent
import android.view.ViewGroup.LayoutParams
import android.view.accessibility.AccessibilityNodeInfo
import android.view.KeyEvent as KeyEventAndroid
import android.graphics.Rect
import android.media.AudioManager
import android.accessibilityservice.AccessibilityServiceInfo
import android.accessibilityservice.AccessibilityServiceInfo.FLAG_INPUT_METHOD_EDITOR
import android.accessibilityservice.AccessibilityServiceInfo.FLAG_RETRIEVE_INTERACTIVE_WINDOWS
import android.view.inputmethod.EditorInfo
import androidx.annotation.RequiresApi
import java.util.*
import java.lang.Character
import kotlin.math.abs
import kotlin.math.max
import hbb.MessageOuterClass.KeyEvent
import hbb.MessageOuterClass.KeyboardMode
import hbb.KeyEventConverter
const val LIFT_DOWN = 9
const val LIFT_MOVE = 8
@@ -26,6 +43,13 @@ const val WHEEL_BUTTON_UP = 34
const val WHEEL_DOWN = 523331
const val WHEEL_UP = 963
const val TOUCH_SCALE_START = 1
const val TOUCH_SCALE = 2
const val TOUCH_SCALE_END = 3
const val TOUCH_PAN_START = 4
const val TOUCH_PAN_UPDATE = 5
const val TOUCH_PAN_END = 6
const val WHEEL_STEP = 120
const val WHEEL_DURATION = 50L
const val LONG_TAP_DELAY = 200L
@@ -51,6 +75,10 @@ class InputService : AccessibilityService() {
private var isWheelActionsPolling = false
private var isWaitingLongPress = false
private var fakeEditTextForTextStateCalculation: EditText? = null
private val volumeController: VolumeController by lazy { VolumeController(applicationContext.getSystemService(AUDIO_SERVICE) as AudioManager) }
@RequiresApi(Build.VERSION_CODES.N)
fun onMouseInput(mask: Int, _x: Int, _y: Int) {
val x = max(0, _x)
@@ -167,6 +195,30 @@ class InputService : AccessibilityService() {
}
}
@RequiresApi(Build.VERSION_CODES.N)
fun onTouchInput(mask: Int, _x: Int, _y: Int) {
when (mask) {
TOUCH_PAN_UPDATE -> {
mouseX -= _x * SCREEN_INFO.scale
mouseY -= _y * SCREEN_INFO.scale
mouseX = max(0, mouseX);
mouseY = max(0, mouseY);
continueGesture(mouseX, mouseY)
}
TOUCH_PAN_START -> {
mouseX = max(0, _x) * SCREEN_INFO.scale
mouseY = max(0, _y) * SCREEN_INFO.scale
startGesture(mouseX, mouseY)
}
TOUCH_PAN_END -> {
endGesture(mouseX, mouseY)
mouseX = max(0, _x) * SCREEN_INFO.scale
mouseY = max(0, _y) * SCREEN_INFO.scale
}
else -> {}
}
}
@RequiresApi(Build.VERSION_CODES.N)
private fun consumeWheelActions() {
if (isWheelActionsPolling) {
@@ -221,9 +273,345 @@ class InputService : AccessibilityService() {
}
}
@RequiresApi(Build.VERSION_CODES.N)
fun onKeyEvent(data: ByteArray) {
val keyEvent = KeyEvent.parseFrom(data)
val keyboardMode = keyEvent.getMode()
var textToCommit: String? = null
if (keyboardMode == KeyboardMode.Legacy) {
if (keyEvent.hasChr() && keyEvent.getDown()) {
val chr = keyEvent.getChr()
if (chr != null) {
textToCommit = String(Character.toChars(chr))
}
}
} else if (keyboardMode == KeyboardMode.Translate) {
if (keyEvent.hasSeq() && keyEvent.getDown()) {
val seq = keyEvent.getSeq()
if (seq != null) {
textToCommit = seq
}
}
}
Log.d(logTag, "onKeyEvent $keyEvent textToCommit:$textToCommit")
var ke: KeyEventAndroid? = null
if (Build.VERSION.SDK_INT < 33 || textToCommit == null) {
ke = KeyEventConverter.toAndroidKeyEvent(keyEvent)
}
ke?.let { event ->
if (tryHandleVolumeKeyEvent(event)) {
return
} else if (tryHandlePowerKeyEvent(event)) {
return
}
}
if (Build.VERSION.SDK_INT >= 33) {
getInputMethod()?.let { inputMethod ->
inputMethod.getCurrentInputConnection()?.let { inputConnection ->
if (textToCommit != null) {
textToCommit?.let { text ->
inputConnection.commitText(text, 1, null)
}
} else {
ke?.let { event ->
inputConnection.sendKeyEvent(event)
}
}
}
}
} else {
val handler = Handler(Looper.getMainLooper())
handler.post {
ke?.let { event ->
val possibleNodes = possibleAccessibiltyNodes()
Log.d(logTag, "possibleNodes:$possibleNodes")
for (item in possibleNodes) {
val success = trySendKeyEvent(event, item, textToCommit)
if (success) {
break
}
}
}
}
}
}
private fun tryHandleVolumeKeyEvent(event: KeyEventAndroid): Boolean {
when (event.keyCode) {
KeyEventAndroid.KEYCODE_VOLUME_UP -> {
if (event.action == KeyEventAndroid.ACTION_DOWN) {
volumeController.raiseVolume(null, true, AudioManager.STREAM_SYSTEM)
}
return true
}
KeyEventAndroid.KEYCODE_VOLUME_DOWN -> {
if (event.action == KeyEventAndroid.ACTION_DOWN) {
volumeController.lowerVolume(null, true, AudioManager.STREAM_SYSTEM)
}
return true
}
KeyEventAndroid.KEYCODE_VOLUME_MUTE -> {
if (event.action == KeyEventAndroid.ACTION_DOWN) {
volumeController.toggleMute(true, AudioManager.STREAM_SYSTEM)
}
return true
}
else -> {
return false
}
}
}
private fun tryHandlePowerKeyEvent(event: KeyEventAndroid): Boolean {
if (event.keyCode == KeyEventAndroid.KEYCODE_POWER) {
// Perform power dialog action when action is up
if (event.action == KeyEventAndroid.ACTION_UP) {
performGlobalAction(GLOBAL_ACTION_POWER_DIALOG);
}
return true
}
return false
}
private fun insertAccessibilityNode(list: LinkedList<AccessibilityNodeInfo>, node: AccessibilityNodeInfo) {
if (node == null) {
return
}
if (list.contains(node)) {
return
}
list.add(node)
}
private fun findChildNode(node: AccessibilityNodeInfo?): AccessibilityNodeInfo? {
if (node == null) {
return null
}
if (node.isEditable() && node.isFocusable()) {
return node
}
val childCount = node.getChildCount()
for (i in 0 until childCount) {
val child = node.getChild(i)
if (child != null) {
if (child.isEditable() && child.isFocusable()) {
return child
}
if (Build.VERSION.SDK_INT < 33) {
child.recycle()
}
}
}
for (i in 0 until childCount) {
val child = node.getChild(i)
if (child != null) {
val result = findChildNode(child)
if (Build.VERSION.SDK_INT < 33) {
if (child != result) {
child.recycle()
}
}
if (result != null) {
return result
}
}
}
return null
}
private fun possibleAccessibiltyNodes(): LinkedList<AccessibilityNodeInfo> {
val linkedList = LinkedList<AccessibilityNodeInfo>()
val latestList = LinkedList<AccessibilityNodeInfo>()
val focusInput = findFocus(AccessibilityNodeInfo.FOCUS_INPUT)
var focusAccessibilityInput = findFocus(AccessibilityNodeInfo.FOCUS_ACCESSIBILITY)
val rootInActiveWindow = getRootInActiveWindow()
Log.d(logTag, "focusInput:$focusInput focusAccessibilityInput:$focusAccessibilityInput rootInActiveWindow:$rootInActiveWindow")
if (focusInput != null) {
if (focusInput.isFocusable() && focusInput.isEditable()) {
insertAccessibilityNode(linkedList, focusInput)
} else {
insertAccessibilityNode(latestList, focusInput)
}
}
if (focusAccessibilityInput != null) {
if (focusAccessibilityInput.isFocusable() && focusAccessibilityInput.isEditable()) {
insertAccessibilityNode(linkedList, focusAccessibilityInput)
} else {
insertAccessibilityNode(latestList, focusAccessibilityInput)
}
}
val childFromFocusInput = findChildNode(focusInput)
Log.d(logTag, "childFromFocusInput:$childFromFocusInput")
if (childFromFocusInput != null) {
insertAccessibilityNode(linkedList, childFromFocusInput)
}
val childFromFocusAccessibilityInput = findChildNode(focusAccessibilityInput)
if (childFromFocusAccessibilityInput != null) {
insertAccessibilityNode(linkedList, childFromFocusAccessibilityInput)
}
Log.d(logTag, "childFromFocusAccessibilityInput:$childFromFocusAccessibilityInput")
if (rootInActiveWindow != null) {
insertAccessibilityNode(linkedList, rootInActiveWindow)
}
for (item in latestList) {
insertAccessibilityNode(linkedList, item)
}
return linkedList
}
private fun trySendKeyEvent(event: KeyEventAndroid, node: AccessibilityNodeInfo, textToCommit: String?): Boolean {
node.refresh()
this.fakeEditTextForTextStateCalculation?.setSelection(0,0)
this.fakeEditTextForTextStateCalculation?.setText(null)
val text = node.getText()
var isShowingHint = false
if (Build.VERSION.SDK_INT >= 26) {
isShowingHint = node.isShowingHintText()
}
var textSelectionStart = node.textSelectionStart
var textSelectionEnd = node.textSelectionEnd
if (text != null) {
if (textSelectionStart > text.length) {
textSelectionStart = text.length
}
if (textSelectionEnd > text.length) {
textSelectionEnd = text.length
}
if (textSelectionStart > textSelectionEnd) {
textSelectionStart = textSelectionEnd
}
}
var success = false
Log.d(logTag, "existing text:$text textToCommit:$textToCommit textSelectionStart:$textSelectionStart textSelectionEnd:$textSelectionEnd")
if (textToCommit != null) {
if ((textSelectionStart == -1) || (textSelectionEnd == -1)) {
val newText = textToCommit
this.fakeEditTextForTextStateCalculation?.setText(newText)
success = updateTextForAccessibilityNode(node)
} else if (text != null) {
this.fakeEditTextForTextStateCalculation?.setText(text)
this.fakeEditTextForTextStateCalculation?.setSelection(
textSelectionStart,
textSelectionEnd
)
this.fakeEditTextForTextStateCalculation?.text?.insert(textSelectionStart, textToCommit)
success = updateTextAndSelectionForAccessibiltyNode(node)
}
} else {
if (isShowingHint) {
this.fakeEditTextForTextStateCalculation?.setText(null)
} else {
this.fakeEditTextForTextStateCalculation?.setText(text)
}
if (textSelectionStart != -1 && textSelectionEnd != -1) {
Log.d(logTag, "setting selection $textSelectionStart $textSelectionEnd")
this.fakeEditTextForTextStateCalculation?.setSelection(
textSelectionStart,
textSelectionEnd
)
}
this.fakeEditTextForTextStateCalculation?.let {
// This is essiential to make sure layout object is created. OnKeyDown may not work if layout is not created.
val rect = Rect()
node.getBoundsInScreen(rect)
it.layout(rect.left, rect.top, rect.right, rect.bottom)
it.onPreDraw()
if (event.action == KeyEventAndroid.ACTION_DOWN) {
val succ = it.onKeyDown(event.getKeyCode(), event)
Log.d(logTag, "onKeyDown $succ")
} else if (event.action == KeyEventAndroid.ACTION_UP) {
val success = it.onKeyUp(event.getKeyCode(), event)
Log.d(logTag, "keyup $success")
} else {}
}
success = updateTextAndSelectionForAccessibiltyNode(node)
}
return success
}
fun updateTextForAccessibilityNode(node: AccessibilityNodeInfo): Boolean {
var success = false
this.fakeEditTextForTextStateCalculation?.text?.let {
val arguments = Bundle()
arguments.putCharSequence(
AccessibilityNodeInfo.ACTION_ARGUMENT_SET_TEXT_CHARSEQUENCE,
it.toString()
)
success = node.performAction(AccessibilityNodeInfo.ACTION_SET_TEXT, arguments)
}
return success
}
fun updateTextAndSelectionForAccessibiltyNode(node: AccessibilityNodeInfo): Boolean {
var success = updateTextForAccessibilityNode(node)
if (success) {
val selectionStart = this.fakeEditTextForTextStateCalculation?.selectionStart
val selectionEnd = this.fakeEditTextForTextStateCalculation?.selectionEnd
if (selectionStart != null && selectionEnd != null) {
val arguments = Bundle()
arguments.putInt(
AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_START_INT,
selectionStart
)
arguments.putInt(
AccessibilityNodeInfo.ACTION_ARGUMENT_SELECTION_END_INT,
selectionEnd
)
success = node.performAction(AccessibilityNodeInfo.ACTION_SET_SELECTION, arguments)
Log.d(logTag, "Update selection to $selectionStart $selectionEnd success:$success")
}
}
return success
}
override fun onAccessibilityEvent(event: AccessibilityEvent) {
}
override fun onServiceConnected() {
super.onServiceConnected()
ctx = this
val info = AccessibilityServiceInfo()
if (Build.VERSION.SDK_INT >= 33) {
info.flags = FLAG_INPUT_METHOD_EDITOR or FLAG_RETRIEVE_INTERACTIVE_WINDOWS
} else {
info.flags = FLAG_RETRIEVE_INTERACTIVE_WINDOWS
}
setServiceInfo(info)
fakeEditTextForTextStateCalculation = EditText(this)
// Size here doesn't matter, we won't show this view.
fakeEditTextForTextStateCalculation?.layoutParams = LayoutParams(100, 100)
fakeEditTextForTextStateCalculation?.onPreDraw()
val layout = fakeEditTextForTextStateCalculation?.getLayout()
Log.d(logTag, "fakeEditTextForTextStateCalculation layout:$layout")
Log.d(logTag, "onServiceConnected!")
}
@@ -232,7 +620,5 @@ class InputService : AccessibilityService() {
super.onDestroy()
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {}
override fun onInterrupt() {}
}

View File

@@ -0,0 +1,124 @@
package hbb;
import android.view.KeyEvent
import android.view.KeyCharacterMap
import hbb.MessageOuterClass.KeyboardMode
import hbb.MessageOuterClass.ControlKey
object KeyEventConverter {
fun toAndroidKeyEvent(keyEventProto: hbb.MessageOuterClass.KeyEvent): KeyEvent {
var chrValue = 0
var modifiers = 0
val keyboardMode = keyEventProto.getMode()
if (keyEventProto.hasChr()) {
if (keyboardMode == KeyboardMode.Map || keyboardMode == KeyboardMode.Translate) {
chrValue = keyEventProto.getChr()
} else {
chrValue = convertUnicodeToKeyCode(keyEventProto.getChr() as Int)
}
} else if (keyEventProto.hasControlKey()) {
chrValue = convertControlKeyToKeyCode(keyEventProto.getControlKey())
}
var modifiersList = keyEventProto.getModifiersList()
if (modifiersList != null) {
for (modifier in keyEventProto.getModifiersList()) {
val modifierValue = convertModifier(modifier)
modifiers = modifiers or modifierValue
}
}
var action = 0
if (keyEventProto.getDown()) {
action = KeyEvent.ACTION_DOWN
} else {
action = KeyEvent.ACTION_UP
}
// FIXME: The last parameter is the repeat count, not modifiers ?
// https://developer.android.com/reference/android/view/KeyEvent#KeyEvent(long,%20long,%20int,%20int,%20int)
return KeyEvent(0, 0, action, chrValue, 0, modifiers)
}
private fun convertModifier(controlKey: hbb.MessageOuterClass.ControlKey): Int {
// Add logic to map ControlKey values to Android KeyEvent key codes.
// You'll need to provide the mapping for each key.
return when (controlKey) {
ControlKey.Alt -> KeyEvent.META_ALT_ON
ControlKey.Control -> KeyEvent.META_CTRL_ON
ControlKey.CapsLock -> KeyEvent.META_CAPS_LOCK_ON
ControlKey.Meta -> KeyEvent.META_META_ON
ControlKey.NumLock -> KeyEvent.META_NUM_LOCK_ON
ControlKey.RShift -> KeyEvent.META_SHIFT_RIGHT_ON
ControlKey.Shift -> KeyEvent.META_SHIFT_ON
ControlKey.RAlt -> KeyEvent.META_ALT_RIGHT_ON
ControlKey.RControl -> KeyEvent.META_CTRL_RIGHT_ON
else -> 0 // Default to unknown.
}
}
private val tag = "KeyEventConverter"
private fun convertUnicodeToKeyCode(unicode: Int): Int {
val charMap = KeyCharacterMap.load(KeyCharacterMap.VIRTUAL_KEYBOARD)
android.util.Log.d(tag, "unicode: $unicode")
val events = charMap.getEvents(charArrayOf(unicode.toChar()))
if (events != null && events.size > 0) {
android.util.Log.d(tag, "keycode ${events[0].keyCode}")
return events[0].keyCode
}
return 0
}
private fun convertControlKeyToKeyCode(controlKey: hbb.MessageOuterClass.ControlKey): Int {
// Add logic to map ControlKey values to Android KeyEvent key codes.
// You'll need to provide the mapping for each key.
return when (controlKey) {
ControlKey.Alt -> KeyEvent.KEYCODE_ALT_LEFT
ControlKey.Backspace -> KeyEvent.KEYCODE_DEL
ControlKey.Control -> KeyEvent.KEYCODE_CTRL_LEFT
ControlKey.CapsLock -> KeyEvent.KEYCODE_CAPS_LOCK
ControlKey.Meta -> KeyEvent.KEYCODE_META_LEFT
ControlKey.NumLock -> KeyEvent.KEYCODE_NUM_LOCK
ControlKey.RShift -> KeyEvent.KEYCODE_SHIFT_RIGHT
ControlKey.Shift -> KeyEvent.KEYCODE_SHIFT_LEFT
ControlKey.RAlt -> KeyEvent.KEYCODE_ALT_RIGHT
ControlKey.RControl -> KeyEvent.KEYCODE_CTRL_RIGHT
ControlKey.DownArrow -> KeyEvent.KEYCODE_DPAD_DOWN
ControlKey.LeftArrow -> KeyEvent.KEYCODE_DPAD_LEFT
ControlKey.RightArrow -> KeyEvent.KEYCODE_DPAD_RIGHT
ControlKey.UpArrow -> KeyEvent.KEYCODE_DPAD_UP
ControlKey.End -> KeyEvent.KEYCODE_MOVE_END
ControlKey.Home -> KeyEvent.KEYCODE_MOVE_HOME
ControlKey.PageUp -> KeyEvent.KEYCODE_PAGE_UP
ControlKey.PageDown -> KeyEvent.KEYCODE_PAGE_DOWN
ControlKey.Insert -> KeyEvent.KEYCODE_INSERT
ControlKey.Escape -> KeyEvent.KEYCODE_ESCAPE
ControlKey.F1 -> KeyEvent.KEYCODE_F1
ControlKey.F2 -> KeyEvent.KEYCODE_F2
ControlKey.F3 -> KeyEvent.KEYCODE_F3
ControlKey.F4 -> KeyEvent.KEYCODE_F4
ControlKey.F5 -> KeyEvent.KEYCODE_F5
ControlKey.F6 -> KeyEvent.KEYCODE_F6
ControlKey.F7 -> KeyEvent.KEYCODE_F7
ControlKey.F8 -> KeyEvent.KEYCODE_F8
ControlKey.F9 -> KeyEvent.KEYCODE_F9
ControlKey.F10 -> KeyEvent.KEYCODE_F10
ControlKey.F11 -> KeyEvent.KEYCODE_F11
ControlKey.F12 -> KeyEvent.KEYCODE_F12
ControlKey.Space -> KeyEvent.KEYCODE_SPACE
ControlKey.Tab -> KeyEvent.KEYCODE_TAB
ControlKey.Return -> KeyEvent.KEYCODE_ENTER
ControlKey.Delete -> KeyEvent.KEYCODE_FORWARD_DEL
ControlKey.Clear -> KeyEvent.KEYCODE_CLEAR
ControlKey.Pause -> KeyEvent.KEYCODE_BREAK
ControlKey.VolumeMute -> KeyEvent.KEYCODE_VOLUME_MUTE
ControlKey.VolumeUp -> KeyEvent.KEYCODE_VOLUME_UP
ControlKey.VolumeDown -> KeyEvent.KEYCODE_VOLUME_DOWN
ControlKey.Power -> KeyEvent.KEYCODE_POWER
else -> 0 // Default to unknown.
}
}
}

View File

@@ -7,6 +7,8 @@ package com.carriez.flutter_hbb
* Inspired by [droidVNC-NG] https://github.com/bk138/droidVNC-NG
*/
import ffi.FFI
import android.content.ComponentName
import android.content.Context
import android.content.Intent
@@ -15,10 +17,20 @@ import android.os.Build
import android.os.IBinder
import android.util.Log
import android.view.WindowManager
import android.media.MediaCodecInfo
import android.media.MediaCodecInfo.CodecCapabilities.COLOR_FormatSurface
import android.media.MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420SemiPlanar
import android.media.MediaCodecList
import android.media.MediaFormat
import android.util.DisplayMetrics
import androidx.annotation.RequiresApi
import org.json.JSONArray
import org.json.JSONObject
import com.hjq.permissions.XXPermissions
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import kotlin.concurrent.thread
class MainActivity : FlutterActivity() {
@@ -30,6 +42,9 @@ class MainActivity : FlutterActivity() {
private val logTag = "mMainActivity"
private var mainService: MainService? = null
private var isAudioStart = false
private val audioRecordHandle = AudioRecordHandle(this, { false }, { isAudioStart })
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
if (MainService.isReady) {
@@ -42,6 +57,7 @@ class MainActivity : FlutterActivity() {
channelTag
)
initFlutterChannel(flutterMethodChannel!!)
thread { setCodecInfo() }
}
override fun onResume() {
@@ -217,10 +233,159 @@ class MainActivity : FlutterActivity() {
result.success(false)
}
}
GET_VALUE -> {
if (call.arguments is String) {
if (call.arguments == KEY_IS_SUPPORT_VOICE_CALL) {
result.success(isSupportVoiceCall())
} else {
result.error("-1", "No such key", null)
}
} else {
result.success(null)
}
}
"on_voice_call_started" -> {
onVoiceCallStarted()
}
"on_voice_call_closed" -> {
onVoiceCallClosed()
}
else -> {
result.error("-1", "No such method", null)
}
}
}
}
private fun setCodecInfo() {
val codecList = MediaCodecList(MediaCodecList.REGULAR_CODECS)
val codecs = codecList.codecInfos
val codecArray = JSONArray()
val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
val wh = getScreenSize(windowManager)
var w = wh.first
var h = wh.second
val align = 64
w = (w + align - 1) / align * align
h = (h + align - 1) / align * align
codecs.forEach { codec ->
val codecObject = JSONObject()
codecObject.put("name", codec.name)
codecObject.put("is_encoder", codec.isEncoder)
var hw: Boolean? = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
hw = codec.isHardwareAccelerated
} else {
// https://chromium.googlesource.com/external/webrtc/+/HEAD/sdk/android/src/java/org/webrtc/MediaCodecUtils.java#29
// https://chromium.googlesource.com/external/webrtc/+/master/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java#229
if (listOf("OMX.google.", "OMX.SEC.", "c2.android").any { codec.name.startsWith(it, true) }) {
hw = false
} else if (listOf("c2.qti", "OMX.qcom.video", "OMX.Exynos", "OMX.hisi", "OMX.MTK", "OMX.Intel", "OMX.Nvidia").any { codec.name.startsWith(it, true) }) {
hw = true
}
}
if (hw != true) {
return@forEach
}
codecObject.put("hw", hw)
var mime_type = ""
codec.supportedTypes.forEach { type ->
if (listOf("video/avc", "video/hevc").contains(type)) { // "video/x-vnd.on2.vp8", "video/x-vnd.on2.vp9", "video/av01"
mime_type = type;
}
}
if (mime_type.isNotEmpty()) {
codecObject.put("mime_type", mime_type)
val caps = codec.getCapabilitiesForType(mime_type)
if (codec.isEncoder) {
// Encoders max_height and max_width are interchangeable
if (!caps.videoCapabilities.isSizeSupported(w,h) && !caps.videoCapabilities.isSizeSupported(h,w)) {
return@forEach
}
}
codecObject.put("min_width", caps.videoCapabilities.supportedWidths.lower)
codecObject.put("max_width", caps.videoCapabilities.supportedWidths.upper)
codecObject.put("min_height", caps.videoCapabilities.supportedHeights.lower)
codecObject.put("max_height", caps.videoCapabilities.supportedHeights.upper)
val surface = caps.colorFormats.contains(COLOR_FormatSurface);
codecObject.put("surface", surface)
val nv12 = caps.colorFormats.contains(COLOR_FormatYUV420SemiPlanar)
codecObject.put("nv12", nv12)
if (!(nv12 || surface)) {
return@forEach
}
codecObject.put("min_bitrate", caps.videoCapabilities.bitrateRange.lower / 1000)
codecObject.put("max_bitrate", caps.videoCapabilities.bitrateRange.upper / 1000)
if (!codec.isEncoder) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
codecObject.put("low_latency", caps.isFeatureSupported(MediaCodecInfo.CodecCapabilities.FEATURE_LowLatency))
}
}
if (!codec.isEncoder) {
return@forEach
}
codecArray.put(codecObject)
}
}
val result = JSONObject()
result.put("version", Build.VERSION.SDK_INT)
result.put("w", w)
result.put("h", h)
result.put("codecs", codecArray)
FFI.setCodecInfo(result.toString())
}
private fun onVoiceCallStarted() {
var ok = false
mainService?.let {
ok = it.onVoiceCallStarted()
} ?: let {
isAudioStart = true
ok = audioRecordHandle.onVoiceCallStarted(null)
}
if (!ok) {
// Rarely happens, So we just add log and msgbox here.
Log.e(logTag, "onVoiceCallStarted fail")
flutterMethodChannel?.invokeMethod("msgbox", mapOf(
"type" to "custom-nook-nocancel-hasclose-error",
"title" to "Voice call",
"text" to "Failed to start voice call."))
} else {
Log.d(logTag, "onVoiceCallStarted success")
}
}
private fun onVoiceCallClosed() {
var ok = false
mainService?.let {
ok = it.onVoiceCallClosed()
} ?: let {
isAudioStart = false
ok = audioRecordHandle.onVoiceCallClosed(null)
}
if (!ok) {
// Rarely happens, So we just add log and msgbox here.
Log.e(logTag, "onVoiceCallClosed fail")
flutterMethodChannel?.invokeMethod("msgbox", mapOf(
"type" to "custom-nook-nocancel-hasclose-error",
"title" to "Voice call",
"text" to "Failed to stop voice call."))
} else {
Log.d(logTag, "onVoiceCallClosed success")
}
}
override fun onStop() {
super.onStop()
val disableFloatingWindow = FFI.getLocalOption("disable-floating-window") == "Y"
if (!disableFloatingWindow && MainService.isReady) {
startService(Intent(this, FloatingWindowService::class.java))
}
}
override fun onStart() {
super.onStart()
stopService(Intent(this, FloatingWindowService::class.java))
}
}

View File

@@ -1,5 +1,7 @@
package com.carriez.flutter_hbb
import ffi.FFI
/**
* Capture screen,get video and audio,send to rust.
* Dispatch notifications
@@ -44,7 +46,6 @@ import java.nio.ByteBuffer
import kotlin.math.max
import kotlin.math.min
const val DEFAULT_NOTIFY_TITLE = "RustDesk"
const val DEFAULT_NOTIFY_TEXT = "Service is running"
const val DEFAULT_NOTIFY_ID = 1
@@ -53,38 +54,45 @@ const val NOTIFY_ID_OFFSET = 100
const val MIME_TYPE = MediaFormat.MIMETYPE_VIDEO_VP9
// video const
const val MAX_SCREEN_SIZE = 1200
const val VIDEO_KEY_BIT_RATE = 1024_000
const val VIDEO_KEY_FRAME_RATE = 30
// audio const
const val AUDIO_ENCODING = AudioFormat.ENCODING_PCM_FLOAT // ENCODING_OPUS need API 30
const val AUDIO_SAMPLE_RATE = 48000
const val AUDIO_CHANNEL_MASK = AudioFormat.CHANNEL_IN_STEREO
class MainService : Service() {
init {
System.loadLibrary("rustdesk")
}
@Keep
@RequiresApi(Build.VERSION_CODES.N)
fun rustMouseInput(mask: Int, x: Int, y: Int) {
fun rustPointerInput(kind: Int, mask: Int, x: Int, y: Int) {
// turn on screen with LIFT_DOWN when screen off
if (!powerManager.isInteractive && mask == LIFT_DOWN) {
if (!powerManager.isInteractive && (kind == 0 || mask == LIFT_DOWN)) {
if (wakeLock.isHeld) {
Log.d(logTag,"Turn on Screen, WakeLock release")
Log.d(logTag, "Turn on Screen, WakeLock release")
wakeLock.release()
}
Log.d(logTag,"Turn on Screen")
wakeLock.acquire(5000)
} else {
InputService.ctx?.onMouseInput(mask,x,y)
when (kind) {
0 -> { // touch
InputService.ctx?.onTouchInput(mask, x, y)
}
1 -> { // mouse
InputService.ctx?.onMouseInput(mask, x, y)
}
else -> {
}
}
}
}
@Keep
@RequiresApi(Build.VERSION_CODES.N)
fun rustKeyEventInput(input: ByteArray) {
InputService.ctx?.onKeyEvent(input)
}
@Keep
fun rustGetByName(name: String): String {
return when (name) {
@@ -95,6 +103,9 @@ class MainService : Service() {
put("scale",SCREEN_INFO.scale)
}.toString()
}
"is_start" -> {
isStart.toString()
}
else -> ""
}
}
@@ -127,10 +138,51 @@ class MainService : Service() {
e.printStackTrace()
}
}
"update_voice_call_state" -> {
try {
val jsonObject = JSONObject(arg1)
val id = jsonObject["id"] as Int
val username = jsonObject["name"] as String
val peerId = jsonObject["peer_id"] as String
val inVoiceCall = jsonObject["in_voice_call"] as Boolean
val incomingVoiceCall = jsonObject["incoming_voice_call"] as Boolean
if (!inVoiceCall) {
if (incomingVoiceCall) {
voiceCallRequestNotification(id, "Voice Call Request", username, peerId)
} else {
if (!audioRecordHandle.switchOutVoiceCall(mediaProjection)) {
Log.e(logTag, "switchOutVoiceCall fail")
MainActivity.flutterMethodChannel?.invokeMethod("msgbox", mapOf(
"type" to "custom-nook-nocancel-hasclose-error",
"title" to "Voice call",
"text" to "Failed to switch out voice call."))
}
}
} else {
if (!audioRecordHandle.switchToVoiceCall(mediaProjection)) {
Log.e(logTag, "switchToVoiceCall fail")
MainActivity.flutterMethodChannel?.invokeMethod("msgbox", mapOf(
"type" to "custom-nook-nocancel-hasclose-error",
"title" to "Voice call",
"text" to "Failed to switch to voice call."))
}
}
} catch (e: JSONException) {
e.printStackTrace()
}
}
"stop_capture" -> {
Log.d(logTag, "from rust:stop_capture")
stopCapture()
}
"half_scale" -> {
val halfScale = arg1.toBoolean()
if (isHalfScale != halfScale) {
isHalfScale = halfScale
updateScreenInfo(resources.configuration.orientation)
}
}
else -> {
}
}
@@ -142,38 +194,23 @@ class MainService : Service() {
private val powerManager: PowerManager by lazy { applicationContext.getSystemService(Context.POWER_SERVICE) as PowerManager }
private val wakeLock: PowerManager.WakeLock by lazy { powerManager.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP or PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "rustdesk:wakelock")}
// jvm call rust
private external fun init(ctx: Context)
/// When app start on boot, app_dir will not be passed from flutter
/// so pass a app_dir here to rust server
private external fun startServer(app_dir: String)
private external fun startService()
private external fun onVideoFrameUpdate(buf: ByteBuffer)
private external fun onAudioFrameUpdate(buf: ByteBuffer)
private external fun translateLocale(localeName: String, input: String): String
private external fun refreshScreen()
private external fun setFrameRawEnable(name: String, value: Boolean)
// private external fun sendVp9(data: ByteArray)
private fun translate(input: String): String {
Log.d(logTag, "translate:$LOCAL_NAME")
return translateLocale(LOCAL_NAME, input)
}
companion object {
private var _isReady = false // media permission ready status
private var _isStart = false // screen capture start status
private var _isAudioStart = false // audio capture start status
val isReady: Boolean
get() = _isReady
val isStart: Boolean
get() = _isStart
val isAudioStart: Boolean
get() = _isAudioStart
}
private val logTag = "LOG_SERVICE"
private val useVP9 = false
private val binder = LocalBinder()
private var reuseVirtualDisplay = Build.VERSION.SDK_INT > 33
// video
private var mediaProjection: MediaProjection? = null
@@ -184,10 +221,7 @@ class MainService : Service() {
private var virtualDisplay: VirtualDisplay? = null
// audio
private var audioRecorder: AudioRecord? = null
private var audioReader: AudioReader? = null
private var minBufferSize = 0
private var audioRecordStat = false
private val audioRecordHandle = AudioRecordHandle(this, { isStart }, { isAudioStart })
// notification
private lateinit var notificationManager: NotificationManager
@@ -196,7 +230,8 @@ class MainService : Service() {
override fun onCreate() {
super.onCreate()
Log.d(logTag,"MainService onCreate")
Log.d(logTag,"MainService onCreate, sdk int:${Build.VERSION.SDK_INT} reuseVirtualDisplay:$reuseVirtualDisplay")
FFI.init(this)
HandlerThread("Service", Process.THREAD_PRIORITY_BACKGROUND).apply {
start()
serviceLooper = looper
@@ -208,16 +243,18 @@ class MainService : Service() {
// keep the config dir same with flutter
val prefs = applicationContext.getSharedPreferences(KEY_SHARED_PREFERENCES, FlutterActivity.MODE_PRIVATE)
val configPath = prefs.getString(KEY_APP_DIR_CONFIG_PATH, "") ?: ""
startServer(configPath)
FFI.startServer(configPath, "")
createForegroundNotification()
}
override fun onDestroy() {
checkMediaPermission()
stopService(Intent(this, FloatingWindowService::class.java))
super.onDestroy()
}
private var isHalfScale: Boolean? = null;
private fun updateScreenInfo(orientation: Int) {
var w: Int
var h: Int
@@ -250,7 +287,7 @@ class MainService : Service() {
Log.d(logTag,"updateScreenInfo:w:$w,h:$h")
var scale = 1
if (w != 0 && h != 0) {
if (w > MAX_SCREEN_SIZE || h > MAX_SCREEN_SIZE) {
if (isHalfScale == true && (w > MAX_SCREEN_SIZE || h > MAX_SCREEN_SIZE)) {
scale = 2
w /= scale
h /= scale
@@ -263,7 +300,7 @@ class MainService : Service() {
SCREEN_INFO.dpi = dpi
if (isStart) {
stopCapture()
refreshScreen()
FFI.refreshScreen()
startCapture()
}
}
@@ -291,7 +328,7 @@ class MainService : Service() {
createForegroundNotification()
if (intent.getBooleanExtra(EXT_INIT_FROM_BOOT, false)) {
startService()
FFI.startService()
}
Log.d(logTag, "service starting: ${startId}:${Thread.currentThread()}")
val mediaProjectionManager =
@@ -301,7 +338,6 @@ class MainService : Service() {
mediaProjection =
mediaProjectionManager.getMediaProjection(Activity.RESULT_OK, it)
checkMediaPermission()
init(this)
_isReady = true
} ?: let {
Log.d(logTag, "getParcelableExtra intent null, invoke requestMediaProjection")
@@ -340,12 +376,13 @@ class MainService : Service() {
).apply {
setOnImageAvailableListener({ imageReader: ImageReader ->
try {
// If not call acquireLatestImage, listener will not be called again
imageReader.acquireLatestImage().use { image ->
if (image == null) return@setOnImageAvailableListener
if (image == null || !isStart) return@setOnImageAvailableListener
val planes = image.planes
val buffer = planes[0].buffer
buffer.rewind()
onVideoFrameUpdate(buffer)
FFI.onVideoFrameUpdate(buffer)
}
} catch (ignored: java.lang.Exception) {
}
@@ -356,6 +393,14 @@ class MainService : Service() {
}
}
fun onVoiceCallStarted(): Boolean {
return audioRecordHandle.onVoiceCallStarted(mediaProjection)
}
fun onVoiceCallClosed(): Boolean {
return audioRecordHandle.onVoiceCallClosed(mediaProjection)
}
fun startCapture(): Boolean {
if (isStart) {
return true
@@ -364,6 +409,7 @@ class MainService : Service() {
Log.w(logTag, "startCapture fail,mediaProjection is null")
return false
}
updateScreenInfo(resources.configuration.orientation)
Log.d(logTag, "Start Capture")
surface = createSurface()
@@ -375,51 +421,71 @@ class MainService : Service() {
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
startAudioRecorder()
if (!audioRecordHandle.createAudioRecorder(false, mediaProjection)) {
Log.d(logTag, "createAudioRecorder fail")
} else {
Log.d(logTag, "audio recorder start")
audioRecordHandle.startAudioRecorder()
}
}
checkMediaPermission()
_isStart = true
setFrameRawEnable("video",true)
setFrameRawEnable("audio",true)
FFI.setFrameRawEnable("video",true)
return true
}
@Synchronized
fun stopCapture() {
Log.d(logTag, "Stop Capture")
setFrameRawEnable("video",false)
setFrameRawEnable("audio",false)
FFI.setFrameRawEnable("video",false)
_isStart = false
// release video
virtualDisplay?.release()
surface?.release()
if (reuseVirtualDisplay) {
// The virtual display video projection can be paused by calling `setSurface(null)`.
// https://developer.android.com/reference/android/hardware/display/VirtualDisplay.Callback
// https://learn.microsoft.com/en-us/dotnet/api/android.hardware.display.virtualdisplay.callback.onpaused?view=net-android-34.0
virtualDisplay?.setSurface(null)
} else {
virtualDisplay?.release()
}
// suface needs to be release after `imageReader.close()` to imageReader access released surface
// https://github.com/rustdesk/rustdesk/issues/4118#issuecomment-1515666629
imageReader?.close()
imageReader = null
videoEncoder?.let {
it.signalEndOfInputStream()
it.stop()
it.release()
}
virtualDisplay = null
if (!reuseVirtualDisplay) {
virtualDisplay = null
}
videoEncoder = null
// suface needs to be release after `imageReader.close()` to imageReader access released surface
// https://github.com/rustdesk/rustdesk/issues/4118#issuecomment-1515666629
surface?.release()
// release audio
audioRecordStat = false
audioRecorder?.release()
audioRecorder = null
minBufferSize = 0
_isAudioStart = false
audioRecordHandle.tryReleaseAudio()
}
fun destroy() {
Log.d(logTag, "destroy service")
_isReady = false
_isAudioStart = false
stopCapture()
imageReader?.close()
imageReader = null
if (reuseVirtualDisplay) {
virtualDisplay?.release()
virtualDisplay = null
}
mediaProjection = null
checkMediaPermission()
stopForeground(true)
stopService(Intent(this, FloatingWindowService::class.java))
stopSelf()
}
@@ -445,11 +511,7 @@ class MainService : Service() {
Log.d(logTag, "startRawVideoRecorder failed,surface is null")
return
}
virtualDisplay = mp.createVirtualDisplay(
"RustDeskVD",
SCREEN_INFO.width, SCREEN_INFO.height, SCREEN_INFO.dpi, VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
surface, null, null
)
createOrSetVirtualDisplay(mp, surface!!)
}
private fun startVP9VideoRecorder(mp: MediaProjection) {
@@ -461,11 +523,28 @@ class MainService : Service() {
}
it.setCallback(cb)
it.start()
virtualDisplay = mp.createVirtualDisplay(
"RustDeskVD",
SCREEN_INFO.width, SCREEN_INFO.height, SCREEN_INFO.dpi, VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
surface, null, null
)
createOrSetVirtualDisplay(mp, surface!!)
}
}
// https://github.com/bk138/droidVNC-NG/blob/b79af62db5a1c08ed94e6a91464859ffed6f4e97/app/src/main/java/net/christianbeier/droidvnc_ng/MediaProjectionService.java#L250
// Reuse virtualDisplay if it exists, to avoid media projection confirmation dialog every connection.
private fun createOrSetVirtualDisplay(mp: MediaProjection, s: Surface) {
try {
virtualDisplay?.let {
it.resize(SCREEN_INFO.width, SCREEN_INFO.height, SCREEN_INFO.dpi)
it.setSurface(s)
} ?: let {
virtualDisplay = mp.createVirtualDisplay(
"RustDeskVD",
SCREEN_INFO.width, SCREEN_INFO.height, SCREEN_INFO.dpi, VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR,
s, null, null
)
}
} catch (e: SecurityException) {
Log.w(logTag, "createOrSetVirtualDisplay: got SecurityException, re-requesting confirmation");
// This initiates a prompt dialog for the user to confirm screen projection.
requestMediaProjection()
}
}
@@ -493,7 +572,6 @@ class MainService : Service() {
}
}
private fun createMediaCodec() {
Log.d(logTag, "MediaFormat.MIMETYPE_VIDEO_VP9 :$MIME_TYPE")
videoEncoder = MediaCodec.createEncoderByType(MIME_TYPE)
@@ -513,76 +591,6 @@ class MainService : Service() {
}
}
@RequiresApi(Build.VERSION_CODES.M)
private fun startAudioRecorder() {
checkAudioRecorder()
if (audioReader != null && audioRecorder != null && minBufferSize != 0) {
try {
audioRecorder!!.startRecording()
audioRecordStat = true
thread {
while (audioRecordStat) {
audioReader!!.readSync(audioRecorder!!)?.let {
onAudioFrameUpdate(it)
}
}
Log.d(logTag, "Exit audio thread")
}
} catch (e: Exception) {
Log.d(logTag, "startAudioRecorder fail:$e")
}
} else {
Log.d(logTag, "startAudioRecorder fail")
}
}
@RequiresApi(Build.VERSION_CODES.M)
private fun checkAudioRecorder() {
if (audioRecorder != null && audioRecorder != null && minBufferSize != 0) {
return
}
// read f32 to byte , length * 4
minBufferSize = 2 * 4 * AudioRecord.getMinBufferSize(
AUDIO_SAMPLE_RATE,
AUDIO_CHANNEL_MASK,
AUDIO_ENCODING
)
if (minBufferSize == 0) {
Log.d(logTag, "get min buffer size fail!")
return
}
audioReader = AudioReader(minBufferSize, 4)
Log.d(logTag, "init audioData len:$minBufferSize")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
mediaProjection?.let {
val apcc = AudioPlaybackCaptureConfiguration.Builder(it)
.addMatchingUsage(AudioAttributes.USAGE_MEDIA)
.addMatchingUsage(AudioAttributes.USAGE_ALARM)
.addMatchingUsage(AudioAttributes.USAGE_GAME)
.addMatchingUsage(AudioAttributes.USAGE_UNKNOWN).build()
if (ActivityCompat.checkSelfPermission(
this,
Manifest.permission.RECORD_AUDIO
) != PackageManager.PERMISSION_GRANTED
) {
return
}
audioRecorder = AudioRecord.Builder()
.setAudioFormat(
AudioFormat.Builder()
.setEncoding(AUDIO_ENCODING)
.setSampleRate(AUDIO_SAMPLE_RATE)
.setChannelMask(AUDIO_CHANNEL_MASK).build()
)
.setAudioPlaybackCaptureConfig(apcc)
.setBufferSizeInBytes(minBufferSize).build()
Log.d(logTag, "createAudioRecorder done,minBufferSize:$minBufferSize")
return
}
}
Log.d(logTag, "createAudioRecorder fail")
}
private fun initNotification() {
notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
notificationChannel = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -667,6 +675,21 @@ class MainService : Service() {
notificationManager.notify(getClientNotifyID(clientID), notification)
}
private fun voiceCallRequestNotification(
clientID: Int,
type: String,
username: String,
peerId: String
) {
val notification = notificationBuilder
.setOngoing(false)
.setPriority(NotificationCompat.PRIORITY_MAX)
.setContentTitle(translate("Do you accept?"))
.setContentText("$type:$username-$peerId")
.build()
notificationManager.notify(getClientNotifyID(clientID), notification)
}
private fun getClientNotifyID(clientID: Int): Int {
return clientID + NOTIFY_ID_OFFSET
}

View File

@@ -0,0 +1,78 @@
package com.carriez.flutter_hbb
// Inspired by https://github.com/yosemiteyss/flutter_volume_controller/blob/main/android/src/main/kotlin/com/yosemiteyss/flutter_volume_controller/VolumeController.kt
import android.media.AudioManager
import android.os.Build
import android.util.Log
class VolumeController(private val audioManager: AudioManager) {
private val logTag = "volume controller"
fun getVolume(streamType: Int): Double {
val current = audioManager.getStreamVolume(streamType)
val max = audioManager.getStreamMaxVolume(streamType)
return current.toDouble() / max
}
fun setVolume(volume: Double, showSystemUI: Boolean, streamType: Int) {
val max = audioManager.getStreamMaxVolume(streamType)
audioManager.setStreamVolume(
streamType,
(max * volume).toInt(),
if (showSystemUI) AudioManager.FLAG_SHOW_UI else 0
)
}
fun raiseVolume(step: Double?, showSystemUI: Boolean, streamType: Int) {
if (step == null) {
audioManager.adjustStreamVolume(
streamType,
AudioManager.ADJUST_RAISE,
if (showSystemUI) AudioManager.FLAG_SHOW_UI else 0
)
} else {
val target = getVolume(streamType) + step
setVolume(target, showSystemUI, streamType)
}
}
fun lowerVolume(step: Double?, showSystemUI: Boolean, streamType: Int) {
if (step == null) {
audioManager.adjustStreamVolume(
streamType,
AudioManager.ADJUST_LOWER,
if (showSystemUI) AudioManager.FLAG_SHOW_UI else 0
)
} else {
val target = getVolume(streamType) - step
setVolume(target, showSystemUI, streamType)
}
}
fun getMute(streamType: Int): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
audioManager.isStreamMute(streamType)
} else {
audioManager.getStreamVolume(streamType) == 0
}
}
private fun setMute(isMuted: Boolean, showSystemUI: Boolean, streamType: Int) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
audioManager.adjustStreamVolume(
streamType,
if (isMuted) AudioManager.ADJUST_MUTE else AudioManager.ADJUST_UNMUTE,
if (showSystemUI) AudioManager.FLAG_SHOW_UI else 0
)
} else {
audioManager.setStreamMute(streamType, isMuted)
}
}
fun toggleMute(showSystemUI: Boolean, streamType: Int) {
val isMuted = getMute(streamType)
setMute(!isMuted, showSystemUI, streamType)
}
}

View File

@@ -15,10 +15,14 @@ import android.os.Looper
import android.os.PowerManager
import android.provider.Settings
import android.provider.Settings.*
import android.util.DisplayMetrics
import android.util.Log
import android.view.WindowManager
import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat.getSystemService
import com.hjq.permissions.Permission
import com.hjq.permissions.XXPermissions
import ffi.FFI
import java.nio.ByteBuffer
import java.util.*
@@ -43,6 +47,9 @@ const val START_ACTION = "start_action"
const val GET_START_ON_BOOT_OPT = "get_start_on_boot_opt"
const val SET_START_ON_BOOT_OPT = "set_start_on_boot_opt"
const val SYNC_APP_DIR_CONFIG_PATH = "sync_app_dir"
const val GET_VALUE = "get_value"
const val KEY_IS_SUPPORT_VOICE_CALL = "KEY_IS_SUPPORT_VOICE_CALL"
const val KEY_SHARED_PREFERENCES = "KEY_SHARED_PREFERENCES"
const val KEY_START_ON_BOOT_OPT = "KEY_START_ON_BOOT_OPT"
@@ -56,6 +63,11 @@ data class Info(
var width: Int, var height: Int, var scale: Int, var dpi: Int
)
fun isSupportVoiceCall(): Boolean {
// https://developer.android.com/reference/android/media/MediaRecorder.AudioSource#VOICE_COMMUNICATION
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.R
}
fun requestPermission(context: Context, type: String) {
XXPermissions.with(context)
.permission(type)
@@ -120,3 +132,26 @@ class AudioReader(val bufSize: Int, private val maxFrames: Int) {
}
}
}
fun getScreenSize(windowManager: WindowManager) : Pair<Int, Int>{
var w = 0
var h = 0
@Suppress("DEPRECATION")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val m = windowManager.maximumWindowMetrics
w = m.bounds.width()
h = m.bounds.height()
} else {
val dm = DisplayMetrics()
windowManager.defaultDisplay.getRealMetrics(dm)
w = dm.widthPixels
h = dm.heightPixels
}
return Pair(w, h)
}
fun translate(input: String): String {
Log.d("common", "translate:$LOCAL_NAME")
return FFI.translateLocale(LOCAL_NAME, input)
}

View File

@@ -0,0 +1,23 @@
// ffi.kt
package ffi
import android.content.Context
import java.nio.ByteBuffer
object FFI {
init {
System.loadLibrary("rustdesk")
}
external fun init(ctx: Context)
external fun startServer(app_dir: String, custom_client_config: String)
external fun startService()
external fun onVideoFrameUpdate(buf: ByteBuffer)
external fun onAudioFrameUpdate(buf: ByteBuffer)
external fun translateLocale(localeName: String, input: String): String
external fun refreshScreen()
external fun setFrameRawEnable(name: String, value: Boolean)
external fun setCodecInfo(info: String)
external fun getLocalOption(key: String): String
}

View File

@@ -0,0 +1,7 @@
<vector xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android" android:height="320dp" android:viewportHeight="32" android:viewportWidth="32" android:width="320dp">
<path android:fillColor="#ffffff" android:pathData="M16,0L16,0A16,16 0,0 1,32 16L32,16A16,16 0,0 1,16 32L16,32A16,16 0,0 1,0 16L0,16A16,16 0,0 1,16 0z" android:strokeColor="#00000000" android:strokeWidth="1"/>
<path android:fillColor="#1a1a1a" android:pathData="m23.89,10.135 l-1.807,1.795c-0.318,0.285 -0.472,0.744 -0.293,1.131 1.204,2.518 0.747,5.52 -1.228,7.494 -1.976,1.973 -4.981,2.429 -7.502,1.226 -0.371,-0.166 -0.807,-0.025 -1.093,0.265l-1.836,1.833c-0.216,0.211 -0.322,0.51 -0.288,0.809 0.034,0.3 0.206,0.567 0.463,0.723 4.326,2.618 9.882,1.951 13.463,-1.618 3.581,-3.568 4.264,-9.115 1.655,-13.443 -0.15,-0.263 -0.414,-0.442 -0.714,-0.484 -0.3,-0.043 -0.603,0.058 -0.819,0.269zM8.265,8.184c-3.599,3.554 -4.304,9.103 -1.709,13.441 0.15,0.264 0.413,0.443 0.714,0.485 0.3,0.042 0.603,-0.058 0.82,-0.27l1.797,-1.785c0.325,-0.285 0.484,-0.749 0.303,-1.141 -1.204,-2.518 -0.748,-5.52 1.228,-7.493 1.975,-1.973 4.981,-2.429 7.502,-1.227 0.367,0.165 0.797,0.028 1.084,-0.254l1.846,-1.844c0.216,-0.211 0.322,-0.509 0.288,-0.809 -0.035,-0.299 -0.206,-0.566 -0.463,-0.723 -4.334,-2.596 -9.881,-1.908 -13.448,1.668z" android:strokeWidth="0.987992"/>
</vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -1,5 +1,6 @@
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeWindowsChanged"
android:canRetrieveWindowContent="true"
android:accessibilityFlags="flagDefault"
android:notificationTimeout="50"
android:description="@string/accessibility_service_description"

View File

@@ -1,5 +1,5 @@
buildscript {
ext.kotlin_version = '1.7.10'
ext.kotlin_version = '1.9.10'
repositories {
google()
jcenter()

View File

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="256" height="236" preserveAspectRatio="xMidYMid"><path fill="#e24329" d="m128.075 236.075 47.104-144.97H80.97z"/><path fill="#fc6d26" d="M128.075 236.074 80.97 91.104H14.956z"/><path fill="#fca326" d="M14.956 91.104.642 135.16a9.752 9.752 0 0 0 3.542 10.903l123.891 90.012z"/><path fill="#e24329" d="M14.956 91.105H80.97L52.601 3.79c-1.46-4.493-7.816-4.492-9.275 0z"/><path fill="#fc6d26" d="m128.075 236.074 47.104-144.97h66.015z"/><path fill="#fca326" d="m241.194 91.104 14.314 44.056a9.752 9.752 0 0 1-3.543 10.903l-123.89 90.012z"/><path fill="#e24329" d="M241.194 91.105h-66.015l28.37-87.315c1.46-4.493 7.816-4.492 9.275 0z"/></svg>

After

Width:  |  Height:  |  Size: 684 B

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1696255389449" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1922" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M435.2 704c-9 0-17.8-3.8-23.8-10.6l-115.2-128c-11.8-13.2-10.8-33.4 2.4-45.2 13.2-11.8 33.4-10.8 45.2 2.4l90.6 100.6 245.2-291.8c11.4-13.6 31.6-15.2 45-4 13.6 11.4 15.2 31.6 4 45l-268.8 320c-6 7-14.6 11.2-24 11.4-0.2 0.2-0.4 0.2-0.6 0.2z" p-id="1923"></path><path d="M800 928H224c-70.6 0-128-57.4-128-128V224c0-70.6 57.4-128 128-128h576c70.6 0 128 57.4 128 128v576c0 70.6-57.4 128-128 128zM224 160c-35.2 0-64 28.8-64 64v576c0 35.2 28.8 64 64 64h576c35.2 0 64-28.8 64-64V224c0-35.2-28.8-64-64-64H224z" p-id="1924"></path></svg>

After

Width:  |  Height:  |  Size: 856 B

Binary file not shown.

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1696245886035" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4133" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 132.717714c-9.435429 0-18.852571 3.84-29.147429 12.434286L194.011429 379.574857c-7.277714 6.418286-11.556571 15.433143-11.556572 28.288 0 22.272 16.713143 39.003429 39.424 39.003429 8.996571 0 18.432-3.437714 28.288-11.154286L512 222.281143l261.851429 213.430857c9.874286 7.716571 19.291429 11.154286 28.708571 11.154286 22.308571 0 39.003429-16.731429 39.003429-39.003429 0-12.854857-4.278857-21.869714-11.556572-28.288L541.147429 144.713143c-10.294857-8.137143-19.291429-11.995429-29.147429-11.995429z m0 758.564572c9.856 0 18.852571-3.84 29.147429-11.995429L829.988571 644.425143c7.277714-6.418286 11.556571-15.433143 11.556572-28.288 0-22.272-16.713143-39.424-38.985143-39.424-9.435429 0-18.870857 3.858286-28.708571 11.574857L512 801.718857 250.148571 588.288c-9.874286-7.716571-19.291429-11.574857-28.288-11.574857-22.710857 0-39.424 17.152-39.424 39.424 0 12.854857 4.278857 21.869714 11.556572 28.288l288.859428 234.422857c10.294857 8.594286 19.712 12.434286 29.147429 12.434286z" p-id="4134"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1694049173782" class="icon" viewBox="0 0 1024 1024" width="24" height="24" fill="#fff" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="992" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M891.64 184.73H620.41c-27.41 0-54.41-7.77-77.32-22.5L428.13 87.36C402.77 71 372.91 62 342.64 62H131.95C93.5 62 62 93.5 62 132.36v759.68C62 930.91 93.5 962 131.95 962h759.68c38.86 0 70.36-31.09 70.36-69.96V255.09c0.01-38.86-31.49-70.36-70.35-70.36zM480.5 753.77c0 16.77-13.5 30.68-30.68 30.68-16.77 0-30.68-13.91-30.68-30.68V523.04l-31.91 55.64c-8.59 14.32-27.41 19.64-42.14 11.04-14.32-8.59-19.64-27.41-11.05-41.73l89.18-154.64c6.96-12.27 21.27-18 34.77-14.32 13.09 3.27 22.5 15.55 22.5 29.45v345.29z m209.04-139.5l-89.18 154.64c-5.32 9.82-15.55 15.55-26.59 15.55-2.46 0-5.32-0.41-7.77-1.23-13.5-3.68-22.91-15.55-22.91-29.46V408.5c0-16.77 13.91-30.68 30.68-30.68 17.18 0 30.68 13.91 30.68 30.68v230.73l31.91-55.64c8.59-14.73 27.41-19.64 42.14-11.05 14.73 8.6 19.64 27.01 11.04 41.73z" p-id="993"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

BIN
flutter/assets/scam.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

View File

@@ -1 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="0 0 1024 1024"><path d="M608 160c141.16 0 256 114.84 256 256 0 17.67 14.33 32 32 32s32-14.33 32-32c0-85.48-33.29-165.83-93.73-226.27C773.83 129.29 693.47 96 608 96c-17.67 0-32 14.33-32 32s14.33 32 32 32zm-24 168c61.76 0 112 50.24 112 112 0 17.67 14.33 32 32 32s32-14.33 32-32c0-97.05-78.95-176-176-176-17.67 0-32 14.33-32 32s14.33 32 32 32z"/><path d="M808.3 561.21c-12.76-3.83-25.7-6.2-38.46-7.03-60.3-4.5-116.45 18.9-146.55 61.08-22.6 31.67-45.66 50.01-68.52 54.5-17.71 3.48-33.12-1.7-45.49-5.85-2.66-.9-5.18-1.74-7.68-2.49-93.84-28.17-156.49-108.42-155.9-199.7.16-24.14 16.38-45.98 42.34-56.99 43.75-18.56 77.35-54 92.17-97.22 7.02-20.48 9.65-41.57 7.8-62.68-2.66-31.78-15.1-61.85-35.96-86.96-21.1-25.39-49.51-44-82.16-53.8-4.07-1.22-8.22-2.31-12.35-3.23-30.63-6.87-62.7-4.49-92.73 6.88-29.24 11.07-54.56 29.86-73.23 54.33a476.073 476.073 0 0 0-36.42 55.34 477.675 477.675 0 0 0-17.24 33.81C109.84 312.17 95.73 376.76 96 443.15c.26 63.78 13.7 126.26 39.95 185.7 27.55 62.39 69.3 119.84 120.74 166.11 54.14 48.71 117.6 84.85 188.63 107.4C499.02 919.41 554.33 928 610.21 928c10.99 0 22.01-.33 33.03-1 17.64-1.07 31.08-16.23 30.01-33.87-1.07-17.64-16.22-31.08-33.87-30.01-59.19 3.57-117.96-3.75-174.69-21.76C342.78 802.66 244.31 715.78 194.5 603c-46.76-105.9-46.21-221.33 1.55-325.03 4.55-9.87 9.57-19.72 14.92-29.26 9.29-16.54 19.89-32.64 31.5-47.86 23.47-30.77 64.09-45.87 101.07-37.58 2.66.6 5.33 1.3 7.95 2.08 40.93 12.29 69.48 45.6 72.75 84.86 0 .05.01.1.01.15 1.07 12.15-.47 24.39-4.58 36.37-8.94 26.06-29.58 47.59-56.63 59.07-23.58 10.01-43.63 25.72-57.99 45.45-15.12 20.78-23.2 45-23.36 70.05-.37 57.15 19 114.29 54.53 160.91 36.46 47.83 87.28 82.58 146.96 100.49 1.5.45 3.44 1.1 5.69 1.86 29.79 10.01 108.9 36.59 186.49-72.13 16.95-23.75 52.2-37.26 89.81-34.42l.36.03c7.97.51 16.17 2.02 24.34 4.47 22.12 6.64 42.04 25.38 56.11 52.77 16.97 33.04 21.71 72.53 12.1 100.56l-.16.47c-5.54 16.05-17.78 29.48-34.47 37.8-15.82 7.89-22.24 27.1-14.36 42.92s27.1 22.24 42.92 14.36c31.78-15.85 55.36-42.19 66.41-74.2l.18-.53c15.23-44.4 9.22-102.11-15.68-150.61-22.07-43.02-55.68-73.15-94.62-84.84z"/></svg>
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" class="icon" viewBox="-186 -186 1365 1365"><path d="M608 160c141.16 0 256 114.84 256 256 0 17.67 14.33 32 32 32s32-14.33 32-32c0-85.48-33.29-165.83-93.73-226.27C773.83 129.29 693.47 96 608 96c-17.67 0-32 14.33-32 32s14.33 32 32 32zm-24 168c61.76 0 112 50.24 112 112 0 17.67 14.33 32 32 32s32-14.33 32-32c0-97.05-78.95-176-176-176-17.67 0-32 14.33-32 32s14.33 32 32 32z"/><path d="M808.3 561.21c-12.76-3.83-25.7-6.2-38.46-7.03-60.3-4.5-116.45 18.9-146.55 61.08-22.6 31.67-45.66 50.01-68.52 54.5-17.71 3.48-33.12-1.7-45.49-5.85-2.66-.9-5.18-1.74-7.68-2.49-93.84-28.17-156.49-108.42-155.9-199.7.16-24.14 16.38-45.98 42.34-56.99 43.75-18.56 77.35-54 92.17-97.22 7.02-20.48 9.65-41.57 7.8-62.68-2.66-31.78-15.1-61.85-35.96-86.96-21.1-25.39-49.51-44-82.16-53.8-4.07-1.22-8.22-2.31-12.35-3.23-30.63-6.87-62.7-4.49-92.73 6.88-29.24 11.07-54.56 29.86-73.23 54.33a476.073 476.073 0 0 0-36.42 55.34 477.675 477.675 0 0 0-17.24 33.81C109.84 312.17 95.73 376.76 96 443.15c.26 63.78 13.7 126.26 39.95 185.7 27.55 62.39 69.3 119.84 120.74 166.11 54.14 48.71 117.6 84.85 188.63 107.4C499.02 919.41 554.33 928 610.21 928c10.99 0 22.01-.33 33.03-1 17.64-1.07 31.08-16.23 30.01-33.87-1.07-17.64-16.22-31.08-33.87-30.01-59.19 3.57-117.96-3.75-174.69-21.76C342.78 802.66 244.31 715.78 194.5 603c-46.76-105.9-46.21-221.33 1.55-325.03 4.55-9.87 9.57-19.72 14.92-29.26 9.29-16.54 19.89-32.64 31.5-47.86 23.47-30.77 64.09-45.87 101.07-37.58 2.66.6 5.33 1.3 7.95 2.08 40.93 12.29 69.48 45.6 72.75 84.86 0 .05.01.1.01.15 1.07 12.15-.47 24.39-4.58 36.37-8.94 26.06-29.58 47.59-56.63 59.07-23.58 10.01-43.63 25.72-57.99 45.45-15.12 20.78-23.2 45-23.36 70.05-.37 57.15 19 114.29 54.53 160.91 36.46 47.83 87.28 82.58 146.96 100.49 1.5.45 3.44 1.1 5.69 1.86 29.79 10.01 108.9 36.59 186.49-72.13 16.95-23.75 52.2-37.26 89.81-34.42l.36.03c7.97.51 16.17 2.02 24.34 4.47 22.12 6.64 42.04 25.38 56.11 52.77 16.97 33.04 21.71 72.53 12.1 100.56l-.16.47c-5.54 16.05-17.78 29.48-34.47 37.8-15.82 7.89-22.24 27.1-14.36 42.92s27.1 22.24 42.92 14.36c31.78-15.85 55.36-42.19 66.41-74.2l.18-.53c15.23-44.4 9.22-102.11-15.68-150.61-22.07-43.02-55.68-73.15-94.62-84.84z"/></svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,13 +1,17 @@
#!/bin/bash
# Build libyuv / opus / libvpx / oboe for Android
set -e -o pipefail
ANDROID_ABI=$1
# Build RustDesk dependencies for Android using vcpkg.json
# Required:
# 1. set VCPKG_ROOT / ANDROID_NDK path environment variables
# 2. vcpkg initialized
# 3. ndk, version: 22 (if ndk < 22 you need to change LD as `export LD=$TOOLCHAIN/bin/$NDK_LLVM_TARGET-ld`)
# 3. ndk, version: r25c or newer
if [ -z "$ANDROID_NDK" ]; then
echo "Failed! Please set ANDROID_NDK"
if [ -z "$ANDROID_NDK_HOME" ]; then
echo "Failed! Please set ANDROID_NDK_HOME"
exit 1
fi
@@ -18,107 +22,66 @@ fi
API_LEVEL="21"
# Get directory of this script
SCRIPTDIR="$(readlink -f "$0")"
SCRIPTDIR="$(dirname "$SCRIPTDIR")"
# Check if vcpkg.json is one level up - in root directory of RD
if [ ! -f "$SCRIPTDIR/../vcpkg.json" ]; then
echo "Failed! Please check where vcpkg.json is!"
exit 1
fi
# NDK llvm toolchain
HOST_TAG="linux-x86_64" # current platform, set as `ls $ANDROID_NDK/toolchains/llvm/prebuilt/`
TOOLCHAIN=$ANDROID_NDK/toolchains/llvm/prebuilt/$HOST_TAG
function build {
ANDROID_ABI=$1
VCPKG_TARGET=$2
NDK_LLVM_TARGET=$3
LIBVPX_TARGET=$4
PREFIX=$VCPKG_ROOT/installed/$VCPKG_TARGET/
case "$ANDROID_ABI" in
arm64-v8a)
ABI=aarch64-linux-android$API_LEVEL
VCPKG_TARGET=arm64-android
;;
armeabi-v7a)
ABI=armv7a-linux-androideabi$API_LEVEL
VCPKG_TARGET=arm-neon-android
;;
x86_64)
ABI=x86_64-linux-android$API_LEVEL
VCPKG_TARGET=x64-android
;;
x86)
ABI=i686-linux-android$API_LEVEL
VCPKG_TARGET=x86-android
;;
*)
echo "ERROR: ANDROID_ABI must be one of: arm64-v8a, armeabi-v7a, x86_64, x86" >&2
return 1
esac
# 1
echo "*** [$ANDROID_ABI][Start] Build opus / libyuv from vcpkg"
export ANDROID_NDK_HOME=$ANDROID_NDK
pushd $VCPKG_ROOT
$VCPKG_ROOT/vcpkg install opus --triplet $VCPKG_TARGET
$VCPKG_ROOT/vcpkg install libyuv --triplet $VCPKG_TARGET
echo "*** [$ANDROID_ABI][Start] Build and install vcpkg dependencies"
pushd "$SCRIPTDIR/.."
$VCPKG_ROOT/vcpkg install --triplet $VCPKG_TARGET --x-install-root="$VCPKG_ROOT/installed"
popd
echo "*** [$ANDROID_ABI][Finished] Build opus / libyuv from vcpkg"
echo "*** [$ANDROID_ABI][Finished] Build and install vcpkg dependencies"
# 2
echo "*** [$ANDROID_ABI][Start] Build libvpx"
pushd build/libvpx
export AR=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}-ar
export AS=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}-as
export LD=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}-ld.gold # if ndk < 22, use aarch64-linux-android-ld
export RANLIB=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}-ranlib
export STRIP=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}-strip
if [ -d "$VCPKG_ROOT/installed/arm-neon-android" ]; then
echo "*** [Start] Move arm-neon-android to arm-android"
if [ $NDK_LLVM_TARGET == "arm-linux-androideabi" ]
then
export CC=$TOOLCHAIN/bin/armv7a-linux-androideabi${API_LEVEL}-clang
export CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi${API_LEVEL}-clang++
else
export CC=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}${API_LEVEL}-clang
export CXX=$TOOLCHAIN/bin/${NDK_LLVM_TARGET}${API_LEVEL}-clang++
fi
make clean
./configure --target=$LIBVPX_TARGET \
--enable-pic
--disable-webm-io \
--disable-unit-tests \
--disable-examples \
--disable-libyuv \
--disable-postproc \
--disable-tools \
--disable-docs \
--prefix=$PREFIX
make -j5
make install
mv "$VCPKG_ROOT/installed/arm-neon-android" "$VCPKG_ROOT/installed/arm-android"
popd
echo "*** [$ANDROID_ABI][Finished] Build libvpx"
# 3
echo "*** [$ANDROID_ABI][Start] Build oboe"
pushd build/oboe
make clean
cmake -DBUILD_SHARED_LIBS=true \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DANDROID_TOOLCHAIN=clang \
-DANDROID_STL=c++_shared \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK/build/cmake/android.toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DANDROID_ABI=$ANDROID_ABI \
-DANDROID_PLATFORM=android-$API_LEVEL
make -j5
make install
mv $PREFIX/lib/$ANDROID_ABI/liboboe.a $PREFIX/lib/
popd
echo "*** [$ANDROID_ABI][Finished] Build oboe"
echo "*** [$ANDROID_ABI][All Finished]"
echo "*** [Finished] Move arm-neon-android to arm-android"
fi
}
git clone -b v1.11.0 --depth=1 https://github.com/webmproject/libvpx.git build/libvpx
git clone -b 1.6.1 --depth=1 https://github.com/google/oboe build/oboe
patch -N -d build/oboe -p1 < ../src/oboe.patch
# VCPKG_TARGET ANDROID_ABI
# arm64-android arm64-v8a
# arm-android armeabi-v7a
# x64-android x86_64
# x86-android x86
# NDK_LLVM_TARGET
# aarch64-linux-android
# arm-linux-androideabi
# x86_64-linux-android
# i686-linux-android
# LIBVPX_TARGET :
# arm64-android-gcc
# armv7-android-gcc
# x86_64-android-gcc
# x86-android-gcc
# args: ANDROID_ABI VCPKG_TARGET NDK_LLVM_TARGET LIBVPX_TARGET
build arm64-v8a arm64-android aarch64-linux-android arm64-android-gcc
build armeabi-v7a arm-android arm-linux-androideabi armv7-android-gcc
# rm -rf build/libvpx
# rm -rf build/oboe
if [ ! -z "$ANDROID_ABI" ]; then
build "$ANDROID_ABI"
else
echo "Usage: build-android-deps.sh <ANDROID-ABI>" >&2
exit 1
fi

565
flutter/build_fdroid.sh Executable file
View File

@@ -0,0 +1,565 @@
#!/bin/bash
set -x
#
# Script to build F-Droid release of RustDesk
#
# Copyright (C) 2024, The RustDesk Authors
# 2024, Vasyl Gello <vasek.gello@gmail.com>
#
# The script is invoked by F-Droid builder system ste-by-step.
#
# It accepts the following arguments:
#
# - versionName from https://github.com/rustdesk/rustdesk/releases/download/fdroid-version/rustdesk-version.txt
# - versionCode from https://github.com/rustdesk/rustdesk/releases/download/fdroid-version/rustdesk-version.txt
# - Android architecture to build APK for: armeabi-v7a arm64-v8av x86 x86_64
# - The build step to execute:
#
# + sudo-deps: as root, install needed Debian packages into builder VM
# + prebuild: patch sources and do other stuff before the build
# + build: perform actual build of APK file
#
# Parse command-line arguments
VERNAME="${1}"
VERCODE="${2}"
ANDROID_ABI="${3}"
BUILDSTEP="${4}"
if [ -z "${VERNAME}" ] || [ -z "${VERCODE}" ] || [ -z "${ANDROID_ABI}" ] ||
[ -z "${BUILDSTEP}" ]; then
echo "ERROR: Command-line arguments are all required to be non-empty!" >&2
exit 1
fi
# Set various architecture-specific identifiers
case "${ANDROID_ABI}" in
arm64-v8a)
FLUTTER_TARGET=android-arm64
NDK_TARGET=aarch64-linux-android
RUST_TARGET=aarch64-linux-android
# RUSTDESK_FEATURES='flutter,hwcodec'
RUSTDESK_FEATURES='flutter'
;;
armeabi-v7a)
FLUTTER_TARGET=android-arm
NDK_TARGET=arm-linux-androideabi
RUST_TARGET=armv7-linux-androideabi
# RUSTDESK_FEATURES='flutter,hwcodec'
RUSTDESK_FEATURES='flutter'
;;
x86_64)
FLUTTER_TARGET=android-x64
NDK_TARGET=x86_64-linux-android
RUST_TARGET=x86_64-linux-android
RUSTDESK_FEATURES='flutter'
;;
x86)
FLUTTER_TARGET=android-x86
NDK_TARGET=i686-linux-android
RUST_TARGET=i686-linux-android
RUSTDESK_FEATURES='flutter'
;;
*)
echo "ERROR: Unknown Android ABI '${ANDROID_ABI}'!" >&2
exit 1
;;
esac
# Check ANDROID_SDK_ROOT and sdkmanager present on PATH
if [ ! -d "${ANDROID_SDK_ROOT}" ] || ! command -v sdkmanager 1>/dev/null; then
echo "ERROR: Can not find Android SDK!" >&2
exit 1
fi
# Export necessary variables
export PATH="${PATH}:${HOME}/flutter/bin:${HOME}/depot_tools"
export VCPKG_ROOT="${HOME}/vcpkg"
# Now act depending on build step
# NOTE: F-Droid maintainers require explicit declaration of dependencies
# as root via `Builds.sudo` F-Droid metadata directive:
# https://gitlab.com/fdroid/fdroiddata/-/merge_requests/15343#note_1988918695
case "${BUILDSTEP}" in
prebuild)
# prebuild: patch sources and do other stuff before the build
#
# Extract required versions for NDK, Rust, Flutter from
# '.github/workflows/flutter-build.yml'
#
CARGO_NDK_VERSION="$(yq -r \
.env.CARGO_NDK_VERSION \
.github/workflows/flutter-build.yml)"
FLUTTER_VERSION="$(yq -r \
.env.ANDROID_FLUTTER_VERSION \
.github/workflows/flutter-build.yml)"
if [ -z "${FLUTTER_VERSION}" ]; then
FLUTTER_VERSION="$(yq -r \
.env.FLUTTER_VERSION \
.github/workflows/flutter-build.yml)"
fi
FLUTTER_RUST_BRIDGE_VERSION="$(yq -r \
.env.FLUTTER_RUST_BRIDGE_VERSION \
.github/workflows/flutter-build.yml)"
NDK_VERSION="$(yq -r \
.env.NDK_VERSION \
.github/workflows/flutter-build.yml)"
RUST_VERSION="$(yq -r \
.env.RUST_VERSION \
.github/workflows/flutter-build.yml)"
VCPKG_COMMIT_ID="$(yq -r \
.env.VCPKG_COMMIT_ID \
.github/workflows/flutter-build.yml)"
if [ -z "${CARGO_NDK_VERSION}" ] || [ -z "${FLUTTER_VERSION}" ] ||
[ -z "${FLUTTER_RUST_BRIDGE_VERSION}" ] ||
[ -z "${NDK_VERSION}" ] || [ -z "${RUST_VERSION}" ] ||
[ -z "${VCPKG_COMMIT_ID}" ]; then
echo "ERROR: Can not identify all required versions!" >&2
exit 1
fi
# Map NDK version to revision
NDK_VERSION="$(wget \
-qO- \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
'https://api.github.com/repos/android/ndk/releases' |
jq -r ".[] | select(.tag_name == \"${NDK_VERSION}\") | .body | match(\"ndkVersion \\\"(.*)\\\"\").captures[0].string")"
if [ -z "${NDK_VERSION}" ]; then
echo "ERROR: Can not map Android NDK codename to revision!" >&2
exit 1
fi
export ANDROID_NDK_HOME="${ANDROID_SDK_ROOT}/ndk/${NDK_VERSION}"
export ANDROID_NDK_ROOT="${ANDROID_SDK_ROOT}/ndk/${NDK_VERSION}"
#
# Install the components
#
set -e
# Install Android NDK
if [ ! -d "${ANDROID_NDK_ROOT}" ]; then
sdkmanager --install "ndk;${NDK_VERSION}"
fi
# Install Flutter
if [ ! -f "${HOME}/flutter/bin/flutter" ]; then
pushd "${HOME}"
git clone https://github.com/flutter/flutter
pushd flutter
git reset --hard "${FLUTTER_VERSION}"
flutter config --no-analytics
popd # flutter
popd # ${HOME}
fi
# Install Rust
if [ ! -f "${HOME}/rustup/rustup-init.sh" ]; then
pushd "${HOME}"
git clone --depth 1 https://github.com/rust-lang/rustup
popd # ${HOME}
fi
pushd "${HOME}/rustup"
bash rustup-init.sh -y \
--target "${RUST_TARGET}" \
--default-toolchain "${RUST_VERSION}"
popd
if ! command -v cargo 1>/dev/null 2>&1; then
. "${HOME}/.cargo/env"
fi
# Install cargo-ndk
cargo install \
cargo-ndk \
--version "${CARGO_NDK_VERSION}"
# Install rust bridge generator
cargo install cargo-expand
cargo install flutter_rust_bridge_codegen \
--version "${FLUTTER_RUST_BRIDGE_VERSION}" \
--features "uuid"
# Populate native vcpkg dependencies
if [ ! -d "${VCPKG_ROOT}" ]; then
pushd "${HOME}"
git clone \
https://github.com/Microsoft/vcpkg.git
git clone \
https://github.com/Microsoft/vcpkg-tool.git
pushd vcpkg-tool
mkdir build
pushd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-G 'Ninja' \
-DVCPKG_DEVELOPMENT_WARNINGS=OFF \
..
cmake --build .
popd # build
popd # vcpkg-tool
pushd vcpkg
git reset --hard "${VCPKG_COMMIT_ID}"
cp -a ../vcpkg-tool/build/vcpkg vcpkg
# disable telemetry
touch "vcpkg.disable-metrics"
popd # vcpkg
popd # ${HOME}
fi
# Install depot-tools for x86
if [ "${ANDROID_ABI}" = "x86" ]; then
if [ ! -d "${HOME}/depot_tools" ]; then
pushd "${HOME}"
git clone \
--depth 1 \
https://chromium.googlesource.com/chromium/tools/depot_tools.git
popd # ${HOME}
fi
fi
# Patch the RustDesk sources
git apply res/fdroid/patches/*.patch
sed \
-i \
-e '/gms/d' \
flutter/android/build.gradle \
flutter/android/app/build.gradle
sed \
-i \
-e '/firebase_analytics/d' \
flutter/pubspec.yaml
sed \
-i \
-e '/ firebase/,/ version/d' \
flutter/pubspec.lock
sed \
-i \
-e '/firebase/Id' \
flutter/lib/main.dart
if [ "${FLUTTER_VERSION}" = "3.13.9" ]; then
# Fix for android 3.13.9
# https://github.com/rustdesk/rustdesk/blob/285e974d1a52c891d5fcc28e963d724e085558bc/.github/workflows/flutter-build.yml#L862
sed \
-i \
-e 's/uni_links_desktop/#uni_links_desktop/g' \
flutter/pubspec.yaml
set --
while read -r _1; do
set -- "$@" "${_1}"
done 0<<.a
$(find flutter/lib/ -type f -name "*dart*")
.a
sed \
-i \
-e 's/textScaler: TextScaler.linear(\(.*\)),/textScaleFactor: \1,/g' \
"$@"
set --
fi
sed -i "s/FLUTTER_VERSION_PLACEHOLDER/${FLUTTER_VERSION}/" flutter-sdk/.gclient
;;
build)
# build: perform actual build of APK file
set -e
#
# Extract required versions for NDK, Rust, Flutter from
# '.github/workflows/flutter-build.yml'
#
FLUTTER_VERSION="$(yq -r \
.env.ANDROID_FLUTTER_VERSION \
.github/workflows/flutter-build.yml)"
if [ -z "${FLUTTER_VERSION}" ]; then
FLUTTER_VERSION="$(yq -r \
.env.FLUTTER_VERSION \
.github/workflows/flutter-build.yml)"
fi
NDK_VERSION="$(yq -r \
.env.NDK_VERSION \
.github/workflows/flutter-build.yml)"
# Map NDK version to revision
NDK_VERSION="$(wget \
-qO- \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
'https://api.github.com/repos/android/ndk/releases' |
jq -r ".[] | select(.tag_name == \"${NDK_VERSION}\") | .body | match(\"ndkVersion \\\"(.*)\\\"\").captures[0].string")"
if [ -z "${NDK_VERSION}" ]; then
echo "ERROR: Can not map Android NDK codename to revision!" >&2
exit 1
fi
export ANDROID_NDK_HOME="${ANDROID_SDK_ROOT}/ndk/${NDK_VERSION}"
export ANDROID_NDK_ROOT="${ANDROID_SDK_ROOT}/ndk/${NDK_VERSION}"
if ! command -v cargo 1>/dev/null 2>&1; then
. "${HOME}/.cargo/env"
fi
# Download Flutter dependencies
pushd flutter
flutter packages pub get
popd # flutter
# Generate FFI bindings
flutter_rust_bridge_codegen \
--rust-input ./src/flutter_ffi.rs \
--dart-output ./flutter/lib/generated_bridge.dart
# Build host android deps
bash flutter/build_android_deps.sh "${ANDROID_ABI}"
# Build rustdesk lib
cargo ndk \
--platform 21 \
--target "${RUST_TARGET}" \
--bindgen \
build \
--release \
--features "${RUSTDESK_FEATURES}"
mkdir -p "flutter/android/app/src/main/jniLibs/${ANDROID_ABI}"
cp "target/${RUST_TARGET}/release/liblibrustdesk.so" \
"flutter/android/app/src/main/jniLibs/${ANDROID_ABI}/librustdesk.so"
cp "${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/${NDK_TARGET}/libc++_shared.so" \
"flutter/android/app/src/main/jniLibs/${ANDROID_ABI}/"
"${ANDROID_NDK_HOME}/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-strip" \
"flutter/android/app/src/main/jniLibs/${ANDROID_ABI}"/*
# Build flutter-jit-release for x86
if [ "${ANDROID_ABI}" = "x86" ]; then
pushd flutter-sdk
echo "## Sync flutter engine sources"
echo "### We need fakeroot because chromium base image is unpacked with weird uid/gid ownership"
sed -i "s/FLUTTER_VERSION_PLACEHOLDER/${FLUTTER_VERSION}/" .gclient
export FAKEROOTDONTTRYCHOWN=1
fakeroot gclient sync
unset FAKEROOTDONTTRYCHOWN
pushd src
echo "## Patch away Google Play dependencies"
rm \
flutter/shell/platform/android/io/flutter/app/FlutterPlayStoreSplitApplication.java \
flutter/shell/platform/android/io/flutter/embedding/engine/deferredcomponents/PlayStoreDeferredComponentManager.java flutter/shell/platform/android/io/flutter/embedding/android/FlutterPlayStoreSplitApplication.java
sed \
-i \
-e '/PlayStore/d' \
flutter/tools/android_lint/project.xml \
flutter/shell/platform/android/BUILD.gn
sed \
-i \
-e '/com.google.android.play/d' \
flutter/tools/androidx/files.json
echo "## Configure android engine build"
flutter/tools/gn \
--android --android-cpu x86 --runtime-mode=jit_release \
--no-goma --no-enable-unittests
echo "## Perform android engine build"
ninja -C out/android_jit_release_x86
echo "## Configure host engine build"
flutter/tools/gn \
--android-cpu x86 --runtime-mode=jit_release \
--no-goma --no-enable-unittests
echo "## Perform android engine build"
ninja -C out/host_jit_release_x86
echo "## Rename host engine"
mv out/host_jit_release_x86 out/host_jit_release
echo "## Mimic jit_release engine to debug to use with flutter build apk"
pushd out/android_jit_release_x86
sed \
-e 's/jit_release/debug/' \
flutter_embedding_jit_release.maven-metadata.xml \
1>flutter_embedding_debug.maven-metadata.xml
sed \
-e 's/jit_release/debug/' \
flutter_embedding_jit_release.pom \
1>flutter_embedding_debug.pom
sed \
-e 's/jit_release/debug/' \
x86_jit_release.maven-metadata.xml \
1>x86_debug.maven-metadata.xml
sed \
-e 's/jit_release/debug/' \
x86_jit_release.pom \
1>x86_debug.pom
cp -a \
flutter_embedding_jit_release-sources.jar \
flutter_embedding_debug-sources.jar
cp -a \
flutter_embedding_jit_release.jar \
flutter_embedding_debug.jar
cp -a \
x86_jit_release.jar \
x86_debug.jar
popd # out/android_jit_release_x86
popd # src
popd # flutter-sdk
echo "# Clean up intermediate engine files and show free space"
rm -rf \
flutter-sdk/src/out/android_jit_release_x86/obj \
flutter-sdk/src/out/host_jit_release/obj
mv flutter-sdk/src/out flutter-out
rm -rf flutter-sdk
mkdir -p flutter-sdk/src/
mv flutter-out flutter-sdk/src/out
fi
# Build the apk
pushd flutter
if [ "${ANDROID_ABI}" = "x86" ]; then
flutter build apk \
--local-engine-src-path="$(readlink -mf "../flutter-sdk/src")" \
--local-engine=android_jit_release_x86 \
--debug \
--build-number="${VERCODE}" \
--build-name="${VERNAME}" \
--target-platform "${FLUTTER_TARGET}"
else
flutter build apk \
--release \
--build-number="${VERCODE}" \
--build-name="${VERNAME}" \
--target-platform "${FLUTTER_TARGET}"
fi
popd # flutter
rm -rf flutter-sdk
# Special step for fdroiddata CI builds to remove .gitconfig
rm -f /home/vagrant/.gitconfig
;;
*)
echo "ERROR: Unknown build step '${BUILDSTEP}'!" >&2
exit 1
;;
esac
# Report success
echo "All done!"

View File

@@ -1,2 +1,5 @@
#!/usr/bin/env bash
flutter build ipa --release --obfuscate --split-debug-info=./split-debug-info
# https://docs.flutter.dev/deployment/ios
# flutter build ipa --release --obfuscate --split-debug-info=./split-debug-info
# no obfuscate, because no easy to check errors
flutter build ipa --release

View File

@@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>11.0</string>
<string>12.0</string>
</dict>
</plist>

View File

@@ -1,10 +1,10 @@
# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'
# platform :ios, '12.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
platform :ios, '11.0'
platform :ios, '12.0'
project 'Runner', {
'Debug' => :debug,

View File

@@ -38,9 +38,6 @@ PODS:
- Flutter (1.0.0)
- flutter_keyboard_visibility (0.0.1):
- Flutter
- FMDB (2.7.5):
- FMDB/standard (= 2.7.5)
- FMDB/standard (2.7.5)
- image_picker_ios (0.0.1):
- Flutter
- MTBBarcodeScanner (5.0.11)
@@ -52,12 +49,12 @@ PODS:
- qr_code_scanner (0.2.0):
- Flutter
- MTBBarcodeScanner
- SDWebImage (5.15.5):
- SDWebImage/Core (= 5.15.5)
- SDWebImage/Core (5.15.5)
- sqflite (0.0.2):
- SDWebImage (5.18.11):
- SDWebImage/Core (= 5.18.11)
- SDWebImage/Core (5.18.11)
- sqflite (0.0.3):
- Flutter
- FMDB (>= 2.7.5)
- FlutterMacOS
- SwiftyGif (5.4.4)
- uni_links (0.0.1):
- Flutter
@@ -65,7 +62,8 @@ PODS:
- Flutter
- video_player_avfoundation (0.0.1):
- Flutter
- wakelock (0.0.1):
- FlutterMacOS
- wakelock_plus (0.0.1):
- Flutter
DEPENDENCIES:
@@ -75,19 +73,18 @@ DEPENDENCIES:
- flutter_keyboard_visibility (from `.symlinks/plugins/flutter_keyboard_visibility/ios`)
- image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`)
- package_info_plus (from `.symlinks/plugins/package_info_plus/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/ios`)
- path_provider_foundation (from `.symlinks/plugins/path_provider_foundation/darwin`)
- qr_code_scanner (from `.symlinks/plugins/qr_code_scanner/ios`)
- sqflite (from `.symlinks/plugins/sqflite/ios`)
- sqflite (from `.symlinks/plugins/sqflite/darwin`)
- uni_links (from `.symlinks/plugins/uni_links/ios`)
- url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/ios`)
- wakelock (from `.symlinks/plugins/wakelock/ios`)
- video_player_avfoundation (from `.symlinks/plugins/video_player_avfoundation/darwin`)
- wakelock_plus (from `.symlinks/plugins/wakelock_plus/ios`)
SPEC REPOS:
trunk:
- DKImagePickerController
- DKPhotoGallery
- FMDB
- MTBBarcodeScanner
- SDWebImage
- SwiftyGif
@@ -106,41 +103,40 @@ EXTERNAL SOURCES:
package_info_plus:
:path: ".symlinks/plugins/package_info_plus/ios"
path_provider_foundation:
:path: ".symlinks/plugins/path_provider_foundation/ios"
:path: ".symlinks/plugins/path_provider_foundation/darwin"
qr_code_scanner:
:path: ".symlinks/plugins/qr_code_scanner/ios"
sqflite:
:path: ".symlinks/plugins/sqflite/ios"
:path: ".symlinks/plugins/sqflite/darwin"
uni_links:
:path: ".symlinks/plugins/uni_links/ios"
url_launcher_ios:
:path: ".symlinks/plugins/url_launcher_ios/ios"
video_player_avfoundation:
:path: ".symlinks/plugins/video_player_avfoundation/ios"
wakelock:
:path: ".symlinks/plugins/wakelock/ios"
:path: ".symlinks/plugins/video_player_avfoundation/darwin"
wakelock_plus:
:path: ".symlinks/plugins/wakelock_plus/ios"
SPEC CHECKSUMS:
device_info_plus: e5c5da33f982a436e103237c0c85f9031142abed
device_info_plus: c6fb39579d0f423935b0c9ce7ee2f44b71b9fce6
DKImagePickerController: b512c28220a2b8ac7419f21c491fc8534b7601ac
DKPhotoGallery: fdfad5125a9fdda9cc57df834d49df790dbb4179
file_picker: ce3938a0df3cc1ef404671531facef740d03f920
Flutter: f04841e97a9d0b0a8025694d0796dd46242b2854
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
flutter_keyboard_visibility: 0339d06371254c3eb25eeb90ba8d17dca8f9c069
FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
image_picker_ios: b786a5dcf033a8336a657191401bfdf12017dabb
image_picker_ios: 99dfe1854b4fa34d0364e74a78448a0151025425
MTBBarcodeScanner: f453b33c4b7dfe545d8c6484ed744d55671788cb
package_info_plus: 6c92f08e1f853dc01228d6f553146438dafcd14e
path_provider_foundation: 37748e03f12783f9de2cb2c4eadfaa25fe6d4852
package_info_plus: 115f4ad11e0698c8c1c5d8a689390df880f47e85
path_provider_foundation: 3784922295ac71e43754bd15e0653ccfd36a147c
qr_code_scanner: bb67d64904c3b9658ada8c402e8b4d406d5d796e
SDWebImage: fd7e1a22f00303e058058278639bf6196ee431fe
sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904
SDWebImage: a3ba0b8faac7228c3c8eadd1a55c9c9fe5e16457
sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec
SwiftyGif: 93a1cc87bf3a51916001cf8f3d63835fb64c819f
uni_links: d97da20c7701486ba192624d99bffaaffcfc298a
url_launcher_ios: ae1517e5e344f5544fb090b079e11f399dfbe4d2
video_player_avfoundation: e489aac24ef5cf7af82702979ed16f2a5ef84cff
wakelock: d0fc7c864128eac40eba1617cb5264d9c940b46f
url_launcher_ios: bbd758c6e7f9fd7b5b1d4cde34d2b95fcce5e812
video_player_avfoundation: 02011213dab73ae3687df27ce441fbbcc82b5579
wakelock_plus: 8b09852c8876491e4b6d179e17dfe2a0b5f60d47
PODFILE CHECKSUM: c649b4e69a3086d323110011d04604e416ad0dcd
PODFILE CHECKSUM: d4cb12ad5d3bdb3352770b1d3db237584e155156
COCOAPODS: 1.12.0
COCOAPODS: 1.15.2

View File

@@ -159,7 +159,7 @@
97C146E61CF9000F007C117D /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 1300;
LastUpgradeCheck = 1510;
ORGANIZATIONNAME = "";
TargetAttributes = {
97C146ED1CF9000F007C117D = {
@@ -208,6 +208,7 @@
files = (
);
inputPaths = (
"${TARGET_BUILD_DIR}/${INFOPLIST_PATH}",
);
name = "Thin Binary";
outputPaths = (
@@ -346,7 +347,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -393,8 +394,6 @@
"-framework",
"\"DKPhotoGallery\"",
"-framework",
"\"FMDB\"",
"-framework",
"\"Foundation\"",
"-framework",
"\"ImageIO\"",
@@ -433,10 +432,11 @@
"-framework",
"\"video_player_avfoundation\"",
"-framework",
"\"wakelock\"",
"\"wakelock_plus\"",
);
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.flutterHbb;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_STYLE = "non-global";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";
@@ -491,7 +491,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -541,7 +541,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 11.0;
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@@ -590,8 +590,6 @@
"-framework",
"\"DKPhotoGallery\"",
"-framework",
"\"FMDB\"",
"-framework",
"\"Foundation\"",
"-framework",
"\"ImageIO\"",
@@ -630,10 +628,11 @@
"-framework",
"\"video_player_avfoundation\"",
"-framework",
"\"wakelock\"",
"\"wakelock_plus\"",
);
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.flutterHbb;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_STYLE = "non-global";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
@@ -679,8 +678,6 @@
"-framework",
"\"DKPhotoGallery\"",
"-framework",
"\"FMDB\"",
"-framework",
"\"Foundation\"",
"-framework",
"\"ImageIO\"",
@@ -719,10 +716,11 @@
"-framework",
"\"video_player_avfoundation\"",
"-framework",
"\"wakelock\"",
"\"wakelock_plus\"",
);
PRODUCT_BUNDLE_IDENTIFIER = com.carriez.flutterHbb;
PRODUCT_NAME = "$(TARGET_NAME)";
STRIP_STYLE = "non-global";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
SWIFT_VERSION = 5.0;
VERSIONING_SYSTEM = "apple-generic";

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1300"
LastUpgradeVersion = "1510"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"

View File

@@ -13,9 +13,7 @@ import Flutter
}
public func dummyMethodToEnforceBundling() {
get_rgba();
// free_rgba(nil);
// get_by_name("", "");
// set_by_name("", "");
dummy_method_to_enforce_bundling();
session_get_rgba(nil, 0);
}
}

View File

@@ -1,122 +1,122 @@
{
"images": [
"images" : [
{
"filename": "Icon-App-20x20@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "20x20"
"filename" : "Icon-App-20x20@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"filename": "Icon-App-20x20@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "20x20"
"filename" : "Icon-App-20x20@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"filename": "Icon-App-29x29@1x.png",
"idiom": "iphone",
"scale": "1x",
"size": "29x29"
"filename" : "Icon-App-29x29@1x.png",
"idiom" : "iphone",
"scale" : "1x",
"size" : "29x29"
},
{
"filename": "Icon-App-29x29@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "29x29"
"filename" : "Icon-App-29x29@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"filename": "Icon-App-29x29@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "29x29"
"filename" : "Icon-App-29x29@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"filename": "Icon-App-40x40@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "40x40"
"filename" : "Icon-App-40x40@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"filename": "Icon-App-40x40@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "40x40"
"filename" : "Icon-App-40x40@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"filename": "Icon-App-60x60@2x.png",
"idiom": "iphone",
"scale": "2x",
"size": "60x60"
"filename" : "Icon-App-60x60@2x.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"filename": "Icon-App-60x60@3x.png",
"idiom": "iphone",
"scale": "3x",
"size": "60x60"
"filename" : "Icon-App-60x60@3x.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"filename": "Icon-App-20x20@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "20x20"
"filename" : "Icon-App-20x20@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"filename": "Icon-App-20x20@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "20x20"
"filename" : "Icon-App-20x20@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"filename": "Icon-App-29x29@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "29x29"
"filename" : "Icon-App-29x29@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"filename": "Icon-App-29x29@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "29x29"
"filename" : "Icon-App-29x29@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"filename": "Icon-App-40x40@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "40x40"
"filename" : "Icon-App-40x40@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"filename": "Icon-App-40x40@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "40x40"
"filename" : "Icon-App-40x40@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"filename": "Icon-App-76x76@1x.png",
"idiom": "ipad",
"scale": "1x",
"size": "76x76"
"filename" : "Icon-App-76x76@1x.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"filename": "Icon-App-76x76@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "76x76"
"filename" : "Icon-App-76x76@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"filename": "Icon-App-83.5x83.5@2x.png",
"idiom": "ipad",
"scale": "2x",
"size": "83.5x83.5"
"filename" : "Icon-App-83.5x83.5@2x.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"filename": "Icon-App-1024x1024@1x.png",
"idiom": "ios-marketing",
"scale": "1x",
"size": "1024x1024"
"filename" : "Icon-App-1024x1024@1x.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"
}
],
"info": {
"author": "icons_launcher",
"version": 1
"info" : {
"author" : "xcode",
"version" : 1
}
}
}

View File

@@ -1,23 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"filename" : "LaunchImage.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "LaunchImage@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
"author" : "xcode",
"version" : 1
}
}

View File

@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
<device id="retina6_12" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21679"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--Flutter View Controller-->
@@ -14,13 +16,14 @@
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="48" y="-2"/>
</scene>
</scenes>
</document>

View File

@@ -24,6 +24,21 @@
<string>????</string>
<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLIconFile</key>
<string></string>
<key>CFBundleURLName</key>
<string>com.carriez.rustdesk</string>
<key>CFBundleURLSchemes</key>
<array>
<string>rustdesk</string>
</array>
</dict>
</array>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIApplicationSupportsIndirectInputEvents</key>

View File

@@ -1,3 +1,3 @@
#import "GeneratedPluginRegistrant.h"
#import "ffi.h"
#import "bridge_generated.h"

View File

@@ -2,6 +2,8 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.networking.wifi-info</key>
<true/>
</dict>

Some files were not shown because too many files have changed in this diff Show More