2636 Commits

Author SHA1 Message Date
RustDesk 52ce3dd2c2 Merge pull request #1763 from Heap-Hop/opt/cm_and_file
opt desktop cm and file transfer UI
2022-10-21 00:38:11 +08:00
csf ee744d7de3 cm tabs add tooltips and selected color 2022-10-20 23:56:23 +09:00
csf 6e6a359809 cm add multi clients scroll controller arrow actions 2022-10-20 23:22:02 +09:00
csf 94c8b117ef opt: DesktopTab tabs handle mouse wheel, add maxLabelWidth constraint, update cm 2022-10-20 23:10:26 +09:00
csf afa94d5907 add test mode, update cm_test 2022-10-20 23:07:11 +09:00
RustDesk 493126e328 Merge pull request #1759 from 21pages/fps
support adjust fps && fix statusbar ui
2022-10-20 17:08:20 +08:00
21pages c2287214f8 sync setting page service status
Signed-off-by: 21pages <pages21@163.com>
2022-10-20 16:43:06 +08:00
21pages 4a2307de2f fix status bar height && status only update after mouse hover
Signed-off-by: 21pages <pages21@163.com>
2022-10-20 16:43:06 +08:00
21pages 32ad458b25 user fps adjust
Signed-off-by: 21pages <pages21@163.com>
2022-10-20 16:42:46 +08:00
csf bd68969dac file transfer BreadCrumb handle mouse wheel 2022-10-20 11:20:41 +09:00
csf bab826e9a3 [change dart SDK version to >=2.17.0] update drive icon and mobile style 2022-10-20 10:31:31 +09:00
csf 9623123e9f desktop file transfer update UI style 2022-10-19 23:59:02 +09:00
csf 04398ef54e file model handle path . and .. , opt follow lint 2022-10-19 23:29:45 +09:00
csf 62c53f0343 mobile file transfer disable actions on drivers 2022-10-19 22:52:02 +09:00
RustDesk 829f30fe29 Merge pull request #1755 from Kingtous/master
feat: uni links on windows/macOS & register window_size on windows
2022-10-19 17:20:11 +08:00
Kingtous bf7597ec7c feat: add window size plugin injection on windows 2022-10-19 16:29:38 +08:00
kingtous 5fff68011a wip: uni links 2022-10-19 16:28:07 +08:00
Kingtous e50271cbb6 fix: cm window block on setSize 2022-10-19 16:28:06 +08:00
RustDesk ee3429176b Merge pull request #1751 from Heap-Hop/file_drivers
file transfer drivers
2022-10-19 12:08:12 +08:00
csf d10748a67b mobile file transfer handle driver & update UI theme 2022-10-19 11:50:47 +09:00
csf ec698e6885 fix didn't show drives on '/' page 2022-10-19 11:24:44 +09:00
csf 0bced44126 fix globalKey / handle Windows drive fd type / add un/select all 2022-10-19 10:52:29 +09:00
csf 0c976a6644 file transfer search bar pop_menu show Windows drives 2022-10-18 23:56:36 +09:00
RustDesk 4a295d844c Merge pull request #1743 from fufesou/fix_debian_script
debian prerm, fix condition expression
2022-10-18 10:56:16 +08:00
fufesou c24d719600 debian prerm, fix condition expression
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 18:27:14 -07:00
RustDesk e23fa8c806 Merge pull request #1741 from fufesou/test_fix_wayland_bak
Test fix wayland
2022-10-18 08:53:38 +08:00
RustDesk b8c9113ee5 Merge pull request #1740 from Heap-Hop/master
update file transfer and chat page
2022-10-18 08:53:08 +08:00
fufesou 2f33e9dfac linux workaround --server orphan
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 08:45:58 -07:00
fufesou b2688da10f workaround of handle subprocess from run_as_user
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 08:17:03 -07:00
fufesou 9a9a8197ae fix linux uid username mismatch
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 08:06:34 -07:00
csf 64c44e1be6 file transfer clear selected items onSearchText 2022-10-17 23:09:38 +09:00
csf b265d25dcb desktop file transfer shift + click multi selection 2022-10-17 23:07:40 +09:00
fufesou c48ed06d93 wayland: remove user service
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 22:00:48 +08:00
fufesou 9385e95b4e debug msgbox in sciter ui
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 22:00:48 +08:00
fufesou 77de0d05f9 msgbox & translations
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 22:00:44 +08:00
fufesou 5ddb10366e wayland: fix enigo crash & mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 21:55:27 +08:00
fufesou 3c9ac9e4d7 wayland: fix enigo init
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 21:55:26 +08:00
fufesou 2da5401fd4 add global init and update wayland error map
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 21:55:26 +08:00
fufesou 244c07e50e flutter: msgbox selectable
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 21:55:26 +08:00
fufesou 75590af0d7 build: trivial changes build.py
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-17 21:55:25 +08:00
csf 7e7214bd07 desktop file transfer ctrl + click multi selection 2022-10-17 22:26:18 +09:00
csf 76581d46f2 fix can't update isMaximized IconButton via double click title logo 2022-10-17 19:37:00 +09:00
RustDesk de6c0693cf Merge pull request #1736 from 21pages/access-mode
add access mode
2022-10-17 15:21:25 +08:00
21pages 688519320e add access mode
Signed-off-by: 21pages <pages21@163.com>
2022-10-17 15:06:03 +08:00
RustDesk 8b1f78d84f Merge pull request #1734 from Kingtous/master
fix: cm window block on setSize
2022-10-17 12:07:28 +08:00
RustDesk ede1ebd4de Merge pull request #1733 from 21pages/disabled-cursor
Disabled cursor
2022-10-17 12:06:32 +08:00
Kingtous 0522471b39 fix: cm window block on setSize 2022-10-17 12:04:03 +08:00
21pages cba450b32f fix id input focus problem
Signed-off-by: 21pages <pages21@163.com>
2022-10-17 10:27:53 +08:00
21pages 52a21234d4 show disabled cursor on the control end
Signed-off-by: 21pages <pages21@163.com>
2022-10-17 10:27:53 +08:00
RustDesk 268dddc303 Merge pull request #1731 from sandr01d/master
Fix detection of display server inside flatpak
2022-10-17 08:47:22 +08:00
sandroid e667dad144 Fix usage of loginctl inside flatpak
Signed-off-by: sandroid <sandroid@posteo.net>
2022-10-16 21:45:59 +02:00
csf 516ff4221b opt desktop chat page style 2022-10-14 23:50:13 +09:00
RustDesk c67c55f74b Merge pull request #1726 from Heap-Hop/window_maximize
flutter desktop window un/maximize
2022-10-14 22:12:29 +08:00
csf 06844f2f4f double click toggle maximize 2022-10-14 20:44:57 +09:00
csf c01b9d5d7d restoreWindowPosition for sub window and add restore maximize 2022-10-14 19:48:41 +09:00
csf cf73c04cb3 drag to Un/Maximize update icon state 2022-10-14 17:40:59 +09:00
RustDesk 3a23365cbb Merge pull request #1724 from Kingtous/master
feat: add window event on macos, windows
2022-10-14 14:05:59 +08:00
Kingtous 614e0d40bf feat: add window event on macos, windows 2022-10-14 14:00:54 +08:00
RustDesk 85b4758d93 Merge pull request #1719 from Heap-Hop/opt/file_transfer
opt file transfer
2022-10-13 21:09:18 +08:00
csf 67a5cf9771 add confirm before closing multiple tabs 2022-10-13 21:49:03 +09:00
RustDesk 46c0b790ae Merge pull request #1718 from Kingtous/master
[Linux] feat: add window oriented listener support
2022-10-13 20:44:01 +08:00
Kingtous 44662dc50b [Linux] feat: add window oriented listener support 2022-10-13 20:40:02 +08:00
csf da18e69258 update file transfer pop menu style / fixed file name width 2022-10-13 21:21:22 +09:00
csf eaf7fd320c update file transfer UI 2022-10-13 21:21:18 +09:00
csf baf437e6f0 integrate file search bar into path location 2022-10-13 21:21:13 +09:00
csf 5b1a12c6a7 feat file transfer history (goBack) 2022-10-13 21:21:03 +09:00
csf 168b47469e fix file transfer search feature, opt UI style 2022-10-13 21:20:47 +09:00
RustDesk c0b230fd63 Merge pull request #1714 from shan3275/master
add button for importing server config
2022-10-13 11:49:10 +08:00
Cooper Liu 9a5c0b610b modify print to debugPrint 2022-10-13 11:29:35 +08:00
shan3275 75092db7d0 Merge branch 'rustdesk:master' into master 2022-10-13 11:15:08 +08:00
RustDesk aba41f98b6 Merge pull request #1713 from Kingtous/master
fix: avoid corrupt with --connect in sciter
2022-10-13 10:27:21 +08:00
Cooper Liu 9ac07b518d add button for importing server config 2022-10-13 10:23:52 +08:00
Kingtous ed688bc06d fix: avoid corrupt with --connect in sciter 2022-10-13 09:58:46 +08:00
RustDesk 3f4339cbe0 Merge pull request #1708 from microting/danish-translations
Adding Danish translations.
2022-10-13 07:22:50 +08:00
René Schultz Madsen 953613ba94 Adding Danish translations.
Signed-off-by: René Schultz Madsen <rm@microting.com>
2022-10-12 16:58:28 +02:00
RustDesk 7559e0acac Merge pull request #1707 from Kingtous/master
feat: add rustdesk uni links protocol
2022-10-12 22:01:17 +08:00
Kingtous 2eab0d8832 feat: add rustdesk uni links protocol 2022-10-12 21:57:30 +08:00
RustDesk 3593fb0463 Merge pull request #1705 from 21pages/record
fix default video save directory
2022-10-12 17:13:07 +08:00
21pages 150057f92d fix default video save directory
Signed-off-by: 21pages <pages21@163.com>
2022-10-12 16:48:06 +08:00
RustDesk e94c3467eb Merge pull request #1699 from Kingtous/master
feat: add dbus and cli connect support
2022-10-11 23:30:56 +08:00
Kingtous 3d7736836f feat: add dbus and cli connect support 2022-10-11 23:22:57 +08:00
RustDesk 5756bee266 Merge pull request #1698 from 21pages/install-page
windows install page
2022-10-11 15:28:50 +08:00
21pages e2924f0d41 build windows install
Signed-off-by: 21pages <pages21@163.com>
2022-10-11 15:14:14 +08:00
21pages 2ced73cdda pass rust args to flutter
Signed-off-by: 21pages <pages21@163.com>
2022-10-11 15:10:58 +08:00
21pages 089cf41a2f add install page
Signed-off-by: 21pages <pages21@163.com>
2022-10-11 15:10:03 +08:00
rustdesk c1b9a3f53d unsafe 2022-10-11 14:56:08 +08:00
rustdesk 607bf33162 deb bug 2022-10-11 06:28:46 +08:00
RustDesk 171e516bd5 Merge pull request #1697 from Kingtous/master
fix: use rawRGBa cursor workaround on windows
2022-10-10 22:36:59 +08:00
Kingtous ed9ce650e0 opt: update upstream flutter_custom_cursor 2022-10-10 22:23:24 +08:00
Kingtous abbf56f2ab fix: use rawRGBa cursor workaround 2022-10-10 22:21:09 +08:00
RustDesk b7b1b183f1 Merge pull request #1696 from Heap-Hop/address_book
[address books] optimize performance, fix bugs and add mobile tag actions
2022-10-10 20:21:37 +08:00
csf efacc7362a fix hit tag empty space bug 2022-10-10 21:10:31 +09:00
csf 1ce8b1fee5 mobile tag actions 2022-10-10 18:27:26 +09:00
RustDesk 15296fd629 Merge pull request #1694 from asur4s/master
Feat: Grab hot key
2022-10-10 14:27:15 +08:00
Asura 2252d6345a refactor grab hot key
add compile condition
2022-10-09 22:57:53 -07:00
Asura f2a5b77d7a set map as default keyboard mode 2022-10-09 22:57:53 -07:00
Asura 01875a562c Fix backquote error 2022-10-09 22:57:53 -07:00
Chieh Wang 87ee359536 Feat: Grab hot key 2022-10-09 22:57:37 -07:00
RustDesk b5809f1315 Merge pull request #1693 from fufesou/flutter_remote_adjust_window
Flutter remote adjust window
2022-10-10 11:14:18 +08:00
fufesou 8ec565d5a0 flutter_desktop: adjust window, debug done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-10 09:56:27 +08:00
fufesou 2cc92c199c flutter_desktop: adjust window
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-10 09:47:45 +08:00
fufesou 03439831a7 flutter_desktop: adjust window
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-10 09:47:45 +08:00
RustDesk 1719b4735d Merge pull request #1692 from RelatedTitle/patch-1
Update Spanish README
2022-10-10 09:41:55 +08:00
RelatedTitle 55e30fa51b Update Spanish README
Updated Spanish README to match the current state of the main README (updated server list, added Wayland support section, among other things).
Reworded certain parts for clarity.
Ensured the tone was consistent. (Some parts used the informal tone while others used the formal tone, even in the same sentence)
Corrected small mistakes.

Signed-off-by: RelatedTitle <relatedtitle@protonmail.com>
2022-10-09 20:25:13 -05:00
csf 715d837f54 logOut show loading 2022-10-09 19:57:38 +09:00
RustDesk e6a71c1566 Merge pull request #1690 from Kingtous/master
fix: scroll alignment in remote page
2022-10-09 18:45:16 +08:00
RustDesk 2b75c7b361 Merge pull request #1689 from 21pages/persist-chat
persist cm chat page if chat unanswered
2022-10-09 18:45:00 +08:00
csf 8d23c11312 fix abModel multi request and state didn't refresh bug 2022-10-09 19:41:50 +09:00
Kingtous f3a60a0448 opt: remove debug output from custom cursor 2022-10-09 18:13:15 +08:00
Kingtous 4b72b57428 fix: scroll alignment in remote page 2022-10-09 17:13:14 +08:00
21pages ca9ca19fa7 persist cm chat page if chat unanswered
Signed-off-by: 21pages <pages21@163.com>
2022-10-09 08:53:21 +08:00
RustDesk 672d5f31d0 Merge pull request #1687 from Heap-Hop/master
fix flutter desktop Address book
2022-10-09 00:29:41 +08:00
csf c418a33384 fix: del selectedTags before tags 2022-10-08 19:56:04 +09:00
csf dc8ddc4364 opt: address book tag action menu desktop style 2022-10-08 19:52:02 +09:00
csf 14d390e23f opt: address book action more desktop style 2022-10-08 19:28:20 +09:00
RustDesk c4c13bfbeb Merge pull request #1686 from Kingtous/master
fix: [Linux] duplicate window border on sub window
2022-10-08 17:23:20 +08:00
Kingtous d8a720d886 fix: [Linux] duplicate window border on sub window 2022-10-08 17:19:45 +08:00
csf 6a92212216 use shared AddressBookTag widget & hide _editTagAction when tags is empty 2022-10-08 17:39:05 +09:00
csf a13c4c5907 AbModel use getx only 2022-10-08 17:13:24 +09:00
csf ee1a7fb791 fix ab peers state 2022-10-08 16:53:03 +09:00
RustDesk 7ce0849258 Merge pull request #1684 from exxjob/master
Fixed broken/missing doc paths (links)
2022-10-08 14:59:53 +08:00
RustDesk 8587dd1965 Merge pull request #1683 from jimmyGALLAND/master
Update fr.rs
2022-10-08 14:58:53 +08:00
csf 9449e50ba4 fix ab tag selection state and opt ab style 2022-10-08 10:55:54 +09:00
exxjob fae1eda4cf Fix broken/missing doc paths (links)
Signed-off-by: exxjob <exxjob@mail.com>
2022-10-08 04:19:39 +03:00
jimmyGALLAND c06df55693 Update fr.rs 2022-10-08 00:11:03 +02:00
csf ff9c3bccb5 remove comma when self-host server 2022-10-07 21:24:34 +08:00
RustDesk 8e9f1bed64 Merge pull request #1679 from f-israel/patch-1
Update de.rs
2022-10-07 09:23:02 +08:00
Ferry Israel b15dcbf870 Update de.rs
added & optimized some DE strings
2022-10-06 21:58:13 +02:00
rustdesk e733666f55 ua 2022-10-06 19:27:35 +08:00
RustDesk aa98a8f395 Merge pull request #1670 from Kingtous/master
fix: build.py
2022-10-06 11:33:12 +08:00
RustDesk 53444075a5 Merge pull request #1672 from kirill0ermakov/patch-5
Update README.md
2022-10-06 11:32:58 +08:00
RustDesk 679b0df138 Merge pull request #1673 from kirill0ermakov/patch-4
Update README-UA.md
2022-10-06 11:32:47 +08:00
RustDesk 38ac7414a1 Merge pull request #1667 from kirill0ermakov/patch-3
ua.rs 2 version
2022-10-06 11:32:33 +08:00
Kirill Ermakov 1ba5bd291c Update README.md 2022-10-05 16:33:36 +03:00
Kirill Ermakov 921e0d451c Update README-UA.md 2022-10-05 16:32:55 +03:00
Kingtous a13e3bdfba fix: build.py 2022-10-05 20:53:05 +08:00
Kirill Ermakov 500a88070a ua.rs 2022-10-05 13:13:10 +03:00
rustdesk 3ed94dcd4f use libayatana-appindicator3-dev instead because old one has problem on
Ubuntu22
2022-10-05 16:36:54 +08:00
RustDesk a63843bde2 Merge pull request #1663 from fufesou/flutter_fix_remote_page_scroll_wheel
flutter_desktop: remote page scroll whell on track
2022-10-05 11:04:35 +08:00
fufesou 91da949482 flutter_desktop: remote page scroll whell on track
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-05 00:24:42 +08:00
rustdesk 048fc40882 українська мова 2022-10-04 22:04:55 +08:00
RustDesk caa1e1dcea Merge pull request #1661 from kirill0ermakov/patch-2
Add README.UA
2022-10-04 22:00:30 +08:00
Kirill Ermakov 3e34832d8c README-UA
I create translate Ukraine version of README
2022-10-04 16:57:02 +03:00
Kirill Ermakov 900bec38ca Update README-UA.md 2022-10-04 16:55:31 +03:00
Kirill Ermakov 62cc079e08 README-UA.md
I create translate README for Ukraine language
2022-10-04 16:48:51 +03:00
RustDesk 66562479d3 Merge pull request #1659 from fufesou/flutter_desktop_fix_canvas_size
flutter_desktop: fix canvas size in normal and fullscreen
2022-10-04 21:26:24 +08:00
fufesou 126d92bf67 flutter_desktop: fix canvas size in normal and fullscreen
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-04 21:19:31 +08:00
rustdesk 589d366327 cm permissions tip 2022-10-04 18:20:23 +08:00
rustdesk 8d54df77dc different kWindowEdgeSize for Linux / Windows 2022-10-04 17:47:51 +08:00
rustdesk 479301346a smaller drag/resize detection area 2022-10-04 16:48:50 +08:00
RustDesk 46613397e6 Merge pull request #1658 from fufesou/fix_linux_cursor_image
flutter_desktop: fix cursor image when cursor moved in from other window
2022-10-04 14:52:58 +08:00
fufesou 488e619bc4 flutter_desktop: fix cursor image when cursor moved in from other window
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-10-03 22:03:49 -07:00
RustDesk 551c5ecddf Merge pull request #1648 from vedantmgoyal2009/patch-1
Update winget.yml
2022-10-02 16:27:24 +08:00
RustDesk 92892031ed Merge pull request #1649 from sandr01d/entrypoint-cleanup
Cleaned up entrypoint
2022-10-02 16:27:06 +08:00
RustDesk 7f9c4cc1fb Merge pull request #1650 from bigretromike/polish
Small fixes for polish translation
2022-10-02 16:26:20 +08:00
BigRetroMike 2eaacefd53 Added missing strings and fixed for polish translation;
Still not 100% but definitely usable;
2022-10-01 01:38:50 +02:00
sandroid 8cee6275fe Cleaned up entrypoint 2022-09-30 23:25:56 +02:00
Vedant 0b01cba502 Update winget.yml 2022-09-30 23:45:14 +05:30
RustDesk f38a114d63 Merge pull request #1646 from Heap-Hop/master
opt: mobile and desktop flutter
2022-09-29 22:42:46 +08:00
csf 701611372c hide tcpTunneling when peer is Android 2022-09-29 21:58:11 +08:00
csf fe506c5ff2 mobile cm client info CircleAvatar color 2022-09-29 21:53:50 +08:00
csf d11ae197f3 CustomAlertDialog default BoxConstraints 2022-09-29 21:09:40 +08:00
csf deedac3497 fix showMobileActionsOverlay init 2022-09-29 20:50:01 +08:00
csf 1d04eda6f5 fix can't use mouse on remote multi screen 2022-09-29 19:22:51 +08:00
RustDesk 6e8eb159fa Merge pull request #1642 from 21pages/new-id-field
new field `enc_id`
2022-09-29 18:56:18 +08:00
21pages 265acd3122 add new field enc_id
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 16:50:35 +08:00
csf cae2c2942e fix client check supported_hwcodec bug 2022-09-29 14:09:40 +08:00
csf 7457551b21 mobile png -> svg 2022-09-29 14:08:15 +08:00
csf 42e298741a update lang 2022-09-29 13:07:37 +08:00
csf 9911f4d2f5 android direct ip access 2022-09-29 13:07:20 +08:00
RustDesk 0abda2edef Merge pull request #1641 from 21pages/optimize
optimize ui
2022-09-29 10:52:48 +08:00
rustdesk ab33ab3a50 pulseaudio -> pipewire https://github.com/rustdesk/rustdesk/issues/559 2022-09-29 10:51:50 +08:00
21pages 172091602a opt: adjust msgbox text width, passwordDialog support enter && esc
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 10:48:27 +08:00
RustDesk 0bfb9478bd Merge pull request #1628 from 21pages/portable-uac
windows portable uac
2022-09-29 09:52:26 +08:00
21pages 9d8032e5e7 add arg to avoid possible recursive run
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 09:13:20 +08:00
21pages 02aedd234c prompt foreground window elevation
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 09:13:20 +08:00
21pages ae8d97eb72 deal with flutter SYSTEM user
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 09:13:19 +08:00
21pages 728985e3bf elevation prompt && uac warning
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 09:13:19 +08:00
21pages e1c2b8de6e windows portable: request elevation && run as system
Signed-off-by: 21pages <pages21@163.com>
2022-09-29 09:13:19 +08:00
RustDesk 77276dd78e Merge pull request #1639 from Kingtous/master
opt: adapt global scroll on mobile & adjust desktop connection page scrollbar
2022-09-28 21:28:19 +08:00
Kingtous 0bf63aaa33 opt: desktop connection page scrollbar 2022-09-28 21:21:54 +08:00
Kingtous e42b543a42 opt: adapt global scroll on mobile 2022-09-28 21:08:11 +08:00
RustDesk ff56753756 Merge pull request #1637 from asur4s/master
Fix map keyboard mode in Android
2022-09-28 17:33:05 +08:00
Asura 9e3fc377b8 Fix map keyboard mode in Android 2022-09-28 00:28:52 -07:00
RustDesk a4774b0824 Merge pull request #1635 from Kingtous/master
refactor: global scroll
2022-09-28 12:48:37 +08:00
Kingtous 1412d9c3ba refactor: global scroll 2022-09-28 12:03:59 +08:00
RustDesk 215f0575a7 Merge pull request #1633 from Heap-Hop/refactor_input_model
Refactor input model for mobile and desktop
2022-09-27 23:38:44 +08:00
csf f45bb13d24 adjust kWindowEdgeSize 2022-09-27 23:08:01 +08:00
csf 23f0f4e33a move QualityMonitor widget to common 2022-09-27 23:05:11 +08:00
csf 6b664d0965 mobile add new input map mode radio 2022-09-27 22:56:18 +08:00
csf 77fcf2d4fa refactor RawPointerMouseRegion & RawKeyFocusScope 2022-09-27 22:16:27 +08:00
csf 3dc9ecce29 refactor input_model 2022-09-27 20:46:36 +08:00
rustdesk 3ab90b341d black54 too gray 2022-09-27 20:30:48 +08:00
RustDesk e166180a8d Merge pull request #1632 from fufesou/flutter_desktop_fix_fullscreen
flutter_desktop: fix fullscreen
2022-09-27 20:22:12 +08:00
fufesou e6fc3debd5 flutter_desktop: fix fullscreen
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-27 20:17:18 +08:00
rustdesk 8bcd6c11bf missed 2022-09-27 19:58:15 +08:00
rustdesk 5e26d96a56 fix id style and connect black theme text color 2022-09-27 19:42:05 +08:00
rustdesk 0eaa7d167e Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-09-27 18:34:26 +08:00
rustdesk 70e7e99531 some png -> svg 2022-09-27 18:34:05 +08:00
csf 729f4c0733 remove unused of model.dart 2022-09-27 17:52:36 +08:00
RustDesk e9b9fc8cf3 Merge pull request #1629 from asur4s/master
Fix keyboard and mouse bugs
2022-09-27 16:51:32 +08:00
rustdesk 29c3252458 lower cmake requirement 2022-09-27 16:48:04 +08:00
Asura ac52a55b07 Fix select by left button 2022-09-27 01:43:28 -07:00
RustDesk dac851ace9 Merge pull request #1577 from 21pages/record
video record
2022-09-27 15:32:33 +08:00
RustDesk 2481f338b0 Merge branch 'master' into record 2022-09-27 15:32:27 +08:00
Asura 9ca71f6748 Fix numpad convert error in flutter 2022-09-26 19:23:38 -07:00
Asura 5216dedca6 Fix numpad when linux -> windows 2022-09-26 19:23:33 -07:00
RustDesk 9040ada6f4 Merge pull request #1623 from Heap-Hop/master
fix mobile physical mouse wheel scroll
2022-09-27 07:29:50 +08:00
RustDesk 2b6d396a6d Merge pull request #1622 from Kingtous/master
fix: cm window size, hide window on startup linux
2022-09-27 07:28:39 +08:00
csf 52c6e309ce 1. fix cm window size onToggle Chat.
2. no need to show remote info in cm chat_page.
3. hide Chat IconButton when client unauthorized
4. update lang
2022-09-26 18:10:54 +08:00
Kingtous ed04ede830 fix: cm initial size incorrect sometimes.
opt: linux can hide window when rustdesk core not ready.
2022-09-26 17:56:32 +08:00
csf 536f25f33c fix mobile physical mouse wheel scroll 2022-09-26 16:52:23 +08:00
RustDesk 0589f5ae9a Merge pull request #1621 from Heap-Hop/master
Update flutter & mobile
2022-09-26 13:16:05 +08:00
csf dac01b416e android add settings ['Deny LAN Discovery', 'Use IP Whitelisting'] 2022-09-26 11:25:08 +08:00
csf 95f7677d2b mobile server_page text theme & fix lang.py and update langs 2022-09-26 11:25:04 +08:00
csf 4d7c3f6eb7 mobile peer online status 2022-09-26 11:24:59 +08:00
csf 1f751ddb04 flutter add peer_has_password 2022-09-26 11:24:44 +08:00
rustdesk bb8540b040 install/upgrade/update help card 2022-09-25 21:45:37 +08:00
RustDesk f6410ba61b Merge pull request #1620 from Kingtous/master
opt: windows program name/icon to rustdesk
2022-09-25 20:22:02 +08:00
Kingtous eb059d83c6 opt: windows program name to rustdesk 2022-09-25 19:22:59 +08:00
RustDesk 1f5634b5e6 Merge pull request #1617 from 21pages/lan-option
Option LAN Discovery
2022-09-24 20:00:49 +08:00
21pages e8143255e9 Option LAN Discovery
Signed-off-by: 21pages <pages21@163.com>
2022-09-24 19:56:08 +08:00
rustdesk 18ee6f0e9d fix tile style 2022-09-23 23:04:34 +08:00
rustdesk 98a84a577b install help card 2022-09-23 20:18:11 +08:00
RustDesk 1a38588ebd Merge pull request #1611 from 21pages/jump
jump to setting page
2022-09-23 18:59:18 +08:00
21pages 960df96fdd jump to setting page
Signed-off-by: 21pages <pages21@163.com>
2022-09-23 18:48:46 +08:00
RustDesk 8ace328de2 Merge pull request #1610 from Heap-Hop/master
Opt flutter ThemeData
2022-09-23 18:07:00 +08:00
csf 4fe426a2e6 Merge branch 'master' of https://github.com/rustdesk/rustdesk 2022-09-23 17:46:59 +08:00
csf c14490cdbf opt: PeerTile center & keep peer search value 2022-09-23 17:35:20 +08:00
rustdesk c7938561b3 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-09-23 17:28:46 +08:00
rustdesk 2e9ff13ed4 button widget and preparing help cards 2022-09-23 17:28:22 +08:00
csf d2d531516a opt mobile dark theme 2022-09-23 17:16:25 +08:00
csf cf31ec3a53 fix mobile build 2022-09-23 16:56:28 +08:00
RustDesk 9b44435918 Merge pull request #1609 from Kingtous/master
feat: add window shadow on linux
2022-09-23 16:43:47 +08:00
Kingtous 02adf7104d feat: add shadow on linux 2022-09-23 16:37:17 +08:00
csf e8587436d6 refactor ThemeData 2022-09-23 16:31:50 +08:00
rustdesk 4f92555399 fix connect status colors 2022-09-23 15:12:50 +08:00
RustDesk 95a241bdf4 Merge pull request #1608 from fufesou/flutter_desktop_popupmenu_adjust
flutter_desktop: remove animation & adjust popup menu
2022-09-23 13:55:59 +08:00
fufesou b8a382a0d8 flutter_desktop: remove animation & adjust popup menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-23 13:52:10 +08:00
RustDesk e789b2c3a8 Merge pull request #1604 from Kingtous/master
opt: cm chat window alignment & home button hide/show logic
2022-09-23 11:13:57 +08:00
Kingtous d939fdac72 opt: hide home button when it only exists on tab 2022-09-23 11:01:33 +08:00
Kingtous f1bfb12494 opt: center/align topright when toggle chat 2022-09-23 10:18:30 +08:00
rustdesk 204eab4b81 add margin to app icon 2022-09-22 23:22:31 +08:00
RustDesk 4f6c6ab483 Merge pull request #1600 from Heap-Hop/master
Update flutter
2022-09-22 17:46:47 +08:00
csf 51b02353c9 1. mobile ab login.
2. typos
3. del rename dialog body padding
2022-09-22 17:41:58 +08:00
csf 00077676f4 1. new mobile connect.
2. _forceAlwaysRelayAction dismissOnClicked: false.
3. no tcp tunneling on mobile
4. adjust peer tab border on mobile
2022-09-22 17:41:55 +08:00
csf 9bbc3376a4 refactor: rename to peer_card.dart and peers_view.dart 2022-09-22 17:41:50 +08:00
csf 36cd262227 mobile dark theme options 2022-09-22 17:41:47 +08:00
rustdesk 78efa66378 locked only if installed, to-do: need refine here 2022-09-22 16:18:06 +08:00
rustdesk aeeffad33b fix peer widget overflow and tile bug, add more sync ffi 2022-09-22 15:59:51 +08:00
21pages e7e3494dc9 record permission
Signed-off-by: 21pages <pages21@163.com>
2022-09-22 09:57:52 +08:00
21pages e74f155cb6 fix recording start stop
Signed-off-by: 21pages <pages21@163.com>
2022-09-22 09:57:52 +08:00
21pages eff5dd2e03 ensure first mux frame is key frame
Signed-off-by: 21pages <pages21@163.com>
2022-09-22 09:57:52 +08:00
21pages 9489877c78 video record
Signed-off-by: 21pages <pages21@163.com>
2022-09-22 09:57:52 +08:00
RustDesk f5b7c34c81 Merge pull request #1596 from Heap-Hop/master
Optimize flutter
2022-09-22 07:39:00 +08:00
csf 86d83e12b0 opt: dark theme, add follow system mode 2022-09-21 23:32:59 +08:00
csf 5a4806e9b2 refactor peer alias 2022-09-21 21:34:33 +08:00
rustdesk 7cecf32d9e better warn icon 2022-09-21 19:18:40 +08:00
rustdesk 715a780edd fix default lang bug 2022-09-21 19:08:36 +08:00
RustDesk c547e75b1f Merge pull request #1592 from Heap-Hop/mobile_feat_update_rebase
Update android
2022-09-21 18:58:37 +08:00
rustdesk 4377baf062 imporove setting page 2022-09-21 18:49:28 +08:00
csf 725c0689e2 mobile id text format 2022-09-21 17:54:47 +08:00
csf 285d415a5a mobile peers tab padding 2022-09-21 17:16:09 +08:00
csf 5625a061a4 merge master peer_tab_page.dart peer_widget.dart 2022-09-21 14:56:01 +08:00
csf 9284850dff Merge branch 'master' into mobile_feat_update_rebase 2022-09-21 14:12:22 +08:00
RustDesk 752a94a5b5 Merge pull request #1591 from Kingtous/master
feat: windows flutter portable build script
2022-09-21 13:58:20 +08:00
csf 9e6e842247 refactor: move peer_widget / peercard_widget / peer_tab_page & move connect
new address_book class; add peer tab onPageChanged

android settings_page.dart add dark mode

opt peer_tab_page search bar, add mobile peer_tab support
2022-09-21 13:54:01 +08:00
Kingtous 8c10675d8a feat: windows portable build script 2022-09-21 11:28:28 +08:00
rustdesk 3101c4e119 fix formatId, right panel button style, default windows size (windows,
Linux, no idea about Mac, need to check with xcode)
2022-09-20 19:31:32 +08:00
rustdesk 13fe2164d4 more style bug fix 2022-09-20 18:09:02 +08:00
RustDesk 7ad876afe9 Merge pull request #1585 from Kingtous/master
opt: flutter_improved_scrolling doc & remove border
2022-09-20 10:40:38 +08:00
Kingtous e5a292ef26 opt: flutter_improved_scrolling doc & remove border 2022-09-20 10:39:18 +08:00
RustDesk 8a6ec7b18f Merge pull request #1584 from Kingtous/master
opt: use custom scroll feature
2022-09-19 21:15:59 +08:00
Kingtous df5a2ab556 opt: custom scroll for better scroll and add trackpad support 2022-09-19 21:09:54 +08:00
rustdesk 19586f28bd save peer_tab_index 2022-09-19 19:42:13 +08:00
rustdesk 0679d01a63 fix connection status style 2022-09-19 19:24:51 +08:00
Kingtous e1ab01a97f opt: use custom scroll feature 2022-09-19 19:18:27 +08:00
rustdesk e0d759c3bb remove menu from desktop home page 2022-09-19 18:38:19 +08:00
RustDesk 0df6517adb Merge pull request #1582 from Kingtous/master
opt: more configurable scroll logic & edge size
2022-09-19 17:18:42 +08:00
Kingtous c2f516f57f opt: use const variable 2022-09-19 17:16:28 +08:00
csf 0c407994cd fix android deps build 2022-09-19 17:03:12 +08:00
Kingtous 21eb7bd165 opt: more configurable scroll logic & edge size 2022-09-19 16:06:03 +08:00
RustDesk bf1314f91f Merge pull request #1581 from Kingtous/master
opt: add support locales
2022-09-19 16:02:07 +08:00
Kingtous f1a3a8ca01 opt: add support locales 2022-09-19 15:47:37 +08:00
RustDesk 6d20a3b11b Merge pull request #1580 from xxrlzzz/master
fix chinese version of doc_mac_permission url
2022-09-19 12:51:53 +08:00
RustDesk 227e455609 Merge pull request #1579 from Kingtous/master
fix: place obx correctly
2022-09-19 11:13:33 +08:00
Kingtous 225d5a0983 fix: place obx down 2022-09-19 11:10:08 +08:00
RustDesk de8596d6ee Merge pull request #1578 from Kingtous/master
opt: binary name, macos frame, address book network catch
2022-09-19 10:25:54 +08:00
Kingtous 910fb84857 opt: more error catch on address book 2022-09-19 10:22:40 +08:00
Kingtous ef80dab48e opt: remove drag to resize widget on macOS 2022-09-19 10:14:14 +08:00
Kingtous 429d72c9c3 refactor: change binary name to rustdesk 2022-09-19 10:06:12 +08:00
xxrl 91829c73f3 fix chinese version of doc_mac_permission url 2022-09-18 17:38:16 +08:00
rustdesk f0208c759b https://github.com/rustdesk/rustdesk/pull/1562 2022-09-18 13:13:45 +08:00
rustdesk 49491823c3 mv the other linux package files to res 2022-09-18 12:07:22 +08:00
rustdesk 3e22893bc8 remove python dep 2022-09-18 12:00:45 +08:00
rustdesk b7e54081b8 move lang.py and inlinee-sciter.py to res 2022-09-18 11:53:15 +08:00
rustdesk 5751b23a97 mv some linux package files to res 2022-09-18 11:50:23 +08:00
rustdesk 69ceb7f1e8 move com.rustdesk.RustDesk.policy to res 2022-09-18 11:32:15 +08:00
rustdesk f0c53bc126 mv svg to res 2022-09-18 11:28:05 +08:00
rustdesk 72e20e5020 move icon.ico to res 2022-09-18 11:26:10 +08:00
rustdesk 1db743affa remove snap, as bad as appimage 2022-09-18 11:24:02 +08:00
rustdesk 6db730cbfb remove appimage, stupid package 2022-09-18 11:23:36 +08:00
rustdesk 12fa8d3700 move setup.nsi to res 2022-09-18 11:23:08 +08:00
rustdesk 2567256dcb moved all png to res 2022-09-18 11:22:30 +08:00
rustdesk f64d2a3983 fix translation 2022-09-18 11:02:27 +08:00
RustDesk d18071e70a Merge pull request #1372 from TheLumbee/master
Grammatical correction for closing dialog.
2022-09-18 10:59:36 +08:00
rustdesk 294a173f02 Merge branch 'ElisaMin-patch-2' 2022-09-18 10:55:28 +08:00
rustdesk bae5c50d4f Merge branch 'patch-2' of https://github.com/ElisaMin/rustdesk into ElisaMin-patch-2 2022-09-18 10:55:16 +08:00
rustdesk ad942b2138 anonying 2022-09-17 21:57:56 +08:00
RustDesk 1f9efc200c Merge pull request #1566 from rustdesk/dependabot/cargo/tokio-util-0.7.4
Bump tokio-util from 0.7.3 to 0.7.4
2022-09-17 21:48:36 +08:00
RustDesk 68a77cd151 Merge pull request #1565 from rustdesk/dependabot/cargo/sha2-0.10.6
Bump sha2 from 0.10.2 to 0.10.6
2022-09-17 21:48:26 +08:00
RustDesk 9d90b63bdd Merge pull request #1564 from rustdesk/dependabot/gradle/flutter/android/com.github.getActivity-XXPermissions-16.2
Bump XXPermissions from 13.2 to 16.2 in /flutter/android
2022-09-17 21:48:09 +08:00
dependabot[bot] e9610a7689 Bump XXPermissions from 13.2 to 16.2 in /flutter/android
Bumps [XXPermissions](https://github.com/getActivity/XXPermissions) from 13.2 to 16.2.
- [Release notes](https://github.com/getActivity/XXPermissions/releases)
- [Commits](https://github.com/getActivity/XXPermissions/compare/13.2...16.2)

---
updated-dependencies:
- dependency-name: com.github.getActivity:XXPermissions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 13:47:36 +00:00
RustDesk 16567483d6 Merge pull request #1563 from rustdesk/dependabot/gradle/flutter/android/androidx.media-media-1.6.0
Bump media from 1.4.3 to 1.6.0 in /flutter/android
2022-09-17 21:46:36 +08:00
RustDesk 19de86b1d3 Merge pull request #1561 from rustdesk/dependabot/gradle/flutter/android/com.google.gms-google-services-4.3.14
Bump google-services from 4.3.3 to 4.3.14 in /flutter/android
2022-09-17 21:41:18 +08:00
RustDesk c39bad1d57 Merge pull request #1560 from rustdesk/dependabot/gradle/flutter/android/com.android.tools.build-gradle-7.3.0
Bump gradle from 7.0.2 to 7.3.0 in /flutter/android
2022-09-17 21:41:05 +08:00
RustDesk a484d2cbaf Merge pull request #1559 from rustdesk/dependabot/gradle/flutter/android/org.jetbrains.kotlin-kotlin-gradle-plugin-1.7.10
Bump kotlin-gradle-plugin from 1.6.10 to 1.7.10 in /flutter/android
2022-09-17 21:40:46 +08:00
RustDesk c7de8b9d6e Merge pull request #1557 from rustdesk/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-09-17 21:40:21 +08:00
RustDesk bbffc1a517 Merge pull request #1558 from rustdesk/dependabot/cargo/hound-3.5.0
Bump hound from 3.4.0 to 3.5.0
2022-09-17 21:39:51 +08:00
dependabot[bot] 7d7f0e6238 Bump tokio-util from 0.7.3 to 0.7.4
Bumps [tokio-util](https://github.com/tokio-rs/tokio) from 0.7.3 to 0.7.4.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-util-0.7.3...tokio-util-0.7.4)

---
updated-dependencies:
- dependency-name: tokio-util
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:44 +00:00
dependabot[bot] e871663a86 Bump sha2 from 0.10.2 to 0.10.6
Bumps [sha2](https://github.com/RustCrypto/hashes) from 0.10.2 to 0.10.6.
- [Release notes](https://github.com/RustCrypto/hashes/releases)
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.10.2...sha2-v0.10.6)

---
updated-dependencies:
- dependency-name: sha2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:44 +00:00
dependabot[bot] 8be6736076 Bump media from 1.4.3 to 1.6.0 in /flutter/android
Bumps media from 1.4.3 to 1.6.0.

---
updated-dependencies:
- dependency-name: androidx.media:media
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:37 +00:00
dependabot[bot] 191e7cf0ba Bump google-services from 4.3.3 to 4.3.14 in /flutter/android
Bumps google-services from 4.3.3 to 4.3.14.

---
updated-dependencies:
- dependency-name: com.google.gms:google-services
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:35 +00:00
dependabot[bot] 827c535490 Bump gradle from 7.0.2 to 7.3.0 in /flutter/android
Bumps gradle from 7.0.2 to 7.3.0.

---
updated-dependencies:
- dependency-name: com.android.tools.build:gradle
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:34 +00:00
dependabot[bot] 519ebf4fee Bump kotlin-gradle-plugin from 1.6.10 to 1.7.10 in /flutter/android
Bumps [kotlin-gradle-plugin](https://github.com/JetBrains/kotlin) from 1.6.10 to 1.7.10.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/v1.7.10/ChangeLog.md)
- [Commits](https://github.com/JetBrains/kotlin/compare/v1.6.10...v1.7.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-gradle-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:32 +00:00
dependabot[bot] ec0e5f52f9 Bump hound from 3.4.0 to 3.5.0
Bumps [hound](https://github.com/ruuda/hound) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/ruuda/hound/releases)
- [Changelog](https://github.com/ruuda/hound/blob/master/changelog.md)
- [Commits](https://github.com/ruuda/hound/commits)

---
updated-dependencies:
- dependency-name: hound
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:30 +00:00
dependabot[bot] b57fcb1880 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-17 11:26:01 +00:00
RustDesk dc59158406 Merge pull request #1556 from VoidxHoshi/master
Use GitHub Dependabot to manage deps
2022-09-17 19:25:38 +08:00
LaLucid bcf52d2cd8 Create dependabot.yml 2022-09-17 17:40:50 +08:00
rustdesk 9bb52db1cd fix logo path 2022-09-16 22:55:21 +08:00
RustDesk c56f6b4610 Merge pull request #1554 from i2/master
Re-organize the main directory of the project
2022-09-16 22:53:42 +08:00
Reza 0aaadd1260 Merge remote-tracking branch 'upstream/master' 2022-09-16 11:48:13 -03:00
Reza 3a04991c77 1. Moved *.md files to docs folder 2. currently was used twice 2022-09-16 11:46:21 -03:00
RustDesk 6c897687d4 Merge pull request #1553 from songwei163/weisong/fix_m1_pro_compile_scrap_error
fix m1 pro scrap compile error
2022-09-16 22:44:08 +08:00
rustdesk 30aa7efbf5 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-09-16 22:39:31 +08:00
rustdesk 4b451b25e9 disable macos sandbox, we are not normal app 2022-09-16 22:38:55 +08:00
songwei163 dd2315a518 fix m1 pro scrap compile error 2022-09-16 22:22:17 +08:00
RustDesk 6ed1c8beb1 Merge pull request #1552 from Heap-Hop/master
Update Android
2022-09-16 22:06:29 +08:00
csf 2e0f71fb35 fix sciter has_hwcodec 2022-09-16 21:55:51 +08:00
rustdesk d80b5c35d4 add icon files for mac flutter 2022-09-16 21:53:34 +08:00
csf e32a019a29 feat: Android change id 2022-09-16 21:52:08 +08:00
csf e0302de808 Android server_page.dart fix verificationMethod onSelected color & follow lint 2022-09-16 20:43:15 +08:00
csf 6f92edca5c feat: Android Codec Preference 2022-09-16 20:31:01 +08:00
csf c6e1e84c72 flutter desktop Codec Preference 2022-09-16 19:43:28 +08:00
csf e3a5218eb1 global HW_CODEC_CONFIG 2022-09-16 19:41:04 +08:00
RustDesk f84cb5a59c Merge pull request #1551 from Kingtous/master
opt: windows ui
2022-09-16 18:06:44 +08:00
Kingtous 76ad796c6a opt: [windows] hide window on start 2022-09-16 17:46:46 +08:00
Kingtous 402e1c587c fix: cm stuck at boot up, revert to flutter 3.0.5 2022-09-16 17:46:44 +08:00
rustdesk 921c321a71 remove flutter_test to resolve version conflict with icon_launcher 2022-09-16 17:14:32 +08:00
RustDesk 723f731a20 Merge pull request #1550 from Kingtous/master
opt: main window save/restore offset/position
2022-09-16 14:38:52 +08:00
RustDesk e2d67ed19a Merge pull request #1539 from asur4s/master
Refactor: input mode of desktop
2022-09-16 14:13:20 +08:00
Kingtous 0e26095852 opt: main window save/restore offset/position 2022-09-16 12:14:03 +08:00
RustDesk dddc03eb46 Merge pull request #1546 from Kingtous/master
opt: icons for all platform
2022-09-16 12:06:16 +08:00
Kingtous 3ef1adf796 opt: icons for all platform 2022-09-16 11:10:09 +08:00
rustdesk f17cc0c537 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-09-16 00:33:01 +08:00
rustdesk ccdd01eed0 fix mac flutter build issue, ipc not working yet 2022-09-16 00:32:34 +08:00
RustDesk 25b24acc07 Merge pull request #1543 from meisenger/patch-2
Kazakh language name correction
2022-09-16 00:04:18 +08:00
meisenger ac7a8cfc2d Kazakh language name correction 2022-09-15 20:38:03 +05:00
RustDesk 5f6619080f Merge pull request #1542 from Heap-Hop/ndk_mediacodec
Feat: Android H264/H265 decoder support
2022-09-15 21:17:24 +08:00
csf f310251cfc feat mediacodec: Android H264/H265 decoder support 2022-09-15 20:40:29 +08:00
rustdesk a73fab575a run.sh 2022-09-15 18:27:10 +08:00
rustdesk 3730ed0cc3 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-09-15 17:41:45 +08:00
rustdesk f4871a992f refactor core_main, also fix windows flutter restart repeated fatal
error crash
2022-09-15 17:41:10 +08:00
csf d3bc4a7dc6 fix desktopType for mobile 2022-09-15 16:36:52 +08:00
csf 1e9e00ec51 put video_handler thread & update android build 2022-09-15 16:09:07 +08:00
Asura 25fd0d6148 Refactor: input mode of desktop 2022-09-14 23:49:59 -07:00
RustDesk 741dc182ed Merge pull request #1531 from fufesou/flutter_desktop_fix_peer_card
flutter_desktop: fix remove fav peer && remove unused code
2022-09-15 13:33:37 +08:00
fufesou f17198cd2a flutter_desktop: fix remove fav peer && remove unused code
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-14 22:25:07 -07:00
csf af656f9489 add mediacodec.rs 2022-09-15 12:19:09 +08:00
RustDesk ab60db3e66 Merge pull request #1530 from Kingtous/master
fix: add null catch on address book request
2022-09-15 11:18:48 +08:00
Kingtous 088e31d80f fix: add null catch on address book request 2022-09-15 11:06:44 +08:00
RustDesk 232c3a1112 Merge pull request #1526 from asur4s/master
Fix compile on android && altgr of Korean
2022-09-14 20:44:26 +08:00
Asura 9502a2eddc Fix altgr of Korean 2022-09-14 05:31:19 -07:00
Asura e6b1b007a6 Fix compile on android 2022-09-14 05:01:14 -07:00
Asura 4d2feb6030 Add polkit to build.py 2022-09-14 02:48:00 -07:00
RustDesk 5b4357b8c4 Merge pull request #1514 from fufesou/flutter_desktop_new_remote_menu_4
flutter_desktop: trivial changes
2022-09-14 10:52:56 +08:00
fufesou c5a78ce107 flutter_desktop: update custom cursor lib & menubar margin & better callback for pinning menubar
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-13 19:10:55 -07:00
RustDesk f4bc27f969 Merge pull request #1512 from Heap-Hop/master
Optimize flutter desktop
2022-09-13 23:26:49 +08:00
csf d92bbc045a add main ui interface #[inline] 2022-09-13 22:59:41 +08:00
csf 583ccb4b66 del finished TODOs 2022-09-13 22:59:38 +08:00
csf 2e2bf3b8fb optimize model.dart 2022-09-13 22:59:33 +08:00
csf e9d94fdb24 mv lib/cm_main.dart to test/cm_test.dart 2022-09-13 22:59:28 +08:00
csf a28fd5d772 refactor: del unused or dead code and optimize reusable code 2022-09-13 22:59:13 +08:00
csf d3eac8539d fix android no input permission 2022-09-13 22:52:44 +08:00
csf ccb60ace8f fix mouse out of bounds 2022-09-13 22:52:33 +08:00
RustDesk 406be63ffd Merge pull request #1511 from fufesou/flutter_desktop_new_remote_menu_4
Flutter desktop new remote menu 4
2022-09-13 22:33:15 +08:00
fufesou 27e0bdca97 flutter_desktop: pin menubar, rotate icon
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-13 07:24:06 -07:00
RustDesk 1bacd2335d Merge pull request #1510 from asur4s/master
Fix error of flutter deb
2022-09-13 22:14:43 +08:00
Asura 72f2abc352 Merge branch 'master' of https://github.com/rustdesk/rustdesk 2022-09-13 07:08:29 -07:00
fufesou a075385a11 flutter_desktop: fix resize scale && Pin peer menu bar
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-13 22:01:15 +08:00
RustDesk ae570acd03 Merge pull request #1509 from 21pages/optimize
add polkit and update build.rs
2022-09-13 21:56:13 +08:00
Asura 7ffa407604 Fix logger without ui 2022-09-13 06:33:56 -07:00
Asura a8e501cb79 Fix compile error on Android 2022-09-13 05:20:45 -07:00
21pages 2f1092afaf refactor audio setting
Signed-off-by: 21pages <pages21@163.com>
2022-09-13 19:38:50 +08:00
21pages 203d9e39a0 add polkit for custom authentication && update build.rs
Signed-off-by: 21pages <pages21@163.com>
2022-09-13 19:37:52 +08:00
RustDesk 9456afd870 Merge pull request #1492 from sandr01d/flatpak
Added flatpak feature
2022-09-13 17:13:10 +08:00
rustdesk 69c49073c6 kz 2022-09-13 17:00:59 +08:00
Asura 675e199b35 Disable keyboard listen 2022-09-13 01:50:22 -07:00
Asura a505b73a56 Fix build flutter deb 2022-09-13 01:35:18 -07:00
RustDesk 64b723a035 Merge pull request #1434 from darmenerk/patch-1
Create kz.rs
2022-09-13 15:46:08 +08:00
RustDesk 166f015391 Merge pull request #1481 from StephanStS/patch-1
Added zip and make at Debian minimal installation
2022-09-13 15:45:06 +08:00
RustDesk 64f5f3253c Merge pull request #1501 from Heap-Hop/master
Update flutter desktop
2022-09-13 09:50:36 +08:00
RustDesk 2234c4a61d Merge pull request #1500 from 21pages/optimize
update setting page && fix audio no sound
2022-09-13 09:49:41 +08:00
csf 062a9d2635 update flutter desktop, chat page (in remote page) style 2022-09-13 09:29:19 +08:00
csf f6055130e4 mv overlay.dart 2022-09-13 09:14:10 +08:00
csf 7fce018eea optimize closeConfirmDialog by using async onWindowCloseButton 2022-09-13 09:14:06 +08:00
21pages 76e7bf5293 add ScrollController to each ScrollView
fix "The provided ScrollController is currently attached to more than one ScrollPosition"

Signed-off-by: 21pages <pages21@163.com>
2022-09-13 09:10:04 +08:00
21pages 42d17f9d2b fix audio no sound, add missing VideoFrame timestamp
move get_time to hbb_common

Signed-off-by: 21pages <pages21@163.com>
2022-09-13 09:10:04 +08:00
21pages 302a43d68c update setting page, add option enable-rdp
Signed-off-by: 21pages <pages21@163.com>
2022-09-13 09:10:04 +08:00
21pages f5dba0f7aa rdp and tcpTunnel use same tabPage
Signed-off-by: 21pages <pages21@163.com>
2022-09-13 09:09:59 +08:00
rustdesk d939a5ebc6 remove flutter/PKGBUILD, and modify build.py, not tested yet 2022-09-12 19:17:46 +08:00
rustdesk 4b0d12f16e change flutter_hbb name later 2022-09-12 18:45:28 +08:00
RustDesk 70f7dddfd6 Merge pull request #1499 from Kingtous/master
feat: flutter-ci, remove corrsion for win/linux
2022-09-12 18:40:46 +08:00
Kingtous 74201b71b4 opt: windows build type & use generator expression 2022-09-12 18:37:09 +08:00
Kingtous a957f894b7 add: dl libs
fix: flutter ci

Signed-off-by: Kingtous <kingtous@qq.com>

add: flutter ci

Signed-off-by: Kingtous <kingtous@qq.com>
2022-09-12 18:37:09 +08:00
RustDesk de1c7b96b1 Merge pull request #1498 from fufesou/flutter_desktop_fix_scroll_auto
flutter_desktop: fix scroll to center when mouse hover menu bar
2022-09-12 16:38:36 +08:00
fufesou c479e0871d flutter_desktop: fix scroll to center when mouse hover menu bar
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-12 01:35:56 -07:00
rustdesk 5926892734 miss libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev; 2022-09-12 13:06:58 +08:00
rustdesk ed58f0745b revert back to no flutter version 2022-09-12 12:50:51 +08:00
rustdesk 86a9060e16 remove flutter from default features 2022-09-12 12:31:02 +08:00
RustDesk a0c46c905d Merge pull request #1497 from fufesou/flutter_desktop_cursors
Flutter desktop cursors
2022-09-12 12:12:09 +08:00
fufesou efe6d080f3 flutter_desktop: set event func to async
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-11 19:52:38 -07:00
fufesou aa6e747e8a flutter_desktop: cursor image cache mismatch
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-10 19:50:48 -07:00
sandroid 1f591e0a66 Added flatpak feature
Signed-off-by: sandroid <sandroid@posteo.net>
2022-09-10 00:44:35 +02:00
fufesou ef0980a9b1 flutter_desktop: fix local cursor (hotx,hoty) offset
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-08 21:06:52 -07:00
fufesou adafa38cfa flutter_desktop: change cursor on scroll auto
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-08 21:06:52 -07:00
RustDesk d8f16a523e Merge pull request #1482 from fufesou/flutter_desktop_check_menu
Flutter desktop check menu
2022-09-09 10:47:12 +08:00
fufesou 8d198a2554 flutter_desktop: add action, allow file copy & paste
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-08 19:30:50 -07:00
fufesou 21b277ea3f flutter_desktop: check remote menu, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-08 19:30:48 -07:00
StephanStS bf7df67286 Added zip and make at Debian minimal installation
Compile errors due to missing packages occured.
2022-09-09 02:11:25 +02:00
RustDesk f1bbe9ca5e Merge pull request #1479 from Heap-Hop/master
Update flutter desktop
2022-09-08 22:39:07 +08:00
csf 121111b864 add flutter start_server & fix cm user environment from linux service 2022-09-08 22:25:04 +08:00
csf d0c438268d update overlay widgets on flutter desktop
1. add mobile actions
2. disable showChatIcon
2022-09-08 22:18:02 +08:00
csf 36143c0880 update Cargo.lock pubspec.lock & rename connection_tab_page.dart -> remote_tab_page.dart 2022-09-08 21:12:35 +08:00
csf 30156c694b add file_transfer confirm close 2022-09-08 21:03:20 +08:00
csf 63cb816b7d fix: close one connection tab will dispose all tabs (Obx) 2022-09-08 20:43:27 +08:00
csf b93e59df21 confirm connection tab close 2022-09-08 20:41:14 +08:00
RustDesk 29ad4c10e6 Merge pull request #1478 from Kingtous/master
feat: flatpak and flutter build
2022-09-08 18:29:41 +08:00
Kingtous 2d93460873 feat: flatpak and flutter build 2022-09-08 18:27:38 +08:00
RustDesk 1c170366e7 Merge pull request #1473 from 21pages/optimize
sync theme and language
2022-09-08 12:34:56 +08:00
21pages e594657f97 fix linux RUSTDESK_LIB_PATH
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 12:20:33 +08:00
RustDesk e393c6aafe Merge pull request #1472 from fufesou/flutter_cursors_cache
flutter_destkop: fix cursor cache scale
2022-09-08 11:08:26 +08:00
fufesou a9bb7c7947 flutter_destkop: fix cursor scale
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 19:52:30 -07:00
21pages d5d2a98572 sync language
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
21pages b4e0101e3e sync theme
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
21pages 17a7cbf7bb follow system theme at startup and changing
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
21pages a3c1e5ddb4 make os-password msgbox wordwrap
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
21pages 59f82262c8 fix cm waiting page close button
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
21pages 31550452c3 remove overlay of PortForward page because it will cause rebuilding when closing
msgbox

Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
21pages 48481884b1 fix closing PortForward page while closing msgbox
Signed-off-by: 21pages <pages21@163.com>
2022-09-08 10:25:17 +08:00
RustDesk 48998ded2e Merge pull request #1470 from fufesou/flutter_cursors_cache
Flutter cursors cache
2022-09-08 09:52:43 +08:00
fufesou 41a5d53de6 flutter_desktop: refactor GetX in popup menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 18:42:48 -07:00
fufesou 9b694cbac0 flutter_desktop: cursor cache - linux
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 18:42:48 -07:00
RustDesk 93236bb3cd Merge pull request #1469 from fufesou/fix_build_220907
sciter: fix build windows
2022-09-08 07:50:52 +08:00
fufesou e560a17d05 sciter: fix build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 22:47:30 +08:00
rustdesk f91293bc12 1.2.0 2022-09-07 22:00:42 +08:00
RustDesk 47cefc57e6 Merge pull request #964 from asur4s/master
Feat: Support new keyboard mode
2022-09-07 21:34:29 +08:00
RustDesk 7d60992770 Merge pull request #1468 from fufesou/flutter_desktop_new_remote_menu_3
Flutter desktop cursor & popup menu refactor
2022-09-07 20:04:08 +08:00
Asura 09ad5e134c doc: Add wayland instructions 2022-09-07 18:04:43 +08:00
fufesou 1bf9700da6 flutter_desktop: show cursor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 17:44:18 +08:00
fufesou 70c4726766 flutter_desktop: password menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 17:43:19 +08:00
fufesou a50482af5c flutter_desktop: WOL & menu, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-07 17:37:29 +08:00
Asura a3279de93a Remove unnecessary log 2022-09-07 17:07:36 +08:00
Asura afa9cda9bd Hide translate mode 2022-09-07 16:58:44 +08:00
Asura 4d3fa6955b Fix windows compile error 2022-09-07 16:57:27 +08:00
asur4s f1c8b59a91 Update lock file 2022-09-07 04:04:07 -04:00
asur4s 8da4fbabf5 Merge branch 'master' of https://github.com/rustdesk/rustdesk 2022-09-07 03:52:31 -04:00
RustDesk c474ac01cc Merge pull request #1457 from Heap-Hop/master
Update desktop file transfer and fix sciter can't update connect status bug
2022-09-06 20:21:23 +07:00
csf 468527775e fix sciter can't update connect status bug 2022-09-06 21:10:59 +08:00
csf 05218ecabc fix sciter confirm_delete_files bug 2022-09-06 19:56:35 +08:00
asur4s cc4e6b591d Convet numpad 2022-09-06 07:09:24 -04:00
csf 235eb5415e update file transfer and adjust icon size 2022-09-06 19:08:45 +08:00
asur4s 51e13c5f5a Merge branch 'master' of github.com:asur4s/rustdesk 2022-09-06 05:00:21 -04:00
asur4s 4eaa17017c Refacotr enter or leave 2022-09-06 04:39:24 -04:00
asur4s f20587cbc0 Fix release super key 2022-09-06 04:38:51 -04:00
Asura afbdbe11fc Opt: wayland map mode 2022-09-06 14:02:12 +08:00
asur4s d3d31ff014 Fix modifier key status 2022-09-05 23:39:01 -04:00
asur4s b6e0cc8e74 Fix warning 2022-09-05 12:39:11 -04:00
asur4s 2d7cd7c864 Refactor: tfc 2022-09-05 11:50:42 -04:00
asur4s 3d7377f9b6 Opt: Change keyboard mode by ui 2022-09-05 10:18:29 -04:00
RustDesk 82acb6a351 Merge pull request #1451 from Heap-Hop/refactor_ui_interface
Refactor UI interface
2022-09-05 20:31:14 +07:00
csf 948580b288 Windows build 2022-09-05 21:28:26 +08:00
asur4s 72d357e14b Refactor get led state 2022-09-05 08:07:13 -04:00
csf bd733bc108 mobile build 2022-09-05 20:05:23 +08:00
asur4s a105aff2aa Get key state by read file 2022-09-05 07:52:38 -04:00
csf 7eeb0f7335 refactor cm -> ui_cm_interface for sciter and flutter 2022-09-05 19:41:09 +08:00
asur4s 5dfd041d8f Opt: enter or leave 2022-09-05 06:19:05 -04:00
asur4s abf78ab6f7 Refacotr env of keyboard && enter view 2022-09-05 05:55:31 -04:00
RustDesk e5d331daa4 Merge pull request #1448 from Kingtous/master
fix: linux wayland frame of subwindow exists
2022-09-05 14:18:58 +07:00
Kingtous 4c499ecf2e fix: linux wayland frame of subwindow exists
Signed-off-by: Kingtous <kingtous@qq.com>
2022-09-05 14:01:52 +08:00
csf 09b769d92f WIP file transfer 2022-09-05 10:27:33 +08:00
RustDesk f385127f3b Merge pull request #1445 from 21pages/optimize
id format && dialog key and focus handling
2022-09-05 08:23:48 +07:00
21pages f47254c5e2 adjust geometry
Signed-off-by: 21pages <pages21@163.com>
2022-09-04 20:57:57 +08:00
asur4s 8df3000b6b Fix syntax error 2022-09-04 04:58:24 -04:00
Asura 79aec0a63f Fix compile error 2022-09-04 16:50:25 +08:00
Asura 7a35119d33 Fix misspell 2022-09-04 16:50:02 +08:00
21pages 760ab51919 dark theme adjustment
Signed-off-by: 21pages <pages21@163.com>
2022-09-04 16:26:08 +08:00
asur4s 9f80202c79 Refactor is_x11 2022-09-04 04:25:34 -04:00
asur4s 7a1b1d87e9 Fix uinput server in wayland clien 2022-09-04 04:20:21 -04:00
asur4s 7c2f26eab2 Fix numlock in wayland 2022-09-04 02:29:14 -04:00
asur4s 071720fe8b Feat: Support map keyboard mode in wayland 2022-09-03 23:30:41 -04:00
21pages 62870e453c add tabbar theme extension to fix theme update failure after overlay
added

Signed-off-by: 21pages <pages21@163.com>
2022-09-04 11:03:16 +08:00
asur4s 925a9e43cb Refactor: env of keyboard mode 2022-09-03 21:49:58 -04:00
21pages a553334157 dialog focus && deal with Enter/Esc key
Signed-off-by: 21pages <pages21@163.com>
2022-09-04 09:17:36 +08:00
asur4s abf79ba61d Fix down and press of key_event in legacy 2022-09-03 11:07:55 -04:00
21pages 1b56304d9a format id
Signed-off-by: 21pages <pages21@163.com>
2022-09-03 18:20:55 +08:00
RustDesk 7e847ea071 Merge pull request #1439 from fufesou/flutter_desktop_new_remote_menu_3
flutter_desktop: fix cursor
2022-09-03 18:16:58 +08:00
fufesou 11c5364e71 flutter_desktop: fix cursor, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-03 03:10:55 -07:00
asur4s 40534fd79f Fix ci 2022-09-02 19:54:53 -04:00
asur4s bec8daafb9 Fix simulate in wayland 2022-09-02 15:29:25 -04:00
darmenerk fe4790c426 Create kz.rs 2022-09-02 22:15:32 +05:00
Asura 15b8a5592d Refactor: check env variable 2022-09-02 05:41:50 -07:00
Asura 815d02b728 Fix misspell 2022-09-02 04:54:04 -07:00
Asura 34d7089a8e Refactor: map keyboard 2022-09-02 04:49:36 -07:00
RustDesk f37dc72bbf Merge pull request #1433 from fufesou/fix_cursor_size_and_id
sciter_desktop: fix cursor
2022-09-02 19:07:36 +08:00
fufesou f69bedeac5 sciter_desktop: fix cursor size(resize window) and id(after connection)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-02 18:56:03 +08:00
Asura c3fe407d5c Check LLVM_HOME when build 2022-09-02 02:06:40 -07:00
Asura a2763c2d6f Remove generate file 2022-09-02 02:05:29 -07:00
Asura 41241867b7 Fix compile warning 2022-09-02 01:20:48 -07:00
RustDesk c2cd38a4ed Merge pull request #1430 from fufesou/flutter_desktop_new_remote_menu_2
Flutter desktop new remote menu 2
2022-09-02 16:17:29 +08:00
Asura 03315a3bc4 Update pubspec.lock 2022-09-02 01:11:59 -07:00
Asura be14a102b9 Opt: handle error in tfc 2022-09-02 01:11:35 -07:00
Asura 2b0778987c Update pubspec.lock to fix CI 2022-09-02 00:24:09 -07:00
Asura a4ee1bcc38 Get flutter deps when build 2022-09-01 23:58:14 -07:00
Asura bc7611ae0d Merge branch 'master' of https://github.com/rustdesk/rustdesk 2022-09-01 23:53:55 -07:00
fufesou 722a4d3de7 flutter desktop: ui changes
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-02 13:46:12 +08:00
fufesou 2dc8c02d15 flutter_desktop: custom image quality ui
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-02 13:46:11 +08:00
RustDesk 5a8fc529ed Merge pull request #1429 from 21pages/optimize
Optimize cm display behavior
2022-09-02 11:30:45 +08:00
Asura 4421d08384 Delete reset function about enigo 2022-09-01 20:24:50 -07:00
21pages f6bc448cec adjust cm display behavior
Signed-off-by: 21pages <pages21@163.com>
2022-09-02 11:10:32 +08:00
RustDesk 730f0ed0f7 Merge pull request #1428 from Kingtous/master
fix: crash on linux wayland setAlignment
2022-09-02 11:02:01 +08:00
Kingtous 155fa51ff4 fix: linux wayland setAlignment crash workaround
Signed-off-by: Kingtous <kingtous@qq.com>
2022-09-02 10:50:14 +08:00
21pages 39a1545e94 add close confirmation dialog
Signed-off-by: 21pages <pages21@163.com>
2022-09-02 10:37:21 +08:00
RustDesk 06541be459 Merge pull request #1426 from fufesou/flutter_desktop_new_remote_menu_2
Flutter desktop new remote menu 2
2022-09-02 10:04:22 +08:00
fufesou 9085a93888 flutter_desktop: fix peer page bugs
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-01 17:44:20 -07:00
fufesou ec02f9e721 flutter_desktop: refactor peercard menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-01 22:13:37 +08:00
fufesou ce1a504e9f flutter_desktop: custom image quality
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-01 22:13:37 +08:00
fufesou 7cb079afc8 flutter_desktop: add debug print
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-01 22:13:36 +08:00
fufesou 4b9805b0f3 flutter_desktop: custom image quality
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-01 22:13:32 +08:00
fufesou 59f0ffa82f flutter_desktop: menu bar, switch menu & shrink-stretch -> adaptive
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-09-01 22:05:06 +08:00
RustDesk 027ffbb405 Merge pull request #1419 from Heap-Hop/refactor_desktop_remote_code
Refactor desktop remote.rs flutter.rs
2022-09-01 18:56:52 +08:00
csf a435fc999a mobile build 2022-09-01 18:23:06 +08:00
csf ee83987523 sciter input & conn_type and other InvokeUi impl 2022-09-01 17:36:37 +08:00
RustDesk 19414c767b Merge pull request #1306 from XieJiSS/master
fix: unicode-related error during .ts generation
2022-09-01 16:49:18 +08:00
csf 2891c1b148 refactor set_peer_info 2022-09-01 16:21:41 +08:00
Asura 763456519e Add Key for tfc 2022-09-01 00:36:24 -07:00
Asura 37dbfcc86d Delete pynput from repo 2022-08-31 23:07:52 -07:00
csf 41a53e4983 refactor io_loop 2022-09-01 09:48:53 +08:00
csf ae265ca836 flutter.rs Session -> ui_session_interface.rs 2022-08-31 22:24:57 +08:00
csf e5c4554221 refactor remote, sciter / flutter run success 2022-08-31 20:46:30 +08:00
XieJiSS 3e8f7ed36d fix: unicode-related error during .ts generation
The user may uses a different codepage/encoding which is not unicode,
so we'd like to get rid of that
2022-08-31 20:24:48 +08:00
RustDesk f91701910a Merge pull request #1412 from 21pages/tabbar
fix tabbar close button display problem when selected && hovered
2022-08-31 20:03:09 +08:00
21pages 8f6fed5416 fix tabbar close button can't show when selected && hovered
Signed-off-by: 21pages <pages21@163.com>
2022-08-31 19:23:32 +08:00
Asura 9999e8864e Update pubspec.lock 2022-08-31 04:16:49 -07:00
Asura 78112e9754 Replace pynput with tfc 2022-08-31 03:54:31 -07:00
csf bdcb848a75 refactor remote interface 2022-08-31 16:31:31 +08:00
RustDesk 1e07a604e8 Merge pull request #1409 from 21pages/remote-modification
option remote modification
2022-08-31 15:40:57 +08:00
21pages 38abd27384 impl option remote modification
Signed-off-by: 21pages <pages21@163.com>
2022-08-31 15:21:18 +08:00
21pages 839be76b8f tabbar: check before scroll
Signed-off-by: 21pages <pages21@163.com>
2022-08-31 09:19:51 +08:00
21pages 7fce02e688 fix: not use fixed button width
Signed-off-by: 21pages <pages21@163.com>
2022-08-31 09:19:51 +08:00
Heizi d8497e43d2 Update README-ZH.md
重新排版 + 地道国语化
(Retype & Authentic Chinese)
2022-08-31 05:11:14 +08:00
Heizi a621ac0884 Translate Germany to "德国" 2022-08-31 02:49:19 +08:00
RustDesk 694896abda Merge pull request #1404 from fufesou/flutter_desktop_new_remote_menu
Flutter desktop new remote menu
2022-08-30 23:31:20 +08:00
fufesou b7ce85e062 flutter_deskop: sync session add, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-30 23:04:37 +08:00
fufesou 4d914e9a01 flutter_desktop: remote menubar remove submenu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-30 21:49:08 +08:00
fufesou f42c6ffeaf flutter_desktop: connection type icon, tested windows
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-30 21:49:05 +08:00
fufesou 01e96a1134 flutter_desktop: connection type, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-30 21:47:05 +08:00
RustDesk 256149ecdf Merge pull request #1402 from Kingtous/master
fix: close all typed sessions when hide subwindow
2022-08-30 21:00:45 +08:00
Kingtous c72e48bef1 fix: close all typed sessions when hide subwindow 2022-08-30 20:48:59 +08:00
RustDesk d7aa8b43c5 Merge pull request #1398 from Kingtous/master
fix: linux memory-safe workaround
2022-08-30 16:47:04 +08:00
Kingtous 66a2c51ca5 fix: linux memory-safe workaround
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-30 16:45:47 +08:00
Asura 30bfa59e7d Without Clear Key on Mac OS 2022-08-30 15:53:44 +08:00
Asura a0cb39af9c Fix numlock and capslock on Mac 2022-08-30 15:35:39 +08:00
RustDesk 8858d0342d Merge pull request #1390 from Heap-Hop/master
Update port-forward
2022-08-29 19:54:14 +08:00
csf fcc62febb1 update port-forward
1. fix multi remote port override.
2. add connection.rs port-forward failed to close
2022-08-29 19:45:06 +08:00
csf 37617fa888 fix port forward session id & file session dispose 2022-08-29 18:37:03 +08:00
Asura ce8e8536cb Merge branch 'master' of github.com:asur4s/rustdesk 2022-08-29 17:14:17 +08:00
Asura 4423a18e79 Opt svg of keyboard 2022-08-29 17:14:05 +08:00
Asura 5d69a99427 Fix compile error on windows 2022-08-29 15:25:53 +08:00
csf a90973621a rust port-forward 2022-08-29 13:08:42 +08:00
RustDesk 560c03e99c Merge pull request #1389 from 21pages/port-forward
port forward ui && fix TextField cursor problem
2022-08-29 09:15:06 +08:00
21pages e0579a9b57 add keeping android font scale factor
Signed-off-by: 21pages <pages21@163.com>
2022-08-29 08:41:39 +08:00
21pages b004f4b9ee fix TextField cursor problem
Signed-off-by: 21pages <pages21@163.com>
2022-08-29 08:41:33 +08:00
RustDesk c5c0d92aa3 Merge pull request #1388 from fufesou/flutter_desktop_new_remote_menu
Flutter desktop new remote menu
2022-08-28 22:10:09 +08:00
fufesou 55ba191ad9 flutter_desktop: show/hide menubar tooltip
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-28 21:55:16 +08:00
fufesou ea77d9284b flutter_desktop: new remote menu, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-28 21:13:11 +08:00
21pages 6ea16e4cdb port forward ui
Signed-off-by: 21pages <pages21@163.com>
2022-08-28 20:17:28 +08:00
RustDesk 7b4a655eaf Merge pull request #1385 from Kingtous/master
fix: linux main/sub window resize issue
2022-08-28 15:01:38 +08:00
Kingtous 98387e06e1 fix: linux main/sub window resize issue
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-28 14:59:13 +08:00
Asura 914847bb63 Fix generated_bridge 2022-08-27 23:00:43 +08:00
Asura 3b5b79712b Fix compile error on macos 2022-08-27 22:17:02 +08:00
RustDesk e2a910fda7 Merge pull request #1382 from maninhill/patch-1
chore: spelling correction
2022-08-27 19:36:59 +08:00
maninhill e9085ecc44 chore: spelling correction 2022-08-27 19:31:07 +08:00
Asura 32f9b4c787 Support map keyboard mode on flutter 2022-08-27 01:03:44 -07:00
Asura 52a0621d19 Fix CI 2022-08-26 22:13:19 -07:00
Asura 4da81ab7ee Merge branch 'flutter_desktop' 2022-08-26 22:00:49 -07:00
Asura b3f83b98c7 Fix flutter pub hostname 2022-08-26 21:50:21 -07:00
Asura 67a95cf864 Fix compile error on MacOS 2022-08-27 10:01:04 +08:00
Asura e0db94532f Merge branch 'rustdesk/master' 2022-08-27 09:55:27 +08:00
Asura ee19a03ecc Convert keycode to RdevKey 2022-08-26 18:29:46 -07:00
RustDesk ba8addbe2f Merge pull request #1376 from Kingtous/master
opt: support match user/hostname/id(flutter&sciter), case insensitive
2022-08-27 08:35:14 +08:00
Kingtous 4e047f1bb2 opt: support match user/hostname/id(sciter), case insensitive
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-27 01:05:38 +08:00
Kingtous ff5e9a8ea5 opt: support match user/hostname/id(flutter), case insensitive
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-27 00:45:09 +08:00
RustDesk c6bcc9a099 Update README.md 2022-08-26 17:09:04 +08:00
RustDesk f830b395b9 Update README.md 2022-08-26 17:07:11 +08:00
RustDesk 8c9a3ac955 Merge pull request #1367 from Kingtous/master
feat: deb/arch flutter package
2022-08-26 14:59:23 +08:00
RustDesk fc46952c98 Merge pull request #1373 from Heap-Hop/fix/view_page_key
fix: PageView tab dispose bug & peercard double click
2022-08-26 13:09:12 +08:00
csf 343be3ddf2 fix peer card double click 2022-08-26 13:02:15 +08:00
csf 14f34f589c fix tab dispose bug, add Key for PageView children 2022-08-26 12:14:14 +08:00
csf c04168eb73 add flutter_lints 2022-08-26 12:00:53 +08:00
Zachary Locklear 25b052ef17 Grammatical correction for closing dialog. 2022-08-25 09:57:12 -06:00
Asura ba17864fa1 Merge branch 'master' of github.com:asur4s/rustdesk 2022-08-25 21:29:42 +08:00
Kingtous 2fbe313d2e feat: deb package 2022-08-25 18:36:44 +08:00
rustdesk 5e9a31340b minifize png 2022-08-25 17:39:03 +08:00
Kingtous 1fb186fd2a feat: manjaro/arch build.py 2022-08-25 17:35:45 +08:00
RustDesk f6f7ce1f2f Merge pull request #1360 from 21pages/flutter_desktop-merge-from-master
merge master to flutter_desktop
2022-08-25 14:46:10 +08:00
21pages b2b7ca30fd add force-always-relay menu
Signed-off-by: 21pages <pages21@163.com>
2022-08-25 14:35:08 +08:00
21pages f9db9fc87a Merge branch 'master' into flutter_desktop 2022-08-25 13:41:25 +08:00
RustDesk 1f457dec41 Merge pull request #1354 from 21pages/style
keep text scale factor && peer style change
2022-08-25 10:28:25 +08:00
21pages bb64690ac9 optimize style of peer card
Signed-off-by: 21pages <pages21@163.com>
2022-08-25 10:25:47 +08:00
Asura b38c3299d8 fix: can't find rustdesk.so 2022-08-24 17:10:34 -07:00
Asura cd4f578cf7 Merge branch 'flutter_desktop' of github.com:asur4s/rustdesk into flutter_desktop 2022-08-24 17:09:00 -07:00
RustDesk 1a0ba50d98 Merge pull request #1349 from fufesou/flutter_desktop_fix_sciter_lan
flutter_desktop: fix sciter lan peers
2022-08-24 23:39:19 +08:00
fufesou 92f1f17ca2 flutter_desktop: fix sciter lan peers
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-24 23:22:50 +08:00
21pages 7c9f799f05 optimize id input
Signed-off-by: 21pages <pages21@163.com>
2022-08-24 22:14:41 +08:00
21pages 16c1813df1 adjust about setting tab position
Signed-off-by: 21pages <pages21@163.com>
2022-08-24 22:14:41 +08:00
21pages 5497a59823 keep text scale factor (except android)
Signed-off-by: 21pages <pages21@163.com>
2022-08-24 22:14:41 +08:00
RustDesk 06064ee9f5 Merge pull request #1346 from Heap-Hop/refactor_desktop_tab
refactor: flutter_desktop DesktopTab
2022-08-24 22:07:21 +08:00
csf e78d44935a refactor DesktopTab impl for cm 2022-08-24 21:52:21 +08:00
csf 67b40b2cc7 fix full screen 2022-08-24 21:20:50 +08:00
csf 4f4ac67228 refactor DesktopTab impl for file_manager_tab_page.dart 2022-08-24 21:09:18 +08:00
csf cc3c725f38 refactor DesktopTab impl for connection_tab_page.dart 2022-08-24 20:56:42 +08:00
csf 66b1459126 rename tabbar -> tab 2022-08-24 20:17:51 +08:00
csf 78c79a0e8d refactor tabbar_widget.dart and impl for desktop_tab_page.dart 2022-08-24 20:12:04 +08:00
RustDesk 3b3d34fabf Merge pull request #1127 from 21pages/fix_10054
fix 10054: change direct to relay when RST
2022-08-24 17:05:57 +08:00
21pages a7c87a5f57 option to enable force-always-relay
Signed-off-by: 21pages <pages21@163.com>
2022-08-24 17:03:59 +08:00
21pages 0649a49d17 fix 10054: change direct to relay when RST
Signed-off-by: 21pages <pages21@163.com>
2022-08-24 16:26:09 +08:00
RustDesk 9bb418c772 Merge pull request #1341 from Heap-Hop/flutter_desktop
Update flutter_desktop
2022-08-24 15:16:19 +08:00
csf 5f68c099dd prevent delay by using onDoubleTapDown instead of onDoubleTap 2022-08-24 15:13:43 +08:00
csf f4745ded23 add desktop cm closeAll clients 2022-08-24 15:05:11 +08:00
csf 3155d40f80 fix file_manager_page.dart conflict 2022-08-24 15:05:09 +08:00
csf 3b63dea6fe add port forward closeSuccess 2022-08-24 15:05:05 +08:00
csf b71593a25c fix mobile app type event name flutter.rs 2022-08-24 15:05:02 +08:00
csf befb6ffe8f fix cm client authorized 2022-08-24 15:04:58 +08:00
csf 5326e32128 fix app type event name for mobile and cm 2022-08-24 15:04:55 +08:00
csf 91f2106037 fix mobile build 2022-08-24 15:04:51 +08:00
RustDesk 75b04b9af1 Merge pull request #1336 from Kingtous/flutter_desktop
feat: find id and grid/tile view for peers
2022-08-23 17:57:38 +08:00
Kingtous 0eed72a60d feat: find ID
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-23 17:52:53 +08:00
Kingtous 4f859d3c9d feat: peer card type
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-23 17:21:50 +08:00
Kingtous 8a825a7345 fix: macos window manager compile
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-23 17:21:32 +08:00
RustDesk e4cae26dd5 Merge pull request #1332 from 21pages/style
optimize ui style
2022-08-23 09:55:43 +08:00
21pages 930bf72c91 optimize ui style
Signed-off-by: 21pages <pages21@163.com>
2022-08-23 09:26:46 +08:00
RustDesk 714d474ff2 Merge pull request #1327 from Heap-Hop/flutter_desktop_cm
Flutter desktop cm
2022-08-22 22:33:28 +08:00
RustDesk 1d51023f44 Merge pull request #1328 from Heap-Hop/flutter_desktop_fix_windows_build
flutter_desktop_cm fix Windows build & TODO clipboard_file
2022-08-22 22:30:37 +08:00
csf b5ebb5de37 flutter_desktop_cm fix Windows build & TODO clipboard_file 2022-08-22 22:16:45 +08:00
csf 14b8140e45 1. update DesktopTabBar for cm.
2. refactor server_model clients map -> list.
3. update tab changing events.
2022-08-22 21:03:54 +08:00
csf b33d1f216f update chat_model for desktop cm 2022-08-22 20:30:57 +08:00
csf f88bbb0595 update test cm_main.dart 2022-08-22 20:30:49 +08:00
csf 72655b528a opt cm FittedBox 2022-08-22 20:30:41 +08:00
csf b9d1eb0dd1 add file manager overlay dialog 2022-08-22 20:29:02 +08:00
csf 2c7f0d7588 fix cm event listener & switch permission 2022-08-22 20:26:16 +08:00
RustDesk 968cff967e Merge pull request #1325 from Kingtous/flutter_desktop
feat: can resize window when without title bar
2022-08-22 14:25:52 +08:00
Kingtous 48e25accae fix: resize issue found in window manager
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-22 14:21:38 +08:00
Kingtous 05771e65e2 feat: can resize window when without title bar
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-22 13:52:22 +08:00
RustDesk 3028d7c0ff Merge pull request #1324 from 21pages/style
setting lock && some style change
2022-08-22 10:10:51 +08:00
RustDesk f3cea16eab Merge pull request #1323 from Kingtous/flutter_desktop
fix: multi window macos compile
2022-08-22 10:10:26 +08:00
21pages a10487c840 native style
Signed-off-by: 21pages <pages21@163.com>
2022-08-22 09:40:15 +08:00
Kingtous 10eb1003c1 fix: multi window macos compile
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-22 09:39:52 +08:00
21pages 4faf0a3d35 check super permission: win && linux
Signed-off-by: 21pages <pages21@163.com>
2022-08-22 09:04:20 +08:00
RustDesk 3394975aa2 Merge pull request #1110 from 21pages/enc-id
avoid modify id manually
2022-08-20 21:08:40 +08:00
Asura 3172ed63f3 Fix compile error on MacOS 2022-08-19 14:50:32 +08:00
RustDesk 123a7aa17b Merge pull request #1308 from Kingtous/flutter_desktop
fix: multi window linux drag issue
2022-08-19 14:25:32 +08:00
Kingtous f4d94498c0 fix: window manager start drag
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-19 14:23:16 +08:00
RustDesk 0b9fcc7290 Merge pull request #1307 from codextde/master
Added new Free Public Server to Readme
2022-08-19 13:20:23 +08:00
Daniel Ehrhardt 49b6cf198c Added new Free Public Server to Readme 2022-08-19 07:18:47 +02:00
Kingtous 9c01870d9b fix: multi window linux drag issue
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-19 12:27:29 +08:00
RustDesk 54c5b6df1c Merge pull request #1305 from 21pages/tabbar
remove tabbar animation
2022-08-18 22:24:19 +08:00
21pages 41e5f6d0de replace tabview with pageview to remove animation
Signed-off-by: 21pages <pages21@163.com>
2022-08-18 22:18:58 +08:00
RustDesk e02e88f0ee Merge pull request #1304 from Kingtous/flutter_desktop
feat: custom titlebar support & more window functions implementations
2022-08-18 17:39:26 +08:00
Kingtous 3cc67bf581 feat: sub window custom title bar & functions
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-18 17:26:39 +08:00
Kingtous b8f7e85c0b feat: main window custom bar & drag
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-18 17:26:39 +08:00
RustDesk 58b471e26b Merge pull request #1302 from Kingtous/flutter_desktop
opt: optimize cm ui & prepare custom titlebar
2022-08-18 09:56:55 +08:00
Kingtous 9fee1f41e7 opt: use WindowOption to initialize screen
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-18 09:51:19 +08:00
Kingtous eed87808e5 opt: optimize cm ui & timer & auto close
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-18 00:34:04 +08:00
RustDesk 2ddbdcf37c Merge pull request #1300 from Kingtous/flutter_desktop
feat: cm ui
2022-08-17 23:11:58 +08:00
Kingtous a580b98472 feat: accpet/disconnect
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-17 21:46:56 +08:00
Kingtous dcab45d8ab feat: cm ui
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-17 21:28:36 +08:00
RustDesk 444b48436d Merge pull request #1297 from Heap-Hop/flutter_cm
Add desktop cm backend
2022-08-17 17:30:52 +08:00
csf 3063adc2fd add desktop cm backend 2022-08-17 17:23:55 +08:00
RustDesk fc061d2b49 Merge pull request #1294 from 21pages/setting
optimize settings ui
2022-08-17 15:37:30 +08:00
RustDesk cccfb8a736 Merge pull request #1292 from Heap-Hop/flutter_desktop
Flutter desktop close connection tab
2022-08-17 15:36:54 +08:00
21pages 845a524b82 optimize settings ui
Signed-off-by: 21pages <pages21@163.com>
2022-08-17 13:04:37 +08:00
csf 97614b3930 ensure connection close 2022-08-17 10:01:40 +08:00
csf ce050e250d desktop close connection tab (remote page) 2022-08-17 10:01:26 +08:00
csf c9c40508e7 add / remove favorite 2022-08-17 10:00:50 +08:00
csf 53b69b59a8 rename get_session -> session_get 2022-08-17 10:00:35 +08:00
RustDesk 1b5075168e Merge pull request #1287 from fufesou/flutter_desktop_fullscreen
Flutter desktop fullscreen
2022-08-17 05:07:54 +08:00
fufesou ddd6e30226 flutter_desktop: remove _showEdit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-16 23:45:24 +08:00
fufesou 213e22e019 flutter_desktop: fix chat message overflow
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-16 23:40:21 +08:00
fufesou 82b72e5fdd flutter_desktop: fullscreen ok
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-16 23:35:26 +08:00
RustDesk f323cd458b Merge pull request #1271 from kordood/master
Create ko.rs
2022-08-16 14:31:32 +08:00
RustDesk f797125ae2 Merge pull request #1286 from Kingtous/flutter_desktop
feat: file transfer selectable navigation tools & search bar
2022-08-16 14:04:33 +08:00
kordood 1f0ba830df Fix a typo of locale name
Signed-off-by: kordood <gigacms@gmail.com>
2022-08-16 14:51:10 +09:00
Kingtous a001b15335 feat: drop to send files to remote
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-16 13:28:48 +08:00
Kingtous 4bd5fe1509 opt: entries empty fallback
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-16 12:50:08 +08:00
Kingtous eea62352d2 feat: file transfer path scrollable
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-16 12:28:12 +08:00
Kingtous 2017a0f02b feat: file transfer searchbar
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-16 12:06:54 +08:00
Kingtous d9c9365520 feat: switch breadcrumb&path with focus node
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-16 11:46:51 +08:00
kordood bb99dcab6b Update lang.rs to add Korean language
Signed-off-by: kordood <gigacms@gmail.com>
2022-08-16 10:55:24 +09:00
RustDesk f89777fa92 Merge pull request #1285 from Heap-Hop/flutter_desktop
Update flutter_desktop smalls
2022-08-15 21:59:31 +08:00
csf 710ffcd0c7 update quality monitor & remove remote_page.dart desktop unused code 2022-08-15 20:29:54 +08:00
csf f99ab7d0a7 fix dialog res bug ; add desktop restart remote device 2022-08-15 20:29:51 +08:00
csf 3e702c834a fix showLoading dark theme & add doubleTap to connect 2022-08-15 20:29:44 +08:00
RustDesk 22d346831e Merge pull request #1282 from Heap-Hop/flutter_desktop
Add showToast & dialog clickMaskDismiss
2022-08-15 15:50:45 +08:00
csf 5b3ef29d75 fix mobile showSuccess & update pubspec.lock 2022-08-15 14:43:08 +08:00
csf da4c218ea3 add showToast & dialog clickMaskDismiss 2022-08-15 14:39:31 +08:00
RustDesk f9a2047ec5 Merge pull request #1281 from Kingtous/flutter_desktop
feat: setFullScreen implementation & cm page
2022-08-15 14:08:03 +08:00
Kingtous a6e2ad8639 add: fullscreen for sub windows
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-15 14:04:08 +08:00
Kingtous 07e54a0614 add: connection manager page
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-15 12:35:10 +08:00
Kingtous ce86d5a5d4 add: cm page
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-15 11:52:06 +08:00
RustDesk d710b8464c Merge pull request #1280 from 21pages/setting
add setting page
2022-08-15 09:55:09 +08:00
21pages 5887334c2e add setting page
Signed-off-by: 21pages <pages21@163.com>
2022-08-15 08:56:42 +08:00
RustDesk f812adedff Merge pull request #1273 from fufesou/flutter_desktop_remote_menus_rebase
Flutter desktop remote menus rebase
2022-08-14 19:16:54 +08:00
RustDesk e70f1402e5 Merge pull request #1272 from SoftwareMagicIT/patch-2
Added missing translation and changed some mistakes
2022-08-14 16:33:09 +08:00
Software Magic 7cb9540c3f Added missing translation and changed some mistakes
My first contribute. I added missing translations and changed some mistakes
2022-08-14 10:17:53 +02:00
kordood 9fbb114301 Create ko.rs
Signed-off-by: kordood <gigacms@gmail.com>
2022-08-14 14:03:17 +09:00
fufesou 163645ef86 flutter_desktop: fix block user input action
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-14 12:57:30 +08:00
fufesou b731d8e38a flutter_desktop: disable scroll wheel event
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-14 12:48:04 +08:00
fufesou 98d66ed43c flutter_desktop: fix scroll event to rust
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-14 11:20:52 +08:00
fufesou 4fecbba87e flutter_desktop: remote scroll choice translation
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-13 22:29:08 +08:00
fufesou 47b7e84aca flutter_desktop: remote window cursor debug (getx)
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-13 20:56:19 +08:00
fufesou fd8c83497d flutter_desktop: remote window cursor debug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-13 20:45:10 +08:00
fufesou af2e555e41 flutter_desktop: remote window mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-13 20:24:59 +08:00
fufesou c38c9d275b flutter_desktop: try mouse handler
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-13 20:18:12 +08:00
fufesou 4e4f837160 flutter_desktop: scroll, mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-13 20:18:09 +08:00
Asura 48ab5e5024 Fix command+tab #1032 2022-08-13 08:12:45 +08:00
Asura e7e846cd42 Fix mouse input error #1032 2022-08-12 19:32:42 +08:00
RustDesk 458b3619ca Merge pull request #1263 from cooperbang/master
Update AppImageBuilder.yml
2022-08-12 18:58:03 +08:00
RustDesk 33f5d9a4f3 Merge pull request #1264 from Heap-Hop/new_dialog
new dialog impl based on Overlay
2022-08-12 18:56:59 +08:00
csf e6329dc7eb new dialog impl based on Overlay 2022-08-12 18:48:56 +08:00
cooperbang 3a5efb575e Update AppImageBuilder.yml 2022-08-12 12:44:25 +02:00
Asura 8310f38c15 Fix repeatedly releasing keys without char 2022-08-12 00:05:31 -07:00
Asura b916ef3659 Refactor translate mode 2022-08-11 23:59:18 -07:00
RustDesk 2e9a6ed4f6 Merge pull request #1257 from 21pages/tabbar
optimize ui
2022-08-12 09:38:55 +08:00
21pages 327a712c36 optimize ui
Signed-off-by: 21pages <pages21@163.com>
2022-08-12 09:28:30 +08:00
RustDesk fcfa9c8b9d Merge pull request #1255 from jkhsjdhjs/master
fix desktop entry categories
2022-08-11 23:49:39 +08:00
jkhsjdhjs 91fd3c5442 fix desktop entry categories
The category "Other" isn't a valid category [1] and causes unwanted
behavior on some DE's [2]. Thus I remove this category and add the
main category "Network" instead. I also add the additional categories
"RemoteAccess", since rustdesk is a tool to remotely access computers,
and "GTK", because it's based on GTK libraries.

[1] https://specifications.freedesktop.org/menu-spec/latest/apa.html
[2] https://aur.archlinux.org/packages/rustdesk-bin#comment-877405
2022-08-11 17:28:19 +02:00
RustDesk c9c0d13dc8 Merge pull request #1252 from 21pages/tabbar
Tabbar
2022-08-11 18:24:53 +08:00
21pages 94353cf90b unify tab logic
Signed-off-by: 21pages <pages21@163.com>
2022-08-11 18:14:23 +08:00
21pages c799fb1857 refactor tabbar: Homepage adaptation
1. remove redundant MaterialApp in GetMaterialApp
2. unified background color

Signed-off-by: 21pages <pages21@163.com>
2022-08-11 18:14:20 +08:00
21pages 1440d26376 tabbar: material style
Signed-off-by: 21pages <pages21@163.com>
2022-08-11 18:10:58 +08:00
21pages f62f327883 tabbar theme
Signed-off-by: 21pages <pages21@163.com>
2022-08-11 18:10:58 +08:00
RustDesk 0529e33434 Merge pull request #1247 from Heap-Hop/flutter_desktop
Update desktop and mobile chat message
2022-08-11 10:23:57 +08:00
csf 09c80bc585 update desktop and mobile chat message 2022-08-11 10:19:12 +08:00
RustDesk f300951bbc Merge pull request #1238 from Kingtous/master
feat: adapt macos dark mode
2022-08-10 11:35:44 +08:00
kingtous 780b42d0ba feat: adapt macos dark mode 2022-08-10 11:33:50 +08:00
RustDesk 522c865096 Merge pull request #1236 from Heap-Hop/flutter_desktop
Update UI
2022-08-10 10:53:50 +08:00
csf f96c652ee4 refresh peers state workaround 2022-08-10 10:42:59 +08:00
csf dd8812dd88 fix desktop dark mode 2022-08-09 21:12:55 +08:00
csf 42f27922bf fix desktop stop-service 2022-08-09 20:50:45 +08:00
csf cb88a3abb6 fix desktop init file / input permission bug 2022-08-09 20:36:52 +08:00
RustDesk 26ed41ed32 Merge pull request #1229 from Kingtous/flutter_desktop
feat: add focus with restore
2022-08-09 19:52:38 +08:00
Kingtous 0dd91acf0d feat: add focus with restore
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-09 19:49:18 +08:00
kingtous eab7ffba7d feat: focus with restore 2022-08-09 19:39:33 +08:00
kingtous ec3f7a8e91 add: multi window focus 2022-08-09 19:32:19 +08:00
RustDesk 694578d2f4 Merge pull request #1228 from miller45/master
fix #1226: add missing apt dependencies to Dockerfile
2022-08-09 18:25:12 +08:00
rklein 560d623e84 fix #1226: add missing apt dependencies to Dockerfile
Signed-off-by: rklein <gmse45forse@googlemail.com>
2022-08-09 12:19:03 +02:00
RustDesk 0697a5bf96 Merge pull request #1227 from Kingtous/flutter_desktop
fix: avoid window manager re-register in sub window
2022-08-09 18:16:18 +08:00
kingtous 8a113caf2e update: deps 2022-08-09 18:12:47 +08:00
Kingtous a10020d1f1 fix: fix window manager re-register issue
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-09 18:03:33 +08:00
Kingtous ff2a7b96e8 Merge branch 'rustdesk:flutter_desktop' into flutter_desktop 2022-08-09 16:41:57 +08:00
kingtous d76782a0fc fix: use multi window controller to close window 2022-08-09 16:37:11 +08:00
RustDesk be885cfdc8 Merge pull request #1225 from Kingtous/flutter_desktop
fix: multi window close issue
2022-08-09 13:54:21 +08:00
Kingtous fa8514aefe fix: currentTheme
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-09 13:50:26 +08:00
kingtous 5a953cc8df fix: multi window close issue 2022-08-09 13:39:30 +08:00
RustDesk 6638cd2a4a Merge pull request #1221 from 21pages/tabbar
fix ci build error
2022-08-09 11:19:03 +08:00
RustDesk e197c8a264 Merge pull request #1220 from fufesou/flutter_desktop_remote_menus
Flutter desktop remote menus
2022-08-09 11:18:47 +08:00
21pages 4963b51920 fix ci build error
warn unused, but needed.

Signed-off-by: 21pages <pages21@163.com>
2022-08-09 11:08:20 +08:00
fufesou b2ffe9dee4 flutter_desktop: handle privacy mode back notifications
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-09 11:03:56 +08:00
fufesou e553756ad8 flutter_desktop: fix clipboard
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-09 10:33:47 +08:00
fufesou 96cb8c3d9c flutter_desktop: fix image scale quanlity
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-09 10:33:47 +08:00
RustDesk cf435b0665 Merge pull request #1219 from 21pages/tabbar
switch window, close subwindow
2022-08-09 10:24:19 +08:00
21pages 28b75fa9f7 switch window, close subwindow
Signed-off-by: 21pages <pages21@163.com>
2022-08-09 10:13:59 +08:00
RustDesk 927991c9de Merge pull request #1218 from Heap-Hop/flutter_desktop
refactor flutter_desktop
2022-08-09 08:23:32 +08:00
csf ad944b6d56 fix merge 2022-08-09 08:09:21 +08:00
csf e420178750 refactor all [setByName] [getByName] to async bridge function 2022-08-08 22:27:27 +08:00
RustDesk 6c9e1e966b Merge pull request #1210 from crashys/patch-1
Create pt_PT
2022-08-08 20:12:25 +08:00
Crashys 2f8b300518 Create pt_PT
New language translation (Portuguese / Portugal)
2022-08-08 14:08:58 +02:00
csf c5d0628291 refactor set/getByName "peers" "option" 2022-08-08 17:54:41 +08:00
Asura 577cce549f Update Cargo.lock 2022-08-08 15:48:11 +08:00
RustDesk 3ab4916c0c Merge pull request #1206 from Kingtous/flutter_desktop
fix: windows onDestroy callback on flutter multi window
2022-08-08 15:28:21 +08:00
kingtous 7ea2b27352 fix: windows onDestroy callback 2022-08-08 15:26:07 +08:00
RustDesk b8128f6d2e Merge pull request #1204 from 21pages/tabbar
custom tabbar
2022-08-08 10:26:12 +08:00
21pages 073e087a48 custom tabbar
Signed-off-by: 21pages <pages21@163.com>
2022-08-08 10:11:01 +08:00
RustDesk d173fd9cec Merge pull request #1202 from fufesou/flutter_desktop_remote_menus
Flutter desktop remote menus
2022-08-08 09:33:47 +08:00
Asura dde6df82e8 Refector: handline dead keys in translation mode 2022-08-07 18:52:32 +08:00
Asura b2cf11f2df Send caps lock key 2022-08-07 10:50:31 +08:00
fufesou 3dce28cd3c Merge branch 'flutter_desktop_remote_menus' of github.com:fufesou/rustdesk into flutter_desktop_remote_menus 2022-08-06 19:05:58 +08:00
fufesou 917830fb69 flutter_desktop: fix ffi model provider
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-06 19:02:20 +08:00
fufesou 0e012894b5 flutter_desktop: fix remote menu control and image scaling
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-06 19:02:20 +08:00
fufesou 511f3c022f flutter_desktop: fix ffi model provider
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-06 18:48:07 +08:00
rustdesk e5e57943cb revert nl lang, because it screw up lang.rs, and nl.rs is not valid
utf-8 file, can not be compiled
2022-08-05 23:32:51 +08:00
RustDesk 7aaf17ceda Merge pull request #1188 from FastAct/master
Add Dutch translation files
2022-08-05 22:02:46 +08:00
FastAct 8848b3e357 Add new Dutch translation
Add Dutch translation
2022-08-05 14:34:49 +02:00
FastAct e3d00bc6a6 Add Dutch translation 2022-08-05 14:33:07 +02:00
csf 0ef1659b87 fix mobile features 2022-08-05 20:29:43 +08:00
FastAct 94791f1fef Add files via upload
Add Dutch translation
2022-08-05 14:26:04 +02:00
RustDesk a22daccb0c Merge pull request #1170 from 21pages/flutter_desktop
little fix
2022-08-05 16:55:10 +08:00
fufesou b0b6db6160 flutter_desktop: fix remote menu control and image scaling
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-05 11:07:24 +08:00
21pages 2a2017df67 copy id/password on double tap, some menu divider
Signed-off-by: 21pages <pages21@163.com>
2022-08-05 10:59:20 +08:00
Kingtous 8f8d5e1efb update: sync desktop_multi_window to 0.1.0
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-05 10:49:02 +08:00
RustDesk 043a3e5f34 Merge pull request #1186 from Kingtous/flutter_desktop
fix: tabbar rebuild issue
2022-08-05 10:29:27 +08:00
Kingtous 1977ee951e fix: tabbar rebuild issue
Signed-off-by: Kingtous <kingtous@qq.com>
2022-08-05 10:27:06 +08:00
Asura 2d0cdd83a2 Update lang for keyboard mode 2022-08-04 21:02:00 +08:00
RustDesk ab6a83e8b0 Merge pull request #1181 from Heap-Hop/flutter_desktop_merge_master_mobile
Flutter desktop merge master mobile
2022-08-04 18:17:49 +08:00
Asura 05b157af45 Fix right ctrl #1166 2022-08-04 17:26:06 +08:00
csf 3ff2f60fb7 Merge master 2022-08-04 17:24:02 +08:00
Asura f1402a14a2 Merge branch 'translate_mode' 2022-08-04 01:21:46 -07:00
Asura 3b8032e5ec Merge translate mode 2022-08-04 16:11:37 +08:00
rustdesk 8b56a1a271 https://github.com/rustdesk/rustdesk/issues/1177 2022-08-04 09:26:15 +08:00
RustDesk 0d031c8f1e Merge pull request #1173 from fufesou/flutter_desktop_connection_3
fix global envet stream shading && refactor platform ffi
2022-08-03 22:23:29 +08:00
fufesou 0488eb31f5 flutter_desktop: remove unnecessary control flow
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-03 22:13:40 +08:00
fufesou 7a2de5d280 flutter_desktop: fix global envet stream shading && refactor platform ffi
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-03 22:05:10 +08:00
csf 07debe8363 fix android build 2022-08-03 21:58:07 +08:00
RustDesk d3bc0ca073 Merge pull request #1167 from fufesou/flutter_desktop_connection_3
flutter_desktop: fix canvas height - tabBarHeight
2022-08-03 15:46:08 +08:00
fufesou d4c735bc3a flutter_desktop: fix canvas height - tabBarHeight
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-03 15:36:03 +08:00
Asura 12129ebf3e Update dependencies 2022-08-03 15:33:16 +08:00
Asura b3b50829f5 Fix sycn of CapsLock 2022-08-03 14:52:08 +08:00
Asura d0702ddfd9 Add translate mode in UI 2022-08-03 14:34:05 +08:00
RustDesk 70507e442b Merge pull request #1165 from SuoDizzy/patch-1
Grammatical errors in README Finnish translation fixed
2022-08-03 14:11:30 +08:00
SuoDizzy 84f737067c Grammatical errors in README Finnish translation
Replaced some words to be more sensible (such as from "aja" to "suorita")  and fixed some grammar errors. ("Kirjoittaa" not "Kirjoita")
Previously a finnish person could easily tell it wasnt by a finnish person.
2022-08-03 09:05:53 +03:00
Asura 0695d50b9f Fix Shift release failed 2022-08-02 11:04:36 -07:00
Asura 90b36795ea Listening for char in Linux 2022-08-02 10:48:56 -07:00
RustDesk 0dd55d6ef1 Merge pull request #1155 from 21pages/flutter_desktop
password
2022-08-02 22:45:43 +08:00
21pages ffbab698b7 password
Signed-off-by: 21pages <pages21@163.com>
2022-08-02 22:24:38 +08:00
Asura 5dfc41a7b8 Ignore dead keys in Linux 2022-08-02 06:07:44 -07:00
RustDesk 159dbacf6b Merge pull request #1152 from MaySoMusician/feature/add-ja-language
Add Japanese translation of the app
2022-08-02 20:32:27 +08:00
MaySoMusician 7a9d1007c5 Add Japanese translation file
Signed-off-by: MaySoMusician <maysomusician@gmail.com>
2022-08-02 21:26:41 +09:00
MaySoMusician 3c2abf9704 Add Japanese option
Signed-off-by: MaySoMusician <maysomusician@gmail.com>
2022-08-02 21:26:23 +09:00
Asura 1996a27c72 Merge branch 'translate_mode' of github.com:asur4s/rustdesk into translate_mode 2022-08-02 03:48:16 -07:00
Asura 7775a14c9e Use keycode mapping table 2022-08-02 03:47:29 -07:00
RustDesk 627a940317 Merge pull request #1149 from fufesou/flutter_desktop_connection_2
flutter_desktop_connection_2: debug lan
2022-08-02 13:19:39 +08:00
fufesou 74a2929bc9 flutter_desktop_connection_2: debug lan
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-02 13:10:09 +08:00
RustDesk d1eda57b2a Merge pull request #1148 from 21pages/restart
fix: hide restart menu item if version < 1.1.10
2022-08-02 11:37:16 +08:00
21pages de923fdd2e fix: hide restart menu item if version < 1.1.10
Signed-off-by: 21pages <pages21@163.com>
2022-08-02 11:29:48 +08:00
RustDesk c27882456e Merge pull request #1140 from fufesou/fix_privacy_mod_on_login
fix_privacy_mod_on_login: set some options after login
2022-08-01 23:57:12 +08:00
RustDesk 5baed21fce Merge pull request #1116 from Heap-Hop/opt_mobile_ui
Opt mobile UI
2022-08-01 22:39:31 +08:00
fufesou a9f40df2bc fix_privacy_mod_on_login: set some options after login
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-08-01 22:31:10 +08:00
csf 747cc794f8 fix flutter3 warning upgrade dependencies 2022-08-01 22:28:54 +08:00
21pages 53f496c0e4 avoid changing id manually
Signed-off-by: 21pages <pages21@163.com>
2022-08-01 18:06:49 +08:00
RustDesk 90515ea588 Merge pull request #1137 from Kingtous/flutter_desktop
refactor: merge master to flutter_desktop
2022-08-01 15:58:56 +08:00
csf 2d90946a4d fix mobile UI overflowed 2022-08-01 15:56:28 +08:00
Kingtous 74b830159b add: ci dependencies 2022-08-01 14:56:13 +08:00
Kingtous c4451b3cc7 fix: merge conflict 2022-08-01 14:33:08 +08:00
csf 2b07c97c08 fix mobile readableFileSize 2022-08-01 12:17:38 +08:00
Kingtous 3b9c62b05d Merge remote-tracking branch 'rustdesk/master' into flutter_desktop
# Conflicts:
#	.github/workflows/ci.yml
#	Cargo.lock
#	Cargo.toml
#	flutter/lib/common.dart
#	flutter/lib/mobile/pages/remote_page.dart
#	flutter/lib/mobile/pages/server_page.dart
#	flutter/lib/mobile/pages/settings_page.dart
#	flutter/lib/mobile/widgets/dialog.dart
#	flutter/lib/models/model.dart
#	flutter/lib/models/server_model.dart
#	src/client.rs
#	src/common.rs
#	src/ipc.rs
#	src/mobile_ffi.rs
#	src/rendezvous_mediator.rs
#	src/ui.rs
2022-08-01 10:44:05 +08:00
RustDesk 2762f541e2 Merge pull request #1128 from Kingtous/bugfix/connection_peer_version
fix: add version key to detect specific send/recv logic
2022-08-01 10:43:32 +08:00
Kingtous 3458c164fb fix: add version key to detect specific send/recv logic 2022-08-01 09:50:23 +08:00
Asura ee4fd58b3f Merge branch 'translate_mode' of github.com:asur4s/rustdesk into translate_mode 2022-08-01 00:52:21 +08:00
Asura 92c4ee1560 Fix character generation, altgr only takes effect locally 2022-08-01 00:52:07 +08:00
rustdesk aabe08d657 fix compile 2022-07-31 22:41:24 +08:00
RustDesk 6fbf6ba30b Merge pull request #1119 from fufesou/fix_proto_defs
fix_proto_defs: fix protobuf definitions
2022-07-31 22:34:11 +08:00
fufesou 2a6cd5853e fix_proto_defs: fix protobuf definitions
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-31 22:31:17 +08:00
csf 5658ce807e add mobile switch language 2022-07-31 20:42:56 +08:00
csf 93e79b5234 fix translate empty bug 2022-07-31 20:08:49 +08:00
csf 859e292e1b add mobile_ffi.rs 2022-07-31 15:45:29 +08:00
RustDesk 1ad1480cfc Merge pull request #1100 from Kxvish/patch-1
Update README.md
2022-07-31 12:11:45 +08:00
RustDesk eec17579f1 Merge pull request #1117 from sirtemporary/patch-1
Update linux.rs
2022-07-31 12:11:10 +08:00
sirtemporary f3f48d3cf4 Update linux.rs 2022-07-30 15:19:41 -04:00
sirtemporary f9d0974fc5 Update linux.rs
Fix for #921 
in mx linux, when started with non-systemd init, loginctl returns null string to stdout (and an error message to stderr).  this patch will use XDG_SESSION_TYPE and XDG_SESSION_ID environment variables if the loginctl code fails to determine these.
2022-07-30 15:03:49 -04:00
csf eec26e5c70 add mobile restart remote device 2022-07-30 22:13:38 +08:00
csf e53119a01a add mobile quality monitor 2022-07-30 21:12:08 +08:00
csf 86cc71f4d2 opt: mobile UI 2022-07-30 13:51:06 +08:00
rustdesk 1a4f0507a2 fix on last refactory 2022-07-30 09:29:01 +08:00
rustdesk 040267e7f2 remove key_pair pub attr 2022-07-30 02:27:03 +08:00
rustdesk 125f6dd810 refactor password deadlock and password_security 2022-07-30 02:01:40 +08:00
RustDesk cf88ca2bce Merge pull request #1112 from Heap-Hop/android_password
Android refactor password
2022-07-29 22:22:08 +08:00
csf 67a3db7378 UI optimization 2022-07-29 22:17:55 +08:00
csf 2d31e44b54 android refactor password 2022-07-29 19:02:30 +08:00
RustDesk 06a4eaed10 Merge pull request #1104 from Heap-Hop/master
fix: android build & CONFIG deadlock
2022-07-29 18:59:34 +08:00
RustDesk 02174bccdf Merge pull request #1109 from Yoonnyy/patch-1
Update tr.rs
2022-07-29 17:03:05 +08:00
RustDesk e35f0d84be Merge pull request #1108 from Kingtous/flutter_desktop
feat: unremember password & initial dark theme & rename
2022-07-29 17:02:43 +08:00
Kingtous 608f02ea21 feat: dark theme
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-29 16:47:24 +08:00
Yoonnyy c87d0879e5 Update tr.rs
minor changes and new translations
2022-07-29 11:45:13 +03:00
csf 2fbcbc6543 make sure no gen_keypair more than once 2022-07-29 16:30:55 +08:00
Kingtous 6b99d4d82e add: peer rename
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-29 12:03:24 +08:00
RustDesk 7983c93be0 Merge pull request #1102 from Kingtous/master
fix: android overwrite detection for lower version server
2022-07-29 10:20:30 +08:00
RustDesk ddf0a312c1 Merge pull request #1096 from rjackr/master
Update lang.rs
2022-07-29 09:07:47 +08:00
RustDesk 138c1b8e34 Merge pull request #1002 from LeszekBober/patch-1
Create pl.rs
2022-07-29 09:07:32 +08:00
RustDesk 3ff7251c8b Merge pull request #1095 from WofWca/patch-1
Update ru.rs
2022-07-29 09:05:40 +08:00
Kavish 80f2e1e347 Update README.md 2022-07-28 15:58:01 -07:00
Jack 005f766288 Update lang.rs 2022-07-28 21:20:42 +02:00
WofWca a8f37668f0 Update ru.rs 2022-07-29 02:49:47 +08:00
csf da2906c95f fix: android build & CONFIG deadlock 2022-07-28 22:06:59 +08:00
Kingtous 39756eb16c fix: android overwrite detection for lower version server 2022-07-28 17:45:24 +08:00
rustdesk 03e8bcca81 vn 2022-07-28 16:54:17 +08:00
RustDesk 5f9ffc3bd7 Merge pull request #1089 from QuanMCPC/master
Added Vietnamese language to the README page and the RustDesk UI
2022-07-28 16:45:09 +08:00
QuanMCPC 70bc1435fe Added Vietnamese language to the README page and the RustDesk UI 2022-07-28 15:05:18 +07:00
RustDesk a81f4c0124 Merge pull request #1084 from fufesou/flutter_desktop
flutter_desktop: load popup menu items onTap
2022-07-28 14:10:53 +08:00
fufesou dab8fc6cc9 flutter_desktop: load popup menu items onTap
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-28 14:06:02 +08:00
RustDesk 279a38a7f2 Merge pull request #1081 from fufesou/flutter_desktop_online_state_2
Flutter desktop online state 2
2022-07-28 12:26:48 +08:00
fufesou aa48711f05 flutter_desktop_online_state: debug online states
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-28 11:25:22 +08:00
RustDesk 295f326e7a Merge pull request #1078 from 21pages/password
Password: fix import config
2022-07-28 11:16:42 +08:00
fufesou 0ba8b4079b flutter_desktop_online_state: refactor connection page
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-28 11:11:13 +08:00
rustdesk eebac1eaa5 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-07-28 11:09:49 +08:00
rustdesk c8e2161b88 refactor 2022-07-28 11:09:36 +08:00
Asura cb493ec297 Merge branch 'translate_mode' of github.com:asur4s/rustdesk into translate_mode 2022-07-27 20:01:49 -07:00
Asura 25525cda3f Add translte mode in input_service 2022-07-27 20:01:42 -07:00
Asura 8f04c1a780 Merge branch 'translate_mode' of github.com:asur4s/rustdesk into translate_mode 2022-07-28 11:00:17 +08:00
Asura d5ac305e57 Add translate mode in remote 2022-07-28 11:00:01 +08:00
RustDesk cc1c236e1a Merge pull request #1079 from yosephkudo/patch-1
Update id.rs
2022-07-28 10:38:14 +08:00
Yoseph Sianturi a5b032c9f5 Update id.rs 2022-07-28 09:12:38 +08:00
21pages 551bf5030b password: ensure encrypt only once
Signed-off-by: 21pages <pages21@163.com>
2022-07-28 07:43:14 +08:00
Asura d08931c317 Doc: update lang for keyboard mode 2022-07-27 07:36:50 -07:00
RustDesk 6bbfe13028 Merge pull request #1072 from fufesou/master
fix build without wayland feature
2022-07-27 22:02:21 +08:00
fufesou f3d10dd420 fix build without wayland feature
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-27 06:34:27 -07:00
21pages 9f22f55a1f password: decrypt password when import user config
Signed-off-by: 21pages <pages21@163.com>
2022-07-27 21:27:46 +08:00
RustDesk a29203c9fe Merge pull request #1069 from nvksv/update_ru
Update src/lang/ru.rs
2022-07-27 17:25:26 +08:00
Sergey V. Kokorin 0deda08e5c Fix spelling: add space before "(beta)" 2022-07-27 16:18:04 +07:00
Sergey V. Kokorin baec7ad415 Update src/lang/ru.rs 2022-07-27 16:18:04 +07:00
rustdesk 7d8da4acbe Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-07-27 16:02:31 +08:00
rustdesk ab2ac0755e refactor remote_restarting_tip 2022-07-27 16:00:48 +08:00
RustDesk 50d1b067e8 Merge pull request #1067 from XorgMC/patch-2
Update de.rs for remote restart
2022-07-27 15:10:17 +08:00
Fabian Schillig d5eea27318 Update de.rs 2022-07-27 09:03:05 +02:00
RustDesk b6d56790fe Merge pull request #1066 from Kingtous/flutter_desktop
feat: user login/logout with UserModel
2022-07-27 14:33:52 +08:00
Kingtous 06cb05f796 feat: user login/logout with UserModel
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-27 14:29:47 +08:00
RustDesk 9b21182886 Merge pull request #1063 from drkrap/patch-1
update es.rs
2022-07-27 12:51:55 +08:00
Jorge Aguirre fe0e88bba4 update es.rs
Change for more accurate Spanish (latin american)  traslation, also  considering use a Latin American spanish and a Spain spanish variation.
2022-07-26 23:44:28 -05:00
RustDesk 00d2381bc0 Merge pull request #1059 from 21pages/restart
feat: pc restart
2022-07-27 10:31:47 +08:00
21pages 461a87bce9 feat: pc restart
Signed-off-by: 21pages <pages21@163.com>
2022-07-27 08:49:10 +08:00
rustdesk a71fa3f7ac RS_PUB_KEY 2022-07-27 00:39:02 +08:00
rustdesk 06ce3661f4 issue #1051 2022-07-27 00:31:20 +08:00
rustdesk 6981ae1c20 issue #1052 2022-07-26 23:00:55 +08:00
RustDesk 98a01aefa6 Merge pull request #1049 from Kingtous/flutter_desktop
feat: all address book logic
2022-07-26 17:17:01 +08:00
Kingtous 8a3da4eb41 feat: retry logic
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-26 17:14:52 +08:00
kingtous d0e55f6f81 feat: all address book logic
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-26 17:03:19 +08:00
Asura 6a3d527f93 Refactor: function name 2022-07-25 19:30:26 -07:00
rustdesk 4d1d90a090 modify comment 2022-07-26 01:19:06 +08:00
rustdesk 0a420dd04e csv <-> rs translator 2022-07-26 01:06:34 +08:00
RustDesk 435ff56e6c Merge pull request #1036 from 21pages/password
refactor password
2022-07-25 17:00:57 +08:00
RustDesk 2e494ba772 Merge pull request #1037 from Kingtous/flutter_desktop
add: card, address book, fav ui, new AbModel
2022-07-25 16:49:21 +08:00
Kingtous 1eaa9ae125 add: abModel
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-25 16:26:51 +08:00
kingtous 4cfa840822 add: address book ui&getAb
Signed-off-by: Kingtous <kingtous@qq.com>
2022-07-25 16:23:45 +08:00
21pages 903fb77e70 refactor password
1. random password -> temporary password
2. security password -> permanent password
3. remove onetime password
4. add temporary password length setting
5. remove unnecessary ipc
6. always update temporary password after connection
7. show dots if permanent password is not empty
8. recover password style

Signed-off-by: 21pages <pages21@163.com>
2022-07-24 21:53:51 +08:00
Asura 1caee4e306 Sync CapsLock and NumLock status in legacy mode. 2022-07-23 08:20:39 -07:00
Asura b3b97ee69a Remove log info 2022-07-23 21:45:00 +08:00
Asura a46df491e5 Merge branch 'master' of https://github.com/rustdesk/rustdesk 2022-07-23 06:33:15 -07:00
Asura 1b0fb5132c Support switching keyboard mode by UI 2022-07-23 20:51:01 +08:00
Kingtous 5946f6e47d opt: recent&fav cards 2022-07-22 23:12:31 +08:00
RustDesk dc4757fe94 Merge pull request #1022 from 21pages/hwcodec
fix spell mistake
2022-07-22 12:46:46 +08:00
21pages 3fe3ba00a0 fix spell mistake
Signed-off-by: 21pages <pages21@163.com>
2022-07-22 12:41:49 +08:00
RustDesk 07107ad034 Merge pull request #1021 from 21pages/hwcodec
hwcodec: update build.py
2022-07-22 10:40:18 +08:00
RustDesk b4ec6ad24c Merge pull request #1020 from XorgMC/patch-1
Update de.rs
2022-07-22 10:38:53 +08:00
21pages af60042e33 hwcodec: update build.py
Signed-off-by: 21pages <pages21@163.com>
2022-07-22 09:34:24 +08:00
21pages b55fc35d83 hwcodec: fix compile error
Signed-off-by: 21pages <pages21@163.com>
2022-07-22 09:13:40 +08:00
RustDesk eda5a94e33 Merge pull request #1013 from 21pages/hwcodec
Hwcodec: codec preference
2022-07-22 01:24:41 +08:00
Leszek Bober 0330950a83 Update pl.rs
Initial Polish language file.
2022-07-21 19:12:20 +02:00
Fabian Schillig bb1289dbc3 Update de.rs 2022-07-21 18:31:59 +02:00
rustdesk 9ee2d750f8 fix compile error 2022-07-21 22:29:26 +08:00
RustDesk 515d90644a Merge pull request #1018 from fufesou/fix_cmd_window
fix_cmd_window: do not show cmd prompt window
2022-07-21 22:17:51 +08:00
RustDesk be5aa5973b Merge pull request #1017 from fufesou/fix_capturer_trait_name_shadowing
fix_capturer_trait_name_shadowing: build win
2022-07-21 22:17:08 +08:00
fufesou e06c373389 fix_cmd_window: do not show cmd prompt window
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-21 21:58:42 +08:00
fufesou 04c8340b3b fix_capturer_trait_name_shadowing: update Cargo.lock
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-21 20:53:31 +08:00
fufesou d19a8fdc43 fix_capturer_trait_name_shadowing: build win
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-21 20:38:15 +08:00
RustDesk 416832a1ed Merge pull request #982 from twmsh/master
update bytes(protobuf types) mapping, from Vec<u8> to bytes:Byte
2022-07-21 18:09:14 +08:00
tom e811d5f18b modify argument of ConnectionTmpl::send_raw() 2022-07-21 17:54:07 +08:00
tom 9ab955bb8e enable serde feature of bytes, modify struct WriteBlock using Bytes 2022-07-21 16:07:19 +08:00
Asura 25c7bbd96f Fix numpad error 2022-07-21 12:46:19 +08:00
Asura 3a0c10bdb1 Refactor for compiler in linux 2022-07-20 20:31:17 -07:00
Asura ce3434fd37 Merge branch 'master' of https://github.com/rustdesk/rustdesk 2022-07-20 19:51:09 -07:00
21pages 23deae0e52 hwcodec: remove bad MY_DECODER_STATE
When reset, the new of the decoder will be after it's drop

Signed-off-by: 21pages <pages21@163.com>
2022-07-21 10:15:01 +08:00
21pages 7aa431d349 hwcodec: codec preference
Signed-off-by: 21pages <pages21@163.com>
2022-07-21 10:14:58 +08:00
21pages 1b1f28b872 hwcodec: check when server or each client starts
and refactor hwcodec::best()

Signed-off-by: 21pages <pages21@163.com>
2022-07-21 10:10:58 +08:00
21pages 1fecd7168a hwcodec: linux compatible
Signed-off-by: 21pages <pages21@163.com>
2022-07-21 10:10:58 +08:00
RustDesk d65c486b27 Merge pull request #932 from fufesou/linux_wayland_support_2
partial wayland support
2022-07-21 01:47:50 +08:00
fufesou 00dc473703 linux_wayland_support: dup detecting function of x11 or wayland
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 10:44:27 -07:00
fufesou 634cb5ef1a linux_wayland_support: refactor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:50:08 -07:00
tom 16b7c7c716 upgrade bytes to 1.2 2022-07-21 00:39:20 +08:00
fufesou 613b1a8582 linux_wayland_support: update crate mouce
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
fufesou 6721d729e9 linux_wayland_support: gstreamer-1.0 deps
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
fufesou 01bbfcad8e linux_wayland_support: debug multi user login
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
fufesou 8d72dec088 linux_wayland_support: debug wayland
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
fufesou 8e121eacd9 linux_wayland_support: pynput_service.py
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
fufesou 05b264c968 linux_wayland_support: build linux
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
fufesou aae6e2b16b linux_wayland_support: init merge, windows build
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-20 09:16:13 -07:00
RustDesk 6533b30cac Merge pull request #1003 from ViktorOn/patch-7
Update en.rs
2022-07-20 23:30:47 +08:00
RustDesk 440ab0b70a Merge pull request #1004 from ViktorOn/patch-8
Update ru.rs
2022-07-20 23:30:28 +08:00
Vik 013576abeb Update ru.rs
Onetime means once, i.e. one time and that's it (not forever). Is that exactly what you mean?
2022-07-19 21:31:21 +03:00
Vik 6ecf1dfc47 Update en.rs 2022-07-19 21:25:31 +03:00
Leszek Bober c3562a3d6b Create pl.rs
Polish language.
2022-07-19 19:51:20 +02:00
Asura fe99231090 Make case insensitive of keyboard_mode 2022-07-19 16:49:05 +08:00
Asura 669e8b98b2 Update Cargo.toml about rdev 2022-07-19 16:24:19 +08:00
Asura d07ef7af8a Fix compile error of testcase 2022-07-19 16:15:57 +08:00
Asura cbdc28ee20 Fix compiler error 2022-07-19 01:04:23 -07:00
Asura 02b4d7f1d9 Refactor keyboard mode by enum 2022-07-19 15:43:13 +08:00
Asura 0bacc1c250 Compatible with legacy mode in client 2022-07-19 15:09:45 +08:00
Asura 19ebbb145a Compatible with legacy mode in remote 2022-07-18 23:45:54 -07:00
Asura a77d64d181 Remove log 2022-07-18 18:47:38 -07:00
Asura 48466bfe37 Numpad when linux -> windows 2022-07-19 09:35:39 +08:00
Asura a118056c30 Fix sync Numpad status 2022-07-18 23:04:04 +08:00
Asura a8e4591217 Fix lock_screen and ctrl_alt_del 2022-07-18 07:38:05 -07:00
RustDesk f1fd09f189 Merge pull request #928 from 21pages/password
password encryption
2022-07-18 22:21:43 +08:00
21pages 66e04c9fe7 keep session when network interrupt
Signed-off-by: 21pages <pages21@163.com>
2022-07-18 22:16:59 +08:00
Asura a2d8c31e85 Auto release key 2022-07-18 22:01:08 +08:00
21pages 0812dc79b8 control end close message
Signed-off-by: 21pages <pages21@163.com>
2022-07-18 21:27:59 +08:00
21pages 8667d68c6f crypt peer/peer_rdp/peer_os/socks5 password
Signed-off-by: 21pages <pages21@163.com>
2022-07-18 21:27:59 +08:00
21pages e46019a171 password: safe/random personal password
Signed-off-by: 21pages <pages21@163.com>
2022-07-18 21:27:56 +08:00
RustDesk fc8fb2d980 Merge pull request #993 from Kingtous/flutter_desktop
feat: all dialogs implementaions for menu window
2022-07-18 18:26:25 +08:00
Kingtous 08043732a8 feat: ip whitelist, id/relay server/ socks5 proxy, about page 2022-07-18 18:24:09 +08:00
Kingtous b1382c2d57 add: change id on flutter 2022-07-18 18:21:53 +08:00
Asura 80b01a96db Refactor to remove warning 2022-07-18 17:42:02 +08:00
Asura 72273f4546 Sync Numpad status 2022-07-18 02:19:33 -07:00
Asura e0a7238cc1 Refactor rdev simulate 2022-07-18 02:09:32 -07:00
Asura 828795b437 Sync Caps status 2022-07-18 01:54:54 -07:00
tom 6db3a2e85c Merge branch 'master' into master 2022-07-18 14:25:33 +08:00
rustdesk 2851d71290 fix mac compile 2022-07-18 13:33:12 +08:00
Asura 7ae065739c Recover legacy keyboard mode when listen 2022-07-18 12:51:17 +08:00
rustdesk b74a01a3b3 update lock 2022-07-18 12:15:10 +08:00
Asura 3c61773d75 Recover legacy keyboard mode when simulate 2022-07-17 20:59:14 -07:00
Asura 5dab7bd9a2 Refactor simulate to support switching keyboard modes 2022-07-17 20:34:08 -07:00
RustDesk dcf14dbb74 Merge pull request #988 from Heap-Hop/ignore_battery_optimizations
Update Android
2022-07-18 10:47:37 +08:00
csf 5c27f1c383 gen other langs 2022-07-18 10:34:46 +08:00
RustDesk f289f50026 Merge pull request #978 from fufesou/lan_discovery_WOL_2
Lan discovery wol
2022-07-18 10:23:56 +08:00
Asura 7c24f6bb12 Refactor listening keyboard to support switching keyboard modes 2022-07-17 14:14:51 -07:00
fufesou 52f4f274b2 lan_discovery_WOL: remove unused struct MyConfig
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-17 22:46:55 +08:00
csf f587bdee5a android fix:protobuf 3.1.0 2022-07-17 16:47:19 +08:00
RustDesk dadd6673a1 Merge pull request #986 from danielcshn/master
minor README fixes
2022-07-17 11:46:30 +08:00
Daniel Jorge Csich 6cb3f3182c minor README fixes 2022-07-17 00:43:35 -03:00
tom ae839bd5bf update linux.rs & macos.rs with bytes:Byte
issues:958
2022-07-17 00:59:56 +08:00
csf 88fef77980 android opt:add disable ignore_battery_optimizations 2022-07-16 22:31:44 +08:00
tom efa6b5972d update bytes(protobuf types) mapping, from Vec<u8> to bytes:Byte
issues:958
2022-07-16 00:45:23 +08:00
fufesou 3613f27afc lan_discovery_WOL: fix udp set_nonblocking twice and lan refactor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 20:39:42 +08:00
RustDesk fc06762a94 Merge pull request #979 from Kingtous/flutter_desktop
feat: main menu implementation for flutter desktop
2022-07-15 17:14:44 +08:00
Kingtous f4e0b6e50a add: change id on flutter 2022-07-15 17:00:37 +08:00
fufesou 13406cd359 lan_discovery_WOL: sort by online status
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 12:16:15 +08:00
fufesou 4955807dd0 lan_discovery_WOL: Update Cargo.lock
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:35:23 +08:00
fufesou eda0855506 lan_discovery_WOL: lan discovery test done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:29:07 +08:00
fufesou 8fd4830710 lan_discovery_WOL: Win10 test done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:29:07 +08:00
fufesou 7c323c86ac lan_discovery_WOL: remove ununsed action for lan menu
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:29:07 +08:00
fufesou 897d2b8e57 lan_discovery_WOL: remove discovered peer
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:29:01 +08:00
fufesou cbb34fb021 lan_discovery_WOL: lan discovery almost done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:27:39 +08:00
fufesou 7e0f7be95c lan_discovery_WOL: mid commit
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-15 11:27:39 +08:00
rustdesk d3fc6ccd9c upgrade tokio 2022-07-15 01:29:52 +08:00
rustdesk 9498b77c0a minor version 2022-07-14 23:26:03 +08:00
RustDesk c49bbc261c Merge pull request #970 from twmsh/master
upgrade protobuf to 3.1.0 and use with-bytes feature, issues:958
2022-07-14 23:16:43 +08:00
RustDesk dde3e4f994 Merge pull request #969 from Heap-Hop/ignore_battery_optimizations
Update Android
2022-07-14 22:13:16 +08:00
csf 175ab0b58c remove log 2022-07-14 21:46:40 +08:00
csf fdca9acbb7 [android] InputService mouse long press mode 2022-07-14 18:36:54 +08:00
csf 55427bad2f [android] add Enhancements settings 2022-07-14 18:33:41 +08:00
csf fb02fc1197 [android] fix build; ignore battery optimizations 2022-07-14 17:44:37 +08:00
tom c6c5d2cb98 upgrade protobuf to 3.1.0 and use with-bytes feature, issues:958 2022-07-14 17:20:01 +08:00
rustdesk bb8257b7f2 https://github.com/rustdesk/rustdesk/issues/899 2022-07-14 15:21:26 +08:00
Kingtous 19c3c6034e feat: add local option to main window 2022-07-14 12:32:35 +08:00
rustdesk 7a00b927ce typo 2022-07-13 23:38:35 +08:00
RustDesk beee9c7278 Merge pull request #962 from KoxSosen/master
Feat: Hungarian translation
2022-07-13 23:13:31 +08:00
KoxSosen 01fc7521ff Finishing 2022-07-13 17:00:18 +02:00
KoxSosen 121d3bb2b4 Add HU and sync languages in READMEs 2022-07-13 15:25:58 +02:00
KoxSosen a08cdd96ed More fixes, Hungarian README 2022-07-13 15:18:59 +02:00
Asura 7fe2609ffb feat: Support new keyboard mode 2022-07-13 02:14:32 -07:00
Simon 168fb76bf3 Further fixes 2022-07-13 10:24:51 +02:00
Simon 7055826e5d Android fixes 2022-07-13 10:17:22 +02:00
Asura 7b3b900764 Update rdev dependency version 2022-07-12 18:56:08 -07:00
KoxSosen bb67ba92bd Ooops 2022-07-12 19:18:12 +02:00
KoxSosen 15ced8d273 Merge branch 'master' of https://github.com/KoxSosen/rustdesk 2022-07-12 19:10:50 +02:00
KoxSosen 0495f6d36e Hungrian translation 2022-07-12 19:08:05 +02:00
Asura fa8595b77d Supports Mac OS simulate input by scancode 2022-07-12 08:36:45 -07:00
rustdesk 4e45bc0ee0 fix tcp 2022-07-12 23:32:37 +08:00
rustdesk f1724820b1 missed socket.set_nonblocking for tcp 2022-07-12 23:28:32 +08:00
rustdesk 7db82a22a9 udp bug which causes us a lot of trouble 2022-07-12 23:22:27 +08:00
Asura 7395f1a755 ci: Change source of lib 2022-07-12 04:40:38 -07:00
Asura a6f9c16d50 fix: Correct the string corresponding to the platform 2022-07-12 04:29:32 -07:00
Asura 1cc6c7e167 Use map mode when Windows are simulated 2022-07-12 04:27:27 -07:00
Asura 9837c9b893 Use map mode when keyboard monitor 2022-07-12 00:33:20 -07:00
RustDesk dcbff672ee Merge pull request #961 from Kingtous/flutter_desktop
fix: file transfer update issue
2022-07-12 11:57:40 +08:00
Kingtous 6d61987c58 fix: file transfer update issue 2022-07-12 11:51:58 +08:00
Asura 0ae6620659 Merge branch 'master' of github.com:asur4s/rustdesk 2022-07-11 08:17:17 -07:00
Asura 3f404a3233 Merge branch 'rustdesk:master' into master 2022-07-11 23:16:13 +08:00
Asura 956cef4a1c refactor: Use new keyboard mode 2022-07-11 08:14:57 -07:00
RustDesk eb14a7a977 Merge pull request #956 from Kingtous/flutter_desktop
feat: file transfer implementation for flutter
2022-07-11 18:32:07 +08:00
Asura e82e0bf697 feat: Add new simulate key method 2022-07-11 03:26:12 -07:00
Kingtous 9094999a8a add: implement last jobs[2/2] 2022-07-11 18:23:58 +08:00
Kingtous 5aded67597 add: sortby, address link, platform, last jobs[1/2] 2022-07-11 16:07:49 +08:00
Kingtous 79217ca1d9 add: send/receive file/folder 2022-07-11 10:30:45 +08:00
rustdesk 1a9b25588d https://github.com/rustdesk/rustdesk/issues/906 2022-07-10 23:26:44 +08:00
Kingtous 1db7fee6fb opt: dual selected items & send/receive action icon 2022-07-09 19:14:40 +08:00
Kingtous 0598ee304c fix: workaround for changing root disk on Windows[2/2] 2022-07-09 13:04:22 +08:00
RustDesk dfe21c6da0 Merge pull request #950 from Kingtous/flutter_desktop
fix: workaround for changing root disk on Windows
2022-07-09 11:35:52 +08:00
Kingtous beffe44cdb fix: workaround for changing root disk on Windows 2022-07-09 11:27:59 +08:00
RustDesk afb9707eba Merge pull request #930 from ViktorOn/patch-6
Update README-RU.md
2022-07-06 22:20:29 +08:00
Vik 19e82dfb83 Update README-RU.md 2022-07-06 17:18:27 +03:00
RustDesk e21d9e92e5 Merge pull request #929 from ViktorOn/patch-5
Update ru.rs
2022-07-06 22:09:14 +08:00
Vik 369b3f8a4c Update ru.rs 2022-07-06 17:07:36 +03:00
RustDesk 49d10c7b87 Merge pull request #768 from 21pages/hwcodec
feat: hardware codec && abr
2022-07-06 19:10:32 +08:00
21pages 68204e0c56 Merge branch 'master' into hwcodec 2022-07-06 19:01:51 +08:00
21pages 61071a434d Merge pull request #4 from Heap-Hop/hwcodec
Update CodecFormat and refactor VideoQoS
2022-07-06 10:39:20 +08:00
21pages ce89e7fd8c Merge branch 'hwcodec' into hwcodec 2022-07-06 10:39:00 +08:00
21pages ba034a56af maint hwcodec config file directly
Signed-off-by: 21pages <pages21@163.com>
2022-07-06 10:19:13 +08:00
rustdesk df32b8f07b add comment on if exist in bat 2022-07-06 01:33:04 +08:00
rustdesk 83b3a0cbb7 https://github.com/rustdesk/rustdesk/issues/895 2022-07-06 01:29:11 +08:00
csf 0e957a7762 refactor:VideoQoS 2022-07-05 22:31:08 +08:00
csf 5bd08bf0a7 client side handle codec format 2022-07-05 22:17:34 +08:00
21pages c4b4ef9576 score equals 0 if codec unsupported
Signed-off-by: 21pages <pages21@163.com>
2022-07-05 16:31:48 +08:00
21pages 76e1ca91df unify the protobuf message of vp9/h264/h265
Signed-off-by: 21pages <pages21@163.com>
2022-07-05 16:16:08 +08:00
Asura 9237ae30dc fix(pynput): Add dead key conversion rules to support Czech keyboard 2022-07-04 08:18:58 -07:00
Asura db97e5f9f5 Merge branch 'master' of github.com:asur4s/rustdesk 2022-07-04 08:14:00 -07:00
Asura 234b8df417 fix(pynput): Add dead key conversion rules to support Czech keyboard 2022-07-04 08:08:43 -07:00
RustDesk e558373b2f Merge pull request #919 from tsic404/master
fix: README-ZH error char
2022-07-04 20:32:45 +08:00
tsic404 18806a0b13 fix: README-ZH error char 2022-07-04 19:49:30 +08:00
RustDesk 124c0b97a7 Merge pull request #917 from asur4s/master
fix(pynput): Add dead key detection condition to support German keyboard
2022-07-04 17:51:46 +08:00
Asura 80a41e2ecd style: Remove key log 2022-07-04 17:50:47 +08:00
Asura 082f851d4b Merge branch 'rustdesk:master' into master 2022-07-04 17:15:43 +08:00
Asura 9e8d8e4357 fix(pynput): Add dead key detection condition to support German keyboard 2022-07-04 02:14:47 -07:00
RustDesk 37b5a08f87 Merge pull request #915 from Heap-Hop/master
Fix physical keyboard
2022-07-04 16:14:41 +08:00
csf 2f21661b74 fix physical keyboard input twice; add configChanges navigation 2022-07-04 16:02:48 +08:00
RustDesk 82e8ab9020 Merge pull request #911 from fufesou/master
fix rpm upgrade
2022-07-04 10:33:44 +08:00
fufesou ff4bbbd1ed fix rpm upgrade
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-07-04 10:11:40 +08:00
RustDesk d62029bc6b Merge pull request #909 from Kingtous/fix/flutter_desktop_ci
fix: flutter desktop ci
2022-07-03 15:06:16 +08:00
Kingtous 0e7975d39c fix: ci 2022-07-03 15:03:40 +08:00
RustDesk 7842d5b670 Merge pull request #903 from Heap-Hop/master
Update gesture
2022-07-02 21:50:49 +08:00
csf 4a0e047c03 opt gesture -
opt:Auto recover cursor;Expand scale limit.
fix:twoFinger mistake
2022-07-02 21:24:49 +08:00
rustdesk 759753c000 https://github.com/rustdesk/rustdesk/issues/895 2022-07-01 23:22:28 +08:00
RustDesk 400d1455bd Merge pull request #897 from Kingtous/flutter_desktop
add: file transfer flutter desktop adaptation
2022-07-01 19:32:52 +08:00
Kingtous e7a8bbd291 add: use DataTable for desktop file transfer 2022-07-01 17:17:25 +08:00
Asura 002f06a767 fix: stupid bug, remove keycode_flag 2022-07-01 00:16:08 -07:00
RustDesk b32d643f8c Merge pull request #894 from asur4s/master
feat(pynput): Support dead key
2022-07-01 13:39:12 +08:00
Kingtous 6b8fc6efe9 add: file transfer status list like sciter 2022-07-01 12:11:34 +08:00
Kingtous d49068706e add: include_hidden parameters, migrate to bridge 2022-07-01 12:11:34 +08:00
21pages 6c9e601c59 Merge pull request #3 from Heap-Hop/hwcodec
Hwcodec: show codec name && add hwcodec option
2022-06-30 21:04:59 +08:00
csf b34a87a220 update lang 2022-06-30 21:01:04 +08:00
Asura 6772128dd9 feat(pynput): Support dead key 2022-06-30 06:00:12 -07:00
csf 5a7dca72c8 fix custom_image_qulity and android 2022-06-30 20:48:29 +08:00
csf a5ab0db5b9 switch enable abr 2022-06-30 18:24:36 +08:00
csf 09937049a6 enable hwcodec 2022-06-30 16:19:36 +08:00
rustdesk 89711d4523 remove one seperator 2022-06-30 01:27:30 +08:00
rustdesk c745bf4111 https://github.com/rustdesk/rustdesk/issues541/ 2022-06-30 01:19:38 +08:00
csf eaaeefd90b sync codec format 2022-06-30 00:03:17 +08:00
21pages 75fc49b301 make hwcodec's bitrate the same as vpx
Signed-off-by: 21pages <pages21@163.com>
2022-06-29 11:43:22 +08:00
RustDesk 397fafb1c1 Merge pull request #886 from asur4s/master
fix: Altgr uses send event, others use fake input
2022-06-29 10:16:36 +08:00
Asura 70bb3fed16 fix(pynput): Altgr uses send event, others use fake input 2022-06-28 18:56:54 -07:00
21pages b45dc606f1 Update example based on api changes
Signed-off-by: 21pages <pages21@163.com>
2022-06-29 09:38:01 +08:00
21pages 3c0f2dfed7 Merge pull request #2 from Heap-Hop/hwcodec
refactor: abr
2022-06-29 09:27:10 +08:00
RustDesk 4158a2d50e Merge pull request #883 from Kingtous/flutter_desktop
opt: add prefix identifier for each session & fix close and a read write error
2022-06-28 23:27:15 +08:00
Kingtous e0c52b49f3 opt: add prefix identifier for each session
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-28 22:16:10 +08:00
Kingtous d0422fa87e fix: previous session.close read&write error
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-28 22:16:10 +08:00
Kingtous 60a628aefe fix: window close hook
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-28 22:16:10 +08:00
csf 47469dd971 fix ImageQuality compatibility 2022-06-27 22:24:56 +08:00
csf a7769da317 simple abr with delay 2022-06-27 21:25:43 +08:00
csf 0da5c2ec68 abr with delta delay 2022-06-27 21:25:23 +08:00
21pages 24245e7d3f Merge pull request #1 from Heap-Hop/hwcodec
Update ARB(beta) and merge master
2022-06-27 20:19:58 +08:00
csf 21a90c5de8 abr update Windows 2022-06-27 03:30:46 -07:00
RustDesk 6c4f5dc007 Merge pull request #877 from SoLongAndThanksForAllThePizza/flutter_desktop
feat: implemented remote control on desktop
2022-06-27 16:53:57 +08:00
RustDesk 1fc8957c1c Merge pull request #876 from Kingtous/flutter_desktop
add: file transfer dual logic with bridge
2022-06-27 16:53:26 +08:00
SoLongAndThanksForAllThePizza 0ce2c88c50 feat: implemented remote control on desktop 2022-06-27 16:50:02 +08:00
Kingtous 2b10da167c add: file transfer dual logic with bridge 2022-06-27 16:44:34 +08:00
csf 83e5028cc9 Merge branch 'master' into hwcodec 2022-06-27 15:28:49 +08:00
csf 085356c0b3 Merge branch 'abr' into hwcodec 2022-06-27 15:21:31 +08:00
csf ece86cda9e abr 2022-06-27 15:08:43 +08:00
RustDesk 53f373c36f Merge pull request #875 from Kingtous/flutter_desktop
fix: cli feature compilation
2022-06-27 12:11:18 +08:00
Kingtous d79bdd6afe fix: cli feature compilation 2022-06-27 12:09:27 +08:00
RustDesk 0d9218eae7 Merge pull request #874 from Kingtous/flutter_desktop
refactor: merge master commits into flutter_desktop
2022-06-27 11:56:27 +08:00
Kingtous 3f2aaae1ff opt: merge addon
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-27 11:51:29 +08:00
Kingtous 4a89469b84 Merge remote-tracking branch 'rustdesk/master' into flutter_desktop
# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	build.rs
#	flutter/.gitignore
#	flutter/lib/common.dart
#	flutter/lib/mobile/pages/remote_page.dart
#	flutter/lib/models/model.dart
#	flutter/lib/models/native_model.dart
#	flutter/lib/models/server_model.dart
#	flutter/pubspec.lock
#	flutter/pubspec.yaml
#	src/client.rs
#	src/client/file_trait.rs
#	src/flutter.rs
#	src/mobile_ffi.rs
#	src/ui.rs
2022-06-27 11:18:53 +08:00
RustDesk ce218f7abf Merge pull request #873 from Kingtous/flutter_desktop
fix&opt: adjust conflict plugins & change implementation for window resize fit
2022-06-27 10:43:49 +08:00
Kingtous f5e0aef0de opt: windowManager -> LayoutBuilder
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-27 10:34:57 +08:00
Kingtous d5c0bcea61 revert: remove conflict bitsdojo_window plugin for linux & macOS
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-27 10:00:51 +08:00
RustDesk 8d0b49d36f Merge pull request #872 from asur4s/master
fix: Use xtest's fake_input to solve lock screen problems
2022-06-27 09:53:15 +08:00
kingtous eef20806d6 fix: temporary remove collesped plugins 2022-06-27 09:48:35 +08:00
kingtous f2460c26ca feat: add specific keyboard hook 2022-06-27 09:25:20 +08:00
Asura 2fa2c2d385 fix(pynput): Use fake input to solve lock screen problems 2022-06-26 18:19:38 -07:00
rustdesk e670b7e059 debug install 2022-06-27 00:36:31 +08:00
RustDesk 77dcbdb32b Merge pull request #850 from asur4s/master
fix: Shift + (  in french keyboard
2022-06-26 20:49:27 +08:00
rustdesk 2ef9a9b842 upgrade seria 2022-06-25 02:44:19 +08:00
Asura c842642c02 Replaced fake_input with display_manager's send_event 2022-06-24 12:01:22 +08:00
rustdesk 649ff52970 https://github.com/rustdesk/rustdesk/issues/751 2022-06-24 02:47:46 +08:00
Asura 8aeacf77b3 fix: remove print 2022-06-23 19:27:10 +08:00
Asura 1833b8c2dc fix(pynput): Convert keysym to keycode according to the system input source 2022-06-23 01:06:30 -07:00
RustDesk aaedcd6ac8 Update README.md 2022-06-23 13:46:15 +08:00
RustDesk 27851afc55 Update README.md 2022-06-23 13:33:36 +08:00
rustdesk ef1f34cefa update dep 2022-06-23 11:15:37 +08:00
RustDesk c2e3033b80 Merge pull request #848 from fufesou/socks5_reconnect
socks5_reconnect
2022-06-23 11:10:27 +08:00
fufesou d968ed3029 socks5_reconnect: handle socks5 server down
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-06-23 10:44:05 +08:00
RustDesk ad2c892192 Merge pull request #847 from danielcshn/master
Add Spanish translation
2022-06-23 10:16:08 +08:00
Daniel HybridNetworks 047111fcc9 Update README-ES.md 2022-06-22 20:51:49 -03:00
Daniel HybridNetworks 5a471e286d Add Spanish translation 2022-06-22 20:26:03 -03:00
RustDesk c1cf9307ac Merge pull request #829 from Kingtous/flutter_desktop
feat: file transfer - initial migration to rust bridge
2022-06-21 18:32:14 +08:00
Kingtous 5bfbb1b807 opt: dual columns file-transfer in desktop version
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-21 18:28:46 +08:00
Kingtous 02aa676030 opt: add init frame size
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-21 18:28:46 +08:00
Kingtous 0eacb6706a feat: file transfer tab works
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-21 18:28:46 +08:00
RustDesk c1906914a0 Merge pull request #818 from hammiddi/master
code enhancement
2022-06-20 11:37:18 +08:00
Hamidi Mohammed 5a051ae3b6 code enhancement
Signed-off-by: Hamidi Mohammed <mr.hammiddi@gmail.com>
2022-06-19 17:15:37 +01:00
RustDesk 086c8e43d7 Merge pull request #811 from vedantmgoyal2009/patch-1
Update winget.yml
2022-06-19 10:29:50 +08:00
RustDesk a2cb60e3d6 Merge pull request #813 from hammiddi/master
README-AR.md
2022-06-19 10:28:47 +08:00
Hamidi Mohammed 0d01dccd79 Add README-AR.md
Signed-off-by: Hamidi Mohammed <mr.hammiddi@gmail.com>
2022-06-18 20:24:07 +01:00
Hamidi Mohammed bca5fe8511 Add README-AR.md
Signed-off-by: Hamidi Mohammed <mr.hammiddi@gmail.com>
2022-06-18 20:23:01 +01:00
Vedant 3239ef525c Update winget.yml 2022-06-18 23:55:31 +05:30
RustDesk 97509127d5 Merge pull request #801 from Kingtous/flutter_desktop
fix: FFI id assignment & keep Remote Page state for multi tabs & add file transfer multi tab support
2022-06-17 23:02:03 +08:00
Kingtous 77b86ddb6b add: file transfer multi tab support
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-17 22:58:31 +08:00
Kingtous 330a2ce5a5 fix: FFI id assignment && keep Remote Page state for multi tabs
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-17 22:21:49 +08:00
RustDesk 593bdda990 Merge pull request #794 from Kingtous/flutter_desktop
fix: use multi provider for canvas
2022-06-17 00:13:07 +08:00
Kingtous ed434fa90e add: use multi provider for canvas
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-17 00:06:49 +08:00
21pages a5b98e38cd update: Cargo.lock
Signed-off-by: 21pages <pages21@163.com>
2022-06-16 08:56:00 +08:00
RustDesk 05e269a0bb Merge pull request #785 from vedantmgoyal2009/master
automate publishing of rustdesk to winget
2022-06-15 21:42:33 +08:00
RustDesk 2a5b539380 Merge pull request #786 from Heap-Hop/master
Update mobile file transfer tip
2022-06-15 21:35:51 +08:00
csf de4389977b https://github.com/rustdesk/rustdesk/issues/775 2022-06-15 21:29:56 +08:00
Vedant 47d8b2b03d Create winget.yml 2022-06-15 18:35:36 +05:30
RustDesk 6ae988ba88 Merge pull request #782 from Heap-Hop/master
fix build_android_deps
2022-06-15 16:21:16 +08:00
csf ef93d4584a fix build_android_deps 2022-06-15 16:18:49 +08:00
RustDesk 4824652eb1 Merge pull request #779 from Heap-Hop/master
update arm32 in build_android_deps.sh
2022-06-14 23:27:29 +08:00
csf 709e4a04ce update arm32 in build_android_deps.sh 2022-06-14 23:07:08 +08:00
21pages e4607e2feb fix: build error on android
Signed-off-by: 21pages <pages21@163.com>
2022-06-14 19:25:55 +08:00
rustdesk b314f6d89d change fastlane desc 2022-06-14 18:13:57 +08:00
21pages 7885f5ccb0 add hwcodec in build.py
usage:
	./build.py --hwcodec

Signed-off-by: 21pages <pages21@163.com>
2022-06-14 15:36:30 +08:00
21pages 847c4acb07 Merge branch 'hwcodec' into master 2022-06-14 13:08:39 +08:00
rustdesk 8753b28a96 arm32 2022-06-13 22:12:53 +08:00
RustDesk d6047a69e2 Merge pull request #759 from Kingtous/flutter_desktop
refactor: make multi FFI object && initial flutter multi sessions support
2022-06-13 21:22:26 +08:00
kingtous 985c616ca6 refactor: make multi FFI object && initial flutter multi sessions support
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-13 21:07:26 +08:00
rustdesk d148ca904e ndk_arm32 2022-06-13 21:00:22 +08:00
RustDesk c9315f3be0 Merge pull request #757 from sitiom/patch-1
add DisplayVersion regkey in installer
2022-06-13 19:28:55 +08:00
sitiom b498ac3bfe add DisplayVersion regkey in installer 2022-06-13 19:22:37 +08:00
rustdesk f2eaad73a8 https://github.com/rustdesk/rustdesk/issues/212#issuecomment-1153677618 2022-06-13 19:00:25 +08:00
RustDesk 103f114b67 Merge pull request #753 from Heap-Hop/master
fix msgbox cancel
2022-06-13 15:43:44 +08:00
csf 26c2bcd5be fix msgbox cancel 2022-06-13 15:38:30 +08:00
RustDesk cbcf4d0c68 Merge pull request #752 from Heap-Hop/master
add fastlane images
2022-06-13 14:30:30 +08:00
csf 36e8d1add5 add fastlane images 2022-06-13 14:17:03 +08:00
RustDesk cfe9ca6075 Merge pull request #749 from rewrite0w0/translate-kr-jp
update: translate update korean, japanese
2022-06-13 11:38:36 +08:00
oh taejun 90ee4dcbb4 update: japanese translate, add link, img, how to build(pynput), content 2022-06-13 09:00:11 +09:00
oh taejun 61c844189d update: japanese translate, add link, img, how to build(pynput), content 2022-06-13 08:59:34 +09:00
oh taejun a4fd7f0e3c update: korean translate, add link, img, how to build(pynput) 2022-06-13 08:59:09 +09:00
rustdesk c1caa4a7cd more error 2022-06-12 22:07:04 +08:00
rustdesk 933578e660 https://github.com/rustdesk/rustdesk/issues/665 2022-06-12 15:39:58 +08:00
rustdesk b83b296234 https://github.com/rustdesk/rustdesk/issues/580 2022-06-12 15:14:21 +08:00
RustDesk 4f32c9e383 Merge pull request #745 from linsui/fastlane
add fastlane for F-Droid
2022-06-12 11:02:12 +08:00
linsui 1b11f95465 add fastlane for F-Droid 2022-06-12 11:00:02 +08:00
rustdesk f6eb19d085 refactor 2022-06-11 19:00:33 +08:00
RustDesk 39342bf5c1 Merge pull request #736 from chamgin/master
fix import config bug when use filename insteadof path
2022-06-11 18:58:49 +08:00
rustdesk 7e9bf70efc Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-06-10 18:44:05 +08:00
rustdesk 8669b57011 fix lang 2022-06-10 18:43:53 +08:00
rustdesk f36f0f7530 https://github.com/rustdesk/rustdesk/issues/701 2022-06-10 18:25:25 +08:00
rustdesk ddf06f54c1 log 2022-06-10 18:23:45 +08:00
rustdesk f012befc9d fix sk 2022-06-10 17:59:21 +08:00
jie.caicj 79145859d5 fix import config bug when use filename insteadof path 2022-06-10 16:15:01 +08:00
21pages 42c7c5982c scrap: check hwconfig in another process
Signed-off-by: 21pages <pages21@163.com>
2022-06-10 12:17:06 +08:00
rustdesk 7dfa038c6d fix shift + 'a' for mac 2022-06-10 12:00:59 +08:00
RustDesk a8df7d01ba Merge pull request #735 from Kingtous/master
refactor: change AppImage build env to Ubuntu 18.04
2022-06-10 00:45:01 +08:00
Kingtous 36c10d823c refactor: change AppImage build env to Ubuntu 18.04 2022-06-10 00:43:32 +08:00
rustdesk f166eec276 add key.jks 2022-06-09 23:38:39 +08:00
rustdesk d31bfc9151 fix appimage 2022-06-09 21:02:26 +08:00
rustdesk b88b4151bc 1.2.0 -> 1.1.10 2022-06-09 19:45:53 +08:00
RustDesk 00afa50497 Merge pull request #733 from Kingtous/feat/appimage
feat: scripts to build AppImage for rustdesk
2022-06-09 18:11:21 +08:00
Kingtous e4227b2194 add: automatic change version for .desktop files 2022-06-09 18:08:33 +08:00
21pages feaadcfc96 scrap: ensure video_handler's creation before client start
Signed-off-by: 21pages <pages21@163.com>
2022-06-09 18:04:10 +08:00
Kingtous 618be48726 feat: appimage package script
revert: flutter lock file
2022-06-09 17:46:17 +08:00
Kingtous 0eeb0bacbd add: appimage config 2022-06-09 17:39:44 +08:00
RustDesk d1da63fc97 Merge pull request #731 from Heap-Hop/master
Fix two small bugs of Android
2022-06-08 23:13:05 +08:00
csf 2169c6fe33 fix android translation and hostname 2022-06-08 22:35:06 +08:00
RustDesk 71e6c42560 Delete snap-ci.yml 2022-06-08 21:16:31 +08:00
RustDesk 3740a0b730 Merge pull request #729 from Heap-Hop/master
Android screen wakeup
2022-06-08 21:11:49 +08:00
csf 6d83aeeabb Android screen wakeup 2022-06-08 21:08:05 +08:00
RustDesk 04192d8361 Update README.md 2022-06-08 18:01:20 +08:00
rustdesk 0c6a7737d9 https://github.com/rustdesk/rustdesk/issues/726 2022-06-08 17:12:30 +08:00
RustDesk db4e2812ea Update config.yml 2022-06-07 22:26:24 +08:00
RustDesk 3a4dc76d50 Update config.yml 2022-06-07 22:24:47 +08:00
21pages 2a91fb842d scrap: save best codec info in LocalConfig
Signed-off-by: 21pages <pages21@163.com>
2022-06-07 19:35:18 +08:00
RustDesk 943ce98050 Merge pull request #725 from Heap-Hop/master
add build_android_deps.sh
2022-06-07 16:48:32 +08:00
csf a97c0a19ee add build_android_deps.sh 2022-06-07 16:45:06 +08:00
RustDesk a7c84722d0 Merge pull request #724 from Kingtous/master
fix: cli compilation error when using cli feature
2022-06-07 11:33:07 +08:00
Kingtous e468ae5797 fix: cli compilation error when using cli feature 2022-06-07 11:25:34 +08:00
21pages 27091dec0e scrap: remove lock on hwDecoder
Signed-off-by: 21pages <pages21@163.com>
2022-06-07 10:27:53 +08:00
rustdesk c0aa0d743a https://github.com/rustdesk/rustdesk/issues/692 2022-06-07 00:30:37 +08:00
21pages 91012b5da5 scrap: refactor update_video_encoder
Signed-off-by: 21pages <pages21@163.com>
2022-06-06 17:02:07 +08:00
21pages 42546a7468 scrap: use the same bitrate ratio control as vpx
Signed-off-by: 21pages <pages21@163.com>
2022-06-06 15:59:30 +08:00
rustdesk 897d5c8cc9 "copying and pasting" -> "copy and paste" 2022-06-06 12:25:47 +08:00
RustDesk 5c76410c76 Merge pull request #718 from fufesou/win_copy_paste_test_2
win_copy_paste_test
2022-06-06 12:01:18 +08:00
fufesou 57bd3a9816 win_copy_paste_test: change ui 'File Transfer' to 'Allow file copying and pasting'
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-06-06 11:57:05 +08:00
RustDesk 5b2c53e603 Merge pull request #716 from fufesou/master
fix compilation error
2022-06-06 10:29:36 +08:00
fufesou f29827d9c3 fix compilation error
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-06-06 09:22:14 +08:00
21pages 4bb09865cf scrap: update HwDecoder::instance()
Signed-off-by: 21pages <pages21@163.com>
2022-06-05 18:12:54 +08:00
rustdesk 463fc2f0c0 https://github.com/rustdesk/rustdesk/issues/709 2022-06-05 18:02:54 +08:00
RustDesk 5007ac208c Merge pull request #705 from Ylacat/master
Created da Lang file
2022-06-04 10:20:50 +08:00
Frederick Nicklas Ambo Eggert Eggertsen 04b78f7ca1 Created da Lang file
Added language file "da.rs" so the UI can show the Danish language 🇩🇰
2022-06-03 23:19:19 +02:00
RustDesk cb781fe08c Merge pull request #698 from daeisbae/master
Fix Misspelled Korean Grammar
2022-06-03 11:56:39 +08:00
Dae❤️ a7029fe07f Fix Misspelled Korean Grammar 2022-06-03 12:51:44 +09:00
rustdesk de044db6d4 remove from ui only 2022-06-03 10:41:59 +08:00
rustdesk eec06141f7 fix ci 2022-06-03 10:41:28 +08:00
rustdesk e4fea4f187 fix ci 2022-06-03 10:36:55 +08:00
rustdesk ad22101067 remove Fix x11 2022-06-03 10:31:53 +08:00
rustdesk c80e2204d9 https://github.com/rustdesk/rustdesk/issues/406#issuecomment-1145157327 2022-06-03 10:05:51 +08:00
rustdesk 25ca204213 https://github.com/rustdesk/rustdesk/issues/406#issuecomment-1145157327 2022-06-03 02:37:52 +08:00
RustDesk 9568f3527f Update README.md 2022-06-02 23:30:06 +08:00
RustDesk 384e9c8194 Update README.md 2022-06-02 23:14:14 +08:00
RustDesk 720b05874a Merge pull request #628 from fufesou/simple_rc
Fix WCHAR Path & Add Resources Integration Lib
2022-06-02 22:01:01 +08:00
rustdesk 801dbd58a8 https://github.com/rustdesk/rustdesk/issues/677 2022-06-02 20:44:40 +08:00
rustdesk c5b88a266f missed icon.ico 2022-06-02 20:42:23 +08:00
RustDesk e07b56b646 Merge pull request #691 from Heap-Hop/master
Update Mobile
2022-06-02 18:09:03 +08:00
csf 345165e875 add android info 2022-06-02 17:33:52 +08:00
rustdesk d90b34da7d https://github.com/rustdesk/rustdesk/issues/677 2022-06-02 17:30:09 +08:00
csf 37339805c2 mobile handle orientation change 2022-06-02 17:16:23 +08:00
rustdesk b602c1293b https://github.com/rustdesk/rustdesk/issues/677 2022-06-02 17:14:32 +08:00
RustDesk bce72ea84b Merge pull request #687 from Kingtous/flutter_desktop
refactor: disable tray
2022-06-02 16:46:52 +08:00
Kingtous 8c3e77001c refactor: disable tray
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-02 16:45:04 +08:00
RustDesk c94d10782c Merge pull request #686 from Kingtous/flutter_desktop
feat: add tray icon to status bar & fix: multi window injection and titlebar issue
2022-06-02 16:33:58 +08:00
RustDesk 6632e46607 Merge pull request #685 from SoLongAndThanksForAllThePizza/flutter_desktop
fix: macos compilation
2022-06-02 16:33:42 +08:00
Kingtous d81d785722 feat: add tray icon to status bar
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-02 16:23:20 +08:00
SoLongAndThanksForAllThePizza d756551791 fix: macos compilation 2022-06-02 16:13:34 +08:00
Kingtous 1f9655d632 opt: titlebar height autofit
Signed-off-by: Kingtous <kingtous@qq.com>
2022-06-02 14:51:09 +08:00
21pages 327bdb741c scrap: fix update_video_encoder
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:55 +08:00
21pages 7e6c38e6d2 scrap: add hw quality control
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:55 +08:00
21pages 399ddc8bef scrap: rename coder.rs to codec.rs
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:55 +08:00
21pages 6677fc9b30 scrap: rename codec.rs to vpxcodec.rs
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:55 +08:00
21pages 70968638bf scrap: add hwcodec
Signed-off-by: 21pages <pages21@163.com>
2022-06-02 11:32:50 +08:00
fufesou 376c042666 privacy_mode_win_magnifier: remove unused win event hook
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-06-02 10:45:27 +08:00
RustDesk aefc968246 Merge pull request #680 from Kingtous/flutter_desktop
fix: windows&macOS plugin injections for multi window context
2022-06-02 07:26:16 +08:00
kingtous c0b9a67cdd fix: macOS compilation for multi window plugin 2022-06-02 02:20:17 +08:00
kingtous 12d0380c8c fix: windows compilation for multi window plugin 2022-06-02 02:13:07 +08:00
fufesou fc1af7b0d9 privacy_mode_win_magnifier: fix UAC prompt window
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-06-01 23:57:58 +08:00
RustDesk cd78f76aff Merge pull request #678 from Heap-Hop/master
Run Android InputService independently
2022-06-01 22:09:19 +08:00
csf 75b920079b run android InputService independently 2022-06-01 21:14:02 +08:00
RustDesk 6e1f4cfeca Merge pull request #675 from Heap-Hop/master
Android fix
2022-06-01 18:22:10 +08:00
csf 16fd96aa96 fix android bit rate 2022-06-01 17:52:21 +08:00
csf 20f6bdb8e7 .gitignore Flutter Generated Files 2022-06-01 15:42:12 +08:00
csf 0b67164ecf adapt to flutter 3 2022-06-01 15:29:31 +08:00
RustDesk ee6e568f9f Merge pull request #674 from Heap-Hop/option_multi_instances
multi instances
2022-06-01 15:13:34 +08:00
csf 1b7eb73ee8 SyncReturn 2022-06-01 15:09:48 +08:00
csf 317b350d2b multi remote instances 0.5 2022-05-31 22:09:36 +08:00
csf 5fb89c98e4 Merge branch 'flutter_desktop' of https://github.com/rustdesk/rustdesk into option_multi_instances 2022-05-31 20:25:31 +08:00
csf 5274a43a34 update sessions public function 2022-05-31 20:24:44 +08:00
RustDesk 2d32052999 Merge pull request #669 from SoLongAndThanksForAllThePizza/flutter_desktop
fix: use forked codegen repo instead of local repo
2022-05-31 16:59:33 +08:00
SoLongAndThanksForAllThePizza e1e3491ec6 fix: use forked codegen repo instead of local repo 2022-05-31 16:57:42 +08:00
RustDesk 4451a628eb Merge pull request #668 from Kingtous/flutter_desktop
add: tab logic
2022-05-31 16:41:12 +08:00
RustDesk 9ae9bd5111 Merge pull request #667 from SoLongAndThanksForAllThePizza/flutter_desktop
fix: compile error when using enum in flutter
2022-05-31 16:32:24 +08:00
Kingtous 4b69ece608 add: tab logic
Signed-off-by: Kingtous <kingtous@qq.com>
2022-05-31 16:28:25 +08:00
SoLongAndThanksForAllThePizza 5825ae4531 fix: compile error when using enum in flutter 2022-05-31 16:28:12 +08:00
fufesou 62cb9eb51e privacy_mode_win_magnifier: more check on privacy mode
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-31 15:54:21 +08:00
csf 18ad23435b multi remote instances 2022-05-31 14:44:06 +08:00
RustDesk 00ba7cad81 Merge pull request #664 from Kingtous/flutter_desktop
fix: method channel in multi window context
2022-05-31 12:23:22 +08:00
Kingtous ac09c37516 fix: method channel in multi window context
Signed-off-by: Kingtous <kingtous@qq.com>
2022-05-31 12:11:29 +08:00
fufesou 867d26b79c Merge branch 'simple_rc' of github.com:fufesou/rustdesk into simple_rc 2022-05-31 12:01:46 +08:00
fufesou da392f7f72 privacy_mode_win_magnifier: ui prompt if succeeded
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-31 12:01:22 +08:00
fufesou e0aee6898b privacy_mode_win_magnifier: privacy conn id set after succeess
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-31 10:00:11 +08:00
RustDesk ea5669288c Merge pull request #661 from ViktorOn/patch-4
Update ru.rs
2022-05-31 09:40:52 +08:00
RustDesk 298c498259 Merge pull request #662 from planetzcitizen/master
Translation of README.md into Persian
2022-05-31 09:40:28 +08:00
planetzcitizen 73d27577b4 Update README file
Updat README files to include link to the README-FA.md

Signed-off-by: planetzcitizen <3522081+planetzcitizen@users.noreply.github.com>
2022-05-31 02:27:46 +02:00
planetzcitizen bbc78b0d4f Update README.md
Update README.md to include link to the README-FA.md.
2022-05-31 01:38:12 +02:00
planetzcitizen 5645b1d38f Create README-FA.md
Translated README.md to Farsi.
2022-05-31 01:34:24 +02:00
Vik 14a7194eb8 Update ru.rs 2022-05-31 00:00:58 +03:00
fufesou 4502f94e99 virtual_display: apply idd virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-31 00:51:13 +08:00
fufesou 18ba55056f privacy_mode_win_magnifier: fix crash when resolution changed
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-30 18:16:04 +08:00
RustDesk 19e49881c9 Merge pull request #657 from Kingtous/flutter_desktop
feat: add librustdesk.so filter for linux
2022-05-30 16:31:03 +08:00
Kingtous 7af663809f opt: adapt --cm
Signed-off-by: Kingtous <kingtous@qq.com>

[linux] opt: add librustdesk.so filter
2022-05-30 16:28:48 +08:00
RustDesk 5e2be73466 Merge pull request #656 from SoLongAndThanksForAllThePizza/flutter_desktop
feat: insert core entry before launching flutter
2022-05-30 16:20:04 +08:00
SoLongAndThanksForAllThePizza 7cd0940661 feat: insert core entry before launching flutter 2022-05-30 16:16:20 +08:00
RustDesk 3a1bbc260b Merge pull request #655 from SoLongAndThanksForAllThePizza/flutter_desktop
fix: make sure env_logger only init once
2022-05-30 13:57:58 +08:00
SoLongAndThanksForAllThePizza 2228fba8c7 fix: make sure env_logger only init once 2022-05-30 13:55:26 +08:00
RustDesk 21e5076173 Merge pull request #654 from Kingtous/flutter_desktop
opt&fix: main window ui & device info fix
2022-05-30 13:28:35 +08:00
kingtous 82895e6951 opt & fix:
- main window ui: adapt pc logic
- fix: platform infomation using device info plus

Signed-off-by: Kingtous <kingtous@qq.com>
2022-05-30 13:26:01 +08:00
fufesou 5182b96bda simple_rc: add feature argument for build.py
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-30 13:07:04 +08:00
fufesou 2081113bed simple_rc: win init simple resource pack
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-30 13:06:48 +08:00
fufesou e1bb25c70e fix_virtual_display_path: fix wchar* path
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-30 12:27:11 +08:00
fufesou c269d1c831 privacy_mode: win10 magnifier
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-30 12:08:28 +08:00
RustDesk 85cd066cd7 Merge pull request #653 from rustdesk/add-license-1
Create LICENCE
2022-05-29 23:01:23 +08:00
RustDesk 66070320b5 Create LICENCE 2022-05-29 23:01:09 +08:00
rustdesk bf736c80e9 changing license 2022-05-29 23:00:12 +08:00
RustDesk 4519dd8cf9 Merge pull request #652 from Kingtous/flutter_desktop
feat: add customed titlebar option
2022-05-29 19:58:26 +08:00
Kingtous 7b3bbdf964 feat: add customed titlebar 2022-05-29 19:55:50 +08:00
RustDesk 16a68316cb Merge pull request #649 from Kingtous/flutter_desktop
feat: add single/multi window manager logic & fix issue causing input twice when press only once
2022-05-29 17:25:53 +08:00
Kingtous 708801bdf6 feat: add single/multi window manager wrapper & fix issue causing input twice 2022-05-29 17:23:27 +08:00
Kingtous 24a6846f03 add: desktop password page 2022-05-29 17:23:27 +08:00
RustDesk 20e95a684d Merge pull request #648 from SoLongAndThanksForAllThePizza/flutter_desktop
Add flutter ffi init on desktop
2022-05-29 15:21:12 +08:00
SoLongAndThanksForAllThePizza 59a8600b53 fix flutter ffi init for all platforms 2022-05-29 15:18:36 +08:00
RustDesk 989562d3ef Merge pull request #645 from SoLongAndThanksForAllThePizza/flutter_desktop
Implemented a functional draft version
2022-05-29 08:58:01 +08:00
SoLongAndThanksForAllThePizza e836b7fcfb implement functional draft version 2022-05-29 04:39:12 +08:00
RustDesk 70d4df9b85 Merge pull request #644 from curo-open/fix-cs-translation
fix some issues in Czech translation
2022-05-29 01:36:58 +08:00
RustDesk 1a6cc08ec4 Merge pull request #643 from curo-open/translate-sk
add slovak translation
2022-05-29 01:36:47 +08:00
k2s 4f843b98c7 fix some issues in Czech translation 2022-05-28 18:55:03 +02:00
Martin Minka 9688a3157a add slovak translation 2022-05-28 18:50:28 +02:00
RustDesk f56dcc9e6c Merge pull request #635 from SoLongAndThanksForAllThePizza/flutter_desktop
Added comments and connection page
2022-05-28 09:34:00 +08:00
SoLongAndThanksForAllThePizza c4639ecfcb add connection page 2022-05-28 03:57:34 +08:00
SoLongAndThanksForAllThePizza 9dd6e40003 add comment 2022-05-28 03:56:42 +08:00
RustDesk f542a39329 Merge pull request #631 from p-bo/patch-3
Add link pointing to README-CS.md into README.md
2022-05-27 17:54:52 +08:00
p-bo db180c7381 Add link pointing to README-CS.md into README.md 2022-05-27 11:33:19 +02:00
RustDesk e59daa5548 Merge pull request #630 from p-bo/patch-2
Add Czech translation of README
2022-05-27 17:31:13 +08:00
p-bo 1dae3dd292 Add Czech translation of README 2022-05-27 11:29:06 +02:00
RustDesk 6c739289ce Merge pull request #627 from fufesou/better_linux_run_cmds
better_linux_run_cmds: run cmds without creating tmp files
2022-05-27 11:12:13 +08:00
fufesou 5fc32971df better_linux_run_cmds: run cmds without creating tmp files
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-27 11:07:24 +08:00
rustdesk 1c447fe438 fix cs 2022-05-26 21:22:42 +08:00
RustDesk f2f12ffb6b Update lang.rs 2022-05-26 21:07:39 +08:00
RustDesk ab66c32618 Merge pull request #625 from p-bo/patch-1
Add Czech localization to application
2022-05-26 21:05:35 +08:00
p-bo 09ea396b54 Add Czech localization to application 2022-05-26 15:04:13 +02:00
RustDesk 7eb3a43f33 Merge pull request #624 from Heap-Hop/flutter_desktop
adapt to flutter 3
2022-05-26 18:28:56 +08:00
csf fa5f48638f adapt to flutter 3 2022-05-26 18:25:16 +08:00
RustDesk 4c6c1a95e0 Merge pull request #623 from Heap-Hop/flutter_desktop
fix build & create ui interface
2022-05-26 18:15:21 +08:00
csf 699907eebd fix build & create ui interface 2022-05-26 18:11:00 +08:00
RustDesk 95e18c6e92 Update README.md 2022-05-26 17:46:23 +08:00
RustDesk 223a4f2323 Merge pull request #622 from fufesou/fix_deadlock_general_service
fix_deadlock_general_service
2022-05-26 17:17:56 +08:00
fufesou 7c99ac2ba2 fix_deadlock_general_service: fix deadlock when join general service.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-05-26 17:08:29 +08:00
RustDesk 7c2cf6c9b3 Merge pull request #621 from maxxer/patch-1
Minor fixes to Italian translation
2022-05-26 15:54:41 +08:00
Lorenzo Milesi d9d1f4d4f6 Minor fixes to Italian translation 2022-05-26 09:15:02 +02:00
RustDesk 7f47b64643 Merge pull request #618 from Heap-Hop/flutter_desktop
refactor ui function to global public (ui.rs)
2022-05-26 12:31:32 +08:00
csf 9aa3f5c519 del unused 2022-05-26 12:19:11 +08:00
csf 35e17f0ef9 fix windows 2022-05-25 21:07:24 -07:00
csf 7955381655 refactor ui struct -> global ref (linux) 2022-05-26 11:54:29 +08:00
RustDesk d89979b053 Merge pull request #617 from asur4s/master
--release instead of ---release
2022-05-26 10:37:05 +08:00
Asura c7f36c4481 --release instead of ---release 2022-05-25 19:14:13 -07:00
csf 8edc0d4c76 fix ref fun 2022-05-25 23:22:14 +08:00
csf f4c4b0d9f3 public ui function 2022-05-25 23:09:14 +08:00
RustDesk b9f515cff1 Merge pull request #613 from SoLongAndThanksForAllThePizza/flutter_desktop
Fixed some unchanged names
2022-05-25 21:00:26 +08:00
SoLongAndThanksForAllThePizza 537918674e fix unchanged mobile 2022-05-25 20:57:25 +08:00
SoLongAndThanksForAllThePizza bd2250b6c9 fix unchanged mobile_ffi.rs 2022-05-25 20:50:32 +08:00
RustDesk b69080e409 Merge pull request #612 from SoLongAndThanksForAllThePizza/flutter_desktop
Added flutter feature, fixed flutter compilation on windows and removed some auto generated files
2022-05-25 20:33:33 +08:00
SoLongAndThanksForAllThePizza 52d4b4226e fix flutter compile on windows 2022-05-25 20:26:46 +08:00
SoLongAndThanksForAllThePizza 4d324063c5 add flutter feature and rename mobile to flutter 2022-05-25 20:23:02 +08:00
RustDesk f7d2ec0899 Merge pull request #610 from asur4s/patch-1
Add label for feature  request
2022-05-25 17:51:50 +08:00
Asura c519ade088 Add label for feature request 2022-05-25 17:49:41 +08:00
SoLongAndThanksForAllThePizza 3081df429e remove flutter generated files 2022-05-25 17:20:35 +08:00
RustDesk 0046407c1e Merge pull request #605 from Kingtous/wip/flutter_desktop_ffi
WIP: flutter desktop ffi
2022-05-25 16:02:44 +08:00
Kingtous 967482aa78 fix: add ffigen 2022-05-25 14:41:37 +08:00
Kingtous a68520df08 fix: bridge compilation 2022-05-25 14:30:19 +08:00
Kingtous a364e7f808 demo: use mobile_ffi to get id for desktop version 2022-05-25 14:12:40 +08:00
Kingtous a81e2f9859 refactor: split desktop & mobile 2022-05-25 14:12:35 +08:00
RustDesk 4a536d0008 Merge pull request #603 from 64kramsystem/strip_via_rust_toolchain
Strip release binary via Rust toolchain
2022-05-25 09:54:58 +08:00
RustDesk 31f26d63c9 Merge pull request #602 from 64kramsystem/add_pyinput_installation_to_readme
Add pynput installation section to README
2022-05-25 09:53:48 +08:00
RustDesk 6ad607348d Merge pull request #590 from 64kramsystem/make_keyboard_hook_global_safe
Remove `remote.rs` static mut booleans unsafe code, by using AtomicBool
2022-05-25 09:52:36 +08:00
Saverio Miroddi ba5321c4a0 Strip release binary via Rust toolchain
As of Rust 1.59, full stripping support has been added (see https://blog.rust-lang.org/2022/02/24/Rust-1.59.0.html#creating-stripped-binaries).
2022-05-24 19:37:01 +02:00
Saverio Miroddi 34f5aa303b Add pynput installation section to README
Prevents flooding the server log with warnings.

Closes #591.
2022-05-24 19:30:56 +02:00
Saverio Miroddi 230f74da2e Remove IS_IN unsafe code, by using AtomicBool 2022-05-24 18:37:24 +02:00
Saverio Miroddi 0c0051d59a Remove SERVER_FILE_TRANSFER_ENABLED unsafe code, by using AtomicBool 2022-05-24 18:37:22 +02:00
Saverio Miroddi 45bb271c88 Remove SERVER_KEYBOARD_ENABLED unsafe code, by using AtomicBool 2022-05-24 18:12:42 +02:00
Saverio Miroddi c7f452752d Remove SERVER_CLIPBOARD_ENABLED unsafe code, by using AtomicBool 2022-05-24 18:12:33 +02:00
RustDesk bd1895b0f6 Merge pull request #598 from Kingtous/feat/flutter_desktop_linux_makefile
feat: rustdesk linux flutter build cmake
2022-05-24 09:56:47 +08:00
Kingtous 26281d95f6 add: rustdesk linux flutter build cmake 2022-05-24 09:32:40 +08:00
RustDesk b482bbb0a9 Merge pull request #596 from Heap-Hop/flutter_desktop
fix .gitignore
2022-05-23 17:14:27 +08:00
csf be6f677b14 fix .gitignore 2022-05-23 16:44:23 +08:00
RustDesk de8236d778 Merge pull request #595 from Heap-Hop/flutter_desktop
start Flutter desktop
2022-05-23 16:30:25 +08:00
csf beb11bd31c flutter create --platforms=windows,macos,linux 2022-05-23 16:25:55 +08:00
csf 6a949b5f6a fix platform 2022-05-23 16:24:56 +08:00
csf a23fa7fc66 add desktop 2022-05-23 16:02:37 +08:00
rustdesk 222245a60c more linux distro 2022-05-23 11:59:56 +08:00
Saverio Miroddi 7f50fe3ea0 Remove KEYBOARD_HOOKED unsafe code, by using AtomicBool
For supported types, static R/W globals unsafe code can be replaced by safe `Atomic*` types.

The pattern of usage is simple:

- AtomicBool#swap is used to fetch the old `KEYBOARD_HOOKED` value, while setting it to true;
- if the old value was true, there is effectively no change to `KEYBOARD_HOOKED`, and the flow exits from the enclosing function;
- if the old value was false, execute the function (the new `KEYBOARD_HOOKED` has been set to true by swap()).

The most conservative ordering is used, as the context is not performance-sensitive.

Atomics are not supported on every platform, but the project assumes x86-64, which supports them.
2022-05-22 18:48:08 +02:00
RustDesk 8e2aaf578f Merge pull request #587 from ViktorOn/patch-3
Update README-RU.md
2022-05-22 20:40:14 +08:00
Viktor 04eac47526 Update README-RU.md 2022-05-22 13:07:39 +03:00
RustDesk 9151a32f24 Merge pull request #585 from ViktorOn/patch-2
Update ru.rs
2022-05-22 15:52:15 +08:00
Viktor 4a72702679 Update ru.rs 2022-05-22 10:49:37 +03:00
RustDesk 6a11981675 Merge pull request #581 from mrladeia/patch-1
Update ptbr.rs
2022-05-22 12:11:09 +08:00
RustDesk 32fcb69538 Merge pull request #582 from chriscavalluzzi/dark-theme
Add dark theme for main desktop client window
2022-05-22 12:10:18 +08:00
Chris Cavalluzzi a5d4cad5b7 Add dark theme for main desktop client window
Signed-off-by: Chris Cavalluzzi <chriscavalluzzi@gmail.com>
2022-05-21 19:11:50 -06:00
Marcos Rodrigo Ladeia 125259fe0e Update ptbr.rs
Correcting pt-BR translation
2022-05-21 19:15:42 -03:00
RustDesk eb71b6ad79 Merge pull request #575 from rewrite0w0/kr-Translate
Kr translate
2022-05-21 09:27:31 +08:00
Oh TaeJun 6d12c76ebe add: korean translate 2022-05-21 10:21:53 +09:00
Oh TaeJun 27bd2c2e04 add: korean translate link 2022-05-21 09:56:50 +09:00
RustDesk ae214f2670 Merge pull request #569 from SiderealArt/patch-1
Update tw.rs
2022-05-20 19:41:33 +08:00
SiderealArt 534454a055 Update tw.rs 2022-05-20 19:38:29 +08:00
RustDesk 9987c24d91 Merge pull request #566 from Kingtous/fix/download_from_windows_cause_subfolder_collepsed
fix: Unix <-> Windows sub-folder collapsed
2022-05-20 11:33:13 +08:00
Kingtous 0958126739 fix: windows -> unix 2022-05-20 11:31:09 +08:00
Kingtous c4663ecbf3 fix: linux <- windows subfolder collepsed 2022-05-20 10:53:10 +08:00
RustDesk b267da2e70 Merge pull request #564 from Heap-Hop/master
mobile & web rgba stream
2022-05-20 09:39:15 +08:00
csf 7c5a136b6b mobile & web rgba stream 2022-05-20 09:28:46 +08:00
rustdesk 920a3c0a4f refactor 2022-05-20 00:22:43 +08:00
rustdesk a1a41bea06 missed commit 2022-05-20 00:11:48 +08:00
rustdesk 8d34496db8 rename 2022-05-20 00:11:22 +08:00
RustDesk 9ecacadd4a Merge pull request #560 from Heap-Hop/master
fix audio latency
2022-05-19 23:18:13 +08:00
csf f5027382d9 update LatencyController 2022-05-19 23:10:06 +08:00
csf a071eeb710 fix audio latency 2022-05-19 18:39:13 +08:00
RustDesk 31a40538dc Merge pull request #545 from Kingtous/feat/file_transfer_option_mobile
feat: [mobile] more precise control method for transfering files
2022-05-18 17:02:39 +08:00
rustdesk 88c8da5402 fix cm 2022-05-18 16:12:50 +08:00
Kingtous 925ca66c42 opt: reset file confirm & clean code 2022-05-18 15:47:07 +08:00
Kingtous 42f2ebc8e6 opt: clean code 2022-05-18 15:45:45 +08:00
rustdesk 85332a6245 yarn.lock is not useless, yuv.js must be in /, because it is called in global.js as web worker, deploy.sh not tested yet 2022-05-18 01:44:42 +08:00
Kingtous 3bf3b7950f fix: compile with master 2022-05-17 23:26:05 +08:00
Kingtous fc39c0ffc0 add: android file transfer logic 2022-05-17 23:03:55 +08:00
Kingtous c244e49279 add: file_num to send_files 2022-05-17 23:03:55 +08:00
Kingtous c4d41c21f3 fix: compile 2022-05-17 23:03:55 +08:00
RustDesk 6de6d6c7a7 Merge pull request #547 from Heap-Hop/master
refactor web dir
2022-05-17 23:01:33 +08:00
csf 4887cdb756 refactor web dir 2022-05-17 22:51:40 +08:00
RustDesk 7a3e95eddd Merge pull request #544 from Heap-Hop/event_channel
use new event channel for mobile and web
2022-05-17 22:09:03 +08:00
csf 7296e55435 del unused 2022-05-17 21:58:15 +08:00
csf a7af7967f6 use new event channel for mobile and web 2022-05-17 19:59:37 +08:00
RustDesk 7c2db5a835 Merge pull request #510 from Kingtous/opt/file_transfer_resume
opt: file transfer can resume when encountering reconnecting or close&open window
2022-05-17 17:22:40 +08:00
RustDesk 85a2a7cd44 Merge pull request #538 from jkhsjdhjs/master
enigo: check /usr/lib/rustdesk for pynput_service.py
2022-05-16 21:23:24 +08:00
jkhsjdhjs 368af127df enigo: check /usr/lib/rustdesk for pynput_service.py 2022-05-16 15:01:53 +02:00
RustDesk d7aac26356 Merge pull request #536 from Kingtous/opt/remove_reqwest_openssl_deps
opt: remove request openssl deps
2022-05-16 15:50:26 +08:00
Kingtous ac8a9e7434 opt: remove request openssl deps 2022-05-16 15:46:09 +08:00
Kingtous 39eb1b7211 opt: add resume btn 2022-05-16 14:45:17 +08:00
Kingtous d186dd26a2 fix: change state to sync jobs to adapt master branch logic 2022-05-16 14:45:17 +08:00
Kingtous c96c0df645 fix: rebase conflict 2022-05-16 14:45:17 +08:00
Kingtous 8a6c3fe70a fix: invert inline 2022-05-16 14:45:17 +08:00
Kingtous 52fd312ff3 opt: clean code 2022-05-16 14:45:17 +08:00
Kingtous a2bc2a21bb add: file_num offset 2022-05-16 14:45:17 +08:00
Kingtous 9dbd94daac feat: load last job 2022-05-16 14:45:17 +08:00
Kingtous 77bb821ecf fix: to string 2022-05-16 14:45:17 +08:00
Kingtous b3f523f65e fix: serde 2022-05-16 14:45:17 +08:00
Kingtous 11e0d2cbf1 add: job logic 2022-05-16 14:45:17 +08:00
Kingtous 2caa2db463 fix: 2022-05-16 14:45:17 +08:00
Kingtous 83c75409e8 add: msg 2022-05-16 14:45:17 +08:00
Kingtous 74a3799b78 add: meta info 2022-05-16 14:45:17 +08:00
Kingtous 529e5104c7 fix: comma 2022-05-16 14:45:17 +08:00
Kingtous 02f214e39a opt: name, imports 2022-05-16 14:45:17 +08:00
Kingtous 265e3c760e fix: confirmDelete -> cancel Delete 2022-05-16 14:45:17 +08:00
Kingtous 74b3cb1c58 fix: skip issue 2022-05-16 14:45:17 +08:00
Kingtous cdecb3589a refactor: change version to 1.2.0 2022-05-16 14:45:17 +08:00
Kingtous 4975c9b54d add: overwrite version limit, remove debug log 2022-05-16 14:45:17 +08:00
Kingtous 050952e5e8 fix: confirmDelete -> cancel Delete 2022-05-16 14:45:16 +08:00
Kingtous 96c7202e4b add: remote ret back override confirmation[2/2] 2022-05-16 14:45:16 +08:00
Kingtous c17e77148e add: remote ret back override confirmation 2022-05-16 14:45:16 +08:00
Kingtous 51caeafebd add: server override 2022-05-16 14:45:16 +08:00
kingtous 8854fcbe85 add: automatic accept confirm log 2022-05-16 14:45:16 +08:00
kingtous 5caf28ebe6 add: send confirm request logic 2022-05-16 14:45:16 +08:00
kingtous b08877031f feat: server connections 2022-05-16 14:45:16 +08:00
kingtous f4c6c4f6c4 feat: add file digest 2022-05-16 14:45:16 +08:00
rustdesk dab0fce18d update logo 2022-05-16 13:30:40 +08:00
rustdesk c3bc539a61 fix chat model 2022-05-16 00:01:27 +08:00
rustdesk 0b869e89a3 move question to discussions 2022-05-15 20:26:45 +08:00
rustdesk d6e36a423f update pod and version for ios 2022-05-15 02:24:19 +08:00
rustdesk 66188d200d typo 2022-05-15 00:25:58 +08:00
rustdesk bc4d727ffd fix naming 2022-05-14 17:02:31 +08:00
rustdesk 750a800c08 new naming to support plain config 2022-05-14 17:00:21 +08:00
rustdesk 8fd2e1a0ed https://github.com/rustdesk/rustdesk/issues/513 2022-05-14 14:19:06 +08:00
rustdesk d01eb70b48 more build 2022-05-14 11:46:20 +08:00
rustdesk 1cb0ad7de2 fix web 2022-05-14 02:32:02 +08:00
rustdesk 73843d0a18 fix tr 2022-05-13 21:38:49 +08:00
RustDesk be45fa106c Merge pull request #512 from apieiron/patch-1
I added Turkish language  translate
2022-05-13 21:33:34 +08:00
rustdesk 27a4c7e79c missed 2022-05-13 20:31:44 +08:00
rustdesk 00fcfe9e22 new naming 2022-05-13 20:30:22 +08:00
RustDesk fb92586e72 Delete lic_main.rs 2022-05-13 20:11:43 +08:00
Apieiron db5e40b5c4 I added Turkish language translate
I hope you can add this translate soon. Thank you for this app!
2022-05-13 14:00:10 +03:00
rustdesk d564b90541 remove confusion 2022-05-13 18:10:32 +08:00
rustdesk 0d9d00baba remove echo, https://github.com/rustdesk/rustdesk/issues/504 2022-05-13 17:56:36 +08:00
rustdesk 5352bb74c8 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-05-13 15:14:14 +08:00
rustdesk bdc446be10 remove private 2022-05-13 15:13:56 +08:00
RustDesk 62dab7f142 Merge pull request #508 from ViktorOn/patch-1
Update ru.rs
2022-05-13 11:06:15 +08:00
Viktor eb72f890fd Update ru.rs 2022-05-12 21:38:25 +03:00
RustDesk 45375517b9 Update README.md 2022-05-12 22:43:55 +08:00
RustDesk 614be61ca1 Merge pull request #507 from Heap-Hop/csf
mobile three fingers vertical drag -> mouse scroll
2022-05-12 22:14:01 +08:00
csf 5ebf22a880 update tips and translate 2022-05-12 22:09:45 +08:00
csf cfd4fd492b update mobile mouse scroll 2022-05-12 20:11:53 +08:00
csf 3a66d52c2d add three fingers vertical drag -> scroll 2022-05-12 20:11:14 +08:00
RustDesk 1e20041057 Merge pull request #506 from Heap-Hop/csf
remove old test
2022-05-12 20:05:22 +08:00
csf 678ee21449 remove old test 2022-05-12 20:01:10 +08:00
rustdesk 8852f93cab add flutter to readme and fix web 2022-05-12 18:31:17 +08:00
RustDesk 21ad4cb8d8 Update README.md 2022-05-12 18:21:56 +08:00
rustdesk 1ab061a690 fix oboe 2022-05-12 17:55:49 +08:00
rustdesk 2e75028d83 fix log 2022-05-12 17:50:00 +08:00
rustdesk c1bad84a86 100% open source 2022-05-12 17:35:25 +08:00
rustdesk 9098619162 Merge remote-tracking branch 'temp/clean' 2022-05-12 17:07:47 +08:00
rustdesk 6de0fa781c for merge 2022-05-12 16:50:30 +08:00
rustdesk 9a3e6c63cd clean 2022-05-12 16:43:46 +08:00
rustdesk ba106bd17f Merge remote-tracking branch 'temp/clean' 2022-05-12 16:30:43 +08:00
rustdesk 953109a116 for merge 2022-05-12 16:30:05 +08:00
rustdesk 6883d2a873 for merge 2022-05-12 16:22:18 +08:00
rustdesk 80f437d6d6 clean 2022-05-12 16:20:46 +08:00
csf 9920fee4ea fix float error in small resolution 2022-05-11 22:34:41 +08:00
csf 49dc99f170 fix android server null ptr crash / orientation 2022-05-11 20:54:31 +08:00
csf 811265554a adjust kScaleSlop 2022-05-11 17:30:41 +08:00
csf 7fe8b2cee7 workaround soft-keyboard's control_key trigger twice 2022-05-11 17:06:40 +08:00
csf d2a01a7240 update android to android,adjust two fingers scroll 2022-05-10 14:44:47 +08:00
csf 4840b2744b fix scale & pan gestures conflict 2022-05-10 11:27:16 +08:00
rustdesk 711d7ed6cd https://github.com/rustdesk/rustdesk/issues/492 2022-05-10 01:08:21 +08:00
RustDesk 17a4cb6b5c Update README.md 2022-05-09 15:12:43 +08:00
rustdesk 010080c10f id lang 2022-05-09 12:27:50 +08:00
RustDesk f9c909fbdc Merge pull request #493 from darkterminal/master
Added Indonesian Transaltion in README.md
2022-05-09 12:20:46 +08:00
Imam Ali Mustofa 8e2ed8bd77 Added Indonesian Transaltion 2022-05-09 11:19:20 +07:00
RustDesk 6442138f55 Merge pull request #488 from darkterminal/master
Added Indonesia Translation
2022-05-09 12:13:48 +08:00
Imam Ali Mustofa e2e2b546a1 Update id.rs
Using template.rs
2022-05-09 11:12:43 +07:00
rustdesk 2724bd4000 try out unicode if key_down fail 2022-05-09 01:36:56 +08:00
rustdesk b526bf4a67 work around of italian keyboard shift+"." issue
https://github.com/rustdesk/rustdesk/issues/366#issuecomment-1120379312
2022-05-08 18:12:02 +08:00
rustdesk ed897f4b6d update lang template 2022-05-08 11:27:48 +08:00
Imam Ali Mustofa 3e9ffc9dce Create id.rs 2022-05-08 07:53:35 +07:00
Imam Ali Mustofa c43383ae73 Create README-ID.md
Added Indonesian translation
2022-05-08 07:37:06 +07:00
rustdesk 2705228394 https://github.com/rustdesk/rustdesk/issues/477 2022-05-07 22:47:43 +08:00
csf f197159f8b fix small 2022-05-07 18:12:14 +08:00
csf 25187c8341 fix key event 2022-05-07 18:04:00 +08:00
csf 368f4eb69e small fix android server 2022-05-07 18:01:19 +08:00
rustdesk 12ff1e316e fix vmware dxgi bug 2022-05-06 22:38:08 +08:00
rustdesk 6cfbbbc067 fix opensuse 2022-05-05 01:33:49 +08:00
rustdesk b5395d954a refactor config sync 2022-05-04 20:39:07 +08:00
rustdesk 0d585a751a remove one .sep 2022-05-03 20:24:39 +08:00
RustDesk 0bd76a0045 Merge pull request #476 from dcharbonnier/patch-1
fix HOME for user root
2022-05-03 13:31:47 +08:00
dcharbonnier d348e3ecd3 fix HOME for user root 2022-05-03 07:28:49 +02:00
RustDesk d716e2b40c Merge pull request #474 from ripp2003/patch-1
Update fr.rs
2022-05-02 16:07:54 +08:00
csf 396b49e955 add overlay.dart 2022-05-02 16:02:49 +08:00
ripp2003 c9cd57e178 Update fr.rs
Do you accept was not trad
2022-05-02 07:45:10 +02:00
rustdesk 388dcbeb6d comments 2022-05-02 04:41:45 +08:00
rustdesk a8ad9e9c46 fix format 2022-05-02 03:03:15 +08:00
rustdesk 8a3da687c1 help on mac permissons 2022-05-02 02:44:16 +08:00
rustdesk 0e4e7fcb9b fix cm 2022-05-02 00:02:41 +08:00
rustdesk 663c5bc355 code sign mac 2022-05-01 23:39:03 +08:00
rustdesk 7235756603 fix config sync 2022-05-01 00:50:54 +08:00
rustdesk f6612d39bf Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-04-30 16:43:01 +08:00
rustdesk a9ada68bfc workaround for shit sciter about style 2022-04-30 16:42:49 +08:00
rustdesk f21788b967 fix compile warn on win 2022-04-30 14:59:21 +08:00
rustdesk f90f83fbda more friendly to 0 connections if any unknow happend 2022-04-29 23:32:10 +08:00
rustdesk 1235edb239 found one blank cm, still not find reason 2022-04-29 19:40:53 +08:00
rustdesk e2c9b78254 mac tray work 2022-04-29 16:21:18 +08:00
rustdesk 8df1e42977 hide icon after initialization before close is useless 2022-04-29 10:40:00 +08:00
csf d486041f53 update overlay,add android to android actions 2022-04-28 22:44:54 +08:00
rustdesk 69b3f6660a fix ci 2022-04-28 21:54:27 +08:00
rustdesk c1f5c20e94 https://github.com/rustdesk/rustdesk/issues/77 mac tray, still no find good way to open rustdesk from finder after tray
shown
2022-04-28 21:32:44 +08:00
rustdesk de44e45ed6 small tweak 2022-04-28 12:10:14 +08:00
rustdesk 0b6155bab8 looks robust now 2022-04-28 04:22:46 +08:00
rustdesk 8995011d45 still not robust 2022-04-28 03:25:39 +08:00
rustdesk bbe902d92e improve mac service 2022-04-27 19:21:38 +08:00
rustdesk 33c6095eca autofocus chat box input 2022-04-27 01:07:00 +08:00
csf c188a6f93f fix:reconnect time,enter password focus,wrong gesture tap-up;ctrl soft keyboard 2022-04-26 21:21:08 +08:00
rustdesk e66ccdca9d comment for another service implementation 2022-04-26 14:09:47 +08:00
rustdesk 36607bf8b0 fix snap CI 2022-04-26 11:43:16 +08:00
rustdesk 4dfd57ea19 missed file 2022-04-26 11:20:02 +08:00
rustdesk 3566b0ee7a new mac service and local config 2022-04-26 11:19:45 +08:00
rustdesk 05ac26e5fe fix long remote-id style 2022-04-26 00:46:21 +08:00
csf 37d4dce4ad new input 2022-04-25 18:27:15 +08:00
csf b30299cc12 use RawKeyEvent and Listener for input 2022-04-25 18:25:25 +08:00
rustdesk f1d187739c https://github.com/rustdesk/rustdesk/issues/461 2022-04-24 23:54:05 +08:00
rustdesk e2161bcc43 fix last PR 2022-04-24 18:11:52 +08:00
RustDesk ec700ad37d Merge pull request #456 from xxrlzzz/optimize_appbar
Optimize appbar for macos
2022-04-24 17:21:21 +08:00
xxrl 81cd079faa Fix ui issue 2022-04-24 17:15:20 +08:00
RustDesk 7854ad5ee1 Merge pull request #460 from Redion/patch-2
Update README-RU.md
2022-04-24 15:08:01 +08:00
Radion Mynayev 65b335177a Update README-RU.md 2022-04-24 03:04:16 -04:00
rustdesk eaa481cbea fix transparent cursor 2022-04-24 14:53:19 +08:00
rustdesk 4d5d0a4c62 improve video, ignore same image 2022-04-24 02:50:28 +08:00
rustdesk 264db496ff fix video service 2022-04-24 02:43:00 +08:00
rustdesk f42a77ad22 fix lock screen for mac and linux 2022-04-24 02:37:27 +08:00
rustdesk 6bc0c3ce98 fix CI 2022-04-23 02:51:54 +08:00
rustdesk ae74570ab8 fix CI 2022-04-23 02:29:11 +08:00
rustdesk 5bf8e8f001 change linux audio playback from cpal to pulse, because stupid cpal 100% cpu usage problem 2022-04-23 02:17:33 +08:00
xxrl cfa0c1039c Optimize appbar for macos 2022-04-22 23:41:12 +08:00
csf b161b696b6 adjust kScaleSlop 2022-04-22 14:20:39 +08:00
rustdesk aa7779bcf7 pynput version 2022-04-22 12:16:25 +08:00
rustdesk 5d143f57d7 SystemTime::now not work stable on my win7 32, change to Instant 2022-04-22 02:05:11 +08:00
rustdesk f8fe47d53f fix snap CI 2022-04-21 22:16:15 +08:00
rustdesk 1e120eef18 async logger holder 2022-04-21 21:51:53 +08:00
csf 9f6254cc82 dialog backDismiss 2022-04-21 10:02:47 +08:00
rustdesk 8386e0f20e build 24 2022-04-21 00:41:13 +08:00
csf f88b775af3 dialog clickMaskDismiss 2022-04-20 23:43:19 +08:00
rustdesk 9b68507683 build 23, and small fix 2022-04-20 23:11:04 +08:00
csf 7ec398eccb file connection permission 2022-04-20 22:37:47 +08:00
rustdesk ccffa14450 fix chat window focus problem and update version number https://github.com/rustdesk/rustdesk/issues/443 2022-04-20 20:44:48 +08:00
csf f5160b60b6 dialog back;menu long press 2022-04-20 19:00:05 +08:00
rustdesk d858790170 trans 2022-04-20 17:53:43 +08:00
rustdesk 19468cdbcd wordy 2022-04-20 17:46:21 +08:00
rustdesk a3a93600cd build 22 2022-04-20 16:53:10 +08:00
rustdesk c79c55d643 fix trans 2022-04-20 15:53:13 +08:00
rustdesk 11b05786aa wordy 2022-04-20 15:45:51 +08:00
rustdesk 4829b87546 trans 2022-04-20 15:45:33 +08:00
rustdesk 41ea831bf5 fix lib conflicts 2022-04-20 14:53:12 +08:00
rustdesk b436dba0d9 remove link and wake lock for service start/stop 2022-04-19 23:43:55 +08:00
csf c66cf22c46 android 12 FLAG_IMMUTABLE 2022-04-19 23:37:30 +08:00
csf 59e7d53e7d android ensure clients sync;new client scrollToBottom 2022-04-19 21:15:19 +08:00
rustdesk 605a52aebb snap readme 2022-04-19 18:45:19 +08:00
csf 11a1b12fe7 remove dup Accessibility-Input solution;fix audio crash 2022-04-19 17:53:35 +08:00
RustDesk da166223bc Merge pull request #450 from Kingtous/master
Feat: Build RustDesk by Snap
2022-04-19 17:00:26 +08:00
kingtous fef8b0f246 opt: README.md snap connect pulseaudio 2022-04-19 16:45:03 +08:00
kingtous 11086ffa49 fix: libsciter download url 2022-04-19 15:18:52 +08:00
kingtous f000d0c4ca fix: override pull to inline sciter 2022-04-19 15:10:15 +08:00
kingtous 88107f342d fix: change loginctl priviledge 2022-04-19 14:57:37 +08:00
kingtous 9dff6ee649 add: snap info 2022-04-19 14:46:46 +08:00
kingtous 8f4adab3c8 feat: snapcraft files 2022-04-19 14:46:18 +08:00
rustdesk 56e195b018 wakelock for file page 2022-04-19 14:07:46 +08:00
kingtous 92be77cf88 add: snap stage deps 2022-04-19 13:56:03 +08:00
csf 85c3dbdf7f update dialog,use flutter_smart_dialog 2022-04-19 13:07:45 +08:00
rustdesk 885d3a6651 desktop 2022-04-19 12:29:24 +08:00
rustdesk c0af51e1bd fix wrong link 2022-04-19 10:17:44 +08:00
rustdesk f95f9e408a workaround for wrong password input hanging 2022-04-18 23:41:43 +08:00
rustdesk 24bc515061 build 21 2022-04-18 17:10:49 +08:00
rustdesk 384d51450c fix iOS 2022-04-18 17:01:45 +08:00
rustdesk 915edf49ab alternative libsciter.so path 2022-04-18 15:45:12 +08:00
rustdesk 4e2a44e392 package script 2022-04-18 15:37:35 +08:00
rustdesk cbc25547ba fix for iOS 2022-04-18 11:46:36 +08:00
rustdesk bbdf3fc9a3 fix mouse out for android 2022-04-17 23:35:53 +08:00
csf a348ba3d7e fix thread blocking,add android service Looper,Handler 2022-04-17 23:29:27 +08:00
rustdesk 51ad81e48f only show login for customized self host 2022-04-17 20:36:54 +08:00
csf cabb39005b android rendezvous server status 2022-04-17 11:34:46 +08:00
rustdesk 7177a566ae await ffi init 2022-04-17 00:44:05 +08:00
rustdesk 110d63f526 comment out biased 2022-04-16 12:12:34 +08:00
rustdesk d6eee37fbb Merge branch 'master' into service 2022-04-15 17:51:35 +08:00
rustdesk 261011c1d4 Merge branch 'service' of github.com-flutter_hbb:open-trade/flutter_hbb into service 2022-04-15 17:50:43 +08:00
rustdesk a2f0a54110 Merge branch 'master' of github.com-flutter_hbb:open-trade/flutter_hbb 2022-04-15 17:50:29 +08:00
rustdesk a3e2a24bc3 qr code 2022-04-15 17:50:15 +08:00
csf 569b102f99 android input add wheel;fix UI/service sync 2022-04-15 17:45:48 +08:00
csf 839062ee6b android input,mouse right -> back,wheel -> home 2022-04-14 23:23:20 +08:00
rustdesk 75c9a8c561 remote min size, android icon and scrap memory safety 2022-04-14 20:44:43 +08:00
csf a4cfd39f95 android server landscape 2022-04-14 20:16:42 +08:00
rustdesk 7981d79820 Merge branch 'service' of github.com-flutter_hbb:open-trade/flutter_hbb into service 2022-04-14 20:00:36 +08:00
rustdesk 67540b232b flutter pub upgrade 2022-04-14 17:29:05 +08:00
csf 8823c4f785 android icon 2022-04-14 15:44:33 +08:00
csf da4fc7f906 temporary solution for Flutter catch Accessibility Input 2022-04-14 15:37:47 +08:00
rustdesk 98314131c4 android icon 2022-04-14 14:22:16 +08:00
rustdesk 73f652cad1 Merge branch 'master' into service 2022-04-14 13:54:28 +08:00
rustdesk 49c2bf9616 fix for web 2022-04-14 11:00:24 +08:00
rustdesk d8c89ad621 update firebase 2022-04-14 02:08:26 +08:00
csf c5a601a5a3 temporary solution for Android AccessibilityService can't not control RustDesk itself 2022-04-13 23:05:17 +08:00
csf ba2b30f488 just format 2022-04-13 15:33:23 +08:00
csf bb21435faa update UI ; fix android InputService @Keep 2022-04-13 13:46:22 +08:00
rustdesk 609996005f STRIDE_ALIGN 16 -> 64 2022-04-12 23:31:42 +08:00
csf 21e64cce09 avoid setting color with alpha,otherwise button flash bug will occur 2022-04-12 23:17:23 +08:00
csf a65e32f023 fix android client chat mode;update UI 2022-04-12 22:38:39 +08:00
csf bc00375c44 android handle media projection canceled 2022-04-12 20:54:29 +08:00
rustdesk 1662dadfc2 trans 2022-04-11 16:17:49 +08:00
rustdesk 5c99aca3fe trans 2022-04-11 16:15:38 +08:00
RustDesk aeb2846d15 Merge pull request #445 from Redion/patch-1
Update ru.rs
2022-04-11 10:26:46 +08:00
Radion Mynayev f915ab3e79 Update ru.rs
Corrected some Russian translations
2022-04-11 11:23:24 +09:00
csf 62f5352263 fix android input service 2022-04-10 23:05:04 +08:00
csf d054da3404 improve android server performance 2022-04-09 21:38:46 +08:00
rustdesk 1f4610a3d0 fix web 2022-04-09 17:31:19 +08:00
rustdesk 8d1f1a9ab4 TouchPad -> Mouse 2022-04-08 18:29:40 +08:00
rustdesk 38b74be48b TouchPad mode -> Mouse mode 2022-04-08 16:57:47 +08:00
csf 320d259e94 remove files old version compat 2022-04-07 23:45:19 +08:00
csf 7cdda6d83d update file page UI 2022-04-07 23:19:57 +08:00
csf f55ae81580 fix file send stupid bug 2022-04-07 22:58:47 +08:00
rustdesk fa2407d857 fix remote_dir 2022-04-07 22:13:30 +08:00
rustdesk 81a2a58c2f Merge branch 'service' 2022-04-07 21:22:40 +08:00
csf d8b3fd43f5 update android file UI 2022-04-07 20:40:51 +08:00
csf 88b3144026 fix android get windows parent dirname 2022-04-07 20:19:07 +08:00
csf 1ab99075ce fix remote home dir 2022-04-07 16:20:32 +08:00
rustdesk 0fa00599ee ?lang= 2022-04-07 15:02:09 +08:00
rustdesk ce96a182be gl yuv, and ?lang= 2022-04-07 15:00:06 +08:00
rustdesk 40fea112d2 fix clipboard 2022-04-07 11:27:59 +08:00
rustdesk fe052b0c16 fix last wrong commit 2022-04-07 03:58:08 +08:00
rustdesk 42eed4fcd0 Merge branch 'master' of github.com-flutter_hbb:open-trade/flutter_hbb 2022-04-07 03:46:10 +08:00
rustdesk e661671329 fix yuv problem 2022-04-07 03:45:36 +08:00
rustdesk 6aad58bfe5 use webgl for yuv transform, wasm one not work well for image from mac,
no idea why
2022-04-07 03:21:27 +08:00
rustdesk 620fe81017 testing bad rendering of mac 2022-04-06 23:26:49 +08:00
rustdesk 840413db5f more trans 2022-04-06 10:51:24 +08:00
RustDesk f370c60d06 Update lang.rs 2022-04-06 10:26:09 +08:00
RustDesk 0a9a7e3090 Merge pull request #441 from mateusauler/translate-ptbr
Translate to Portuguese (Brazil)
2022-04-06 10:18:58 +08:00
Mateus Auler f7f0146c85 Translate README to Portuguese (Brazil)
Signed-off-by: Mateus Auler <mateusauler@protonmail.com>
2022-04-05 20:31:32 -03:00
Mateus Auler a29de132a3 Translate UI to Portuguese (Brazil)
Signed-off-by: Mateus Auler <mateusauler@protonmail.com>
2022-04-05 19:05:13 -03:00
csf e780fd9253 fix android config reading error 2022-04-05 23:29:11 +08:00
rustdesk 711965b507 hash main.dart.js 2022-04-05 20:42:38 +08:00
csf c939b3c7bd fix android release can't find method 2022-04-05 17:15:48 +08:00
rustdesk 86c6f9446d new guestion tip 2022-04-05 02:02:49 +08:00
rustdesk 35e16e2299 change chat menu icon, and me->Me 2022-04-05 00:51:47 +08:00
rustdesk c434a9f789 loading page for web and replace unpkg 2022-04-04 17:49:31 +08:00
csf 72936b55bd Merge branch 'service' of github.com:open-trade/flutter_hbb into service 2022-04-04 15:03:24 +08:00
rustdesk 6d122d8aef smaller letter size 2022-04-04 15:00:26 +08:00
csf f083816fc7 android late request permission;update chat UI,launch chat from UI cm 2022-04-04 14:54:00 +08:00
rustdesk fb98209008 trans 2022-04-04 14:09:54 +08:00
rustdesk 71c50e6f1e unify menu icon 2022-04-04 01:38:53 +08:00
rustdesk 91f3048ac2 no non-english allowed in source code 2022-04-04 01:21:44 +08:00
rustdesk c51defcb8f Merge branch 'master' into service 2022-04-04 01:04:09 +08:00
csf 299bd11481 android server update password 2022-03-30 23:09:19 +08:00
csf 158b128510 fix android 12 PendingIntent 2022-03-30 17:57:21 +08:00
csf d66939244e update android server notification 2022-03-30 17:31:32 +08:00
csf 4ca42faee9 file cancel job; update android 2022-03-29 23:10:43 +08:00
rustdesk 12589a0539 jniLibs 2022-03-28 23:04:37 +08:00
rustdesk a56aa08a66 fix file delete bugs 2022-03-28 19:05:12 +08:00
csf 7957efee5e move showMsgBox,fix fileModel value init 2022-03-28 17:24:52 +08:00
csf 0ae338524c Merge branch 'master' of github.com:open-trade/flutter_hbb into service 2022-03-28 16:55:06 +08:00
rustdesk 6672c242f2 login 2022-03-28 15:44:45 +08:00
rustdesk 62073dfe77 asset 2022-03-28 00:37:09 +08:00
rustdesk 795f97c2b6 add cancel button for showLoading 2022-03-28 00:36:53 +08:00
rustdesk 035934cd99 fix for null safety 2022-03-27 23:08:43 +08:00
rustdesk 67a210f9a4 set clipboard on js 2022-03-26 18:04:42 +08:00
rustdesk abadb37baf fix on new idpk 2022-03-26 16:30:38 +08:00
rustdesk 3ea33f7203 improve file write to cm 2022-03-26 03:05:15 +08:00
rustdesk 75c9bbb30f refactor IdPk 2022-03-26 00:06:06 +08:00
rustdesk 101bcbce9c check remote version 2022-03-25 18:56:55 +08:00
rustdesk 1c84fc3786 default relay_server 2022-03-25 18:39:06 +08:00
rustdesk 08330cdaeb longer test_nat timeout 2022-03-25 17:32:32 +08:00
csf 2ea9d80be6 update multi chat,fix provider 2022-03-25 16:34:27 +08:00
rustdesk 4d64fee76d relay server for android 2022-03-24 21:31:47 +08:00
rustdesk 9dadd76a8d barrierDismissible and onWillPop 2022-03-24 21:23:22 +08:00
rustdesk 61722f5b8e web menu 2022-03-24 20:57:30 +08:00
csf 763234221e Merge branch 'service' of github.com:open-trade/flutter_hbb into service 2022-03-24 18:59:03 +08:00
csf 8736d37605 fix web and multi platform adaptation 2022-03-24 17:58:33 +08:00
rustdesk 07db5e294a fix trans 2022-03-24 15:29:12 +08:00
rustdesk 908a7071a7 fix trans 2022-03-24 15:27:06 +08:00
rustdesk 3cd2892bdd skip en and unchanged 2022-03-24 00:09:55 +08:00
rustdesk f964827f00 add src/lang/template.rs 2022-03-23 23:58:18 +08:00
rustdesk 16ba58aad3 lang.py for auto translate complete 2022-03-23 23:54:04 +08:00
csf 98d8689d7b more translate and fix small 2022-03-23 16:28:37 +08:00
csf cc75ffbeeb add android translate 2022-03-23 15:28:21 +08:00
rustdesk 176045468f Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-03-23 12:44:19 +08:00
rustdesk bb58d7f69a Purslane Ltd. 2022-03-23 12:40:22 +08:00
csf 1daaa3a4cd update android chat,server page 2022-03-22 21:47:42 +08:00
RustDesk 7824fe1f18 Merge pull request #435 from gengteng/master
use vcpkg to find package
2022-03-22 18:07:42 +08:00
rustdesk 0dd4087408 fix file transfer hanging if disabled, and add trans 2022-03-22 17:09:45 +08:00
csf 6ce7018f07 add android server chat and multi chat;update android server page 2022-03-22 16:40:23 +08:00
gengteng cc42fee9ea Merge remote-tracking branch 'origin/master'
# Conflicts:
#	libs/scrap/build.rs
2022-03-22 16:34:56 +08:00
gengteng 82f2431eb8 use vcpkg to find package 2022-03-22 16:34:27 +08:00
gengteng e1c9b607fb use vcpkg to find package 2022-03-22 16:19:01 +08:00
csf 99b27b1fe4 fix android audio service release bug 2022-03-21 14:58:07 +08:00
rustdesk 9136b3e3f8 fix style 2022-03-21 14:40:36 +08:00
rustdesk c03c49d482 bug 2022-03-21 00:53:35 +08:00
rustdesk 3cba56c809 fix id_pk 2022-03-20 21:30:04 +08:00
rustdesk 1e0a347893 refactor signed_pk 2022-03-20 20:20:32 +08:00
csf abf35ac5c3 optimize cm for android service 2022-03-19 23:28:29 +08:00
RustDesk 7c5d260738 Add files via upload 2022-03-18 15:09:33 +08:00
RustDesk b31eea0279 Merge pull request #432 from fufesou/virtual_display
Virtual display
2022-03-17 21:05:51 +08:00
csf 27b80f034c update file: add show hidden, add remember last path, add breadcrumb action 2022-03-17 21:03:52 +08:00
fufesou 561a0d20ed virtual display: win10 auto install and uninstall virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:43:27 +08:00
fufesou 117bbb3409 virtual display: plugout monitor on disconnecting, debug failed, may crash...
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:43:27 +08:00
fufesou 974c259a3d virtual display: win10 trivial refactor
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:43:27 +08:00
fufesou 957eabcef0 virtual display: win10 debug windows.
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:43:27 +08:00
fufesou 1eb696356e virtual display: idd add uninstall && example1
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:43:27 +08:00
fufesou b734e8aee9 add virtual display
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:43:26 +08:00
fufesou e6bf858ae1 virtual display: compile example ok, not debug yet
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-03-17 20:42:11 +08:00
csf 281acf7474 full remove action & create folder action 2022-03-16 15:33:00 +08:00
rustdesk b350fbdb9c stupid bug 2022-03-15 12:17:07 +08:00
rustdesk eaeceeac29 https://github.com/rustdesk/rustdesk/issues/406#issuecomment-1064011977 2022-03-15 12:13:46 +08:00
csf 5aba802c80 back to home/ alert pop safety 2022-03-13 23:07:52 +08:00
csf 2247147b7b refactor dialog;refactor dir structure 2022-03-13 00:32:44 +08:00
csf 3318fb0471 fix send multi files;add file remove action 2022-03-12 21:42:05 +08:00
rustdesk 3f57604891 missed port forward check 2022-03-12 12:38:41 +08:00
rustdesk 565e81d329 fix linux lock screen 2022-03-11 12:41:19 +08:00
csf 0305796ca3 change file model 2022-03-11 01:28:13 +08:00
csf b9b8513423 del file_manager pub;add send files 2022-03-09 22:43:05 +08:00
csf e2b672feb9 del unused old version flutter config in AndroidManifest.xml 2022-03-09 22:41:32 +08:00
rustdesk 362aa9a8ff fix show_progress 2022-03-09 21:43:50 +08:00
csf 50d02109f8 before del file_manager pub 2022-03-09 17:07:24 +08:00
rustdesk 4f0a58a691 disable privacy mode (not work well), and disable block input if sas not
enabled (not installed version)
2022-03-09 10:55:13 +08:00
rustdesk 88ac9e9d11 more pynput startup try 2022-03-08 17:59:26 +08:00
rustdesk ffb0fa4349 pynput run as user 2022-03-08 15:42:58 +08:00
rustdesk 6c5b7b3b89 update rdev 2022-03-08 12:14:52 +08:00
rustdesk 74c3f1d7cc linux AltGr ok 2022-03-08 12:08:18 +08:00
rustdesk 617f87a797 fix wrong format of mac 2022-03-08 01:07:59 +08:00
rustdesk c632b0e8fb scale cursor 2022-03-08 00:27:12 +08:00
csf 88f722c8c2 add local/remote file manager 2022-03-07 22:54:34 +08:00
rustdesk dfd128c817 refactor blank thread exit 2022-03-07 22:26:34 +08:00
rustdesk 71fb27fe4b AltGr works on >10, but not on win7, even with pynput 2022-03-07 20:52:12 +08:00
rustdesk dcad90e073 more on AltGr 2022-03-07 20:16:28 +08:00
rustdesk b8f7e347c3 fixing AltGr 2022-03-07 16:19:10 +08:00
rustdesk ab1805281f basically work, but AltGr not handle well, because confused with Alt_R,
and no idea how to get AltGr state. And on Windows, AltGr (some
keyboard, like br) trigger two key down: Left Control and Alt, how to
handle?
2022-03-07 00:48:20 +08:00
rustdesk 1758aa0f1e try out pynput 2022-03-06 03:10:16 +08:00
rustdesk bcda7d3193 refactor fix_key_down_timeout 2022-03-05 15:16:10 +08:00
rustdesk 3a7647f48b rdev update for https://github.com/rustdesk/rustdesk/issues/406#issuecomment-1058447377 2022-03-04 13:08:51 +08:00
rustdesk bf0270323c fix show_progress 2022-03-04 00:52:59 +08:00
rustdesk 488b2455b7 another possible cpu burning 2022-03-03 20:46:27 +08:00
rustdesk db6f46f165 fix cpu burning issue 2022-03-03 20:25:23 +08:00
csf e9f8fd1175 add client chat page & chat overlay window 2022-03-03 14:58:57 +08:00
csf b106ed5717 fix page pop 2022-03-01 15:46:59 +08:00
rustdesk c4491b0248 https://github.com/rustdesk/rustdesk/issues/421 2022-03-01 11:19:13 +08:00
rustdesk cd7b7cc555 fix audio exit bug 2022-03-01 10:38:31 +08:00
RustDesk e2eef09373 Merge pull request #420 from fy2462/fix_audio_sample_exit_when_mute
Fix audio sample exit when mute
2022-03-01 10:36:18 +08:00
yanfeng ce46fe7d80 Fix audio sample exit when mute 2022-03-01 10:28:53 +08:00
csf 6206c8f900 update dir ; move settings from main page to settings_page 2022-02-28 21:26:44 +08:00
rustdesk 064879d9d2 revert back because big noise on mac 2022-02-28 18:35:40 +08:00
csf e6b1ff40be add BottomNavigationBar/change dirs structure 2022-02-28 18:29:25 +08:00
csf 034d825b74 add DialogManager 2022-02-28 16:11:21 +08:00
rustdesk 8648c70df4 refactor 2022-02-28 12:36:32 +08:00
RustDesk 9cc3cf92ab Merge pull request #419 from fy2462/fix_audio_switch_on_linux
Fix audio switch on linux
2022-02-28 12:08:44 +08:00
yanfeng b19d3f5a1c rename function. 2022-02-28 12:03:24 +08:00
yanfeng 2bcc08f084 Miss the checking code. 2022-02-28 12:00:51 +08:00
yanfeng aa5c7cc38e Fix switch audio input device failed in index page on Linux. 2022-02-28 11:45:02 +08:00
csf 31ff6923d2 update style / UI 2022-02-25 22:16:51 +08:00
csf eaff76370e del use global ctx,fix server alert 2022-02-25 21:54:05 +08:00
csf 18a9837dc9 fix small 2022-02-24 18:24:52 +08:00
csf 725b916392 move easyloading to main 2022-02-24 16:20:03 +08:00
csf 673991d7d5 update touch mode 2022-02-24 15:59:03 +08:00
open-trade 8460c1ac42 format 2022-02-24 14:40:33 +08:00
RustDesk 944fde15a4 Merge pull request #417 from fufesou/copy_paste
remove remote conn id
2022-02-24 11:48:27 +08:00
fufesou 5a07701b90 remove remote conn id
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-24 11:32:14 +08:00
rustdesk 8770552448 refactor cm for clipboardfile 2022-02-24 10:38:17 +08:00
RustDesk 4fb8de9b68 Merge pull request #416 from fufesou/copy_paste
Move clipboard service to cm module
2022-02-24 08:51:34 +08:00
fufesou 01591d1abf fix hang up
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-24 02:46:47 +08:00
fufesou 128a4aca69 fix crash on windows clipboard
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-24 00:26:19 +08:00
fufesou 555ff0085a empty clipboard, debug crash & failed to copy
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-24 00:26:19 +08:00
fufesou 2f6b457b3f better control of clipboard file transfer
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-24 00:26:19 +08:00
fufesou 8834251eec move clipboard file service to cm module
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-24 00:26:19 +08:00
csf 0de614bdb3 update gesture help widget 2022-02-23 21:32:33 +08:00
csf 1a0162a581 add gesture help widget 2022-02-23 21:16:30 +08:00
RustDesk 69769cc123 Merge pull request #413 from Heap-Hop/master
try to fix audio play noise;improve audio performance
2022-02-22 20:52:36 +08:00
csf 82d5924401 try to fix audio play noise;improve audio performance 2022-02-22 20:45:49 +08:00
rustdesk 4a03c60ac1 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-02-21 09:39:21 +08:00
rustdesk f11ca64eac handling IME 2022-02-21 09:39:01 +08:00
RustDesk 9f238bd7ff Merge pull request #410 from victorbnl/master
Fix esperanto README
2022-02-21 08:03:52 +08:00
Victor B 0ce67973f6 Fix esperanto README 2022-02-20 18:58:02 +01:00
rustdesk 6fa8138568 fix CI 2022-02-20 10:12:28 +08:00
RustDesk 270c927d2f Merge pull request #408 from victorbnl/fix-french
Fix french translation
2022-02-20 10:06:29 +08:00
RustDesk c117eaee2e Merge pull request #407 from victorbnl/esperanto
Add esperanto translation
2022-02-20 10:05:32 +08:00
Victor B a4fcb8d7c1 Fix french README 2022-02-19 20:18:37 +01:00
Victor B 100daf4031 Fix french translation 2022-02-19 20:14:41 +01:00
Victor B 3b3958ed20 Add esperanto translation 2022-02-19 20:01:28 +01:00
rustdesk 4e9a96dad9 direct access port editable 2022-02-19 15:30:09 +08:00
rustdesk 1c7f9b6f45 https://github.com/rustdesk/rustdesk/issues/264 2022-02-18 11:15:40 +08:00
csf 6840052033 remove drag/scroll/right btn, update gesture 2022-02-17 18:00:44 +08:00
csf b4ed72435c upgrade null-safe 2022-02-17 15:22:14 +08:00
RustDesk 2786fc97e9 Merge pull request #405 from WoozyMasta/russian
Added localization into Russian
2022-02-17 08:56:55 +08:00
RustDesk d7becdfa9f Merge branch 'master' into russian 2022-02-17 08:56:47 +08:00
RustDesk df4ecf9339 Merge pull request #404 from WoozyMasta/fix_de
Fixed loading of German language file
2022-02-17 08:55:57 +08:00
WoozyMasta a4ba033284 docs: translate community servers table 2022-02-17 02:27:29 +03:00
WoozyMasta 57722c950a fix: load German language 2022-02-17 02:08:18 +03:00
WoozyMasta 691b85b3fc feat: added Russian l18n 2022-02-17 02:05:24 +03:00
csf f5f496f1cf add custom gestures 2022-02-16 23:08:23 +08:00
rustdesk c7191023cb test_nat_type sleep time 2022-02-16 20:12:33 +08:00
RustDesk 3aa111b16c Merge pull request #403 from MarcelKuesters/master
Update README-DE.md
2022-02-16 19:37:59 +08:00
Marcel Küsters 2b64375ab0 Update README-DE.md
Did some grammar corrections for German with LanguageTool.org.
2022-02-16 12:24:59 +01:00
RustDesk b7c1222ce1 Merge pull request #402 from rizlas/master
README translation
2022-02-16 18:57:23 +08:00
rizlas 3dbd62f867 Removed linked README-RU. 2022-02-16 11:53:39 +01:00
rizlas 78be555931 Update header of the other translation 2022-02-16 11:46:57 +01:00
rizlas c31830f7c4 Update README-IT.md 2022-02-16 11:31:02 +01:00
rizlas ed0c234b03 Italian translation. Main readme update 2022-02-16 11:27:36 +01:00
rustdesk 52919fd77b remove CLIPRDR_NAME 2022-02-15 22:33:44 +08:00
rustdesk 104c022b26 check_clipboard_file_context later 2022-02-15 22:20:28 +08:00
RustDesk 9b22ee765d Merge pull request #401 from fufesou/copy_paste_3
Windows clipboard -- fix memory leak
2022-02-15 21:33:06 +08:00
fufesou e80869af67 fix memory leak
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-15 21:28:41 +08:00
rustdesk 0b182b9acd more trans 2022-02-15 19:08:29 +08:00
RustDesk 1ca94d7f81 Merge pull request #400 from MarcelKuesters/master
Added German translation.
2022-02-15 18:58:39 +08:00
Marcel Küsters b0e6a59ded Update lang.rs
Added German language.

Regards.
Marcel Küsters
2022-02-15 11:52:00 +01:00
Marcel Küsters 2f4d02c2bf Create de.rs
Added German translation.

Regards.
Marcel Küsters
2022-02-15 11:42:08 +01:00
rustdesk 835db29c3f fix cliprdr for windows after refactory 2022-02-15 15:35:19 +08:00
rustdesk 933969d1fe refactor cliprdr, not tested on windows yet 2022-02-15 14:46:08 +08:00
RustDesk e407ba3a33 Merge pull request #399 from fufesou/copy_paste_2
windows clipboard
2022-02-15 13:14:35 +08:00
fufesou 6672087f7c windows clipboard
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-02-15 11:18:53 +08:00
RustDesk 8bb4183098 Update CONTRIBUTING.md 2022-02-14 09:52:43 +08:00
RustDesk db2b912b3e Merge pull request #397 from FahimFBA/fba
added the Code of Conduct
2022-02-14 09:52:00 +08:00
FahimFBA fc159fa1f1 added the Code of Conduct 2022-02-14 01:42:34 +06:00
rustdesk d87f29c679 traditional chinese 2022-02-12 11:50:39 +08:00
RustDesk a4d34aacea Merge pull request #392 from SiderealArt/patch-1
Add Traditional Chinese translation
2022-02-12 11:44:31 +08:00
SiderealArt e92700f3f9 Add Traditional Chinese translation 2022-02-12 11:42:39 +08:00
csf b60e276c98 fix dup dir 2022-02-11 20:32:02 +08:00
open-trade 8ce94e04b6 fix block_input hanging issue 2022-02-11 14:39:41 +08:00
open-trade 3c29b8a58a fix style 2022-02-10 16:08:50 +08:00
rustdesk 08fdeb7d4b remove old back-compatibility code 2022-02-10 11:32:16 +08:00
rustdesk e20bb04697 Merge branch 'master' into csf 2022-02-10 02:07:53 +08:00
rustdesk 725e8d3e54 unify message 2022-02-10 00:07:04 +08:00
csf d26a70368f del ndk config 2022-02-09 20:59:58 +08:00
rustdesk 4df09f4aec fix style 2022-02-09 20:35:50 +08:00
csf 9c3b10d6a9 fix init app not found id,change ffi from MainActivity to MainService,add boot service but not open 2022-02-09 17:04:13 +08:00
open-trade 4945605009 fix on cm (connectin not closed somehow) and refactor isEnterKey 2022-02-09 16:06:44 +08:00
csf 2137f4b3f2 update ui 2022-02-08 22:45:48 +08:00
csf 96b3b6a3f9 change main ffi to service 2022-02-08 22:44:32 +08:00
open-trade d313fa92e1 fix clipboard initial sync issue introduced in the PR 2022-02-08 20:34:10 +08:00
open-trade aa1c0df08f typo 2022-02-08 18:10:32 +08:00
open-trade dddbae4eb1 fix on should_exit 2022-02-08 18:09:45 +08:00
open-trade 6143a3c649 fix style 2022-02-08 13:58:42 +08:00
open-trade 6c05f72d90 refactor should_exit 2022-02-07 18:39:49 +08:00
rustdesk 7e335b36f5 try out webgl canvas, draw fast, but copy pixels out slow 2022-02-07 00:16:27 +08:00
rustdesk 4dd328c6a1 missed file 2022-02-07 00:16:09 +08:00
rustdesk f3d2a01d6f try out webgl canvas 2022-02-07 00:15:37 +08:00
rustdesk 809c220eaf stupid workaround for https://sciter.com/forums/topic/crash-on-latest-tis-mac-sdk-sometimes/ 2022-02-06 18:19:06 +08:00
rustdesk 7ad28b5005 full functional 2022-02-06 16:29:56 +08:00
rustdesk 809719b8c2 fix retry etc 2022-02-06 16:24:31 +08:00
rustdesk e5b2f4ab4c testDelay 2022-02-06 03:38:32 +08:00
rustdesk 38a468a5cc opus is slow 2022-02-06 03:13:41 +08:00
rustdesk 03e433789e will remove ogv.js 2022-02-05 21:46:28 +08:00
rustdesk a3f17351d1 input_key works 2022-02-05 04:29:10 +08:00
rustdesk 7d099ae9c9 input_key 2022-02-05 04:28:40 +08:00
rustdesk b348b3fdc8 video_ack_required 2022-02-05 01:55:23 +08:00
rustdesk 3ec69b6d97 refactor video_ack_required 2022-02-05 01:19:24 +08:00
rustdesk 5a0f8d008e video_ack_required for web 2022-02-04 22:18:48 +08:00
rustdesk bf3fc14049 add press 2022-02-04 11:52:54 +08:00
rustdesk eb49af843c tmp solution for msgbox in scrollable 2022-02-04 11:20:01 +08:00
open-trade 9ff3bd74c9 modify input key 2022-02-03 21:26:35 +08:00
open-trade 73da1583da mouse works 2022-02-03 17:19:25 +08:00
rustdesk 47ca02e239 prepare for mouse 2022-02-03 00:53:59 +08:00
csf 1af3f3f28d android update,open and close service 2022-02-02 17:25:56 +08:00
rustdesk 502f0c7e9d refactor and prepare for desktop 2022-02-02 01:20:14 +08:00
rustdesk 3e7c20f303 more menu items 2022-02-02 00:46:21 +08:00
rustdesk 9c6715f95e reset input_blocked after reconnection 2022-02-01 23:43:42 +08:00
rustdesk 39ea73657d typo 2022-02-01 21:52:07 +08:00
rustdesk 7d14ce98e1 fix style 2022-02-01 18:33:18 +08:00
rustdesk 3112792b7b fix new msgbox when wrong password 2022-02-01 16:32:56 +08:00
rustdesk cd62d7024b new msgbox 2022-02-01 02:38:52 +08:00
rustdesk bc3d3bd0ec refactor server keyboard/clipboard enabled 2022-01-31 18:00:57 +08:00
rustdesk 484f50811d no privacy mode if keyboard disabled 2022-01-31 17:27:21 +08:00
rustdesk 98434eb11e responsible style in home page 2022-01-31 16:22:05 +08:00
rustdesk 31076dae41 add isMobile 2022-01-31 13:58:01 +08:00
rustdesk 66f5a86827 typo 2022-01-31 13:16:34 +08:00
rustdesk 529b8dc895 bug fix 2022-01-31 13:15:18 +08:00
rustdesk c58659c7f9 bug fix 2022-01-31 02:17:04 +08:00
rustdesk 60783c875e peers and more trans 2022-01-31 02:01:17 +08:00
rustdesk 2a11bc63ce more trans and format 2022-01-31 01:54:49 +08:00
rustdesk 1e13484c26 fix on getByname 2022-01-31 00:48:04 +08:00
rustdesk a75bef9791 fix image quality 2022-01-31 00:34:45 +08:00
rustdesk 64071943fc change to async channel 2022-01-30 21:37:46 +08:00
rustdesk 29ca2ed14d format 2022-01-30 21:34:34 +08:00
rustdesk e23a6805e3 move audio/video decoder in seperate thread 2022-01-30 21:16:08 +08:00
rustdesk b750ec7ac5 more api 2022-01-30 19:48:41 +08:00
rustdesk 5a9803c2c8 format lang 2022-01-30 03:41:18 +08:00
rustdesk f17aff8bb4 more api 2022-01-30 03:39:54 +08:00
rustdesk b4e27662ba yuv in another worker 2022-01-29 23:08:11 +08:00
rustdesk 2cf2fb7804 yuv in another worker 2022-01-29 23:05:29 +08:00
rustdesk adbb75b808 getOptionMessage 2022-01-29 21:49:19 +08:00
rustdesk b5f056c0c0 missed options init 2022-01-29 21:30:14 +08:00
rustdesk 9de2944d6b yuv-to-rgb.c is not correct though it is faster 2022-01-29 20:45:53 +08:00
rustdesk 495cc9056e Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-01-29 16:56:39 +08:00
rustdesk 6a19b8caa1 refactor msgbox 2022-01-29 16:56:24 +08:00
rustdesk eebb7e1f4c safer navigator.pop 2022-01-29 15:55:00 +08:00
rustdesk bf9badb10e more api 2022-01-29 11:31:05 +08:00
open-trade b93f126376 make event compatible with native ffi 2022-01-28 18:20:52 +08:00
open-trade 2719936ea9 change tab padding to 8 2022-01-28 17:55:09 +08:00
open-trade 4108635b34 refactor tab responsive size again 2022-01-28 17:48:49 +08:00
open-trade 9118511bbd min 3 chars 2022-01-28 17:13:56 +08:00
open-trade 7b06dab4ee improve responsive tab size 2022-01-28 16:58:32 +08:00
rustdesk 604dcd6748 improve yuv 2022-01-28 04:30:38 +08:00
rustdesk 6656a8cdbf yuv-to-rgb.c 2022-01-28 04:14:35 +08:00
rustdesk 58415897ae new yuv 2022-01-28 03:53:23 +08:00
rustdesk b24c997a20 yuv, but very slow in dev 2022-01-27 23:36:19 +08:00
rustdesk 58f2419f27 yuv wasm seems slow 2022-01-27 23:32:51 +08:00
open-trade c8b681b84c working on yuv 2022-01-27 18:58:29 +08:00
rustdesk 4e41a8a044 problem is how to handle yuv 2022-01-27 13:26:17 +08:00
rustdesk 74c53f17ae bug fix 2022-01-27 13:24:40 +08:00
rustdesk 6c0030bbe2 will do more on socket error 2022-01-27 01:30:29 +08:00
rustdesk 1d7933621d fix on loading 2022-01-27 01:28:32 +08:00
open-trade 16218a731b more web api 2022-01-26 19:00:23 +08:00
open-trade fad130b29a more api 2022-01-26 18:58:55 +08:00
rustdesk 3d77365edc refactor 2022-01-26 12:48:16 +08:00
rustdesk 6e711c25b9 Merge branch 'master' of github.com-web_hbb:open-trade/web_hbb 2022-01-26 12:40:12 +08:00
rustdesk f4c3198037 more api 2022-01-26 12:39:44 +08:00
open-trade 9ac1a955ba smaller search box 2022-01-25 19:04:59 +08:00
open-trade 3fd0982af5 try web 2022-01-25 18:13:11 +08:00
csf 2e73f29ce9 update android 2022-01-24 19:06:53 +08:00
open-trade ea2fe3eff0 https://github.com/rustdesk/rustdesk/issues/366 2022-01-24 15:51:29 +08:00
rustdesk 1cda704628 more test_nat_type 2022-01-24 03:15:01 +08:00
rustdesk a3511d9157 update crates, and set new default #cpu 2022-01-24 02:26:07 +08:00
rustdesk 98aa410683 more set_nodelay 2022-01-24 01:50:22 +08:00
csf 6ca487e3e0 add server page 2022-01-23 21:37:19 +08:00
rustdesk bf578e768b set_nodelay 2022-01-23 20:53:55 +08:00
csf 39f7835df1 use MultiProvider 2022-01-23 13:59:57 +08:00
csf 288825f007 update input 2022-01-21 22:44:16 +08:00
open-trade 372b715162 bug fix on file transfer window 2022-01-21 15:13:29 +08:00
open-trade 1df3df97b6 fix on grammert 2022-01-21 14:28:16 +08:00
rustdesk b0ddd3d543 fix on file type (after protobuf change), improve current row select,
still has bug for detecting file type under Windows
2022-01-21 12:52:08 +08:00
rustdesk 2846804234 update protobuf 2022-01-21 02:12:38 +08:00
rustdesk a474f904b1 for back compatibility 2022-01-21 02:06:33 +08:00
rustdesk c1ff8242d9 fix grammer 2022-01-21 00:42:33 +08:00
rustdesk e291e4d1c9 video works 2022-01-21 00:41:02 +08:00
rustdesk 50834353b2 decode not work 2022-01-20 21:58:28 +08:00
open-trade 3dcbbcc416 ready to handle video 2022-01-20 18:44:28 +08:00
open-trade 7208364785 login ok 2022-01-20 18:41:35 +08:00
open-trade b8ff266d76 msgLoop works 2022-01-20 18:02:20 +08:00
csf 668b34c228 video service 0.1 2022-01-20 15:57:54 +08:00
open-trade 70c213a60a secure connection works 2022-01-20 15:41:11 +08:00
rustdesk ce0f1f75de sodium verify works 2022-01-20 12:49:57 +08:00
rustdesk cd9faf48f3 new pk 2022-01-20 12:48:55 +08:00
rustdesk 63242a4f3a refactor 2022-01-20 02:27:49 +08:00
rustdesk 50c8650c63 test ui 2022-01-20 01:55:57 +08:00
rustdesk 28c0967690 can make relay connection now 2022-01-20 01:00:35 +08:00
rustdesk b76a1d36cb typo 2022-01-20 00:25:01 +08:00
rustdesk 893d8b39c9 fix style on linux 2022-01-19 23:30:21 +08:00
rustdesk 85ec94e36c ws async works 2022-01-19 22:26:23 +08:00
open-trade b18da1fb39 nothing 2022-01-19 19:19:29 +08:00
open-trade a90cacaeb8 will implement async web sock myself 2022-01-19 19:13:49 +08:00
open-trade 326eed5ee0 make tcp sync 2022-01-19 16:40:05 +08:00
rustdesk a1b9e1b229 https://github.com/rustdesk/rustdesk/issues/356 2022-01-19 11:18:12 +08:00
rustdesk d7d4b46c46 sha256 2022-01-19 00:57:57 +08:00
open-trade 9f42fd534c put ogv.js to html 2022-01-18 17:24:36 +08:00
open-trade c09f65b6cc try out ogv codec loader 2022-01-18 17:05:34 +08:00
rustdesk 4b51fffc96 update rdev for kp8/9 bug on mac 2022-01-18 12:24:07 +08:00
rustdesk d4e8a66cf6 websock init 2022-01-18 02:02:39 +08:00
rustdesk 3485d2ddc7 fix css style 2022-01-17 20:50:48 +08:00
open-trade fa31257cdc initialize websock.ts 2022-01-17 18:11:14 +08:00
open-trade 8168745965 protobuf 2022-01-17 17:51:18 +08:00
open-trade 92a1bb04e9 make proto compatible to c++ 2022-01-17 16:53:17 +08:00
open-trade 5d4b557e22 init 2022-01-17 15:45:42 +08:00
open-trade 02cbc0d407 fix style 2022-01-17 15:05:33 +08:00
rustdesk e0637f966a sync config if enable mac service 2022-01-17 12:38:44 +08:00
rustdesk 5af1258454 refactor mac service 2022-01-17 12:05:06 +08:00
rustdesk a12f24bf16 remove InputFunc 2022-01-15 22:03:17 +08:00
rustdesk 9651666d41 code refactory 2022-01-15 21:33:20 +08:00
rustdesk 6bd730bc67 unwrap -> ok to avoid unintended crash 2022-01-15 19:11:19 +08:00
rustdesk 35816d4fbb polish block input 2022-01-15 18:27:15 +08:00
RustDesk 647721a37e Merge pull request #373 from fufesou/privacy_mode
Privacy mode
2022-01-15 17:22:11 +08:00
fufesou 25492c815c simple privacy mode
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-01-15 16:57:07 +08:00
fufesou a1c4b08535 simple privacy demo
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-01-15 16:32:55 +08:00
rustdesk 8f998771c9 refactor process id 2022-01-15 14:08:24 +08:00
rustdesk f47dcd1a8b remove psutil which is too old 2022-01-15 13:47:57 +08:00
rustdesk d069b73303 refactor 2022-01-15 02:16:00 +08:00
RustDesk 6fe4344cb0 Merge pull request #370 from Heasn/master
Fix some macOS new services issues
2022-01-14 23:22:08 +08:00
rustdesk 4fe5d2cf02 no lan discovery if no install 2022-01-14 23:21:30 +08:00
rustdesk 95239fc148 change back to broadcast, because multicast has big problem if multiple
interface with 0.0.0.0 binding
2022-01-14 23:02:08 +08:00
Chen Baiyu 5fb613d4b2 Merge branch 'rustdesk:master' into master 2022-01-14 18:31:18 +08:00
chenbaiyu c8df8ae551 collapse imports 2022-01-14 18:30:34 +08:00
chenbaiyu d0ca9de946 add new service install tip in Chinese 2022-01-14 18:28:39 +08:00
open-trade 0a2bc1cf8a try out muliticast on multiple interface 2022-01-14 18:16:00 +08:00
chenbaiyu d5286782cd fix server service not start after daemon installed at first time 2022-01-14 17:36:41 +08:00
RustDesk 07aa0898c5 Merge pull request #369 from Heasn/master
New launch daemon/agents and config sync service on macOS
2022-01-14 10:49:48 +08:00
chenbaiyu 4d37a9ee23 fix CI failed build on linux 2022-01-14 03:52:39 +08:00
chenbaiyu 1fda4c257d fix CI failed build on linux 2022-01-14 03:47:16 +08:00
chenbaiyu fea4b068cd fix CI failed build on linux 2022-01-14 03:43:01 +08:00
chenbaiyu e23eb3e79b Merge remote-tracking branch 'origin/master' 2022-01-14 03:38:41 +08:00
chenbaiyu 78450fda08 fix CI failed build on linux 2022-01-14 03:38:22 +08:00
Chen Baiyu 78f2d3f31f Merge branch 'rustdesk:master' into master 2022-01-14 03:18:41 +08:00
chenbaiyu b4f61c735e fix plist files and enhance privilege escalation method 2022-01-14 03:17:36 +08:00
rustdesk 7944e0bc36 fix CI 2022-01-14 01:29:52 +08:00
rustdesk 780b57f597 load keyboard layout for mac 2022-01-14 01:15:03 +08:00
chenbaiyu 29bb10a40a modify daemon install check 2022-01-13 20:34:28 +08:00
chenbaiyu 8e6dd76c5b remove unused import and launch service when install 2022-01-13 19:42:25 +08:00
chenbaiyu 9be6b17a8b Add launch service 2022-01-13 19:23:41 +08:00
open-trade 7b1806b0f3 disable crc, because super slow on my Ubuntu in virtualbox 2022-01-13 19:00:00 +08:00
chenbaiyu f45a2c7a94 Add user and root config sync action 2022-01-13 16:33:51 +08:00
Chen Baiyu 81e43c2970 Merge branch 'rustdesk:master' into master 2022-01-13 16:08:57 +08:00
chenbaiyu e51e5ac4b1 Revert "temp commit"
This reverts commit 2e03ca19f6.
2022-01-13 16:07:18 +08:00
chenbaiyu 1995f9fa4e Revert "temp commit"
This reverts commit 88f0f67ee3.
2022-01-13 16:06:51 +08:00
chenbaiyu 88f0f67ee3 temp commit 2022-01-13 15:26:57 +08:00
rustdesk d379f23490 my bad 2022-01-13 02:11:47 +08:00
rustdesk 75ef279e47 avoid select! all branches disabled panic 2022-01-13 01:16:23 +08:00
chenbaiyu 5b03e99404 Merge remote-tracking branch 'origin/master' 2022-01-12 21:40:19 +08:00
chenbaiyu 2e03ca19f6 temp commit 2022-01-12 21:40:02 +08:00
open-trade 3aebc43111 more control keys, and VkKeyScanW -> VkKeyScanExW with forground window
keyboard layout
2022-01-12 18:11:42 +08:00
rustdesk 8ea5d80f01 new lan discovery https://github.com/rustdesk/rustdesk/issues/261 2022-01-12 03:10:15 +08:00
open-trade 4071f803f7 fix compile error 2022-01-11 16:59:53 +08:00
open-trade 65eef2b579 raw lan discovery 2022-01-11 16:24:35 +08:00
open-trade 9c9855877d bind_multicast 2022-01-10 18:58:51 +08:00
open-trade 9a92b6ac4a revert back from lan discovery merge 2022-01-10 18:05:42 +08:00
RustDesk b400e4305f Merge pull request #337 from fufesou/lan_discovery
Lan discovery
2022-01-10 17:35:54 +08:00
RustDesk dfeb9a29c1 Merge branch 'master' into lan_discovery 2022-01-10 17:34:51 +08:00
csf eeb30aa0d1 create branch 2022-01-10 10:45:22 +08:00
rustdesk e2a879692d ignore modifiers for name 2022-01-10 03:11:53 +08:00
rustdesk 3a6dc19616 to be compatible with 1.1.8 2022-01-10 01:29:50 +08:00
rustdesk ae79a36f7b remove valid_for_capslock 2022-01-10 01:06:31 +08:00
rustdesk 3212290f6e fix on rdev 2022-01-10 00:33:31 +08:00
rustdesk d07ae9f2c6 numpad 2022-01-09 23:59:30 +08:00
rustdesk 3f56c82c7b revert keysym back, enigo's Layout can do this 2022-01-09 21:05:00 +08:00
rustdesk a0c704f36e string len is num of bytes 2022-01-09 20:56:56 +08:00
rustdesk baccff8f99 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2022-01-09 19:56:48 +08:00
rustdesk 0a294d9ff3 https://github.com/rustdesk/rustdesk/issues/292 2022-01-09 19:56:24 +08:00
RustDesk 03fb47b312 Merge pull request #361 from Heasn/master
fix pre-login window behavior on macOS Big Sur or above
2022-01-08 02:17:28 +08:00
chenbaiyu 29f15aabed fix security problem caused server hang and unexpected input behavior at pre-login window when macOS version on Big Sur or above 2022-01-08 01:39:54 +08:00
RustDesk 089acaa6e7 Merge pull request #359 from fufesou/master
Failed to decode audio frame
2022-01-07 21:34:53 +08:00
fufesou 709a2a30bc Merge branch 'rustdesk:master' into master 2022-01-07 21:30:51 +08:00
fufesou 54269b6f5d fix audio play with sample rate 48000
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-01-07 21:30:13 +08:00
open-trade a7a4cd7eac CI 2022-01-07 18:05:33 +08:00
open-trade 26d161f827 working on keysym 2022-01-07 18:03:55 +08:00
open-trade 9df1fcb783 update tigervnc 2022-01-07 16:21:56 +08:00
open-trade e82f040d6d kick start international keyboard 2022-01-07 13:59:21 +08:00
rustdesk 1931cb8c7c https://github.com/rustdesk/rustdesk/issues/356 2022-01-05 23:50:13 +08:00
rustdesk 32c5437c5d more equal check in config 2022-01-05 21:12:07 +08:00
open-trade 1b61b77fbe more trans 2022-01-05 18:38:40 +08:00
open-trade c0b6367137 sock5 gui part 2022-01-05 18:34:30 +08:00
open-trade 12ab22e048 bug fix 2022-01-05 17:10:12 +08:00
open-trade 7bde8a3713 remove some unnessary handler.msgbox 2022-01-05 16:53:37 +08:00
open-trade 9c55e1efc8 fix on msgbox 2022-01-05 16:48:09 +08:00
open-trade b24e16d6c1 bug fix for msgbox, todo: test more for msgbox in file_transfer.tis 2022-01-05 16:32:45 +08:00
open-trade 6767dda246 refactor 2022-01-05 15:59:01 +08:00
open-trade 5f61c2442a bug fix 2022-01-05 15:47:04 +08:00
open-trade 5631ffac4c fix 2022-01-05 15:09:36 +08:00
open-trade 78097f4006 refactort 2022-01-05 14:38:38 +08:00
rustdesk 1d8cdb5e93 refactor target address 2022-01-05 13:21:14 +08:00
open-trade 3e590b8212 refactor to_socket_addr and dns_check 2022-01-04 19:49:44 +08:00
open-trade 533efd04d7 rename 2022-01-04 17:45:52 +08:00
open-trade fb392b81cb rendezvous_mediator: ensure once one exits, the others also exit. 2022-01-04 17:44:06 +08:00
rustdesk cbcad03bc6 fix style 2022-01-04 11:22:09 +08:00
RustDesk 2ec5f8fe7e Merge pull request #353 from fufesou/socks5
Socks5
2022-01-04 01:11:04 +08:00
fufesou 875570e040 refactor udp framed
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-01-04 00:44:50 +08:00
fufesou 6d506cbb64 socks5 support
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2022-01-03 22:50:43 +08:00
open-trade b17bda9a55 resize tab 2022-01-03 16:31:13 +08:00
rustdesk d6b56a2f35 refactor 2022-01-03 11:16:07 +08:00
rustdesk 64f181e4a1 fav 2022-01-03 00:24:36 +08:00
rustdesk 1552402907 working on fav 2022-01-02 21:56:04 +08:00
rustdesk f0a6c706fa https://github.com/rustdesk/rustdesk/issues/275 2022-01-02 15:09:44 +08:00
rustdesk 042114ae37 refactor 2022-01-02 14:23:32 +08:00
rustdesk 241623c406 reload session list if alias change 2022-01-02 13:56:47 +08:00
rustdesk 40730cbbae ID search 2022-01-02 11:40:30 +08:00
rustdesk cedc384ba1 working on search bar 2022-01-01 19:44:02 +08:00
rustdesk 15f3c36c5f header button hover bg 2022-01-01 17:18:10 +08:00
rustdesk ee088a8ddf workaround for stupid sciter 2021-12-31 18:38:46 +08:00
open-trade cb1818ab37 same width of session card 2021-12-30 16:31:33 +08:00
rustdesk 66af938858 https://sciter.com/forums/topic/menu-not-be-hidden-when-open-dialog-on-linux/ 2021-12-29 23:40:24 +08:00
open-trade e26a838882 fix on log after upgrade 2021-12-29 19:01:36 +08:00
open-trade e0bb25cbe5 upgrade vcpkg 2021-12-29 19:00:29 +08:00
open-trade 3491c79cbc get_local_option for ui style, todo: set_local_option 2021-12-29 17:53:36 +08:00
rustdesk 365fc90d8b refactor msgbox 2021-12-29 11:42:43 +08:00
rustdesk 8be7331cb6 add it 2021-12-29 00:48:58 +08:00
RustDesk ea46d2493e Merge pull request #347 from ale-rinaldi/feature/italian-translation
Italian translation
2021-12-29 00:46:57 +08:00
Alessandro Rinaldi 1141be01f5 Italian translation 2021-12-28 17:42:50 +01:00
rustdesk 6c713f3135 reset AUDIO_ZERO_COUNT 2021-12-29 00:20:51 +08:00
RustDesk 3059ca061e Merge pull request #346 from Heap-Hop/master
optimize audio
2021-12-29 00:11:41 +08:00
rustdesk 2631c68b88 fix cm minimized not working sometimes 2021-12-29 00:05:52 +08:00
csf f69f6bc8d4 optimize audio 2021-12-29 00:00:23 +08:00
open-trade 66e39b62a2 https://github.com/rustdesk/rustdesk/issues/223 2021-12-28 18:33:36 +08:00
RustDesk 993a419793 Merge pull request #344 from liyue201/dev
fix dependence
2021-12-28 14:27:22 +08:00
liyue f1444049bf fix dependence 2021-12-28 14:18:37 +08:00
rustdesk da629ec42c remove unused 2021-12-27 02:38:22 +08:00
rustdesk 7225c1fcf0 session list style and refactor 2021-12-27 02:28:25 +08:00
rustdesk dbdff120bc move get_version_number to hbb_common 2021-12-27 00:24:57 +08:00
rustdesk 51f4f736bc update package 2021-12-26 15:34:10 +08:00
rustdesk d4d90da196 https://github.com/rustdesk/rustdesk/issues/301 2021-12-25 22:31:42 +08:00
RustDesk 9903e9df9e Update README.md 2021-12-25 16:55:01 +08:00
rustdesk af218dbc83 internationalization 2021-12-25 16:45:22 +08:00
rustdesk b3e3f6151d get last env instead of the first one avoid problem when just switch from wayland to xorg 2021-12-25 01:07:41 +08:00
rustdesk 3d39d9c27c https://github.com/rustdesk/rustdesk/issues/328 2021-12-25 00:18:54 +08:00
rustdesk 589177fc94 Merge branch 'master' of github.com-rustdesk:rustdesk/rustdesk 2021-12-24 19:13:38 +08:00
rustdesk 4703a7d332 https://github.com/rustdesk/rustdesk/issues/327 2021-12-24 19:13:11 +08:00
rustdesk 8d90c5a93b change codec cpu usage to 0 2021-12-24 12:40:47 +08:00
rustdesk 885d8a4586 https://github.com/rustdesk/rustdesk/issues/332 2021-12-24 00:27:27 +08:00
rustdesk 0e8fc4a815 65515 -> Meta(win) on Linux 2021-12-23 23:03:43 +08:00
rustdesk 96afb88518 change line-through style from grey to red 2021-12-23 21:41:53 +08:00
open-trade a30aaebc72 fix clipboard crash and https://github.com/rustdesk/rustdesk/issues/302 2021-12-23 17:44:44 +08:00
rustdesk 252d3cb797 refactor 2021-12-23 11:11:48 +08:00
open-trade 26a4b1f3eb comment on bias 2021-12-22 16:51:33 +08:00
open-trade dc724a30e7 https://github.com/rustdesk/rustdesk/issues/298 2021-12-22 14:56:10 +08:00
open-trade 334c94ceb3 https://github.com/rustdesk/rustdesk/issues/210 2021-12-22 14:28:08 +08:00
RustDesk b6feaa695f Merge pull request #338 from Heap-Hop/master
adjust #[warn(unreachable_code)] position
2021-12-21 17:45:54 +08:00
csf 5f190297a9 adjust #[warn(unreachable_code)] position 2021-12-21 16:35:18 +08:00
fufesou 35462eecfe comment out discovery button
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-21 01:17:29 +08:00
fufesou d00352f4e4 lan discovery almost done
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-21 00:34:10 +08:00
fufesou 5682b088de lan discovery will be done soon
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-21 00:34:10 +08:00
fufesou bcbe9ccbe5 trivial changes
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-21 00:34:09 +08:00
fufesou 87f50a6318 lan discovery in socket_cs
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-21 00:34:09 +08:00
rustdesk 362b5594a2 nothing big 2021-12-21 00:11:12 +08:00
RustDesk b9d8de1ec1 Merge pull request #335 from fufesou/fix_video_image_tearing
Fix video image tearing
2021-12-20 23:15:07 +08:00
fufesou 8a6b33b841 image tearing fixed
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-20 22:21:15 +08:00
fufesou 3ffd8ac146 add video channel
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-20 17:19:56 +08:00
RustDesk 07ea52d620 Merge pull request #331 from fufesou/master
add error log for graphics failure
2021-12-20 13:26:56 +08:00
fufesou 4cb967251b add error log for graphics failure
Signed-off-by: fufesou <shuanglongchen@yeah.net>
2021-12-10 22:36:34 +08:00
rustdesk 29905608b5 fix on NL 2021-12-10 00:46:23 +08:00
RustDesk 36db9f65cd Merge pull request #326 from jeroenhd/master
Add Dutch translation for README
2021-12-10 00:12:16 +08:00
jeroenhd 91445da094 Add hyperlinks to Dutch translation
Signed-off-by: jeroenhd <git@jeroenhd.nl>
2021-12-08 02:34:13 +01:00
jeroenhd 083d6c591a Add Dutch translation of the README
Signed-off-by: jeroenhd <git@jeroenhd.nl>
2021-12-08 02:29:55 +01:00
RustDesk e352ea67f4 Merge pull request #320 from ioridev/master
README translated to Japanese (README-JP.md)
2021-12-01 18:16:56 +08:00
iori 4103ab70a7 Update README-JP 2021-12-01 17:11:06 +09:00
iori fd9d6db2ed Create README-JP.md 2021-12-01 17:08:10 +09:00
RustDesk d0b15fbd2a Merge pull request #316 from josephjosedev/master
Update README-ML.md
2021-11-27 13:19:48 +08:00
Joseph Jose 7c42c04b23 Update README-ML.md
updated
2021-11-27 10:42:38 +05:30
Joseph Jose 81e4998a37 Update README-ML.md 2021-11-26 22:50:40 +05:30
RustDesk 1ab5bb0a2e Update README.md 2021-11-27 01:05:29 +08:00
RustDesk 0f39626782 Merge pull request #315 from varghesejose2020/master
README translated to MALAYALAM (README-ML.md)
2021-11-27 01:00:58 +08:00
Varghese Jose dc2edcec5d Update README-ML.md 2021-11-26 13:55:56 +05:30
Varghese Jose 3198236a8c Update README-ML.md
updated
2021-11-26 13:54:53 +05:30
Varghese Jose e044212eb6 Update README-ML.md
updated
2021-11-26 13:50:20 +05:30
Varghese Jose 33e8f2aa85 Update README-ML.md
upd
2021-11-26 13:45:44 +05:30
Varghese Jose 031ca4e50c Update README-ML.md 2021-11-26 13:40:30 +05:30
Varghese Jose 73d0da726d Update README-ML.md 2021-11-26 13:38:28 +05:30
Varghese Jose 5c97f5dce5 Create README-ML.md
MALAYALAM added to README
2021-11-26 13:22:44 +05:30
RustDesk 8d5aa731a1 Merge pull request #306 from mingxingren/master
Delete a line of typos
2021-11-23 20:28:49 +08:00
mamingkun e8c5a63986 1. Delete a line of duplicate code 2021-11-23 20:07:25 +08:00
mingxingren 46fe37015f Merge pull request #1 from rustdesk/master
Update from master
2021-11-23 20:06:07 +08:00
rustdesk b79f086df5 suomi -> Suomi 2021-11-22 01:42:53 +08:00
rustdesk 6afb6aaff2 Fix on FI 2021-11-22 01:40:45 +08:00
rustdesk 5a1ab37171 FI 2021-11-22 01:38:58 +08:00
RustDesk 5e0bf8f5a9 Merge pull request #304 from fufesou/master
resolution changed, no need to reconnect
2021-11-21 23:10:00 +08:00
cxl 7964afeb84 resolution changed, no need to reconnect
Signed-off-by: cxl <xiaolong.chen@nazhiai.com>
2021-11-21 22:45:12 +08:00
RustDesk 3759347d47 Merge pull request #294 from hatamiarash7/master
Spell & Format
2021-11-15 00:12:59 +08:00
Arash Hatami 2758f6b7d5 Fix misspelled words 2021-11-14 19:01:34 +03:30
Arash Hatami 70a4ee4318 Merge branch 'rustdesk:master' into master 2021-11-14 18:52:51 +03:30
Arash Hatami 7f13edd14a Fix misspelled words 2021-11-14 18:52:05 +03:30
Arash Hatami 96208e9fef git ignore .vscode 2021-11-14 18:36:03 +03:30
rustdesk e6bd5b0698 pb in version 2021-11-07 10:18:10 +08:00
rustdesk 231231e51f refactor 2021-10-30 14:03:33 +08:00
RustDesk 247ea5fed3 Merge pull request #279 from cc-morning/master
Clipboard service optimization and bug fixes
2021-10-30 12:50:39 +08:00
cc-morning 0cf2db9239 Clipboard listener lifecycle follows service 2021-10-27 20:02:17 +08:00
cc-morning 318e3cbd7d Code Format 2021-10-26 16:59:31 +08:00
cc-morning 5164f76919 Fix lost clipboard content again 2021-10-25 16:25:23 +08:00
cc-morning 972ec8d79d Fix missing clipboard content 2021-10-24 23:47:02 +08:00
RustDesk 516904551c Merge pull request #268 from cc-morning/master
Optimize clipboard change listener
2021-10-24 00:45:52 +08:00
cc-morning 1bf80e3dd6 Optimize clipboard change listener 2021-10-22 16:02:01 +08:00
RustDesk 8f22273759 Update ci.yml 2021-10-21 10:00:53 +08:00
rustdesk 1ddd5203e5 fix overflow 2021-10-20 17:03:48 +08:00
RustDesk 62d2c0fb6d Merge pull request #265 from dannkunt/master
Fix buiding trough docker
2021-10-20 14:24:44 +08:00
dannkunt 0db250f02a Delete this code
This code is unnessesary and bug casing with previous fix
2021-10-20 08:38:36 +03:00
dannkunt 8be912a8cf Add user privelege
To fix this
2021-10-20 08:35:52 +03:00
RustDesk 03f913e49d Merge pull request #256 from starccy/multiple-selection
Transfer multiple files
2021-10-19 23:36:15 +08:00
Starccy fb126164ef use multiple jobs to delete 2021-10-19 21:52:59 +08:00
Starccy eea85b9b5a send & receive multiple files 2021-10-17 21:27:10 +08:00
RustDesk b16b2bc1b4 Merge pull request #253 from palfrey/ci
CI setup
2021-10-12 23:47:09 +08:00
Tom Parker-Shemilt 55d21ab151 Just build the tests 2021-10-11 22:35:31 +01:00
Tom Parker-Shemilt d25e17317d Skip tests for the moment 2021-10-11 22:09:13 +01:00
Tom Parker-Shemilt 7a7cca7e45 Add rust cache 2021-10-11 21:48:56 +01:00
Tom Parker-Shemilt 0ef4246360 Set vcpkg commit id 2021-10-11 21:40:06 +01:00
Tom Parker-Shemilt 686e495171 Initial CI setup 2021-10-11 21:36:45 +01:00
rustdesk c0db2e6da4 refactor and fix 2021-10-08 00:16:10 +08:00
rustdesk c0459b8f94 move change wayland to linux section 2021-10-02 08:51:56 +08:00
rustdesk 678a3d2d28 README format bug 2021-10-02 08:48:41 +08:00
Arash Hatami 2894a5ab7b Format rust files 2021-10-01 22:48:04 +03:30
RustDesk 2efd0e61b4 Merge pull request #243 from hatamiarash7/master
Update Readme & Other Markdown files
2021-10-01 17:05:17 +08:00
Arash Hatami 18b1646cd4 Fix Markdown syntax in all MD files 2021-10-01 12:28:08 +03:30
Arash Hatami 66cdbbacd0 Update README.md
- Remove extra space after `git clone` command
- Add `VCPKG_ROOT` env before `cargo run` command
2021-10-01 12:10:53 +03:30
rustdesk aaba4c144c fix README 2021-09-30 12:07:18 +08:00
RustDesk 2d5758e880 Update README.md 2021-09-30 12:01:45 +08:00
RustDesk b20ec86fac Merge pull request #237 from kerlw/master
Add some optimization options for Chinese developer in README-ZH.md.
2021-09-26 10:10:57 +08:00
kerl.d.w 1df5234eea Add some optimization options for Chinese developer in README-ZH.md. 2021-09-26 09:51:40 +08:00
RustDesk 1b8dbbeac9 https://github.com/rustdesk/rustdesk/issues/226 2021-09-12 17:53:45 +08:00
RustDesk c5f1222476 Merge pull request #224 from desertstsung/addfun/relogin_xorg
add function
2021-09-09 18:24:58 +08:00
desertstsung 1009eabdfe add function
relogin required if current is wayland
2021-09-09 15:07:09 +08:00
open-trade 8138a661a6 new fall back to gdi 2021-09-07 19:03:59 +08:00
RustDesk d369955790 Merge pull request #221 from desertstsung/ui/labelchange
ui label change
2021-09-06 20:59:12 +08:00
desertstsung 0afca9d1ea ui label change:
src/ui/index.tis#L547:Fix it -> Disable it
2021-09-06 20:41:37 +08:00
rustdesk b2c8c247b2 fix abnormal backspace issue reported from google play 2021-09-01 01:48:41 +08:00
rustdesk ce3e9ce8d6 fix keyboard not shown on some android problem because my stupid change,
also make long press not only for right click, so that to make show
password eye work
2021-09-01 01:35:01 +08:00
rustdesk 903a4ea27f remove subfolder flutter_hbb 2021-08-30 21:12:31 +08:00
rustdesk 0325500ebf refactor 2021-08-29 19:26:33 +08:00
rustdesk 83736732fc refactor and remove space from id in mobile 2021-08-29 19:21:16 +08:00
rustdesk f00abb64cb obfuscate also help reduce file size on ios 2021-08-26 23:48:45 +08:00
RustDesk b0dfd777fb Update Cargo.toml 2021-08-24 22:18:39 +08:00
rustdesk 1a54c50c6f fix cpal crash on alsa linu 2021-08-23 13:04:21 +08:00
rustdesk 9ab5aec229 fix change id 2021-08-22 22:34:09 +08:00
open-trade b2588b32bb have to use 1.1.8 2021-08-22 08:18:42 +08:00
open-trade 0316c7bcd8 clear bug 2021-08-22 07:50:12 +08:00
open-trade 86c7013e53 19 build 2021-08-22 07:27:48 +08:00
rustdesk 5696c8ce97 touch mode and reset canvas 2021-08-21 17:18:14 +08:00
rustdesk 3310205fd1 tools:replace="android:extractNativeLibs" invalid 2021-08-21 13:26:40 +08:00
open-trade 365a422f2d finally got IPA work 2021-08-20 17:16:46 +08:00
RustDesk 5d26dbaa90 Merge pull request #202 from open-trade/patch-1
My stupidness
2021-08-20 13:59:21 +08:00
open-trade c52f4af17d My stupidness 2021-08-20 13:57:53 +08:00
rustdesk b2a6c592ba linux clipboard sync issue https://github.com/rustdesk/rustdesk/issues/118 2021-08-20 12:39:10 +08:00
open-trade bcd550ebef safearea, still no idea why white screen on physical ios with testflight 2021-08-20 03:50:10 +08:00
open-trade 6c18645561 fix input password dialog bug 2021-08-18 02:01:03 +08:00
open-trade b20bf7d1cb cancel button on loading for iOS 2021-08-18 00:39:48 +08:00
open-trade 72adcacce9 ime works fine now on iOS 2021-08-17 22:57:35 +08:00
rustdesk 4d730586ae resetMouse if show keyboard 2021-08-17 15:31:12 +08:00
rustdesk 1414ff5fcb refactor 2021-08-17 15:20:37 +08:00
open-trade b521175bca fix on iOS 2021-08-17 15:07:01 +08:00
rustdesk 2df4da89dc somebody not tidy, but like tidy code, :), https://github.com/rustdesk/rustdesk/issues/198 2021-08-16 21:28:59 +08:00
open-trade 9d37f9f2e3 set ITSAppUsesNonExemptEncryption to false,
这个加密出口合规是个历史遗留问题,现在没那么严格了,我们libsodium算法应该在exempt范围,所以这里选false,以后提交,
connect就不再问了
2021-08-15 01:52:41 +08:00
rustdesk d9163077c0 no alpha icon required by iOS 2021-08-15 00:25:41 +08:00
rustdesk f226ede64b unify peer color 2021-08-14 14:14:01 +08:00
rustdesk aaffbe476e fix 32 2021-08-14 01:13:40 +08:00
rustdesk dae3a2b43b compile error 2021-08-14 01:06:06 +08:00
rustdesk 64b4d14629 fix on 32 2021-08-14 01:02:39 +08:00
rustdesk d03172e2f3 prepare 32 2021-08-14 00:45:12 +08:00
rustdesk 44f6233df0 tokio 1.10 2021-08-13 13:02:03 +08:00
RustDesk 88a3266a73 Update CONTRIBUTING.md 2021-08-13 01:31:47 +08:00
rustdesk 3cd9ee2aa3 unify menu style 2021-08-12 20:16:57 +08:00
rustdesk c17f48c128 obfuscate 2021-08-12 11:10:29 +08:00
rustdesk a76916c520 ignore abnormal latency 2021-08-12 10:55:21 +08:00
rustdesk 2102813ed9 refactor 2021-08-12 01:25:32 +08:00
rustdesk c970e5b22b shared memory for future usage, but it has permission problem on
Windows, not find way to make files writable for all users on Windows
2021-08-11 21:08:05 +08:00
rustdesk 3a7d64bf34 atomic 2021-08-11 18:29:03 +08:00
rustdesk 3d49dbc60d fix mobile 2021-08-11 01:38:21 +08:00
rustdesk 4e85841398 refactor msgbox retry 2021-08-11 01:28:53 +08:00
rustdesk b6f6b094de refactor msgbox retry 2021-08-11 01:11:29 +08:00
rustdesk b4cd94c488 flutter cmd/win for mac/win 2021-08-11 00:22:47 +08:00
rustdesk 6130792734 fix cm style 2021-08-10 23:50:32 +08:00
rustdesk 61caaa3365 refactor, will do with shared memory 2021-08-10 16:01:39 +08:00
rustdesk c3a3c1a1c7 atexit crash on mac 2021-08-10 12:19:42 +08:00
rustdesk e510d2744d fix apps key 2021-08-10 12:18:10 +08:00
rustdesk bb25964307 safe exit 2021-08-09 04:21:42 +08:00
rustdesk 8affa24400 how about fix_modifiers? 2021-08-09 02:07:54 +08:00
rustdesk ad182a5f3c comment on altgr 2021-08-08 18:23:44 +08:00
rustdesk 6ed9526a65 comment on jp/kr key mapping 2021-08-08 18:06:26 +08:00
rustdesk ccd1cab6bc down as press only for linux and non-modifier 2021-08-08 17:29:39 +08:00
rustdesk ab4843b76e fixing win key problem https://github.com/rustdesk/rustdesk/issues/35 2021-08-08 01:44:37 +08:00
rustdesk 0704cc8ee4 ctrl+v 2021-08-06 22:45:45 +08:00
rustdesk 46e239dabe refactor 2021-08-06 22:29:11 +08:00
rustdesk 0f029545a4 refactor input_os_password 2021-08-06 21:18:06 +08:00
rustdesk 3200002e52 fix unexpected repeating key input on remote linux https://github.com/rustdesk/rustdesk/issues/189 2021-08-06 14:23:50 +08:00
rustdesk 799df2d77a fix new line 2021-08-06 11:30:27 +08:00
rustdesk 9d7dced7e7 .gitattributes 2021-08-05 11:27:56 +08:00
rustdesk 79c12a0220 bigger version 2021-08-05 11:15:19 +08:00
rustdesk 96a09af487 new icon 2021-08-05 11:09:08 +08:00
open-trade c6d07ffb5c flutter pub run flutter_launcher_icons:main 2021-08-05 10:47:15 +08:00
rustdesk efcd7fd9f6 change flutter icon to no margin 2021-08-05 10:33:26 +08:00
open-trade 7b89016c25 ios works, but icon wierd 2021-08-05 01:38:20 +08:00
open-trade f29115c024 flutter run can run on iOS, though id editorbox not shown 2021-08-04 22:35:55 +08:00
rustdesk a70e3e93b0 fix remote_cursor https://github.com/rustdesk/rustdesk/issues/82, host
has higher priority to control mouse https://github.com/rustdesk/rustdesk/issues/40
2021-08-04 15:40:34 +08:00
rustdesk 646b11a3ae typo 2021-08-04 15:30:47 +08:00
rustdesk eb76f7cecc fix mac key mapping, https://github.com/rustdesk/rustdesk/issues/186, https://github.com/rustdesk/rustdesk/issues/86 2021-08-04 03:44:00 +08:00
rustdesk 39f0dd28b4 <video> can not be relative, add another wrapper to make img cursor work 2021-08-04 00:57:48 +08:00
rustdesk 66bd97c0b3 bigger client timeout 2021-08-04 00:57:03 +08:00
rustdesk a0b2450888 fix on --password 2021-08-03 20:16:38 +08:00
rustdesk f558c12866 --password https://github.com/rustdesk/rustdesk/issues/187 2021-08-03 14:59:45 +08:00
rustdesk 7573793d6c onLongPress -> right click 2021-08-03 00:35:25 +08:00
rustdesk 5df90d4fa1 fix on help tools and tranlating 'Failed' 2021-08-02 22:21:23 +08:00
rustdesk 600f604611 refactor 2021-08-02 20:54:56 +08:00
rustdesk 0cdef55e3d flutter project upgraded 2021-08-02 17:08:53 +08:00
rustdesk c385d88708 https://github.com/rustdesk/rustdesk/issues/133 https://github.com/rustdesk/rustdesk/issues/112 https://github.com/rustdesk/rustdesk/issues/43 2021-08-01 14:51:53 +08:00
rustdesk 2e305e8f11 fix on rubato 2021-08-01 11:05:45 +08:00
rustdesk e949023dda try out the other audio resampler 2021-08-01 11:01:04 +08:00
rustdesk 25c10453e5 password eye padding 2021-07-31 22:25:04 +08:00
rustdesk 935676468b disable systray which has compatibility issue 2021-07-31 03:51:10 +08:00
rustdesk 49dff161dd enable dxgi https://github.com/rustdesk/rustdesk/issues/79, may fix https://github.com/rustdesk/rustdesk/issues/169 2021-07-31 03:00:07 +08:00
rustdesk 7282a462f4 scrap readme 2021-07-29 13:33:26 +08:00
rustdesk a740870b67 fix on android 2021-07-29 13:30:12 +08:00
open-trade 76bd1b00ef working on ios 2021-07-29 02:00:11 +08:00
rustdesk cd9c189c64 bigger relay timeout 2021-07-28 19:41:34 +08:00
rustdesk 905a3a2936 fix sciter-rs utf 2021-07-28 00:00:11 +08:00
rustdesk e6744d031d connection type 2021-07-27 23:53:12 +08:00
rustdesk a3f5ffc15a fix on linux numpadenter 2021-07-27 20:12:53 +08:00
rustdesk 191fdc6691 fix keyboard abnormal, https://github.com/rustdesk/rustdesk/issues/146 https://github.com/rustdesk/rustdesk/issues/135 https://github.com/rustdesk/rustdesk/issues/127 2021-07-27 20:10:04 +08:00
rustdesk f07ce11425 https://github.com/rustdesk/rustdesk/issues/130 better toolbar hide/show 2021-07-26 23:40:58 +08:00
rustdesk 7324cb607c wheel issue for new sciter 2021-07-26 21:34:05 +08:00
rustdesk 1ee92c9f68 fix for file transfer: sort row and remove empty dir 2021-07-26 02:50:33 +08:00
rustdesk 9a86a595ff fix compatibility issue for new sciter 2021-07-26 01:50:47 +08:00
rustdesk 879c300563 boundery check, https://github.com/rustdesk/rustdesk/issues/107 2021-07-25 21:04:11 +08:00
rustdesk bebe136834 less green 2021-07-25 02:09:57 +08:00
rustdesk d89d5ef825 https://github.com/rustdesk/rustdesk/issues/132#issuecomment-886069737 2021-07-25 02:06:20 +08:00
rustdesk 56dfcffd1e restore Fedora vpx fix 2021-07-24 20:00:56 +08:00
rustdesk 7c5915e3d3 vpxmt -> vpx after vcpkg upgraded 2021-07-24 19:33:11 +08:00
rustdesk cb2864202f upgrade vcpkg 2021-07-24 19:06:32 +08:00
RustDesk dae2814951 Update Dockerfile 2021-07-24 18:41:22 +08:00
rustdesk 6922a1de4c refactor and upgrade sciter 2021-07-24 18:25:07 +08:00
RustDesk 7282c3a16d Update README.md 2021-07-23 17:54:16 +08:00
rustdesk c15c44788c try out wayland 2021-07-23 17:52:38 +08:00
RustDesk d83163b6a0 Merge pull request #170 from sitiom/nsis-setup
Replace InnoSetup with improved NSIS Setup
2021-07-15 21:48:55 +08:00
Ryan Caezar Itang 5383c09e3d Replace InnoSetup with improved NSIS Setup 2021-07-15 20:51:41 +08:00
RustDesk 6f8483ece6 Add files via upload 2021-07-14 22:23:42 +08:00
RustDesk e65aa61fb7 Update README-FR.md 2021-07-08 22:57:07 +08:00
rustdesk 2522c99f47 update readme 2021-07-08 22:55:03 +08:00
rustdesk b15c88c014 typo 2021-07-07 21:18:00 +08:00
rustdesk fcf24e04bd Merge branch 'master' of https://github.com/rustdesk/rustdesk 2021-07-07 10:53:27 +08:00
rustdesk 2ec5fbb333 opacity 2021-07-07 10:53:13 +08:00
RustDesk c1b241a8d1 Merge pull request #143 from SET19724/patch-2
Better translation pl readme
2021-07-07 00:38:27 +08:00
SET19724 b13aef98c2 Better translation
Not Polskie :)
Polski
2021-07-06 18:33:46 +02:00
RustDesk b25c2c0551 Update README.md 2021-07-07 00:30:45 +08:00
rustdesk e303a3b9b8 fix PL 2021-07-07 00:27:26 +08:00
RustDesk ec8255b20f Merge pull request #142 from SET19724/patch-1
README-PL.md Tłumaczenie na Polski PL Polish
2021-07-07 00:23:57 +08:00
SET19724 529048bb8e Update README.md
City name fix
2021-07-06 18:23:28 +02:00
SET19724 926d3ca546 Tłumaczenie na Polski PL Polish
;)
2021-07-06 18:20:05 +02:00
rustdesk 7d316f9a51 https://github.com/rustdesk/rustdesk/issues/140 2021-07-06 10:47:49 +08:00
rustdesk c27865d3ed change to dallas 2021-07-03 14:14:16 +08:00
rustdesk d769b79a6f update servers 2021-07-03 10:27:34 +08:00
RustDesk 3aa4bdd1fa Merge pull request #137 from ToasterUwU/master
German README and correction of links in other MDs ("Deutsche" to "Deutsch")
2021-07-03 07:52:51 +08:00
mis1852 ad8b23d1a7 German README and correction of links in other mds 2021-07-02 19:29:26 +02:00
RustDesk e8b8a260fd Merge pull request #128 from SantiagoValdez/patch-1
Update README.md - Fix spanish spelling
2021-06-29 08:52:58 +08:00
Santiago Valdez b4467370a8 Update README.md - Fix spanish spelling
Spanish language is called Español or in some cases Castellano. 
Referring to Spanish language as 'Española' is not grammatically valid.
2021-06-28 17:14:01 -04:00
RustDesk 25ffaa7966 Merge pull request #122 from EmPablo/patch-2
Update : Panic message is not a string literal.
2021-06-26 12:18:07 +08:00
RustDesk 00b2b30778 Merge pull request #121 from EmPablo/patch-1
Update to the current release version number.
2021-06-26 12:17:49 +08:00
EmPablo 78692793a5 Update : Panic message is not a string literal. 2021-06-26 11:46:22 +08:00
EmPablo 5b9c90809c Update to the current release version number. 2021-06-26 11:43:38 +08:00
rustdesk 05c4dacbe9 ipc windows work 2021-06-26 01:14:22 +08:00
rustdesk 6f796db523 new namedpipe 2021-06-26 00:47:45 +08:00
rustdesk 2d515815ed Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-06-25 21:36:09 +08:00
rustdesk dc3fcda2c9 tokio1, windows not test yet 2021-06-25 19:42:51 +08:00
RustDesk 25a83f6b4a Update README.md 2021-06-23 00:44:10 +08:00
RustDesk 086d1f9124 Add files via upload 2021-06-23 00:40:08 +08:00
rustdesk 5339b40104 ISSUE TEMPLATE 2021-06-22 11:34:07 +08:00
RustDesk be9f0a22a0 Update README.md 2021-06-21 23:32:52 +08:00
RustDesk fc3f76973d Update README.md 2021-06-21 23:32:07 +08:00
RustDesk 0d0c75e2a9 Merge pull request #101 from geshii/master
Create README-FR.md, French translation
2021-06-21 23:28:55 +08:00
Geshi da7e044f16 Create README-FR.md 2021-06-21 16:16:37 +02:00
RustDesk 2ccbda2bb8 Update README-ES.md 2021-06-21 18:29:46 +08:00
RustDesk 87e161eddb Update README-ZH.md 2021-06-21 18:29:18 +08:00
RustDesk 592630fac4 Update README.md 2021-06-21 18:29:01 +08:00
RustDesk aa67aab1f2 Merge pull request #97 from geshii/patch-1
Creating security guidelines, also known as SECURITY.md
2021-06-21 17:02:39 +08:00
Geshi 7e873f1c8b Create SECURITY.md 2021-06-21 10:56:43 +02:00
RustDesk ba00e4daf2 Update README.md 2021-06-21 16:31:01 +08:00
RustDesk 8ef831ee5c Add files via upload 2021-06-21 16:27:16 +08:00
RustDesk 7cc5d138a0 Update README.md 2021-06-21 12:55:34 +08:00
RustDesk 7b4d5bc704 Update README.md 2021-06-21 12:49:05 +08:00
RustDesk a4a09d5bfc Create README-ZH.md 2021-06-21 12:44:34 +08:00
RustDesk c8465f9a5d Update README.md 2021-06-21 12:19:13 +08:00
RustDesk 2159423431 Update README.md 2021-06-21 12:18:56 +08:00
RustDesk 9d5cfb04ac Update README.md 2021-06-21 12:18:28 +08:00
RustDesk 43200f236a Merge pull request #94 from mtoohey31/docker-build
Support builds via Docker
2021-06-21 09:53:38 +08:00
mtoohey31 9383e4ecbb Support builds via Docker 2021-06-20 15:12:46 -04:00
RustDesk 6862406e68 Update README.md 2021-06-20 16:02:35 +08:00
RustDesk c3b6dabcc8 Update README.md 2021-06-20 15:46:24 +08:00
RustDesk a99e6f38e5 Merge pull request #89 from mtoohey31/display-server-fix
Check for Xorg running in tty
2021-06-20 12:02:05 +08:00
mtoohey31 142eebc9e2 https://github.com/rustdesk/rustdesk/issues/87 2021-06-19 14:35:40 -04:00
RustDesk ec294451e3 Update README.md 2021-06-17 12:55:34 +08:00
RustDesk 7daeddf560 Update README.md 2021-06-17 12:55:11 +08:00
RustDesk 562b0c79dd Update README.md 2021-06-17 11:41:21 +08:00
RustDesk b0f3ec40ce Update README.md 2021-06-17 11:41:07 +08:00
rustdesk 51903ede3d rs-ny.rustdesk.com 2021-06-15 11:21:10 +08:00
open-trade ae1c6bcdfb flutter 1.1.6 2021-06-14 21:27:46 +08:00
rustdesk fda1e5e231 https://github.com/rustdesk/rustdesk/issues/58 2021-06-14 18:27:09 +08:00
rustdesk e06217536b Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-06-14 17:52:33 +08:00
rustdesk 673986d045 https://github.com/rustdesk/rustdesk/issues/69 2021-06-14 17:51:45 +08:00
rustdesk a2890fa548 https://github.com/rustdesk/rustdesk/issues/35 2021-06-14 15:29:36 +08:00
rustdesk f3182a63e9 Merge branch 'master' of github.com:/rustdesk/rustdesk 2021-06-14 13:16:35 +08:00
rustdesk a830922dea https://github.com/rustdesk/rustdesk/issues/73 2021-06-14 13:16:20 +08:00
RustDesk ff54a98526 Merge pull request #71 from gitatmax/gitatmax-patch-1
Improved readability of OS list
2021-06-10 21:36:42 +08:00
Maxwell White 912053d99d Improved readability of OS list 2021-06-10 08:41:00 -04:00
rustdesk da4669366b fix some rare case 2021-06-10 12:19:23 +08:00
rustdesk c844d99ff1 try multiple time to get X11 env 2021-06-08 17:54:25 +08:00
rustdesk 369a9e0805 CONTRIBUTING.md 2021-06-07 13:44:21 +08:00
RustDesk 7daa080637 Update FUNDING.yml 2021-06-07 12:48:43 +08:00
RustDesk e8606b8d0c Update README.md 2021-06-07 12:44:19 +08:00
rustdesk ae9b6edf7c comment 2021-06-07 08:57:26 +08:00
rustdesk 34ce402203 https://github.com/rustdesk/rustdesk/issues/61 2021-06-06 16:27:02 +08:00
rustdesk 0ddfc32f0c refactor 2021-06-05 19:53:34 +08:00
RustDesk c2d97054dd Merge pull request #60 from Candunc/master
Fixed typos, defaulted MacOS update prompt to use https
2021-06-05 08:03:03 +08:00
Duncan Bristow 155357a7e9 Fixed typos, defaulted MacOS update prompt to use https 2021-06-04 16:27:53 -07:00
RustDesk 14d35fc923 Merge pull request #57 from botiapa/master
Add --needed parameter to pacman install command
2021-06-05 00:10:17 +08:00
killswitch 913568a597 Add --needed parameter to pacman install command
This avoids reinstalling already installed packages.
2021-06-04 18:05:35 +02:00
rustdesk 1da5c1bde9 better linux support 2021-06-04 21:04:40 +08:00
rustdesk 31e6108f40 move confy here 2021-06-02 09:55:38 +08:00
rustdesk ffcbc2abaa more for right key 2021-06-01 13:05:04 +08:00
rustdesk 5c541179dc update_pk if mismatch 2021-05-31 01:08:27 +08:00
RustDesk ef6103da25 Update README.md 2021-05-28 13:26:48 +08:00
rustdesk 3be1971ca4 moved to rustdesk-server-demo repo 2021-05-27 22:57:52 +08:00
rustdesk 044f4cb12c demo server 2021-05-27 22:57:37 +08:00
RustDesk cac416bcc0 Update README.md 2021-05-27 18:30:16 +08:00
rustdesk 8708fb366a righ key mapping and fix mac crash 2021-05-26 12:42:21 +08:00
rustdesk d825d30e53 fix linux restore button and clipboard initial sync issue 2021-05-25 12:01:27 +08:00
rustdesk 002ca33cec Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-05-23 11:01:56 +08:00
rustdesk 7e1c56033b only dynamic 2021-05-23 11:01:27 +08:00
rustdesk cd21f61d9c Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-05-23 10:57:49 +08:00
rustdesk 237e889604 move rust-sciter in 2021-05-23 10:55:19 +08:00
rustdesk bdfb59dd1a remove unnessarey dns call 2021-05-23 00:14:00 +08:00
rustdesk b7ab1405ee fix home path issue on some linux build 2021-05-21 19:11:09 +08:00
rustdesk 9a4786adb2 possible fix of mac crash 2021-05-20 17:19:37 +08:00
rustdesk 3a570de31e Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-05-20 17:16:01 +08:00
rustdesk c5032f617b enable tray and fix install problems 2021-05-20 17:15:25 +08:00
rustdesk d7b9c1aa72 enable tray and fix various install problems caused by format and
encoding
2021-05-20 17:06:25 +08:00
rustdesk c05dd0b1b7 Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-05-17 20:46:31 +08:00
rustdesk f760e56f79 better support for win7 2021-05-17 20:46:02 +08:00
rustdesk 7630713534 fix no audio issue with sample rate >= 48000 and strange crash issue
(there is some overflow in unsafe code, will test again)
2021-05-13 00:24:38 +08:00
rustdesk 7a8cf58ab1 Merge branch 'master' of https://github.com/rustdesk/rustdesk into master 2021-04-26 11:46:36 +08:00
rustdesk 7b067ed28d recreate udp socket 2021-04-26 11:44:47 +08:00
open-trade 0c17a67573 fix on zh 2021-04-25 12:49:03 +08:00
rustdesk 51be791a3a more zh 2021-04-25 12:47:20 +08:00
rustdesk c34e128945 fix 2021-04-25 00:23:36 +08:00
rustdesk 15850fd8ff fix one translate 2021-04-25 00:22:44 +08:00
rustdesk 6b6ffb3f17 more zh, for configuration and installation and upgrade, and flutter,
not test yet
2021-04-25 00:19:35 +08:00
rustdesk 0c35437531 1.1.3 -> 1.1.4 2021-04-24 22:28:59 +08:00
rustdesk eaf528e09e build number required, and can increase only 2021-04-09 01:12:15 +08:00
open-trade 679f291078 chmod 2021-04-09 00:31:10 +08:00
rustdesk 97e5a3f826 some sh 2021-04-08 12:59:55 +08:00
open-trade 67711a386d forum.rustdesk.com => rustdesk.com 2021-04-07 21:58:30 +08:00
rustdesk e7c733be1d working on change_id 2021-04-07 11:55:00 +08:00
open-trade 7b0abd9157 fix 2021-04-01 18:18:56 +08:00
open-trade c959cda6c1 set key 2021-04-01 16:59:42 +08:00
open-trade 0813190574 check rendivious servers if failed to connect for mobile 2021-03-31 19:40:23 +08:00
rustdesk 15db8d6772 pubspec 2021-03-17 23:30:14 +08:00
open-trade 483db1a016 upgrade rustup 2021-01-29 00:20:39 +08:00
open-trade 130104a475 fixed on refresh(reset origin and scaled), and move arrows to more,
smaller padding, to-do: scale restore not working
2020-12-24 10:44:44 +08:00
open-trade 5d5097eccd move port_forward out from ui 2020-12-22 17:38:08 +08:00
open-trade dc8f3db2fc try again 2020-12-22 16:07:48 +08:00
open-trade 5286eed96f try again 2020-12-22 16:00:10 +08:00
open-trade 0dc375bda1 try again 2020-12-22 15:45:55 +08:00
open-trade 2ce172087a try again 2020-12-22 15:35:45 +08:00
open-trade 6623e3c7ef hacking way for bracket issue 2020-12-22 15:26:35 +08:00
open-trade cb2965e8e4 revert back because enter not work any more 2020-12-22 14:54:46 +08:00
open-trade eac83438e1 fix ( issue 2020-12-22 14:41:14 +08:00
open-trade d8bb3384d9 build number 2020-12-21 22:12:24 +08:00
open-trade a238b6a10a improve enter os password 2020-12-21 21:52:20 +08:00
open-trade 8455c69733 append return after password paste 2020-12-21 19:08:54 +08:00
open-trade 0ed605717f OS password 2020-12-21 19:05:31 +08:00
open-trade 5e17a995e6 remember cursor, canvas offset and scale 2020-12-21 18:28:28 +08:00
open-trade 1acb64c35d new keyboard offset and scroll 2020-12-21 17:26:23 +08:00
open-trade 0388e51299 padding 2020-11-30 21:14:23 +08:00
open-trade e367a33fc8 sign 2020-11-30 17:37:38 +08:00
open-trade 6856453d82 fix 2020-11-30 16:10:03 +08:00
open-trade b5607e5460 check keyboard for lock-after-session-end 2020-11-30 16:05:23 +08:00
open-trade e62f411a08 download 2020-11-30 15:04:59 +08:00
open-trade a8a83f758f new version number and add about me 2020-11-30 11:35:43 +08:00
open-trade 14130e135c icon 2020-11-29 22:00:13 +08:00
open-trade 21a9815071 bug fix 2020-11-29 21:33:36 +08:00
open-trade ea99455d22 fix 2020-11-29 14:28:47 +08:00
open-trade 8e14868709 bug fix 2020-11-29 14:28:07 +08:00
open-trade 71493c8e7e have to put easyloading on FlutterEasyLoading, if on scaffold, mouse not
work
2020-11-29 14:19:01 +08:00
open-trade ac4b14292d more google analytics 2020-11-29 14:00:59 +08:00
open-trade 8734394523 google analytics 2020-11-29 13:32:38 +08:00
open-trade 4698ac925b move EasyLoading up 2020-11-29 02:15:23 +08:00
open-trade 6bb2434b9d mask 2020-11-29 02:07:26 +08:00
open-trade 0797334e35 new msgbox to avoid crash 2020-11-29 01:36:10 +08:00
open-trade d89ad33b98 has crash when popup msgbox when there is keyboard or some other
condition
2020-11-29 00:13:55 +08:00
open-trade 722a382ce2 better input 2020-11-28 18:06:27 +08:00
open-trade fa78e7b291 seems fix first image crossline issue 2020-11-28 17:42:29 +08:00
open-trade b81ecdf318 not sure if fix first image and clipboard/keyboard issue 2020-11-28 15:56:25 +08:00
open-trade 1928768bae bug fix 2020-11-28 15:24:44 +08:00
open-trade d036225bd2 refactor 2020-11-28 13:39:34 +08:00
open-trade d57a0c85d8 mute 2020-11-28 13:34:59 +08:00
open-trade 6a5454f72a clipboard 2020-11-28 13:22:19 +08:00
open-trade 4d4d7673de more on clipboard 2020-11-28 13:00:58 +08:00
open-trade ca0137b228 my own oboe 2020-11-28 00:22:25 +08:00
open-trade 9c532c507b to-do: adjust rather then reset 2020-11-27 22:50:24 +08:00
open-trade 60f48c5326 refresh 2020-11-27 17:59:42 +08:00
open-trade 7662ab0a0f refresh on all 2020-11-27 17:34:09 +08:00
open-trade e881f6ca29 reconnect logic 2020-11-27 16:06:35 +08:00
open-trade bc75d87881 move open audio session 2020-11-27 14:40:40 +08:00
open-trade 69ede0fb03 text 2020-11-27 12:46:40 +08:00
open-trade 2f3a46db1c style 2020-11-27 12:45:05 +08:00
open-trade 8902672b30 better adjustForKeyboard 2020-11-27 12:05:23 +08:00
open-trade af4f772b8a fix keyboard show/hide/show/hide for the first time click on keyboard
button after password dialog
2020-11-27 11:56:14 +08:00
open-trade 61cbe74547 remove more audio 2020-11-27 11:41:52 +08:00
open-trade 8edabe654f disable sound due to crash 2020-11-27 10:52:09 +08:00
open-trade 00358b456d adjust color and padding per my phone 2020-11-27 02:14:27 +08:00
open-trade f8903877e2 better input 2020-11-27 02:02:41 +08:00
open-trade 2a9ff10eae fix on close alert in loading 2020-11-26 22:48:15 +08:00
open-trade 43452f48d9 close msgbox if loading 2020-11-26 21:41:25 +08:00
open-trade b311ce8692 ignore jniLibs 2020-11-26 20:38:33 +08:00
open-trade 608e9fc6f1 fix on shrink/maximize/fullscreen and flutter audio (not work well),
to-do: how about fullscreen closed restore
2020-11-26 20:28:37 +08:00
open-trade 44131cd2a8 audio ffi 2020-11-26 15:40:00 +08:00
open-trade 11796de5d7 try form 2020-11-26 00:47:52 +08:00
open-trade ae6198813c working on ID/Relay server settings 2020-11-26 00:33:45 +08:00
open-trade 4724b01111 scroll 2020-11-26 00:06:57 +08:00
open-trade dfb28e9e5e display switch 2020-11-25 23:52:58 +08:00
open-trade 8583b6b140 long press for drag 2020-11-25 21:15:06 +08:00
open-trade 7a2d687367 trick way to make backspace work always 2020-11-25 20:51:32 +08:00
open-trade d75cdb7811 bug on peer platform for mac os 2020-11-25 20:39:08 +08:00
open-trade ad9788681b update pubsepc 2020-11-25 20:18:17 +08:00
open-trade 57e271cc40 peers 2020-11-25 18:33:09 +08:00
open-trade 87c339d884 scroll/drag/right 2020-11-25 17:02:27 +08:00
open-trade 114f03f00c keyboard works 2020-11-25 16:28:46 +08:00
open-trade b04f90ef67 adjust canvas offset when scale 2020-11-25 14:41:57 +08:00
open-trade 2606a44f77 help tools 2020-11-25 13:03:48 +08:00
open-trade e3b0ee9caf adjust cursor position for keyboard 2020-11-25 11:20:40 +08:00
open-trade ed3fd81ef7 start mouse tool 2020-11-25 01:13:08 +08:00
open-trade 7f9826a710 change showActions to pop 2020-11-25 00:41:39 +08:00
open-trade 434850ed0d fix on new pan 2020-11-25 00:13:23 +08:00
open-trade 4b07075355 new pan works 2020-11-24 23:36:46 +08:00
open-trade 514341180d new pan draft 2020-11-24 22:03:04 +08:00
open-trade b776f1339a initialize send mouse and max/min scale 2020-11-24 12:11:55 +08:00
open-trade 982df980bd fix msgbox hasCancel and home id editor focus problem 2020-11-24 11:25:56 +08:00
open-trade 23f1ce5da5 minor 2020-11-23 23:52:30 +08:00
open-trade f86673ebcb remove custom guesture 2020-11-23 23:25:50 +08:00
open-trade d116251742 pan/scale draft 2020-11-23 23:18:42 +08:00
open-trade 479b8303d7 new scale mode 2020-11-23 17:45:38 +08:00
open-trade d73d3166d3 switch scale mode if 3 fingers tap 2020-11-23 13:03:51 +08:00
open-trade 8090726649 lock and long press pop menu 2020-11-23 12:00:56 +08:00
open-trade 8e529399c3 InteractiveView buggy 2020-11-23 01:16:17 +08:00
open-trade 06cb5b6c35 remove dart.html 2020-11-22 21:12:22 +08:00
open-trade 364fb78084 permissions 2020-11-22 21:08:19 +08:00
open-trade f6f7e1ead1 use hidden textfield to capture input 2020-11-22 18:29:04 +08:00
open-trade 25b2f52462 MultiTapGestureRecognizer draft 2020-11-22 14:47:43 +08:00
open-trade 49760b4ad5 hide bar if keyboard 2020-11-22 13:23:56 +08:00
open-trade 18ea8d9151 password widget 2020-11-21 14:40:28 +08:00
open-trade 6b774b52cd GestureDetector 2020-11-21 02:18:04 +08:00
open-trade adea49ee88 prepare keyboard 2020-11-20 17:51:49 +08:00
open-trade 5d11700bdd invoke keyboard, problem is the keyboard type has problem 2020-11-20 17:20:42 +08:00
open-trade 83622cffc6 input key ffi 2020-11-20 16:37:48 +08:00
open-trade ae79afaf0d image quality 2020-11-20 13:06:52 +08:00
open-trade d9cbd4230a toggle option 2020-11-20 02:12:48 +08:00
open-trade 090f56b9f5 refactor 2020-11-20 00:36:23 +08:00
open-trade a7c4396c71 make onWillPop can be changed 2020-11-20 00:34:17 +08:00
open-trade e516dd3267 skip return key of dialog 2020-11-20 00:29:59 +08:00
open-trade 0b0fb4f145 refactor alertDialog 2020-11-19 21:59:49 +08:00
open-trade 86add59e92 color 2020-11-19 18:41:37 +08:00
open-trade ad5eb7830c interactiveview not work on stack 2020-11-19 18:22:06 +08:00
open-trade 0eb19dcf2a bar 2020-11-19 17:22:42 +08:00
open-trade 0bb1c71b87 wait for image 2020-11-19 00:53:10 +08:00
open-trade b594c8836e refactor 2020-11-19 00:32:46 +08:00
open-trade 13eee42008 prepare cursor model 2020-11-18 23:49:48 +08:00
open-trade 0d4c85b3df ImageModel 2020-11-18 23:15:59 +08:00
open-trade 63930918f6 exit fullscreen 2020-11-18 18:20:13 +08:00
open-trade c469329d19 fix crash, current rgba ffi design still ugly and dangerous 2020-11-18 18:12:43 +08:00
open-trade 33186e28d1 use InteractiveViewer instead of GestureDetector 2020-11-18 17:36:11 +08:00
open-trade df58f3230e image shown now 2020-11-18 16:11:19 +08:00
open-trade 0ba74ef7ec fix on login and config 2020-11-18 12:49:43 +08:00
open-trade 52139dc84b more on enter password 2020-11-18 02:36:47 +08:00
open-trade a110db32e9 msgbox start to work 2020-11-18 01:55:26 +08:00
open-trade 1a3a2cf6c7 rgba -> image 2020-11-18 00:28:55 +08:00
open-trade 676278920f rust ffi for rgba 2020-11-17 18:10:49 +08:00
open-trade 0ee311b5e2 handle peer_info and display_switch 2020-11-17 16:53:02 +08:00
open-trade ced0457a2e timer works fine, just it does not print same content every time 2020-11-17 12:41:23 +08:00
open-trade cc0139a85c seems timer not work well, will try https://github.com/hanxu317317/flutter_plan_demo/blob/master/lib/src/enter.dart 2020-11-17 12:08:31 +08:00
open-trade 190dc6006c refactor 2020-11-17 11:12:55 +08:00
open-trade ee64faf082 more on events, and initialize remote page 2020-11-17 01:22:14 +08:00
open-trade bf81f362f0 event draft 2020-11-17 00:47:27 +08:00
open-trade bb9702c5f6 comment 2020-11-16 22:14:50 +08:00
open-trade eccd08310d showDialog 2020-11-16 22:14:29 +08:00
open-trade b195b649a3 wrongPasswordDialog 2020-11-16 22:12:32 +08:00
open-trade eb1720c0cd initialize enterPasswordDialog 2020-11-16 22:00:09 +08:00
open-trade 521c8ad18e add loading 2020-11-16 21:21:27 +08:00
open-trade 02719f45f6 refactor 2020-11-16 20:20:02 +08:00
open-trade 818a04db16 prototype json deser 2020-11-16 11:36:53 +08:00
open-trade b02aec4255 prepare json 2020-11-16 02:12:37 +08:00
open-trade da7a71cd81 connect ui 2020-11-16 01:13:26 +08:00
open-trade e4681f7d9a add provider 2020-11-15 20:04:05 +08:00
open-trade 489ccdb53f finally got android crash reason, it is because my c function connect
override system connect
2020-11-13 17:35:32 +08:00
open-trade 5972f25aaf APP_DIR 2020-11-12 12:09:46 +08:00
open-trade f043940152 set app_dir via ffi 2020-11-09 18:25:55 +08:00
open-trade 1f136f2ca0 test flutter if practical 2020-11-09 01:57:17 +08:00
open-trade f0ee5e602d add so 2020-11-08 22:38:42 +08:00
open-trade 08a7f6d10d initialize flutter 2020-11-06 18:04:04 +08:00
577 changed files with 92605 additions and 14501 deletions
+8
View File
@@ -0,0 +1,8 @@
[target.x86_64-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static"]
[target.i686-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static"]
[target.'cfg(target_os="macos")']
rustflags = [
"-C", "link-args=-sectcreate __CGPreLoginApp __cgpreloginapp /dev/null",
]
+1
View File
@@ -0,0 +1 @@
* text=auto
+1
View File
@@ -1 +1,2 @@
github: [rustdesk]
ko_fi: rustdesk
+32
View File
@@ -0,0 +1,32 @@
---
name: Bug Report
about: Report a bug (English only, Please).
title: ""
labels: bug
assignees: ''
---
<!-- Hey there, thank you for creating an issue! -->
**Describe the bug you encountered:**
...
**What did you expect to happen instead?**
...
**How did you install `RustDesk`?**
<!-- GitHub release, build from source, Windows portable version, etc. -->
---
**RustDesk version and environment**
<!--
In order to reproduce your issue, please add some information about the environment
in which you're running RustDesk.
-->
+5
View File
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Ask a question
url: https://github.com/rustdesk/rustdesk/discussions/category_choices
about: Ask questions and discuss with other community members.
+10
View File
@@ -0,0 +1,10 @@
---
name: Feature Request
about: Suggest an idea for this project ((English only, Please).
title: ''
labels: enhancement
assignees: ''
---
+181
View File
@@ -0,0 +1,181 @@
name: CI
# env:
# MIN_SUPPORTED_RUST_VERSION: "1.46.0"
# CICD_INTERMEDIATES_DIR: "_cicd-intermediates"
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
tags:
- '*'
jobs:
# ensure_cargo_fmt:
# name: Ensure 'cargo fmt' has been run
# runs-on: ubuntu-20.04
# steps:
# - uses: actions-rs/toolchain@v1
# with:
# toolchain: stable
# default: true
# profile: minimal
# components: rustfmt
# - uses: actions/checkout@v3
# - run: cargo fmt -- --check
# min_version:
# name: Minimum supported rust version
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout source code
# uses: actions/checkout@v3
# - name: Install rust toolchain (v${{ env.MIN_SUPPORTED_RUST_VERSION }})
# uses: actions-rs/toolchain@v1
# with:
# toolchain: ${{ env.MIN_SUPPORTED_RUST_VERSION }}
# default: true
# profile: minimal # minimal component installation (ie, no documentation)
# components: clippy
# - name: Run clippy (on minimum supported rust version to prevent warnings we can't fix)
# uses: actions-rs/cargo@v1
# with:
# command: clippy
# args: --locked --all-targets --all-features -- --allow clippy::unknown_clippy_lints
# - name: Run tests
# uses: actions-rs/cargo@v1
# with:
# command: test
# args: --locked
build:
name: ${{ matrix.job.target }} (${{ matrix.job.os }})
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
# - { 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-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-unknown-linux-gnu , os: ubuntu-20.04 }
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
steps:
- name: Checkout source code
uses: actions/checkout@v3
- 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;;
# 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
with:
setupOnly: true
vcpkgGitCommitId: '1d4128f08e30cec31b94500840c7eca8ebc579cb'
- name: Install vcpkg dependencies
run: |
$VCPKG_ROOT/vcpkg install libvpx libyuv opus
shell: bash
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.job.target }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
- name: Show version information (Rust, cargo, GCC)
shell: bash
run: |
gcc --version || true
rustup -V
rustup toolchain list
rustup default
cargo -V
rustc -V
- uses: Swatinem/rust-cache@v1
- name: Build
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: build
args: --locked --release --target=${{ matrix.job.target }}
# - name: Strip debug information from executable
# id: strip
# shell: bash
# run: |
# # Figure out suffix of binary
# EXE_suffix=""
# case ${{ matrix.job.target }} in
# *-pc-windows-*) EXE_suffix=".exe" ;;
# esac;
# # Figure out what strip tool to use if any
# STRIP="strip"
# case ${{ matrix.job.target }} in
# arm-unknown-linux-*) STRIP="arm-linux-gnueabihf-strip" ;;
# aarch64-unknown-linux-gnu) STRIP="aarch64-linux-gnu-strip" ;;
# *-pc-windows-msvc) STRIP="" ;;
# esac;
# # Setup paths
# BIN_DIR="${{ env.CICD_INTERMEDIATES_DIR }}/stripped-release-bin/"
# mkdir -p "${BIN_DIR}"
# BIN_NAME="${{ env.PROJECT_NAME }}${EXE_suffix}"
# BIN_PATH="${BIN_DIR}/${BIN_NAME}"
# # Copy the release build binary to the result location
# cp "target/${{ matrix.job.target }}/release/${BIN_NAME}" "${BIN_DIR}"
# # Also strip if possible
# if [ -n "${STRIP}" ]; then
# "${STRIP}" "${BIN_PATH}"
# fi
# # Let subsequent steps know where to find the (stripped) bin
# echo ::set-output name=BIN_PATH::${BIN_PATH}
# echo ::set-output name=BIN_NAME::${BIN_NAME}
- name: Set testing options
id: test-options
shell: bash
run: |
# test only library unit tests and binary for arm-type targets
unset CARGO_TEST_OPTIONS
unset CARGO_TEST_OPTIONS ; case ${{ matrix.job.target }} in arm-* | aarch64-*) CARGO_TEST_OPTIONS="--lib --bin ${PROJECT_NAME}" ;; esac;
echo ::set-output name=CARGO_TEST_OPTIONS::${CARGO_TEST_OPTIONS}
- name: Build tests
uses: actions-rs/cargo@v1
with:
use-cross: ${{ matrix.job.use-cross }}
command: build
args: --locked --tests --target=${{ matrix.job.target }}
# - name: Run tests
# uses: actions-rs/cargo@v1
# with:
# use-cross: ${{ matrix.job.use-cross }}
# command: test
# args: --locked --target=${{ matrix.job.target }} ${{ steps.test-options.outputs.CARGO_TEST_OPTIONS}}
+97
View File
@@ -0,0 +1,97 @@
name: Flutter CI
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
tags:
- '*'
jobs:
build:
name: ${{ matrix.job.target }} (${{ matrix.job.os }})
runs-on: ${{ matrix.job.os }}
strategy:
fail-fast: false
matrix:
job:
# - { 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-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-unknown-linux-gnu , os: ubuntu-20.04 }
# - { target: x86_64-unknown-linux-musl , os: ubuntu-20.04, use-cross: true }
steps:
- name: Checkout source code
uses: actions/checkout@v3
- 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 libclang-dev ninja-build libayatana-appindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev;;
# 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: Install flutter
uses: subosito/flutter-action@v2
with:
channel: 'stable'
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: stable
target: ${{ matrix.job.target }}
override: true
profile: minimal # minimal component installation (ie, no documentation)
- uses: Swatinem/rust-cache@v1
- name: Install flutter rust bridge deps
run: |
dart pub global activate ffigen --version 5.0.1
# flutter_rust_bridge
pushd /tmp && git clone https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge --depth=1 && popd
pushd /tmp/flutter_rust_bridge/frb_codegen && cargo install --path . && 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
- name: Restore from cache and install vcpkg
uses: lukka/run-vcpkg@v7
with:
setupOnly: true
vcpkgGitCommitId: '1d4128f08e30cec31b94500840c7eca8ebc579cb'
- name: Install vcpkg dependencies
run: |
$VCPKG_ROOT/vcpkg install libvpx libyuv opus
shell: bash
- name: Show version information (Rust, cargo, GCC)
shell: bash
run: |
gcc --version || true
rustup -V
rustup toolchain list
rustup default
cargo -V
rustc -V
- name: Build rustdesk ffi lib
run: cargo build --features flutter --lib
- name: Build Flutter
run: |
pushd flutter
flutter pub get
flutter build linux --debug -v
popd
+13
View File
@@ -0,0 +1,13 @@
name: Publish to WinGet
on:
release:
types: [released]
jobs:
publish:
runs-on: windows-latest # action can only be run on windows
steps:
- uses: vedantmgoyal2009/winget-releaser@v1
with:
identifier: RustDesk.RustDesk
version: ${{ github.event.release.tag_name }}
token: ${{ secrets.WINGET_TOKEN }}
+32
View File
@@ -1,8 +1,40 @@
/build
/target
.vscode
.idea
.DS_Store
libsciter-gtk.so
src/ui/inline.rs
extractor
__pycache__
src/version.rs
*dmg
*exe
*tgz
cert.pfx
*.bak
*png
*svg
*jpg
sciter.dll
**pdb
src/bridge_generated.rs
*deb
rustdesk
*.cache
# appimage
appimage/AppDir
appimage/*.AppImage
appimage/appimage-build
# flutter
flutter/linux/build/**
flutter/linux/cmake-build-debug/**
# flatpak
flatpak/.flatpak-builder/**
flatpak/ccache/**
flatpak/.flatpak-builder/build/**
flatpak/.flatpak-builder/shared-modules/**
flatpak/.flatpak-builder/shared-modules/*.tar.xz
flatpak/.flatpak-builder/debian-binary
# bridge file
lib/generated_bridge.dart
Generated
+3541 -1003
View File
File diff suppressed because it is too large Load Diff
+89 -39
View File
@@ -1,58 +1,97 @@
[package]
name = "rustdesk"
version = "1.1.2"
version = "1.2.0"
authors = ["rustdesk <info@rustdesk.com>"]
edition = "2018"
edition = "2021"
build= "build.rs"
description = "A remote control software."
default-run = "rustdesk"
[lib]
crate-type = ["cdylib", "staticlib", "rlib"]
name = "librustdesk"
crate-type = ["cdylib", "staticlib", "rlib"]
[[bin]]
name = "naming"
path = "src/naming.rs"
[features]
inline = []
hbbs = []
cli = []
with_rc = ["simple_rc"]
appimage = []
flatpak = []
use_samplerate = ["samplerate"]
use_rubato = ["rubato"]
use_dasp = ["dasp"]
flutter = ["flutter_rust_bridge"]
default = ["use_dasp"]
hwcodec = ["scrap/hwcodec"]
mediacodec = ["scrap/mediacodec"]
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
whoami = "0.9"
scrap = { path = "libs/scrap" }
whoami = "1.2"
scrap = { path = "libs/scrap", features = ["wayland"] }
hbb_common = { path = "libs/hbb_common" }
enigo = { path = "libs/enigo" }
serde_derive = "1.0"
serde = "1.0"
serde_json = "1.0"
cfg-if = "1.0"
lazy_static = "1.4"
sha2 = "0.9"
sha2 = "0.10"
repng = "0.2"
libc = "0.2"
parity-tokio-ipc = { path = "libs/parity-tokio-ipc" }
flexi_logger = "0.16"
parity-tokio-ipc = { git = "https://github.com/open-trade/parity-tokio-ipc" }
flexi_logger = { version = "0.22", features = ["async", "use_chrono_for_offset"] }
runas = "0.2"
magnum-opus = { path = "libs/magnum-opus" }
dasp = { version = "0.11", features = ["signal", "interpolate-linear", "interpolate"] }
magnum-opus = { git = "https://github.com/SoLongAndThanksForAllThePizza/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"
crc32fast = "1.2"
uuid = { version = "0.8", features = ["v4"] }
copypasta = "0.7"
clap = "2.33"
rpassword = "5.0"
uuid = { version = "1.0", features = ["v4"] }
clap = "3.0"
rpassword = "7.0"
base64 = "0.13"
sysinfo = "0.24"
num_cpus = "1.13"
bytes = { version = "1.2", features = ["serde"] }
default-net = "0.11.0"
wol-rs = "0.9.1"
flutter_rust_bridge = { git = "https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge", optional = true }
errno = "0.2.8"
rdev = { git = "https://github.com/asur4s/rdev" }
[target.'cfg(not(any(target_os = "android")))'.dependencies]
cpal = { git = "https://github.com/rustaudio/cpal" }
[target.'cfg(not(target_os = "linux"))'.dependencies]
reqwest = { version = "0.11", features = ["json", "rustls-tls"], default-features=false }
[target.'cfg(not(any(target_os = "android", target_os = "linux")))'.dependencies]
cpal = "0.13.5"
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
machine-uid = "0.2"
mac_address = "1.1"
sciter-rs = { git = "https://github.com/sciter-sdk/rust-sciter", rev = "7702fb17290e76606bdd7010a0c3cbb32e85db76" }
sciter-rs = { git = "https://github.com/open-trade/rust-sciter", branch = "dyn" }
sys-locale = "0.2"
enigo = { path = "libs/enigo", features = [ "with_serde" ] }
clipboard = { path = "libs/clipboard" }
ctrlc = "3.2"
arboard = "2.0"
#minreq = { version = "2.4", features = ["punycode", "https-native"] }
system_shutdown = "3.0.0"
[target.'cfg(target_os = "windows")'.dependencies]
systray = { path = "libs/systray-rs" }
#systray = { git = "https://github.com/open-trade/systray-rs" }
trayicon = { git = "https://github.com/open-trade/trayicon-rs", features = ["winit"] }
winit = "0.26"
winapi = { version = "0.3", features = ["winuser"] }
winreg = "0.7"
windows-service = { git = 'https://github.com/mullvad/windows-service-rs.git' }
winreg = "0.10"
windows-service = "0.4"
virtual_display = { path = "libs/virtual_display" }
impersonate_system = { git = "https://github.com/21pages/impersonate-system" }
[target.'cfg(target_os = "macos")'.dependencies]
objc = "0.2"
@@ -60,24 +99,33 @@ cocoa = "0.24"
dispatch = "0.2"
core-foundation = "0.9"
core-graphics = "0.22"
include_dir = "0.7.2"
tray-item = "0.7" # looks better than trayicon
dark-light = "0.2"
[target.'cfg(target_os = "linux")'.dependencies]
libpulse-simple-binding = "2.16"
libpulse-binding = "2.16"
rust-pulsectl = { path = "libs/pulsectl" }
ctrlc = "3.1"
psimple = { package = "libpulse-simple-binding", version = "2.25" }
pulse = { package = "libpulse-binding", version = "2.26" }
rust-pulsectl = { git = "https://github.com/open-trade/pulsectl" }
async-process = "1.3"
mouce = { git="https://github.com/fufesou/mouce.git" }
evdev = { git="https://github.com/fufesou/evdev" }
dbus = "0.9"
dbus-crossroads = "0.5"
[target.'cfg(not(any(target_os = "windows", target_os = "android", target_os = "ios")))'.dependencies]
psutil = "3.2"
[target.'cfg(target_os = "android")'.dependencies]
android_logger = "0.9"
android_logger = "0.11"
jni = "0.19"
[target.'cfg(any(target_os = "android", target_os = "ios"))'.dependencies]
flutter_rust_bridge = { git = "https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge" }
[workspace]
members = ["libs/scrap", "libs/hbb_common", "libs/enigo"]
members = ["libs/scrap", "libs/hbb_common", "libs/enigo", "libs/clipboard", "libs/virtual_display", "libs/simple_rc", "libs/portable"]
[package.metadata.winres]
LegalCopyright = "Copyright © 2020"
LegalCopyright = "Copyright © 2022 Purslane, Inc."
# this FileDescription overrides package.description
FileDescription = "RustDesk"
@@ -88,22 +136,24 @@ winapi = { version = "0.3", features = [ "winnt" ] }
[build-dependencies]
cc = "1.0"
hbb_common = { path = "libs/hbb_common" }
simple_rc = { path = "libs/simple_rc", optional = true }
flutter_rust_bridge_codegen = { git = "https://github.com/SoLongAndThanksForAllThePizza/flutter_rust_bridge" }
[dev-dependencies]
hound = "3.4"
hound = "3.5"
[package.metadata.bundle]
name = "RustDesk"
identifier = "com.carriez.rustdesk"
icon = ["32x32.png", "128x128.png", "128x128@2x.png"]
deb_depends = ["libgtk-3-0", "libxcb-randr0", "libxdo3", "libxfixes3", "libxcb-shape0", "libxcb-xfixes0", "libasound2", "libsystemd0", "pulseaudio"]
icon = ["res/32x32.png", "res/128x128.png", "res/128x128@2x.png"]
deb_depends = ["libgtk-3-0", "libxcb-randr0", "libxdo3", "libxfixes3", "libxcb-shape0", "libxcb-xfixes0", "libasound2", "libsystemd0", "pipewire", "curl"]
osx_minimum_system_version = "10.14"
resources = ["res/mac-tray-light.png","res/mac-tray-dark.png"]
#https://github.com/johnthagen/min-sized-rust
#!!! rembember call "strip target/release/rustdesk"
# which reduce binary size a lot
[profile.release]
#lto = true
#codegen-units = 1
#panic = 'abort'
lto = true
codegen-units = 1
panic = 'abort'
strip = true
#opt-level = 'z' # only have smaller size after strip
+21
View File
@@ -0,0 +1,21 @@
FROM debian
WORKDIR /
RUN apt update -y && 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 unzip zip sudo libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
RUN git clone https://github.com/microsoft/vcpkg && cd vcpkg && git checkout 134505003bb46e20fbace51ccfb69243fbbc5f82
RUN /vcpkg/bootstrap-vcpkg.sh -disableMetrics
RUN /vcpkg/vcpkg --disable-metrics install libvpx libyuv opus
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 wget 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
USER root
ENV HOME=/home/user
COPY ./entrypoint /
ENTRYPOINT ["/entrypoint"]
+65 -78
View File
@@ -1,5 +1,5 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
@@ -7,17 +7,15 @@
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The GNU Affero General Public License is a free, copyleft license for
software and other kinds of works, specifically designed to ensure
cooperation with the community in the case of network server software.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
our General Public Licenses are intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
software for all its users.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
@@ -26,44 +24,34 @@ them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
Developers that use our General Public Licenses protect your rights
with two steps: (1) assert copyright on the software, and (2) offer
you this License which gives you legal permission to copy, distribute
and/or modify the software.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
A secondary benefit of defending all users' freedom is that
improvements made in alternate versions of the program, if they
receive widespread use, become available for other developers to
incorporate. Many developers of free software are heartened and
encouraged by the resulting cooperation. However, in the case of
software used on network servers, this result may fail to come about.
The GNU General Public License permits making a modified version and
letting the public access it on a server without ever releasing its
source code to the public.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
The GNU Affero General Public License is designed specifically to
ensure that, in such cases, the modified source code becomes available
to the community. It requires the operator of a network server to
provide the source code of the modified version running there to the
users of that server. Therefore, public use of a modified version, on
a publicly accessible server, gives the public access to the source
code of the modified version.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
An older license, called the Affero General Public License and
published by Affero, was designed to accomplish similar goals. This is
a different license, not a version of the Affero GPL, but Affero has
released a new version of the Affero GPL which permits relicensing under
this license.
The precise terms and conditions for copying, distribution and
modification follow.
@@ -72,7 +60,7 @@ modification follow.
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"This License" refers to version 3 of the GNU Affero General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
@@ -549,35 +537,45 @@ to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
13. Remote Network Interaction; Use with the GNU General Public License.
Notwithstanding any other provision of this License, if you modify the
Program, your modified version must prominently offer all users
interacting with it remotely through a computer network (if your version
supports such interaction) an opportunity to receive the Corresponding
Source of your version by providing access to the Corresponding Source
from a network server at no charge, through some standard or customary
means of facilitating copying of software. This Corresponding Source
shall include the Corresponding Source for any work covered by version 3
of the GNU General Public License that is incorporated pursuant to the
following paragraph.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
under version 3 of the GNU General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
but the work with which it is combined will remain governed by version
3 of the GNU General Public License.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
the GNU Affero General Public License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Program specifies that a certain numbered version of the GNU Affero General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
GNU Affero General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
versions of the GNU Affero General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
@@ -635,40 +633,29 @@ the "copyright" line and a pointer to where the full notice is found.
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU Affero General Public License for more details.
You should have received a copy of the GNU General Public License
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
If your software can interact with users remotely through a computer
network, you should also make sure that it provides a way for users to
get its source. For example, if your program is a web application, its
interface could display a "Source" link that leads users to an archive
of the code. There are many ways you could offer source, and different
solutions will be better for different programs; see section 13 for the
specific requirements.
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
For more information on this, and how to apply and follow the GNU AGPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
+130 -26
View File
@@ -1,55 +1,102 @@
# RustDesk | Your Remote Desktop Software
<p align="center">
<img src="res/logo-header.svg" alt="RustDesk - Dit fjernskrivebord"><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="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>]<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">Doc</a> to your native language</b>
</p>
The best open-source remote desktop client software, written in Rust. Works out of the box, no configuration required. Great alternative to TeamViewer and AnyDesk! You have full control of your data, with no concerns about security. You can use our rendezvous/relay server, [set up your own](https://rustdesk.com/blog/id-relay-set/), or write your own rendezvous/relay server.
Chat with us: [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)
Yet another remote desktop software, written in Rust. Works out of the box, no configuration required. You have full control of your data, with no concerns about security. You can use our rendezvous/relay server, [set up your own](https://rustdesk.com/server), or [write your own rendezvous/relay server](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk welcomes contribution from everyone. See [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) for help getting started.
[**How does RustDesk work?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
[<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)
## Free Public Servers
Below are the servers you are using for free, it may change along the time. If you are not close to one of these, your network may be slow.
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 vCPU / 0.5GB RAM |
| Singapore | Vultr | 1 vCPU / 1GB RAM |
| Germany | Hetzner | 2 vCPU / 4GB RAM |
| Germany | Codext | 4 vCPU / 8GB RAM |
## Dependencies
Desktop versions use [sciter](https://sciter.com/) for GUI, please download sciter dynamic library yourself.
Desktop versions use [sciter](https://sciter.com/) or Flutter for GUI, this tutorial is for Sciter only.
[Windows](https://github.com/c-smile/sciter-sdk/blob/dc65744b66389cd5a0ff6bdb7c63a8b7b05a708b/bin.win/x64/sciter.dll)
[Linux](https://github.com/c-smile/sciter-sdk/raw/dc65744b66389cd5a0ff6bdb7c63a8b7b05a708b/bin.lnx/x64/libsciter-gtk.so)
[Osx](https://github.com/c-smile/sciter-sdk/raw/dc65744b66389cd5a0ff6bdb7c63a8b7b05a708b/bin.osx/sciter-osx-64.dylib)
Please download sciter dynamic library yourself.
[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)
## Raw steps to build
* Prepare your Rust development env and C++ build env
* Install [vcpkg](https://github.com/microsoft/vcpkg), and set `VCPKG_ROOT` env variable correctly
- Prepare your Rust development env and C++ build env
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/Osx: vcpkg install libvpx libyuv opus
* run `cargo run`
- Install [vcpkg](https://github.com/microsoft/vcpkg), and set `VCPKG_ROOT` env variable correctly
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- run `cargo run`
## [Build](https://rustdesk.com/docs/en/dev/build/)
## How to build on Linux
### Ubuntu 18 (Debian 10)
```
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
```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 libayatana-appindicator3-1 libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libayatana-appindicator3-dev
```
### 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)
```
sudo pacman -Syu unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pulseaudio
```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
```
### Install vcpkg
```
git clone https://github.com/microsoft/vcpkg --branch 2020.11-1
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix libvpx (For Fedora)
```
```sh
cd vcpkg/buildtrees/libvpx/src
cd *
./configure
@@ -61,20 +108,76 @@ cd
```
### Build
```
```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://github.com/c-smile/sciter-sdk/raw/dc65744b66389cd5a0ff6bdb7c63a8b7b05a708b/bin.lnx/x64/libsciter-gtk.so
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
mv libsciter-gtk.so target/debug
cargo run
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:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Then, each time you need to build the application, run the following command:
```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
```
Note that the first build may take longer before dependencies are cached, subsequent builds will be faster. Additionally, if you need to specify different arguments to the build command, you may do so at the end of the command in the `<OPTIONAL-ARGS>` position. For instance, if you wanted to build an optimized release version, you would run the command above followed by `--release`. The resulting executable will be available in the target folder on your system, and can be run with:
```sh
target/debug/rustdesk
```
Or, if you're running a release executable:
```sh
target/release/rustdesk
```
Please ensure that you are running these commands from the root of the RustDesk repository, otherwise the application might not be able to find the required resources. Also note that other cargo subcommands such as `install` or `run` are not currently supported via this method as they would install or run the program inside the container instead of the host.
## File Structure
- **[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
@@ -85,14 +188,15 @@ RustDesk does not support Wayland. Check [this](https://docs.fedoraproject.org/e
- **[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/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript for Flutter web client
## Snapshot
![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/113112990-65e2fd80-923c-11eb-840e-349b4d6e340d.png)
![image](https://user-images.githubusercontent.com/71636191/135385039-38fdbd72-379a-422d-b97f-33df71fb1cec.png)
Executable
+356
View File
@@ -0,0 +1,356 @@
#!/usr/bin/env python3
import os
import platform
import zipfile
import urllib.request
import shutil
import hashlib
import argparse
windows = platform.platform().startswith('Windows')
osx = platform.platform().startswith('Darwin') or platform.platform().startswith("macOS")
hbb_name = 'rustdesk' + ('.exe' if windows else '')
exe_path = 'target/release/' + hbb_name
def get_version():
with open("Cargo.toml") as fh:
for line in fh:
if line.startswith("version"):
return line.replace("version", "").replace("=", "").replace('"', '').strip()
return ''
def parse_rc_features(feature):
available_features = {
'IddDriver': {
'zip_url': 'https://github.com/fufesou/RustDeskIddDriver/releases/download/v0.1/RustDeskIddDriver_x64.zip',
'checksum_url': 'https://github.com/fufesou/RustDeskIddDriver/releases/download/v0.1'
'/RustDeskIddDriver_x64.zip.checksum_md5',
},
'PrivacyMode': {
'zip_url': 'https://github.com/fufesou/RustDeskTempTopMostWindow/releases/download/v0.1'
'/TempTopMostWindow_x64.zip',
'checksum_url': 'https://github.com/fufesou/RustDeskTempTopMostWindow/releases/download/v0.1'
'/TempTopMostWindow_x64.zip.checksum_md5',
}
}
apply_features = {}
if not feature:
return apply_features
elif isinstance(feature, str) and feature.upper() == 'ALL':
return available_features
elif isinstance(feature, list):
for feat in feature:
if isinstance(feat, str) and feat.upper() == 'ALL':
return available_features
if feat in available_features:
apply_features[feat] = available_features[feat]
else:
print(f'Unrecognized feature {feat}')
return apply_features
else:
raise Exception(f'Unsupported features param {feature}')
def make_parser():
parser = argparse.ArgumentParser(description='Build script.')
parser.add_argument(
'-f',
'--feature',
dest='feature',
metavar='N',
type=str,
nargs='+',
default='',
help='Integrate features, windows only.'
'Available: IddDriver, PrivacyMode. 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(
'--hwcodec',
action='store_true',
help='Enable feature hwcodec' + ('' if windows or osx else ', need libva-dev, libvdpau-dev.')
)
parser.add_argument(
'--portable',
action='store_true',
help='Build windows portable'
)
return parser
def download_extract_features(features, res_dir):
for (feat, feat_info) in features.items():
print(f'{feat} download begin')
checksum_md5_response = urllib.request.urlopen(feat_info['checksum_url'])
checksum_md5 = checksum_md5_response.read().decode('utf-8').split()[0]
download_filename = feat_info['zip_url'].split('/')[-1]
filename, _headers = urllib.request.urlretrieve(feat_info['zip_url'], download_filename)
md5 = hashlib.md5(open(filename, 'rb').read()).hexdigest()
if checksum_md5 != md5:
raise Exception(f'{feat} download failed')
print(f'{feat} download end. extract bein')
zip_file = zipfile.ZipFile(filename)
zip_list = zip_file.namelist()
for f in zip_list:
zip_file.extract(f, res_dir)
zip_file.close()
os.remove(download_filename)
print(f'{feat} extract end')
def get_rc_features(args):
features = parse_rc_features(args.feature)
if features:
print(f'Build with features {list(features.keys())}')
res_dir = 'resources'
if os.path.isdir(res_dir) and not os.path.islink(res_dir):
shutil.rmtree(res_dir)
elif os.path.exists(res_dir):
raise Exception(f'Find file {res_dir}, not a directory')
os.makedirs(res_dir, exist_ok=True)
download_extract_features(features, res_dir)
return ['with_rc'] if features else []
def get_features(args):
features = ['inline']
if windows:
features.extend(get_rc_features(args))
if args.hwcodec:
features.append('hwcodec')
if args.flutter:
features.append('flutter')
print("features:", features)
return features
def generate_control_file(version):
control_file_path = "../res/DEBIAN/control"
os.system('/bin/rm -rf %s' % control_file_path)
content = """Package: rustdesk
Version: %s
Architecture: amd64
Maintainer: open-trade <info@rustdesk.com>
Homepage: https://rustdesk.com
Depends: libgtk-3-0, libxcb-randr0, libxdo3, libxfixes3, libxcb-shape0, libxcb-xfixes0, libasound2, libsystemd0, pipewire, curl
Description: A remote control software.
""" % version
file = open(control_file_path, "w")
file.write(content)
file.close()
def build_flutter_deb(version):
os.system('cargo build --features default,flutter --lib --release')
# workaround ffigen
os.system('sed -i "s/ffi.NativeFunction<ffi.Bool Function(DartPort/ffi.NativeFunction<ffi.Uint8 Function(DartPort/g" flutter/lib/generated_bridge.dart')
os.chdir('flutter')
os.system('dpkg-deb -R rustdesk.deb tmpdeb')
os.system('flutter build linux --release')
os.system('mkdir -p tmpdeb/usr/bin/')
os.system('mkdir -p tmpdeb/usr/lib/rustdesk')
os.system('mkdir -p tmpdeb/usr/share/rustdesk/files/systemd/')
os.system('mkdir -p tmpdeb/usr/share/applications/')
os.system('mkdir -p tmpdeb/usr/share/polkit-1/actions')
os.system('rm tmpdeb/usr/bin/rustdesk')
os.system(
'cp -r build/linux/x64/release/bundle/* tmpdeb/usr/lib/rustdesk/')
os.system(
'cp ../res/rustdesk.service tmpdeb/usr/share/rustdesk/files/systemd/')
os.system(
'cp ../res/128x128@2x.png tmpdeb/usr/share/rustdesk/files/rustdesk.png')
os.system(
'cp ../res/rustdesk.desktop tmpdeb/usr/share/applications/rustdesk.desktop')
os.system(
'cp ../res/rustdesk-link.desktop tmpdeb/usr/share/applications/rustdesk-link.desktop')
os.system(
'cp ../res/com.rustdesk.RustDesk.policy tmpdeb/usr/share/polkit-1/actions/')
os.system("echo \"#!/bin/sh\" >> tmpdeb/usr/share/rustdesk/files/polkit && chmod a+x tmpdeb/usr/share/rustdesk/files/polkit")
os.system('mkdir -p tmpdeb/DEBIAN')
generate_control_file(version)
os.system('cp -a ../res/DEBIAN/* tmpdeb/DEBIAN/')
md5_file('usr/share/rustdesk/files/systemd/rustdesk.service')
os.system('dpkg-deb -b tmpdeb rustdesk.deb;')
os.system('/bin/rm -rf tmpdeb/')
os.system('/bin/rm -rf ../res/DEBIAN/control')
os.rename('rustdesk.deb', '../rustdesk-%s.deb' % version)
os.chdir("..")
def build_flutter_arch_manjaro():
os.chdir('flutter')
os.system('flutter build linux --release')
os.system('strip build/linux/x64/release/liblibrustdesk.so')
os.chdir('..')
os.system('HBB=`pwd` FLUTTER=1 makepkg -f')
def build_flutter_windows(version):
os.system("cargo build --lib --features flutter --release")
os.chdir('flutter')
os.system("flutter build windows --release")
os.chdir('..')
os.chdir("libs/portable")
os.system("pip3 install -r requirements.txt")
os.system("python3 .\\generate.py -f ..\\..\\flutter\\build\\windows\\runner\Release\ -o . -e ..\\..\\flutter\\build\\windows\\runner\\Release\\rustdesk.exe")
os.chdir("../..")
if os.path.exists("./rustdesk_portable.exe"):
os.replace("./target/release/rustdesk-portable-packer.exe", "./rustdesk_portable.exe")
else:
os.rename("./target/release/rustdesk-portable-packer.exe", "./rustdesk_portable.exe")
print(f"output location: {os.path.abspath(os.curdir)}/rustdesk_portable.exe")
os.system(f"cp -rf ./rustdesk_portable.exe ./rustdesk-{version}-install.exe")
print(f"output location: {os.path.abspath(os.curdir)}/rustdesk-{version}-install.exe")
def main():
parser = make_parser()
args = parser.parse_args()
os.system("cp Cargo.toml Cargo.toml.bk")
os.system("cp src/main.rs src/main.rs.bk")
if windows:
txt = open('src/main.rs', encoding='utf8').read()
with open('src/main.rs', 'wt', encoding='utf8') as fh:
fh.write(txt.replace(
'//#![windows_subsystem', '#![windows_subsystem'))
if os.path.exists(exe_path):
os.unlink(exe_path)
if os.path.isfile('/usr/bin/pacman'):
os.system('git checkout src/ui/common.tis')
version = get_version()
features = ",".join(get_features(args))
flutter = args.flutter
if not flutter:
# not flutter, is sciter
os.system('python3 res/inline-sciter.py')
portable = args.portable
if windows:
if flutter:
build_flutter_windows(version)
return
os.system('cargo build --release --features ' + features)
# os.system('upx.exe target/release/rustdesk.exe')
os.system('mv target/release/rustdesk.exe target/release/RustDesk.exe')
pa = os.environ.get('P')
if pa:
os.system(f'signtool sign /a /v /p {pa} /debug /f .\\cert.pfx /t http://timestamp.digicert.com '
'target\\release\\rustdesk.exe')
else:
print('Not signed')
os.system(f'cp -rf target/release/RustDesk.exe rustdesk-{version}-win7-install.exe')
elif os.path.isfile('/usr/bin/pacman'):
# pacman -S -needed base-devel
os.system("sed -i 's/pkgver=.*/pkgver=%s/g' PKGBUILD" % version)
if flutter:
build_flutter_arch_manjaro()
else:
os.system('cargo build --release --features ' + features)
os.system('git checkout src/ui/common.tis')
os.system('strip target/release/rustdesk')
os.system('ln -s res/pacman_install && ln -s res/PKGBUILD')
os.system('HBB=`pwd` makepkg -f')
os.system('mv rustdesk-%s-0-x86_64.pkg.tar.zst rustdesk-%s-manjaro-arch.pkg.tar.zst' % (version, version))
# pacman -U ./rustdesk.pkg.tar.zst
elif os.path.isfile('/usr/bin/yum'):
os.system('cargo build --release --features ' + features)
os.system('strip target/release/rustdesk')
os.system("sed -i 's/Version: .*/Version: %s/g' res/rpm.spec" % version)
os.system('HBB=`pwd` rpmbuild -ba res/rpm.spec')
os.system('mv $HOME/rpmbuild/RPMS/x86_64/rustdesk-%s-0.x86_64.rpm ./rustdesk-%s-fedora28-centos8.rpm' % (
version, version))
# yum localinstall rustdesk.rpm
elif os.path.isfile('/usr/bin/zypper'):
os.system('cargo build --release --features ' + features)
os.system('strip target/release/rustdesk')
os.system("sed -i 's/Version: .*/Version: %s/g' res/rpm-suse.spec" % version)
os.system('HBB=`pwd` rpmbuild -ba res/rpm-suse.spec')
os.system('mv $HOME/rpmbuild/RPMS/x86_64/rustdesk-%s-0.x86_64.rpm ./rustdesk-%s-suse.rpm' % (version, version))
# yum localinstall rustdesk.rpm
else:
os.system('cargo bundle --release --features ' + features)
if flutter:
if osx:
# todo: OSX build
pass
else:
os.system(
'mv target/release/bundle/deb/rustdesk*.deb ./flutter/rustdesk.deb')
build_flutter_deb(version)
else:
if osx:
os.system(
'strip target/release/bundle/osx/RustDesk.app/Contents/MacOS/rustdesk')
os.system(
'cp libsciter.dylib target/release/bundle/osx/RustDesk.app/Contents/MacOS/')
# https://github.com/sindresorhus/create-dmg
os.system('/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:
os.system('''
# buggy: rcodesign sign ... path/*, have to sign one by one
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./target/release/bundle/osx/RustDesk.app/Contents/MacOS/rustdesk
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./target/release/bundle/osx/RustDesk.app/Contents/MacOS/libsciter.dylib
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./target/release/bundle/osx/RustDesk.app
# goto "Keychain Access" -> "My Certificates" for below id which starts with "Developer ID Application:"
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))
os.system('create-dmg target/release/bundle/osx/RustDesk.app')
os.rename('RustDesk %s.dmg' %
version, 'rustdesk-%s.dmg' % version)
if pa:
os.system('''
#rcodesign sign --p12-file ~/.p12/rustdesk-developer-id.p12 --p12-password-file ~/.p12/.cert-pass --code-signature-flags runtime ./rustdesk-{1}.dmg
codesign -s "Developer ID Application: {0}" --force --options runtime ./rustdesk-{1}.dmg
# https://pyoxidizer.readthedocs.io/en/latest/apple_codesign_rcodesign.html
rcodesign notarize --api-issuer 69a6de7d-2907-47e3-e053-5b8c7c11a4d1 --api-key 9JBRHG3JHT --staple ./rustdesk-{1}.dmg
# verify: spctl -a -t exec -v /Applications/RustDesk.app
'''.format(pa, version))
else:
print('Not signed')
else:
# buid deb package
os.system(
'mv target/release/bundle/deb/rustdesk*.deb ./rustdesk.deb')
os.system('dpkg-deb -R rustdesk.deb tmpdeb')
os.system('mkdir -p tmpdeb/usr/share/rustdesk/files/systemd/')
os.system(
'cp res/rustdesk.service tmpdeb/usr/share/rustdesk/files/systemd/')
os.system(
'cp res/128x128@2x.png tmpdeb/usr/share/rustdesk/files/rustdesk.png')
os.system(
'cp res/rustdesk.desktop tmpdeb/usr/share/applications/rustdesk.desktop')
os.system(
'cp res/rustdesk-link.desktop tmpdeb/usr/share/applications/rustdesk-link.desktop')
os.system('cp -a res/DEBIAN/* tmpdeb/DEBIAN/')
os.system('strip tmpdeb/usr/bin/rustdesk')
os.system('mkdir -p tmpdeb/usr/lib/rustdesk')
os.system('mv tmpdeb/usr/bin/rustdesk tmpdeb/usr/lib/rustdesk/')
os.system('cp libsciter-gtk.so tmpdeb/usr/lib/rustdesk/')
md5_file('usr/share/rustdesk/files/systemd/rustdesk.service')
md5_file('usr/lib/rustdesk/libsciter-gtk.so')
os.system('dpkg-deb -b tmpdeb rustdesk.deb; /bin/rm -rf tmpdeb/')
os.rename('rustdesk.deb', 'rustdesk-%s.deb' % version)
os.system("mv Cargo.toml.bk Cargo.toml")
os.system("mv src/main.rs.bk src/main.rs")
def md5_file(fn):
md5 = hashlib.md5(open('tmpdeb/' + fn, 'rb').read()).hexdigest()
os.system('echo "%s %s" >> tmpdeb/DEBIAN/md5sums' % (md5, fn))
if __name__ == "__main__":
main()
+52 -5
View File
@@ -11,12 +11,12 @@ fn build_manifest() {
use std::io::Write;
if std::env::var("PROFILE").unwrap() == "release" {
let mut res = winres::WindowsResource::new();
res.set_icon("icon.ico")
res.set_icon("res/icon.ico")
.set_language(winapi::um::winnt::MAKELANGID(
winapi::um::winnt::LANG_ENGLISH,
winapi::um::winnt::SUBLANG_ENGLISH_US,
))
.set_manifest_file("manifest.xml");
.set_manifest_file("res/manifest.xml");
match res.compile() {
Err(e) => {
write!(std::io::stderr(), "{}", e).unwrap();
@@ -27,6 +27,20 @@ fn build_manifest() {
}
}
#[cfg(all(windows, feature = "with_rc"))]
fn build_rc_source() {
use simple_rc::{generate_with_conf, Config, ConfigItem};
generate_with_conf(&Config {
outfile: "src/rc.rs".to_owned(),
confs: vec![ConfigItem {
inc: "resources".to_owned(),
exc: vec![],
suppressed_front: "resources".to_owned(),
}],
})
.unwrap();
}
fn install_oboe() {
let target_os = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
if target_os != "android" {
@@ -40,7 +54,7 @@ fn install_oboe() {
} else {
target_arch = "arm".to_owned();
}
let target = format!("{}-android-static", target_arch);
let target = format!("{}-android", target_arch);
let vcpkg_root = std::env::var("VCPKG_ROOT").unwrap();
let mut path: std::path::PathBuf = vcpkg_root.into();
path.push("installed");
@@ -62,13 +76,46 @@ fn install_oboe() {
//cc::Build::new().file("oboe.cc").include(include).compile("oboe_wrapper");
}
#[cfg(feature = "flutter")]
fn gen_flutter_rust_bridge() {
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");
// settings for fbr_codegen
let opts = lib_flutter_rust_bridge_codegen::Opts {
// Path of input Rust code
rust_input: "src/flutter_ffi.rs".to_string(),
// Path of output generated Dart code
dart_output: "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()]),
// for other options lets use default
llvm_path,
..Default::default()
};
// run fbr_codegen
lib_flutter_rust_bridge_codegen::frb_codegen(opts).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;
// }
#[cfg(all(windows, feature = "with_rc"))]
build_rc_source();
#[cfg(all(windows, feature = "inline"))]
build_manifest();
#[cfg(windows)]
build_windows();
#[cfg(target_os = "macos")]
println!("cargo:rustc-link-lib=framework=ApplicationServices");
hbb_common::gen_version();
install_oboe();
}
+133
View File
@@ -0,0 +1,133 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
[info@rustdesk.com](mailto:info@rustdesk.com).
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
[https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
Community Impact Guidelines were inspired by
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
For answers to common questions about this code of conduct, see the FAQ at
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available
at [https://www.contributor-covenant.org/translations][translations].
[homepage]: 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
[translations]: https://www.contributor-covenant.org/translations
+46
View File
@@ -0,0 +1,46 @@
# Contributing to RustDesk
RustDesk welcomes contribution from everyone. Here are the guidelines if you are
thinking of helping us:
## Contributions
Contributions to RustDesk or its dependencies should be made in the form of GitHub
pull requests. Each pull request will be reviewed by a core contributor
(someone with permission to land patches) and either landed in the main tree or
given feedback for changes that would be required. All contributions should
follow this format, even those from core contributors.
Should you wish to work on an issue, please claim it first by commenting on
the GitHub issue that you want to work on it. This is to prevent duplicated
efforts from contributors on the same issue.
## Pull Request Checklist
- Branch from the master branch and, if needed, rebase to the current master
branch before submitting your pull request. If it doesn't merge cleanly with
master you may be asked to rebase your changes.
- Commits should be as small as possible, while ensuring that each commit is
correct independently (i.e., each commit should compile and pass tests).
- Commits should be accompanied by a Developer Certificate of Origin
(http://developercertificate.org) sign-off, which indicates that you (and
your employer if applicable) agree to be bound by the terms of the
[project license](../LICENCE). In git, this is the `-s` option to `git commit`
- If your patch is not getting reviewed or you need a specific person to review
it, you can @-reply a reviewer asking for a review in the pull request or a
comment, or you can ask for a review via [email](mailto:info@rustdesk.com).
- Add tests relevant to the fixed bug or new feature.
For specific git instructions, see [GitHub workflow 101](https://github.com/servo/servo/wiki/Github-workflow).
## Conduct
https://github.com/rustdesk/rustdesk/blob/master/docs/CODE_OF_CONDUCT.md
## Communication
RustDesk contributors frequent the [Discord](https://discord.gg/nDceKgxnkV).
+185
View File
@@ -0,0 +1,185 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><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-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-VN.md">Tiếng Việt</a>]<br>
<b> لغتك الأم, <a href="https://github.com/rustdesk/doc.rustdesk.com">Doc</a> و <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a>, README نحن بحاجة إلى مساعدتك لترجمة هذا </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برنامج آخر لسطح المكتب عن بعد، مكتوب بـ
يعمل خارج الصندوق، لا حاجة إلى إعدادات. لديك سيطرة كاملة على بياناتك، دون مخاوف بشأن الأمن. يمكنك استخدام خادم
الخاص بنا rendezvous/relay
[جهز لنفسك واحدا](https://rustdesk.com/server), أو
[خاص بك rendezvous/relay أكتب خادم](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
لمساعدتك على ذلك [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) يرحب بمساهمة الجميع. اطلع على RustDesk.
[**؟ RustDesk كيفية يعمل**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**BINARY تنزيل**](https://github.com/rustdesk/rustdesk/releases)
## خوادم مفتوحة ومجانية
فيما يلي الخوادم التي تستخدمها مجانًا، وقد تتغير طوال الوقت. إذا لم تكن قريبًا من أحد هؤلاء، فقد تكون شبكتك بطيئة.
| الموقع | المورد | المواصفات |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM | |
## التبعيات
لواجهة المستخدم الرسومية [sciter](https://sciter.com/) نسخة سطح المكتب تستخدم
بنفسك 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)
Sciter إلى Flutter سنقوم بترحيل نسخة سطح المكتب من .Flutter تستخدم إصدارات الهاتف المحمول.
## خطوات البناء
- C++ build env و Rust development env قم بإعداد
- بطريقة صحيحة `VCPKG_ROOT` env variable وأعد [vcpkg](https://github.com/microsoft/vcpkg) ثبت
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static`
- Linux/MacOS: `vcpkg install libvpx libyuv opus`
- run `cargo run`
## [البناء](https://rustdesk.com/docs/en/dev/build/)
## 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
```
### 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 تثبيت
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix libvpx (For Fedora)
```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
```
### البناء
```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
```
### X11 (Xorg) إلى Wayland تغيير
افتراضية GNOME session ك Xorg إتبع [هذه](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) الخطوات لإعداد Wayland لا تدعم RustDesk
## Docker طريقة البناء باستخدام
ابدأ باستنساخ المستودع وبناء الكونتاينر:
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
لاحظ أن البناء الأول قد يستغرق وقتًا أطول قبل تخزين التبعيات، وسيكون البناء اللاحق أسرع. بالإضافة إلى ذلك، إذا كنت بحاجة إلى تحديد وسائط مختلفة لأمر البناء، فيمكنك القيام بذلك في نهاية الأمر بوضع
`<OPTIONAL-ARGS>`
على سبيل المثال، إذا كنت ترغب في بناء إصدار محسن، فستقوم بتشغيل الأمر أعلاه متبوعًا بـ
`--release`
:سيكون الملف القابل للتنفيذ الناتج متاحًا في مجلد تارغت، ويمكن تشغيله باستخدام
```sh
target/debug/rustdesk
```
:أو في حال قمت ببناء إصدار محسن
```sh
target/release/rustdesk
```
RustDesk يرجى التأكد من أنك تنفذ هذه الأوامر من جذر مستودع
وإلا فقد لا يتمكن التطبيق من العثور على الموارد المطلوبة. لاحظ أيضًا أن الأوامر الفرعية الأخرى مثل
`install` أو `run`
لا يتم دعمها حاليًا عبر هذه الطريقة لأنها ستقوم بتثبيت أو تشغيل البرنامج داخل الكونتاينر بدلاً من الهوست.
## هيكل الملف
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: وظائف لنقل الملفات، وبعض وظائف المرافق الأخرى tcp/udp، protobuf ترميز الفيديو، إعدادات
- **[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)**: واجهة المستخدم الرسومية
- **[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)**: أو المنقول عن بُعد (TCP hole punching) انتظر الاتصال المباشر [rustdesk-server](https://github.com/rustdesk/rustdesk-server) الإتصال ب
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: رمز خاص بكل منصة
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/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)
![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)
+171
View File
@@ -0,0 +1,171 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk vaše vzdálená plocha"><br>
<a href="#free-public-servers">Servery</a> •
<a href="#raw-steps-to-build">Sestavení ze zdrojových kódů</a> •
<a href="#how-to-build-with-docker">Docker</a> •
<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>]<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>
</p>
Dopisujte 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)
Zase další software pro přístup k ploše na dálku, naprogramovaný v jazyce Rust. Funguje hned tak, jak je není třeba žádného nastavování. Svá data máte ve svých rukách, bez obav o zabezpečení. Je možné používat námi poskytovaný propojovací/předávací (relay) server, [vytvořit si svůj vlastní](https://rustdesk.com/server), nebo [si dokonce svůj vlastní naprogramovat](https://github.com/rustdesk/rustdesk-server-demo), budete-li chtít.
Projekt RustDesk vítá přiložení ruky k dílu od každého. Jak začít se dozvíte z [`docs/CONTRIBUTING.md`](CONTRIBUTING.md).
[**Jak RustDesk funguje?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**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 |
| --------- | ------------- | ------------------ |
| Soul | AWS lightsail | 1 VCPU / 0,5GB RAM |
| Singapur | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB 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.
[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)
Varianta pro mobilní platformy používá aplikační rámec (framework) Flutter. Na tu také v budoucnu předěláme i variantu pro počítač.
## Stručně kroky pro sestavení ze zdrojových kódů
- 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`
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- spusťte `cargo run`
## [Sestavení ze zdrojových kódů](https://rustdesk.com/docs/en/dev/build/)
## Jak zkompilovat na Linuxu
### 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
```
### 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
```
### Instalace vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Oprava libvpx (pro Fedoru)
```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
```
### Sestavení
```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
```
### 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:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Poté pokaždé, když bude třeba aplikaci sestavit, spusťte následující příkaz:
```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
```
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í:
```sh
target/debug/rustdesk
```
Nebo, pokud spouštíte variantu pro vydání:
```sh
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.
## Struktura souborů
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: kodek videa, nastavení, obalovaní tcp/udp, vyrovnávací paměť protokolu, funkce souborového systému pro přenos souborů a pár dalších podpůrných funkcí
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: zachytávání obsahu obrazovky
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: ovládání klávesnice/myši pro jednotlivé platformy
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: grafické uživatelské rozhraní
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: služby pro zvuk/schránku/zadávání/video a síťová spojení
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: spouští připojení k protějšku
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: komunikace s [rustdesk-server](https://github.com/rustdesk/rustdesk-server), očekávání vzdálených příméhých („proděrováváním“ TCP) nebo předávaných (relay) spojení
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: zdrojové kódy, specifické pro jednotlivé platformy
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: zdrojové kódy pro použití s aplikačním rámcem (framework) Flutter pro mobilní platformy
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript pro Flutter webový klient
## Ukázky
![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)
+187
View File
@@ -0,0 +1,187 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#gratis-offentlige-servere">Servere</a> •
<a href="#rå-trin-til-at-bygge">Byg</a> •
<a href="#sådan-bygger-du-med-docker">Docker</a> •
<a href="#filstruktur">Filstruktur</a> •
<a href="#skærmbilleder">Skærmbilleder</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-VN.md">Tiếng Việt</a>]<br>
<b>Vi har brug for din hjælp til at oversætte denne README, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> og <a href=" https://github.com/rustdesk/doc.rustdesk.com">Dokument</a> til dit modersmål</b>
</p>
Chat med os: [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)
Endnu en fjernskrivebordssoftware, skrevet i Rust. Fungerer ud af æsken, ingen konfiguration påkrævet. Du har fuld kontrol over dine data uden bekymringer om sikkerhed. Du kan bruge vores rendezvous/relay-server, [opsætte din egen](https://rustdesk.com/server), eller [skrive din egen rendezvous/relay-server](https://github.com/rustdesk/rustdesk- server-demo).
RustDesk hilser bidrag fra alle velkommen. Se [`docs/CONTRIBUTING.md`](docs/CONTRIBUTING.md) for at få hjælp til at komme i gang.
[**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 |
| ---------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 vCPU / 0,5 GB RAM |
| Singapore | Vultr | 1 vCPU / 1 GB RAM |
| Tyskland | Hetzner | 2 vCPU / 4 GB RAM |
| Tyskland | Codext | 4 vCPU / 8 GB RAM |
## Afhængigheder
Desktopversioner bruger [sciter](https://sciter.com/) eller Flutter til GUI, denne vejledning er kun for Sciter.
Hent venligst sciter dynamic library selv.
[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)
## Rå trin til at bygge
- Forbered din Rust-udviklings-env og C++ build-env
- Installer [vcpkg](https://github.com/microsoft/vcpkg), og indstil env-variabelen "VCPKG_ROOT" korrekt
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- kør `cargo run`
## [Byg](https://rustdesk.com/docs/en/dev/build/)
## Sådan bygger du på 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
```
### 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 installation
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### libvpx rettelse (For Fedora)
```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
```
### Byg
```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
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
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Kør derefter følgende kommando, hver gang du skal bygge applikationen:
```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
```
Bemærk, at den første bygning kan tage længere tid, før afhængigheder cachelagres, efterfølgende bygninger vil være hurtigere. Derudover, hvis du har brug for at angive forskellige argumenter til bygge-kommandoen, kan du gøre det i slutningen af kommandoen i `<VALGFRI-ARGS>`-positionen. For eksempel, hvis du ville bygge en optimeret udgivelsesversion, ville du køre kommandoen ovenfor efterfulgt af `--release`. Den resulterende eksekverbare vil være tilgængelig i målmappen på dit system og kan køres med:
```sh
target/debug/rustdesk
```
Eller, hvis du kører en udgivelses eksekverbar:
```sh
target/release/rustdesk
```
Sørg for, at du kører disse kommandoer fra roden af RustDesk-lageret, ellers kan applikationen muligvis ikke finde de nødvendige ressourcer. Bemærk også, at andre cargo underkommandoer såsom 'install' eller 'run' i øjeblikket ikke understøttes via denne metode, da de ville installere eller køre programmet inde i containeren i stedet for værten.
## Filstruktur
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: video codec, config, tcp/udp wrapper, protobuf, fs funktioner til filoverførsel og nogle andre hjælpefunktioner
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: Skærmbillede
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: platform specifik tastatur/mus kontrol
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: lyd/udklipsholder/input/videotjenester og netværksforbindelser
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: starte en peer-forbindelse
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Kommuniker med [rustdesk-server](https://github.com/rustdesk/rustdesk-server), vent på direkte fjernforbindelse (TCP-hulning) eller relæforbindelse
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: Javascript til Flutter webklient
## Skærmbilleder
![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)
+164
View File
@@ -0,0 +1,164 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#kostenlose-öffentliche-server">Server</a> •
<a href="#die-groben-schritte-zum-kompilieren">Kompilieren</a> •
<a href="#auf-docker-kompilieren">Docker</a> •
<a href="#dateistruktur">Dateistruktur</a> •
<a href="#screenshots">Screenshots</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-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>]<br>
<b>Wir brauchen deine Hilfe um diese README Datei zu verbessern und aktualisieren</b>
</p>
Rede mit uns: [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)
Das hier ist ein Programm was, man nutzen kann, um einen Computer fernzusteuern, es wurde in Rust geschrieben. Es funktioniert ohne Konfiguration oder ähnliches, man kann es einfach direkt nutzen. Du hast volle Kontrolle über deine Daten und brauchst dir daher auch keine Sorgen um die Sicherheit dieser Daten zu machen. Du kannst unseren Rendezvous/Relay Server nutzen, [einen eigenen Server eröffnen](https://rustdesk.com/server) oder [einen neuen eigenen Server programmieren](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk heißt jegliche Mitarbeit willkommen. Schau dir [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) an, wenn du Hilfe brauchst für den Start.
[**PROGRAMM DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## Kostenlose öffentliche Server
Hier sind die Server, die du kostenlos nutzen kannst, es kann sein das sich diese Liste immer mal wieder ändert. Falls du nicht in der Nähe einer dieser Server bist, kann es sein, dass deine Verbindung langsam sein wird.
| Standort | Serverart | Spezifikationen | Kommentare |
| --------- | ------------- | ------------------ | ---------- |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM | |
| Singapore | Vultr | 1 VCPU / 1GB RAM | |
| Dallas | Vultr | 1 VCPU / 1GB RAM | |
| Germany | Codext | 2 VCPU / 4GB RAM |
| Germany | Hetzner | 4 VCPU / 8GB RAM |
## Abhängigkeiten
Die Desktop-Versionen nutzen [Sciter](https://sciter.com/) für die Oberfläche, bitte lade die dynamische Sciter Bibliothek selbst herunter.
[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)
## Die groben Schritte zum Kompilieren
- Bereite deine Rust Entwicklungsumgebung und C++ Entwicklungsumgebung vor
- Installiere [vcpkg](https://github.com/microsoft/vcpkg) und füge die `VCPKG_ROOT` Systemumgebungsvariable hinzu
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static`
- Linux/MacOS: `vcpkg install libvpx libyuv opus`
- Nutze `cargo run`
## Kompilieren auf 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
```
### 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 installieren
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### libvpx reparieren (Für Fedora)
```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
```
### Kompilieren
```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
cargo run
```
### Ändere Wayland zu X11 (Xorg)
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 Session zu nutzen.
## Auf Docker Kompilieren
Beginne damit das Repository zu klonen und den Docker Container zu bauen:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Jedes Mal, wenn du das Programm Kompilieren musst, nutze diesen Befehl:
```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
```
Bedenke, dass das erste Mal Kompilieren länger dauern kann, da die Abhängigkeiten erst kompiliert werden müssen bevor sie zwischengespeichert werden können. Darauf folgende Kompiliervorgänge werden schneller sein. Falls du zusätzliche oder andere Argumente für den Kompilierbefehl angeben musst, kannst du diese am Ende des Befehls an der `<OPTIONAL-ARGS>` Position machen. Wenn du zum Beispiel eine optimierte Releaseversion kompilieren willst, kannst du das tun, indem du `--release` am Ende des Befehls anhängst. Das daraus entstehende Programm kannst du im “target” Ordner auf deinem System finden. Du kannst es mit folgenden Befehlen ausführen:
```sh
target/debug/rustdesk
```
Oder, wenn du eine Releaseversion benutzt:
```sh
target/release/rustdesk
```
Bitte gehe sicher, dass du diese Befehle vom Stammverzeichnis vom RustDesk Repository nutzt, sonst kann es passieren, dass das Programm die Ressourcen nicht finden kann. Bitte bedenke auch, dass Unterbefehle von Cargo, wie z. B. `install` oder `run` aktuell noch nicht unterstützt werden, da sie das Programm innerhalb des Containers starten oder installieren würden, anstatt auf deinem eigentlichen System.
## Dateistruktur
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: Video Codec, Konfiguration, TCP/UDP Wrapper, Protokoll Puffer, fs Funktionen für Dateitransfer, und ein paar andere nützliche Funktionen
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: Bildschirmaufnahme
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: Plattformspezifische Maus und Tastatur Steuerung
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: Audio/Zwischenablage/Eingabe/Videodienste und Netzwerk Verbindungen
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: Starten einer Peer-Verbindung
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Mit [rustdesk-server](https://github.com/rustdesk/rustdesk-server) kommunizieren, für Verbindung von außen warten, direkt (TCP hole punching) oder weitergeleitet
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: Plattformspezifischer Code
## Screenshots
![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)
+161
View File
@@ -0,0 +1,161 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#senpagaj-publikaj-serviloj">Serviloj</a> •
<a href="#paŝoj-por-kompili">Kompili</a> •
<a href="#kiel-kompili-kun-docker">Docker</a> •
<a href="#dosierstrukturo">Strukturo</a> •
<a href="#ekrankopio">Ekrankopio</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-KR.md">한국어</a>] | [<a href="README-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>]<br>
<b>Ni bezonas helpon traduki tiun README kaj <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">la interfacon</a> al via denaska lingvo</b>
</p>
Babili kun ni: [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)
Denove alia fora labortabla programo, skribita en Rust. Ĝi funkcias elskatole, ne bezonas konfiguraĵon. Vi havas la tutan kontrolon sur viaj datumoj, sen zorgo pri sekureco. Vi povas uzi nian servilon rendezvous/relajsan, [agordi vian propran](https://rustdesk.com/server), aŭ [skribi vian propran servilon rendezvous/relajsan](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk bonvenigas kontribuon de ĉiuj. Vidu [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) por helpo komenci.
[**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 |
| --------- | ------------- | ------------------ |
| Seulo | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapuro | Vultr | 1 VCPU / 1GB RAM |
| Dalaso | Vultr | 1 VCPU / 1GB RAM | |
## Dependantaĵoj
La labortabla versio uzas [sciter](https://sciter.com/) por la interfaco, bonvolu elŝuti la bibliotekon dinamikan 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)
## Paŝoj por kompili
- Preparu vian medion de programado Rust kaj vian medion de kompilado C++
- Instalu [vcpkg](https://github.com/microsoft/vcpkg), kaj agordu la medivariablon `VCPKG_ROOT` korekte
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Plenumu `cargo run`
## Kiel kompili sur Linukso
### 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
```
### 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
```
### Instali vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Ripari libvpx (Por Fedora)
```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
```
### Kompili
```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
```
### Ŝ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:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Tiam, ĉiuj fojoj, kiuj vi bezonas kompili la programon, plenumu tiun komandon:
```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
```
Notu, ke la unua kompilado povas daŭri longe, antaŭ ke la dependantaĵoj estu kaŝitaj, sekvaj kompiladoj estos pli rapidaj. Aldone, se vi bezonas specifi diferentajn argumentojn por la kompilkomando, vi povas fari ĝin en la fine de la komando, en la posicio `<OPTIONAL-ARGS>`. Ekzemple, se vi volas kompili version de eldono optimigita, vi plenumus la komandon supre, kun `--release`. La plenumebla dosiero disponeblos en la cela dosierujo sur via sistemo, kaj povos esti plenumita kun:
```sh
target/debug/rustdesk
```
Aŭ, se vi plenumas eldonan plenumeblan dosieron:
```sh
target/release/rustdesk
```
Bonvolu certigi, ke vi plenumas tiujn komandojn el la radiko de la deponejo RustDesk, alie la programo povus esti nekapabla de trovi la devigajn resursojn. Ankaŭ notu, ke la aliaj subkomandoj de cargo kiel `install``run` momente ne estas subtenitaj per tiu metodo, ĉar instalus aŭ plenumus la programon en la kontenero anstataŭ de la gastiganto.
## Dosierstrukturo
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: videa kodeko, agordado, kovrilo tcp/udp, protobuf, funkcioj fs por dosiertransigo, kaj aliaj utilaĵaj funkcioj
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: ekrankaptado
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: operaciumspecifa kontrolo de klavaro/muso
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: interfaco
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: aŭdio/poŝo/enigo/videa servoj, kaj retkonektoj
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: starti konekto kun samtavolo
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: komuniki kun [rustdesk-server](https://github.com/rustdesk/rustdesk-server), atendi foran direktan (TCP hole punching) aŭ relajsatan konekton
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: operaciumspecifa kodo
## Ekrankopio
![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)
+197
View File
@@ -0,0 +1,197 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#servidores-gratis-de-uso-público">Servidores</a> •
<a href="#pasos-para-compilar-desde-el-inicio">Compilar</a> •
<a href="#como-compilar-con-docker">Docker</a> •
<a href="#estructura-de-archivos">Estructura</a> •
<a href="#capturas-de-pantalla">Capturas de pantalla</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-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>]<br>
<b>Necesitamos tu ayuda para traducir este README a tu idioma</b>
</p>
Chatea con nosotros: [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)
Otro software de escritorio remoto, escrito en Rust. Funciona de forma inmediata, sin necesidad de configuración. Tienes el control total de tus datos, sin preocupaciones sobre la seguridad. Puedes utilizar nuestro servidor de rendezvous/relay, [instalar el tuyo](https://rustdesk.com/server), o [escribir tu propio servidor rendezvous/relay](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk agradece la contribución de todo el mundo. Lee [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) para ayuda para empezar.
[**¿Cómo funciona rustdesk?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**DESCARGA DE BINARIOS**](https://github.com/rustdesk/rustdesk/releases)
[<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)
## 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 |
| --------- | ------------- | ------------------ |
| Seúl | AWS lightsail | 1 vCPU / 0.5GB RAM |
| Singapur | Vultr | 1 vCPU / 1GB RAM |
| Alemania | Hetzner | 2 vCPU / 4GB RAM |
| Alemania | Codext | 4 vCPU / 8GB RAM |
## Dependencias
La versión Desktop usa [Sciter](https://sciter.com/) o Flutter para el GUI, este tutorial es solo para Sciter.
Por favor descarga la librería dinámica de Sciter tu mismo.
[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)
## Pasos para compilar desde el inicio
- Prepara el entorno de desarrollo de Rust y el entorno de compilación de C++ y Rust.
- Instala [vcpkg](https://github.com/microsoft/vcpkg), y configura la variable de entono `VCPKG_ROOT` correctamente.
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/Osx: vcpkg install libvpx libyuv opus
- Corre `cargo run`
## Como compilar en 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
```
### 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
```
### Instala vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Arregla libvpx (Para Fedora)
```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
```
### Compila
```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
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:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Entonces, cada vez que necesites compilar una modificación, ejecuta el siguiente comando:
```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
```
Ten en cuenta que la primera compilación puede tardar más tiempo antes de que las dependencias se almacenen en la caché, las siguientes compilaciones serán más rápidas. Además, si necesitas especificar diferentes argumentos al comando de compilación, puedes hacerlo al final del comando en la posición `<OPTIONAL-ARGS>`. Por ejemplo, si deseas compilar una versión optimizada para publicación, deberas ejecutar el comando anterior seguido de `--release`. El ejecutable resultante estará disponible en la carpeta de destino en tu sistema, y puede ser ejecutado con:
```sh
target/debug/rustdesk
```
O si estas ejecutando una versión para su publicación:
```sh
target/release/rustdesk
```
Por favor, asegurate de que estás ejecutando estos comandos desde la raíz del repositorio de RustDesk, de lo contrario la aplicación puede ser incapaz de encontrar los recursos necesarios. También ten en cuenta que otros subcomandos de cargo como `install` o `run` no estan actualmente soportados usando este metodo, ya que instalarían o ejecutarían el programa dentro del contenedor en lugar del host.
## Estructura de archivos
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: codec de video, configuración, tcp/udp wrapper, protobuf, funciones para transferencia de archivos, y otras funciones de utilidad.
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: captura de pantalla
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: control del teclado/mouse especificos de cada plataforma
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: sonido/portapapeles/input/servicios de video, y conexiones de red
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: iniciar una conexión "peer to peer"
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Comunicación con [rustdesk-server](https://github.com/rustdesk/rustdesk-server), esperar la conexión remota directa ("TCP hole punching") o conexión indirecta ("relayed")
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: código específico de cada plataforma
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Flutter, código para moviles
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript para el cliente web Flutter
## Capturas de pantalla
![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)
+174
View File
@@ -0,0 +1,174 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a dir="rtl" href="#اسکرین-شات-ها">اسنپ شات</a> •
<a dir="rtl" href="#ساختار-پوشه-ها">ساختار</a> •
<a dir="rtl" href="#نحوه-ساخت-با-داکر">داکر</a> •
<a dir="rtl" href="#ساخت">ساخت</a> •
<a dir="rtl" href="#سرورهای-عمومی-رایگان">سرور</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-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>]<br>
&#x202b;<b>برای ترجمه این <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang"> RustDesk UI</a> ،README و <a href="https://github.com/rustdesk/doc.rustdesk.com">Doc</a> به زبان مادری شما به کمکتون نیاز داریم
</p>
با ما گپ بزنید: [Reddit](https://www.reddit.com/r/rustdesk) | [Twitter](https://twitter.com/rustdesk) | [Discord](https://discord.gg/nDceKgxnkV)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
یک نرم افزار دیگر کنترل دسکتاپ از راه دور، که با Rust نوشته شده است. راه اندازی سریع وبدون نیاز به تنظیمات. شما کنترل کاملی بر داده های خود دارید، بدون هیچ گونه نگرانی امنیتی.
می‌توانید از سرور rendezvous/relay ما استفاده کنید، [سرور خودتان را راه‌اندازی کنید](https://rustdesk.com/server) یا
[ سرورrendezvous/relay خود را بنویسید](https://github.com/rustdesk/rustdesk).
&#x202b;راست دسک (RustDesk) از مشارکت همه استقبال می کند. برای راهنمایی جهت مشارکت به [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) مراجعه کنید.
[راست دسک چطور کار می کند؟](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[دانلود باینری](https://github.com/rustdesk/rustdesk/releases)
## سرورهای عمومی رایگان
سرورهایی زیر را به صورت رایگان میتوانید استفاده می کنید. این لیست ممکن است در طول زمان تغییر کند. اگر به این سرورها نزدیک نیستید، ممکن است سرویس شما کند شود.
| موقعیت | سرویس دهنده | مشخصات |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM | |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## وابستگی ها
نسخه‌های دسکتاپ از [sciter](https://sciter.com/) برای رابط کاربری گرافیکی استفاده می‌کنند، لطفا کتابخانه پویا sciter را خودتان دانلود کنید.
[ویندوز](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll) |
[لینوکس](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so) |
[مک](https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.osx/libsciter.dylib)
نسخه های موبایل از Flutter استفاده می کنند. بعداً نسخه دسکتاپ را از Sciter به Flutter منتقل خواهیم کرد.
## مراحل بنیادین برای ساخت
&#x202b;- محیط توسعه نرم افزار Rust و محیط ساخت ++C خود را آماده کنید
&#x202b;- نرم افزار [vcpkg](https://github.com/microsoft/vcpkg) را نصب کنید و متغیر `VCPKG_ROOT` را به درستی تنظیم کنید:
- Windows: `vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static`
- Linux/MacOS: `vcpkg install libvpx libyuv opus`
- run `cargo run`
## [ساخت](https://rustdesk.com/docs/en/dev/build/)
## نحوه ساخت بر روی لینوکس
### ساخت بر روی (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
```
### ساخت بر روی (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 را نصب کنید
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### رفع ایراد libvpx (برای فدورا)
```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
```
### ساخت
```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
```
### تغییر Wayland به (X11 (Xorg
راست دسک از Wayland پشتیبانی نمی کند. برای جایگزنی Xorg به عنوان پیش‌فرض GNOM، [اینجا](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) را کلیک کنید.
## نحوه ساخت با داکر
این مخزن گیت را کلون کنید و کانتینر را به روش زیر بسازید
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
توجه داشته باشید که ساخت اول ممکن است قبل از کش شدن وابستگی ها بیشتر طول بکشد، دفعات بعدی سریعتر خواهند بود. علاوه بر این، اگر نیاز به تعیین آرگومان های مختلف برای دستور ساخت دارید، می توانید این کار را در انتهای دستور ساخت و از طریق `<OPTIONAL-ARGS>` انجام دهید. به عنوان مثال، اگر می خواهید یک نسخه نهایی بهینه سازی شده ایجاد کنید، دستور بالا را تایپ کنید و در انتها `release--` را اضافه کنید. فایل اجرایی به دست آمده در پوشه مقصد در سیستم شما در دسترس خواهد بود و می تواند با دستور:
```sh
target/debug/rustdesk
```
یا برای نسخه بهینه سازی شده دستور زیر را اجرا کنید:
```sh
target/release/rustdesk
```
لطفاً اطمینان حاصل کنید که این دستورات را از پوشه مخزن RustDesk اجرا می کنید، در غیر این صورت ممکن است برنامه نتواند منابع مورد نیاز را پیدا کند. همچنین توجه داشته باشید که سایر دستورات فرعی Cargo مانند `install` یا `run` در حال حاضر از طریق این روش پشتیبانی نمی شوند زیرا برنامه به جای سیستم عامل میزبان, در داخل کانتینر نصب و اجرا میشود.
## ساختار پوشه ها
- **[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
- **[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/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript for Flutter web client
## اسکرین شات ها
![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)
+163
View File
@@ -0,0 +1,163 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Etätyöpöytäsi"><br>
<a href="#free-public-servers">Palvelimet</a> •
<a href="#raw-steps-to-build">Rakenna</a> •
<a href="#how-to-build-with-docker">Docker</a> •
<a href="#file-structure">Rakenne</a> •
<a href="#snapshot">Tilannevedos</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-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>]<br>
<b>Tarvitsemme apua tämän README-tiedoston kääntämiseksi äidinkielellesi</b>
</p>
Juttele meidän kanssa: [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)
Vielä yksi etätyöpöytäohjelmisto, ohjelmoitu Rust-kielellä. Toimii suoraan pakkauksesta, ei tarvitse asetusta. Hallitset täysin tietojasi, ei tarvitse murehtia turvallisuutta. Voit käyttää meidän rendezvous/relay-palvelinta, [aseta omasi](https://rustdesk.com/server), tai [kirjoittaa oma rendezvous/relay-palvelin](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk toivottaa avustukset tervetulleiksi kaikilta. Katso lisätietoja [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) avun saamiseksi.
[**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 |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM | |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Riippuvuudet
Desktop-versiot käyttävät [sciter](https://sciter.com/) graafisena käyttöliittymänä, lataa sciter-dynaaminen kirjasto itsellesi.
[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)
## Rakentamisaskeleet harppoen
- Valmistele Rust-kehitysympäristö ja C++-rakentamisympäristö
- Asenna [vcpkg](https://github.com/microsoft/vcpkg), ja aseta `VCPKG_ROOT`-ympäristömuuttuja oikein
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- suorita `cargo run`
## Kuinka rakentaa Linux:issa
### 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
```
### 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
```
### Asenna vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Korjaa libvpx (Fedora)
```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
```
### Rakenna
```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
```
### 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ö:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Sitten, joka kerta kun sinun on rakennettava sovellus, suorita seuraava komento:
```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
```
Huomaa, että ensimmäinen rakentaminen saattaa kestää pitempään ennen kuin riippuvuudet on siirretty välimuistiin, seuraavat rakentamiset ovat nopeampia. Lisäksi, jos sinun on määritettävä eri väittämiä rakentamiskomennolle, saatat tehdä sen niin, että komennon lopussa <OPTIONAL-ARGS>`-kohdassa. Esimerkiksi, jos haluat rakentaa optimoidun julkaisuversion, sinun on ajettava komento yllä siten, että sitä seuraa väittämä`--release`. Suoritettava tiedosto on saatavilla järjestelmäsi kohdehakemistossa, ja se voidaan suorittaa seuraavan kera:
```sh
target/debug/rustdesk
```
Tai, jos olet suorittamassa jakeluversion suoritettavaa tiedostoa:
```sh
target/release/rustdesk
```
Varmista, että suoritat näitä komentoja RustDesktop-tietovaraston juurihakemistossa, muutoin sovellus ei ehkä löydä vaadittuja resursseja. Huomaa myös, että muita cargo-alikomentoja kuten `install` tai `run` ei nykyisin tueta tässä menetelmässä, koska ne asentavat tai suorittavat ohjelman säiliön sisällä eikä isäntäohjelman sisällä.
## Tiedostorakenne
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: video codec, config, tcp/udp wrapper, protobuf, fs-funktiot tiedostosiirtoon, ja jotkut muut apuohjelmafunktiot
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: näyttökaappaukset
- **[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)**: Graafinen käyttöliittymä
- **[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
## Tilannekuvat
![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)
+162
View File
@@ -0,0 +1,162 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#serveurs-publics-libres">Serveurs</a> -
<a href="#étapes-brutes-de-la-compilationbuild">Build</a> -
<a href="#comment-construire-avec-docker">Docker</a> -
<a href="#structure-du-projet">Structure</a> -
<a href="#images">Images</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-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>]<br>
<b>Nous avons besoin de votre aide pour traduire ce README dans votre langue maternelle</b>.
</p>
Chattez avec nous : [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)
Encore un autre logiciel de bureau à distance, écrit en Rust. Fonctionne directement, aucune configuration n'est nécessaire. Vous avez le contrôle total de vos données, sans aucun souci de sécurité. Vous pouvez utiliser notre serveur de rendez-vous/relais, [configurer le vôtre](https://rustdesk.com/server), ou [écrire votre propre serveur de rendez-vous/relais](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk accueille les contributions de tout le monde. Voir [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) pour plus d'informations.
[**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.
- Séoul, AWS lightsail, 1 VCPU/0.5G RAM
- Singapour, Vultr, 1 VCPU/1G RAM
- Dallas, Vultr, 1 VCPU/1G RAM
- Germany, Codext, 2 VCPU / 4GB RAM
- Germany, Hetzner, 4 VCPU / 8GB 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.
[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)
## Étapes brutes de la compilation/build
- Préparez votre environnement de développement Rust et votre environnement de compilation C++.
- Installez [vcpkg](https://github.com/microsoft/vcpkg), et définissez correctement la variable d'environnement `VCPKG_ROOT`.
- Windows : vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/Osx : vcpkg install libvpx libyuv opus
- Exécuter `cargo run`
## Comment compiler/build sous 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
```
### 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
```
### Installer vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Corriger libvpx (Pour Fedora)
```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
```
### Construire
```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 cible/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
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 :
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Ensuite, chaque fois que vous devez compiler le logiciel, exécutez la commande suivante :
```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
```
Notez que la première compilation peut prendre plus de temps avant que les dépendances ne soient mises en cache, les compilations suivantes seront plus rapides. De plus, si vous devez spécifier différents arguments à la commande de compilation, vous pouvez le faire à la fin de la commande à la position `<OPTIONAL-ARGS>`. Par exemple, si vous voulez compiler une version de release optimisée, vous devez exécuter la commande ci-dessus suivie de `--release`. L'exécutable résultant sera disponible dans le dossier cible sur votre système, et peut être lancé avec :
```sh
target/debug/rustdesk
```
Ou, si vous exécutez un exécutable provenant d'une release :
```sh
target/release/rustdesk
```
Veuillez vous assurer que vous exécutez ces commandes à partir de la racine du dépôt RustDesk, sinon l'application ne pourra pas trouver les ressources requises. Notez également que les autres sous-commandes de cargo telles que `install` ou `run` ne sont pas actuellement supportées par cette méthode car elles installeraient ou exécuteraient le programme à l'intérieur du conteneur au lieu de l'hôte.
## Structure du projet
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)** : codec vidéo, config, wrapper tcp/udp, protobuf, fonctions fs pour le transfert de fichiers, et quelques autres fonctions utilitaires.
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)** : capture d'écran
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)** : contrôle clavier/souris spécifique à la plate-forme
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)** : interface graphique
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)** : services audio/clipboard/input/vidéo, et connexions réseau
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)** : démarrer une connexion entre pairs
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)** : Communiquer avec [rustdesk-server](https://github.com/rustdesk/rustdesk-server), attendre une connexion distante directe (TCP hole punching) ou relayée.
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)** : code spécifique à la plateforme
## Images
![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)
+178
View File
@@ -0,0 +1,178 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#ingyenes-publikus-szerverek">Szerverek</a> •
<a href="#építési-pontok">Építés</a> •
<a href="#hogyan-éptís-dockerrel">Docker</a> •
<a href="#fájl-struktúra">Struktúra</a> •
<a href="#képernyőképek">Képernyőképek</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-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>]<br>
<b>Kell a segítséged, hogy lefordítsuk ezt a README-t, <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">a RustDesk UI-t</a> és a <a href="https://github.com/rustdesk/doc.rustdesk.com">Dokumentációt</a> az anyanyelvedre</b>
</p>
Beszélgess velünk: [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)
A RustDesk egy távoli elérésű asztali szoftver, Rust-ban írva. Működik mindenféle konfiguráció nélkül, feltelepítéssel, vagy anélkül. Az adataidat teljesen te kezeled, nincs szükség aggódásra a harmadik felek miatt. Használhatod a RustDesk punblikus randevú/relay szervereit, [hostolhatsz sajátot](https://rustdesk.com/server), vagy akár [írhatsz is egyet](https://github.com/rustdesk/rustdesk-server-demo).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
A RustDesk szívesen fogad minden contributiont, támogatást mindenkitől. Lásd a [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) fájlt a kezdéshez.
[**Hogyan működik a RustDesk?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**BINARY LELTÖLTÉS**](https://github.com/rustdesk/rustdesk/releases)
[<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)
## 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ó |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM | |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB 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.
[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)
A telefonos verziók Flutter-t hasznának. Később lehetséges hogy Sciterről Flutterre migrálunk az asztali verziókban is.
## Építési pontok
- Készítsd elő a Rust, C++ fejlesztői környezetet (env)
- Telepítsd a [vcpkg](https://github.com/microsoft/vcpkg)-t, és állítsd be a `VCPKG_ROOT` környezeti változót helyesen
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Futtasd a `cargo run` parancsot
## [Építés](https://rustdesk.com/docs/hu/dev/build/)
## Hogyan építs Linuxon
### 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
```
### 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
```
### Telepítsd a vcpkg-t
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fixeld a libvpx-t (Fedora-n csak)
```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
```
### Építés
```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
```
### 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:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Ezután, minden egyes alkalommal amikor meg kell építened a RustDesk-et, futtasd a kövezkező parancsot:
```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
```
Fontos, hogy az első építés lehet hogy több ideig fog tartani mint a következőek, mivel a dependenciek még nincsenek cachelve. Emelett, ha esetleg szeretnél valamilyen argumentumot hozzáadni az építő parancshoz, akkor megteheted a paracssor végén, a `<OPTIONAL-ARGS>` argumentum használatával. Például ha egy optimalizált release éptést szeretnél megépíteni, akkor add hozzá a fenti parancsorhoz a `--release` opciót. A futtatható binary elérhető lesz a target mappában a rendszereden, futtatni a következőképpen tudod:
```sh
target/debug/rustdesk
```
Vagy ha release binary, akkor:
```sh
target/release/rustdesk
```
Kérlek mindenképpen nézd meg hogy ezeket a parancsokat a root RustDesk mappában futtatod e, különben a RustDesk lehet hogy nem fogja megtalálni az építéshez szükséges elemeket. Fontos az is, hogy jelenleg más cargo subparancsok, például `install`vagy `run` nem támogatottak, mivel egy Dockeres építés esetén elindítanák a programot a containeren belül.
## Fájl Struktúra
- **[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
- **[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/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript for Flutter web client
## Képernyőképek
![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)
+163
View File
@@ -0,0 +1,163 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><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-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>]<br>
<b>Kami membutuhkan bantuan Anda untuk menerjemahkan README ini dan <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> ke bahasa asli anda</b>
</p>
Birbincang bersama kami: [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)
Perangkat lunak desktop jarak jauh lainnya, ditulis dengan Rust. Bekerja begitu saja, tidak memerlukan konfigurasi. Anda memiliki kendali penuh atas data Anda, tanpa khawatir tentang keamanan. Anda dapat menggunakan server rendezvous/relay kami, [konfigurasi server sendiri](https://rustdesk.com/server), or [tulis rendezvous/relay server anda sendiri](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk menyambut baik kontribusi dari semua orang. Lihat [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) untuk membantu sebelum memulai.
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## Publik Server Gratis
Di bawah ini adalah server yang bisa Anda gunakan secara gratis, dapat berubah seiring waktu. Jika Anda tidak dekat dengan salah satu dari ini, jaringan Anda mungkin lambat.
| Lokasi | Vendor | Spesifikasi |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Dependencies
Versi desktop menggunakan [sciter](https://sciter.com/) untuk GUI, silahkan download sendiri 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)
## Langkah untuk RAW Build
- Siapkan env pengembangan Rust dan C++ build env
- Install [vcpkg](https://github.com/microsoft/vcpkg), dan arahkan `VCPKG_ROOT` env variable dengan benar
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- jalankan `cargo run`
## Bagaimana Build di 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
```
### 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
```
### Install vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Perbaiki libvpx (Untuk Fedora)
```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
```
### Build
```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
```
### Ubah Wayland menjadi 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 GNOME default.
## Bagaimana build dengan Docker
Mulailah dengan mengkloning repositori dan build dengan docker container:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Kemudian, setiap kali Anda perlu build aplikasi, jalankan perintah berikut:
```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
```
Perhatikan bahwa build pertama mungkin memerlukan waktu lebih lama sebelum dependensi di-cache, build berikutnya akan lebih cepat. Selain itu, jika Anda perlu menentukan argumen yang berbeda untuk perintah build, Anda dapat melakukannya di akhir perintah di posisi `<OPTIONAL-ARGS>`. Misalnya, jika Anda ingin membangun versi rilis yang dioptimalkan, Anda akan menjalankan perintah di atas diikuti oleh `--release`. Hasil eksekusi akan tersedia pada target folder di sistem anda, dan dapat dijalankan dengan:
```sh
target/debug/rustdesk
```
Atau, jika Anda menjalankan rilis yang dapat dieksekusi:
```sh
target/release/rustdesk
```
Harap pastikan bahwa Anda menjalankan perintah ini dari root repositori RustDesk, jika tidak, aplikasi mungkin tidak dapat menemukan sumber daya yang diperlukan. Perhatikan juga perintah cargo seperti `install` atau `run` saat ini tidak didukung melalui metode ini karena mereka akan menginstal atau menjalankan program di dalam container bukan pada host.
## Struktur File
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: video codec, config, tcp/udp wrapper, protobuf, fs functions untuk transfer file, dan beberapa fungsi utilitas lainnya
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: screen capture
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: spesifikasi platform keyboard/mouse control
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: audio/clipboard/input/video services, dan 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)**: Komunikasi dengan [rustdesk-server](https://github.com/rustdesk/rustdesk-server), menunggu untuk remote direct (TCP hole punching) atau relayed connection
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: kode khusus platform
## Snapshots
![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)
+163
View File
@@ -0,0 +1,163 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#server-pubblici-gratuiti">Servers</a> •
<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">Screenshots</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>]<br>
<b>Abbiamo bisogno del tuo aiuto per tradurre questo README e la <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">RustDesk UI</a> nella tua lingua nativa</b>
</p>
Chatta con noi: [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)
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 utilizzare il nostro server rendezvous/relay, [configurare il tuo](https://rustdesk.com/server) o [scrivere il tuo rendezvous/relay server](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk accoglie il contributo di tutti. Per ulteriori informazioni su come inizare a contribuire, vedere [`docs/CONTRIBUTING.md`](CONTRIBUTING.md).
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## Server pubblici gratuiti
Qui sotto trovate i server che possono essere usati gratuitamente, la lista potrebbe cambiare nel tempo. Se non si è vicini a uno di questi server, la vostra connessione potrebbe essere lenta.
| Posizione | Vendor | Specifiche |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Dipendenze
La versione Desktop utilizza [sciter](https://sciter.com/) per la GUI, per favore scarica 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)
## Passaggi per la compilazione
- Prepara l'ambiente per lo sviluppo e compilazione in Rust e C++
- Installa [vcpkg](https://github.com/microsoft/vcpkg), e imposta correttamente la variabile d'ambiente `VCPKG_ROOT`
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Esegui `cargo run`
## Come compilare su 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
```
### 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
```
### Installare vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix libvpx (Per Fedora)
```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
```
### Compilazione
```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
```
### Cambiare Wayland a X11 (Xorg)
RustDesk non supporta Wayland. Controlla [questo](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) per configurare Xorg come sessione di default di GNOME.
## Come compilare con Docker
Cominciare clonando il repository e compilare i container docker:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Quindi, ogni volta che devi compilare l'applicazione, esegui il comando seguente:
```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
```
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 si desidera creare una versione di rilascio ottimizzata, eseguire il comando sopra seguito da `--release`. L'eseguibile generato sarà creato nella cartella di destinazione del proprio sistema e può essere eseguito con:
```sh
target/debug/rustdesk
```
Oppure, se si sta eseguendo un eseguibile di rilascio:
```sh
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. Notare 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)**: video codec, config, tcp/udp wrapper, protobuf, fs 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
- **[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)**: avviare 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/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: codice specifico della piattaforma
## Screenshots
![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)
+176
View File
@@ -0,0 +1,176 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><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>]<br>
<b>このREADMEをあなたの母国語に翻訳するために、あなたの助けが必要です。</b>
</p>
Chat with us: [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).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDeskは誰からの貢献も歓迎します。 貢献するには [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) を参照してください。
[**RustDeskはどの様に動くのか?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## 無料のパブリックサーバー
下記のサーバーは、無料で使用できますが、後々変更されることがあります。これらのサーバーから遠い場合、接続が遅い可能性があります。
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## 依存関係
デスクトップ版ではGUIに [sciter](https://sciter.com/) が使われています。 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へマイグレーション予定です。
## ビルド手順
- 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
- Linux/MacOS: vcpkg install libvpx libyuv opus
- run `cargo run`
## [Build](https://rustdesk.com/docs/en/dev/build/)
## 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
```
### 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
```
### Install vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix libvpx (For Fedora)
```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
```
### Build
```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
```
### Wayland の場合、X11Xorg)に変更します
RustDeskはWaylandをサポートしていません。
[こちら](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) を確認して、XorgをデフォルトのGNOMEセッションとして構成します。
## Dockerでビルドする方法
リポジトリのクローンを作成し、Dockerコンテナを構築することから始めます。
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
なお、最初のビルドでは、依存関係がキャッシュされるまで時間がかかることがありますが、その後のビルドではより速くなります。さらに、ビルドコマンドに別の引数を指定する必要がある場合は、コマンドの最後にある `<OPTIONAL-ARGS>` の位置で指定することができます。例えば、最適化されたリリースバージョンをビルドしたい場合は、上記のコマンドの後に
`--release` を実行します。できあがった実行ファイルは、システムのターゲット・フォルダに格納され、次のコマンドで実行できます。
```sh
target/debug/rustdesk
```
あるいは、リリース用の実行ファイルを実行している場合:
```sh
target/release/rustdesk
```
これらのコマンドをRustDeskリポジトリのルートから実行していることを確認してください。そうしないと、アプリケーションが必要なリソースを見つけられない可能性があります。また、 `install``run` などの他の cargo サブコマンドは、ホストではなくコンテナ内にプログラムをインストールまたは実行するため、現在この方法ではサポートされていないことに注意してください。
## File Structure
- **[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)**: オーディオ/クリップボード/入力/ビデオサービス、ネットワーク接続
- **[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/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: プラットフォーム固有のコード
## Snapshot
![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)
+175
View File
@@ -0,0 +1,175 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><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-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-AR.md">العربي</a>] | [<a href="README-VN.md">Tiếng Việt</a>]<br>
<b>README를 모국어로 번역하기 위한 당신의 도움의 필요합니다.</b>
</p>
Chat with us: [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로 작성되었고, 설정없이 바로 사용할 수 있는 원격 데스트탑 소프트웨어입니다. 자신의 데이터를 완전히 컨트롤할 수 있고, 보안의 염려도 없습니다. 우리의 rendezvous/relay 서버를 사용해도, [스스로 설정](https://rustdesk.com/server)하는 것도, [스스로 rendezvous/relay 서버를 작성할 수도 있습니다](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는 어떻게 작동하는가?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## 무료 퍼블릭 서버
표에 있는 서버는 무료로 사용할 수 있지만 추후 변경될 수도 있습니다. 이 서버에서 멀다면, 네트워크가 느려질 가능성도 있습니다.
| Location | Vendor | Specification |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## 의존관계
데스크탑판에는 GUI에 [sciter](https://sciter.com/)가 사용되었습니다. 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로 마이그레이션할 예정입니다.
## 빌드 순서
- 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
- Linux/MacOS: vcpkg install libvpx libyuv opus
- run `cargo run`
## [Build](https://rustdesk.com/docs/en/dev/build/)
## 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
```
### 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
```
### Install vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix libvpx (For Fedora)
```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
```
### Build
```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
```
### Wayland 일 경우, X11(Xorg)로 변경
RustDesk는 Wayland를 지원하지 않습니다. [링크](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/)를 확인해서 Xorg 기본값의 GNOME 세션을 구성합니다.
## Docker에 빌드하는 방법
레포지토리를 클론하고, Docker 컨테이너 구성하는 것으로 시작합니다.
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
첫 빌드에서는 의존관계가 캐시될 때까지 시간이 걸릴 수 있습니다만, 이후의 빌드때는 빨라집니다. 더불어 빌드 커맨드에 다른 인수를 지정할 필요가 있다면, 커맨드 끝에 있는 `<OPTIONAL-ARGS>` 에 지정할 수 있습니다. 예를 들어 최적화된 출시 버전을 빌드하고 싶다면 이렇게 상기한 커맨드 뒤에 `--release` 를 붙여 실행합니다. 성공했다면 실행파일은 시스템 타겟 폴더에 담겨지고, 다음 커맨드로 실행할 수 있습니다.
```sh
target/debug/rustdesk
```
혹은 출시용 실행 파일을 실행할 수도 있습니다.
```sh
target/release/rustdesk
```
커맨드를 RustDesk 리포지토리 루트에서 실행한다는 것을 확인해주세요. 그렇게 하지 않으면 애플리케이션이 필요한 리소스를 발견하지 못 할 가능성이 있습니다. 또한 `install`, `run` 같은 cargo 서브커맨드는 호스트가 아니라 컨테이너 프로그램을 설치, 실행을 위함이므로 현재 이 방법은 지원하지 않다는 점을 유념해주시길 바랍니다.
## File Structure
- **[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)**: 오디오, 클립보드, 입력, 비디오 서비스 그리고 네트워크 연결
- **[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) 혹은 relayed 접속
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: 플랫폼 고유의 코드
- **[flutter](https://github.com/rustdesk/rustdesk/tree/master/flutter)**: Flutter code for mobile
- **[flutter/web/js](https://github.com/rustdesk/rustdesk/tree/master/flutter/web/js)**: Javascript for Flutter web client
## Snapshot
![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)
+163
View File
@@ -0,0 +1,163 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><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-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>]<br>
<b>ഈ README നിങ്ങളുടെ മാതൃഭാഷയിലേക്ക് വിവർത്തനം ചെയ്യാൻ ഞങ്ങൾക്ക് നിങ്ങളുടെ സഹായം ആവശ്യമാണ്</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)
റസ്റ്റിൽ എഴുതിയ മറ്റൊരു റിമോട്ട് ഡെസ്ക്ടോപ്പ് സോഫ്റ്റ്‌വെയർ. ബോക്‌സിന് പുറത്ത് പ്രവർത്തിക്കുന്നു, കോൺഫിഗറേഷൻ ആവശ്യമില്ല. സുരക്ഷയെക്കുറിച്ച് ആശങ്കകളൊന്നുമില്ലാതെ, നിങ്ങളുടെ ഡാറ്റയുടെ പൂർണ്ണ നിയന്ത്രണം നിങ്ങൾക്കുണ്ട്. നിങ്ങൾക്ക് ഞങ്ങളുടെ rendezvous/relay സെർവർ ഉപയോഗിക്കാം, [സ്വന്തമായി സജ്ജീകരിക്കുക](https://rustdesk.com/server), അല്ലെങ്കിൽ [നിങ്ങളുടെ സ്വന്തം rendezvous/relay സെർവർ എഴുതുക](https://github.com/rustdesk/rustdesk-server-demo).
എല്ലാവരുടെയും സംഭാവനയെ RustDesk സ്വാഗതം ചെയ്യുന്നു. ആരംഭിക്കുന്നതിനുള്ള സഹായത്തിന് [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) കാണുക.
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## സൗജന്യ പൊതു സെർവറുകൾ
നിങ്ങൾ സൗജന്യമായി ഉപയോഗിക്കുന്ന സെർവറുകൾ ചുവടെയുണ്ട്, അത് സമയത്തിനനുസരിച്ച് മാറിയേക്കാം. നിങ്ങൾ ഇവയിലൊന്നിനോട് അടുത്തല്ലെങ്കിൽ, നിങ്ങളുടെ നെറ്റ്‌വർക്ക് സ്ലോ ആയേക്കാം.
| സ്ഥാനം | കച്ചവടക്കാരൻ | വിവരണം |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## ഡിപെൻഡൻസികൾ
ഡെസ്‌ക്‌ടോപ്പ് പതിപ്പുകൾ GUI-യ്‌ക്കായി [sciter](https://sciter.com/) ഉപയോഗിക്കുന്നു, ദയവായി സ്‌സൈറ്റർ ഡൈനാമിക് ലൈബ്രറി സ്വയം ഡൗൺലോഡ് ചെയ്യുക.
[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)
## നിർമ്മിക്കാനുള്ള അസംസ്കൃത പടികൾ
- നിങ്ങളുടെ Rust development envയും and C++ build envയും തയ്യാറാക്കുക
- [vcpkg](https://github.com/microsoft/vcpkg) ഇൻസ്റ്റാൾ ചെയ്ത് `VCPKG_ROOT` env വേരിയബിൾ ശരിയായി സജ്ജമാക്കുക
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- run `cargo run`
## ലിനക്സിൽ എങ്ങനെ നിർമ്മിക്കാം
### ഉബുണ്ടു 18 (ഡെബിയൻ 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
```
### ഫെഡോറ 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
```
### ആർച് (മഞ്ചാരോ)
```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 ഇൻസ്റ്റാൾ ചെയ്യുക
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### libvpx പരിഹരിക്കുക (ഫെഡോറയ്ക്ക്)
```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
```
### നിർമാണം
```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
```
### വേലാൻഡ് X11 (Xorg) ആയി മാറ്റുക
RustDesk Wayland-നെ പിന്തുണയ്ക്കുന്നില്ല. സ്ഥിരസ്ഥിതി ഗ്നോം സെഷനായി Xorg കോൺഫിഗർ ചെയ്യുന്നതിന് [ഇത്](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) പരിശോധിക്കുക.
## ഡോക്കർ ഉപയോഗിച്ച് എങ്ങനെ നിർമ്മിക്കാം
റെപ്പോസിറ്റോറി ക്ലോണുചെയ്‌ത് ഡോക്കർ കണ്ടെയ്‌നർ നിർമ്മിക്കുന്നതിലൂടെ ആരംഭിക്കുക:
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
ഡിപൻഡൻസികൾ കാഷെ ചെയ്യുന്നതിനുമുമ്പ് ആദ്യ ബിൽഡ് കൂടുതൽ സമയമെടുത്തേക്കാം, തുടർന്നുള്ള ബിൽഡുകൾ വേഗത്തിലാകും. കൂടാതെ, നിങ്ങൾക്ക് ബിൽഡ് കമാൻഡിലേക്ക് വ്യത്യസ്ത ആർഗ്യുമെന്റുകൾ വ്യക്തമാക്കണമെങ്കിൽ, കമാൻഡിന്റെ അവസാനം `<OPTIONAL-ARGS>` സ്ഥാനത്ത് നിങ്ങൾക്ക് അങ്ങനെ ചെയ്യാം. ഉദാഹരണത്തിന്, നിങ്ങൾ ഒരു ഒപ്റ്റിമൈസ് ചെയ്ത റിലീസ് പതിപ്പ് നിർമ്മിക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, മുകളിലുള്ള കമാൻഡ് തുടർന്ന് `--release` നിങ്ങൾ പ്രവർത്തിപ്പിക്കും. തത്ഫലമായുണ്ടാകുന്ന എക്സിക്യൂട്ടബിൾ നിങ്ങളുടെ സിസ്റ്റത്തിലെ ടാർഗെറ്റ് ഫോൾഡറിൽ ലഭ്യമാകും, കൂടാതെ ഇത് ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കാം:
```sh
target/debug/rustdesk
```
അല്ലെങ്കിൽ, നിങ്ങൾ ഒരു റിലീസ് എക്സിക്യൂട്ടബിൾ പ്രവർത്തിപ്പിക്കുകയാണെങ്കിൽ:
```sh
target/release/rustdesk
```
RustDesk റിപ്പോസിറ്ററിയുടെ റൂട്ടിൽ നിന്നാണ് നിങ്ങൾ ഈ കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുന്നതെന്ന് ദയവായി ഉറപ്പാക്കുക, അല്ലാത്തപക്ഷം ആപ്ലിക്കേഷന് ആവശ്യമായ ഉറവിടങ്ങൾ കണ്ടെത്താൻ കഴിഞ്ഞേക്കില്ല. ഹോസ്റ്റിന് പകരം കണ്ടെയ്‌നറിനുള്ളിൽ പ്രോഗ്രാം ഇൻസ്റ്റാൾ ചെയ്യുകയോ പ്രവർത്തിപ്പിക്കുകയോ ചെയ്യുന്നതിനാൽ, `install` അല്ലെങ്കിൽ `run` പോലുള്ള മറ്റ് കാർഗോ സബ്‌കമാൻഡുകൾ നിലവിൽ ഈ രീതിയെ പിന്തുണയ്ക്കുന്നില്ല എന്നതും ശ്രദ്ധിക്കുക.
## ഫയൽ ഘടന
- **[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
- **[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
## സ്നാപ്പ്ഷോട്ടുകൾ
![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)
+165
View File
@@ -0,0 +1,165 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Jouw verbinding op afstand"><br>
<a href="#free-public-servers">Servers</a> •
<a href="#raw-steps-to-build">Bouwen</a> •
<a href="#how-to-build-with-docker">Docker</a> •
<a href="#file-structure">Structuur</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-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>]<br>
<b>We hebben je hulp nodig om deze README te vertalen naar jouw moedertaal</b>
</p>
Praat met ons: [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)
Nog weer een applicatie voor toegang op afstand, geschreven in Rust. Werkt meteen, geen configuratie nodig. Je hebt volledig beheer over je data, zonder na te hoeven denken over veiligheid. Je kunt onze rendez-vous/relay-server gebruiken, [je eigen server opzetten](https://rustdesk.com/blog/id-relay-set), of [je eigen rendez-vous/relay-server schrijven](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk verwelkomt bijdragen van iedereen. Zie [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) om te lezen hoe je van start kunt gaan.
[**BINARY DOWNLOAD**](https://github.com/rustdesk/rustdesk/releases)
## Gratis openbare servers
Onderstaande servers zijn de servers die je gratis kunt gebruiken, ze kunnen op termijn veranderen. Als je niet fysiek dichtbij een van deze servers bent, kan je verbinding traag werken.
| Locatie | Aanbieder | Specificaties |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Afhankelijkheden
Desktopversies gebruiken [sciter](https://sciter.com/) voor de grafische schil. Gelieve zelf de sciter-library te downloaden.
[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)
## Handmatige bouwinstructies
- Bereid je Rust-ontwikkelomgeving en C++-bouwomgeving voor.
- Installeer [vcpkg](https://github.com/microsoft/vcpkg) en configureer de `VCPKG_ROOT` omgevingsvariabele op de juiste manier:
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Voer uit: `cargo run`
## Bouwen op 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
```
### 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
```
### Installatie van vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix voor libvpx (voor Fedora)
```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
```
### Bouwen
```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
```
### 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.
## Bouwen met Docker
Kloon eerst deze repository en bouw de Docker-container:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Voer vervolgens de volgende commando's uit iedere keer dat je de applicatie opnieuw moet bouwen:
```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
```
Let op dat de eerste build langer kan duren omdat de dependencies nog niet zijn gecached; latere builds zullen sneller zijn. Als je extra command line arguments wilt toevoegen aan het build-commando, dan kun je dat doen aan het einde van de opdrachtregel in plaats van `<OPTIONAL-ARGS>`. Bijvoorbeeld: als je een geoptimaliseerde releaseversie wilt bouwen, draai dan het bovenstaande commando gevolgd door `--release`.
Het uitvoerbare bestand, in debug-modus, zal verschijnen in de target-map, en kan als volgt worden uitgevoerd:
```sh
target/debug/rustdesk
```
Als je een release-versie hebt gebouwd, is het commando als volgt:
```sh
target/release/rustdesk
```
Zorg ervoor dat je deze commando's van de root van de RustDesk-repository uitvoert, anders kan het programma de nodige afhankelijkheden mogelijk niet vinden. Let ook op dat andere cargo-subcommando's zoals `install` en `run` zijn momenteel niet ondersteund, aangezien deze zouden worden uitgevoerd in een container in plaats van op de host.
## Bestandsstructuur
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: videocodec, configuratie, TCP/UDP-wrapper, protobuf, bestandssysteemfuncties voor bestandsoverdracht en nog wat andere nuttige functies
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: schermopname
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: platformspecifieke muis- en toetsenbordbeheer
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: geluids-, klembord-, invoer- en video-services, netwerkverbindingen
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: voor het opzetten van peer-verbindingen
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Communicatie met [rustdesk-server](https://github.com/rustdesk/rustdesk-server), afwachten van redirect op afstand (TCP hole punching) of een relayed verbinding
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: platformspecifieke code
## Snapshot
![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)
+163
View File
@@ -0,0 +1,163 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<a href="#darmowe-serwery-publiczne">Serwery</a> •
<a href="#podstawowe-kroki-do-kompilacji">Kompilacja</a> •
<a href="#jak-kompilować-za-pomocą-dockera">Docker</a> •
<a href="#struktura-plików">Struktura</a> •
<a href="#migawkisnapshoty">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-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>]<br>
<b>Potrzebujemy twojej pomocy w tłumaczeniu README na twój ojczysty język</b>
</p>
Porozmawiaj z nami na: [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)
Kolejny program do zdalnego pulpitu, napisany w Rust. Działa od samego początku, nie wymaga konfiguracji. Masz pełną kontrolę nad swoimi danymi, bez obaw o bezpieczeństwo. Możesz skorzystać z naszego darmowego serwera publicznego , [skonfigurować własny](https://rustdesk.com/server), lub [napisać własny serwer rendezvous/relay server](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk zaprasza do współpracy każdego. Zobacz [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) pomoc w uruchomieniu programu.
[**POBIERZ KOMPILACJE**](https://github.com/rustdesk/rustdesk/releases)
## 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 |
| --------- | ------------- | ------------------ |
| Seul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapur | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Zależności
Wersje desktopowe używają [sciter](https://sciter.com/) dla GUI, proszę pobrać bibliotekę dynamiczną sciter samodzielnie.
[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)
## Podstawowe kroki do kompilacji
- Przygotuj środowisko programistyczne Rust i środowisko programowania C++
- Zainstaluj [vcpkg](https://github.com/microsoft/vcpkg), i ustaw `VCPKG_ROOT` env zmienną prawidłowo
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- uruchom `cargo run`
## Jak Kompilować na Linuxie
### 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
```
### 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
```
### Zainstaluj vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Fix libvpx (For Fedora)
```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
```
### Kompilacja
```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
cargo run
```
### Zmień Wayland na X11 (Xorg)
RustDesk nie obsługuje Waylanda. Sprawdź [this](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) by skonfigurować Xorg jako domyślną sesję GNOME.
## Jak kompilować za pomocą Dockera
Rozpocznij od sklonowania repozytorium i stworzenia kontenera docker:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Następnie, za każdym razem, gdy potrzebujesz skompilować aplikację, uruchom następujące polecenie:
```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
```
Zauważ, że pierwsza kompilacja może potrwać dłużej zanim zależności zostaną zbuforowane, kolejne będą szybsze. Dodatkowo, jeśli potrzebujesz określić inne argumenty dla polecenia budowania, możesz to zrobić na końcu komendy w miejscu `<OPTIONAL-ARGS>`. Na przykład, jeśli chciałbyś zbudować zoptymalizowaną wersję wydania, uruchomiłbyś powyższą komendę a następnie `--release`. Powstały plik wykonywalny będzie dostępny w folderze docelowym w twoim systemie, i może być uruchomiony z:
```sh
target/debug/rustdesk
```
Lub, jeśli uruchamiasz plik wykonywalny wersji:
```sh
target/release/rustdesk
```
Upewnij się, że uruchamiasz te polecenia z katalogu głównego repozytorium RustDesk, w przeciwnym razie aplikacja może nie być w stanie znaleźć wymaganych zasobów. Należy również pamiętać, że inne podpolecenia ładowania, takie jak `install` lub `run` nie są obecnie obsługiwane za pomocą tej metody, ponieważ instalowałyby lub uruchamiały program wewnątrz kontenera zamiast na hoście.
## Struktura plików
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: kodek wideo, config, wrapper tcp/udp, protobuf, funkcje fs do transferu plików i kilka innych funkcji użytkowych
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: przechwytywanie ekranu
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: specyficzne dla danej platformy sterowanie klawiaturą/myszą
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: audio/schowek/wejście(input)/wideo oraz połączenia sieciowe
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: uruchamia połączenie peer
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Komunikacja z [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)**: specyficzny dla danej platformy kod
## Migawki(Snapshoty)
![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)
+164
View File
@@ -0,0 +1,164 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Seu desktop remoto"><br>
<a href="#servidores-públicos-grátis">Servidores</a> •
<a href="#compilação-crua">Compilar</a> •
<a href="#como-compilar-com-docker">Docker</a> •
<a href="#estrutura-de-arquivos">Estrutura</a> •
<a href="#screenshots">Screenshots</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-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>]<br>
<b>Precisamos de sua ajuda para traduzir este README e a <a href="https://github.com/rustdesk/rustdesk/tree/master/src/lang">UI do RustDesk</a> para sua língua nativa</b>
</p>
Converse conosco: [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)
Mais um software de desktop remoto, escrito em Rust. Funciona por padrão, sem necessidade de configuração. Você tem completo controle de seus dados, sem se preocupar com segurança. Você pode usar nossos servidores de rendezvous/relay, [configurar seu próprio](https://rustdesk.com/server), ou [escrever seu próprio servidor de rendezvous/relay](https://github.com/rustdesk/rustdesk-server-demo).
RustDesk acolhe contribuições de todos. Leia [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) para ver como começar.
[**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 |
| ----------- | ------------- | ------------------ |
| Seul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapura | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB 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.
[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)
## Compilação crua
- Prepare seu ambiente de desenvolvimento Rust e ambiente de compilação C++
- Instale [vcpkg](https://github.com/microsoft/vcpkg), e configure a variável de ambiente `VCPKG_ROOT` corretamente
- Windows: vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Execute `cargo run`
## Como compilar no 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
```
### 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
```
### Instale vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Conserte libvpx (Para o Fedora)
```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
```
### Compile
```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
```
### 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:
```sh
git clone https://github.com/rustdesk/rustdesk
cd rustdesk
docker build -t "rustdesk-builder" .
```
Então, sempre que precisar compilar a aplicação, execute este comando:
```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
```
Note que a primeira compilação pode demorar mais antes que as dependências sejam armazenadas em cache, as compilações subsequentes serão mais rápidas. Adicionalmente, se você precisar especificar argumentos diferentes para o comando de compilação, você pode fazê-lo ao final do comando na posição do `<OPTIONAL-ARGS>`. Por exemplo, se você gostaria de compilar uma versão de release otimizada, você executaria o comando acima seguido de `--release`. O executável gerado estará disponível no diretório alvo no seu sistema, e pode ser executado com:
```sh
target/debug/rustdesk
```
Ou, se estiver rodando um executável de release:
```sh
target/release/rustdesk
```
Por favor verifique que está executando estes comandos da raiz do repositório do RustDesk, senão a aplicação pode não encontrar os recursos necessários. Note também que outros subcomandos do cargo como `install` ou `run` não são suportados atualmente via este método, já que eles iriam instalar ou rodar o programa dentro do container ao invés do host.
## Estrutura de arquivos
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: codec de vídeo, configurações, wrapper de tcp/udp, protobuf, funções de sistema de arquivos para transferência de arquivos, e outras funções utilitárias
- **[libs/scrap](https://github.com/rustdesk/rustdesk/tree/master/libs/scrap)**: captura de tela
- **[libs/enigo](https://github.com/rustdesk/rustdesk/tree/master/libs/enigo)**: controle de teclado/mouse específico a cada plataforma
- **[src/ui](https://github.com/rustdesk/rustdesk/tree/master/src/ui)**: GUI
- **[src/server](https://github.com/rustdesk/rustdesk/tree/master/src/server)**: serviços de áudio/área de transferência/entrada/vídeo, e conexões de rede
- **[src/client.rs](https://github.com/rustdesk/rustdesk/tree/master/src/client.rs)**: iniciar uma conexão "peer to peer"
- **[src/rendezvous_mediator.rs](https://github.com/rustdesk/rustdesk/tree/master/src/rendezvous_mediator.rs)**: Comunicação com [rustdesk-server](https://github.com/rustdesk/rustdesk-server), aguardar pela conexão remota direta (TCP hole punching) ou conexão indireta (relayed)
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: código específico a cada plataforma
## Screenshots
![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)
+171
View File
@@ -0,0 +1,171 @@
<p align="center">
<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-JP.md">日本語</a>] | [<a href="README-NL.md">Nederlands</a>] | [<a href="README-IT.md">Italiano</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>]<br>
<b>Нам нужна ваша помощь для перевода этого README и <a href="https://github.com/rustdesk/rustdesk/tree/master/src/rustdesk/tree/master/src/lang">RustDesk UI</a> на ваш родной язык</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).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk приветствует вклад каждого. Смотрите [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) для помощи в начале работы.
[**Как работает RustDesk?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**СКАЧАТЬ ПРИЛОЖЕНИЕ**](https://github.com/rustdesk/rustdesk/releases)
[<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)
## Бесплатные общедоступные серверы
Ниже приведены серверы, для бесплатного использования, они могут меняться со временем. Если вы не находитесь рядом с одним из них, ваша сеть может работать медленно.
| Местонахождение | Поставщик | Технические характеристики |
| --------- | ------------- | ------------------ |
| Сеул | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Сингапур | Vultr | 1 VCPU / 1GB RAM |
| Даллас | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Зависимости
Настольные версии используют [sciter](https://sciter.com/) для графического интерфейса, загрузите динамическую библиотеку 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)
Мобильные версии используют Flutter. В будущем мы перенесем настольную версию со Sciter на Flutter.
## Первичные шаги для сборки
- Подготовьте среду разработки 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
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Запустите `cargo run`
## Как собрать на 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
```
### 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
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Исправление libvpx (для Fedora)
```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
```
### Сборка
```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
```
### Смените Wayland на X11 (Xorg)
RustDesk не поддерживает Wayland. Смотрите [этот документ](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) для настройки Xorg в качестве сеанса GNOME по умолчанию.
## Как собрать с помощью Docker
Начните с клонирования репозитория и создания docker-контейнера:
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
Обратите внимание, что первая сборка может занять больше времени, прежде чем зависимости будут кэшированы, но последующие сборки будут выполняться быстрее. Кроме того, если вам нужно указать другие аргументы для команды сборки, вы можете сделать это в конце команды в переменной `<OPTIONAL-ARGS>`. Например, если вы хотите создать оптимизированную версию, вы должны запустить приведенную выше команду и в конце строки добавить `--release`. Полученный исполняемый файл будет доступен в целевой папке вашей системы и может быть запущен с помощью:
```sh
target/debug/rustdesk
```
Или, если вы используете исполняемый файл релиза:
```sh
target/release/rustdesk
```
Пожалуйста, убедитесь, что вы запускаете эти команды из корня репозитория RustDesk, иначе приложение не сможет найти необходимые ресурсы. Также обратите внимание, что другие cargo подкоманды, такие как `install` или `run`, в настоящее время не поддерживаются этим методом, поскольку они будут устанавливать или запускать программу внутри контейнера, а не на хосте.
## Структура файлов
- **[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)**: графический пользовательский интерфейс
- **[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 NAT) или ретранслируемого соединения
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: специфичный для платформы код
## Снимки
![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)
+195
View File
@@ -0,0 +1,195 @@
<p align="center">
<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-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>]<br>
<b>Нам потрібна ваша допомога для перекладу цього README і <a href="https://github.com/rustdesk/rustdesk/tree/master/src/rustdesk/tree/master/src/lang">RustDesk UI</a> на вашу рідну мову</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).
![image](https://user-images.githubusercontent.com/71636191/171661982-430285f0-2e12-4b1d-9957-4a58e375304d.png)
RustDesk вітає внесок кожного. Дивіться [`docs/CONTRIBUTING.md`](CONTRIBUTING.md) для допомоги на початку роботи.
[**Як працює RustDesk?**](https://github.com/rustdesk/rustdesk/wiki/How-does-RustDesk-work%3F)
[**ЗАВАНТАЖИТИ ДОДАТОК**](https://github.com/rustdesk/rustdesk/releases)
[<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)
## Безкоштовні загальнодоступні сервери
Нижче наведені сервери, для безкоштовного використання, вони можуть змінюватися з часом. Якщо ви не перебуваєте поруч з одним із них, ваша мережа може працювати повільно.
| Місцезнаходження | Постачальник | Технічні характеристики |
| --------- | ------------- | ------------------ |
| Сеул | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Сінгапур | Vultr | 1 VCPU / 1GB RAM |
| Даллас | Vultr | 1 VCPU / 1GB RAM
Німеччина | Hetzner | 2 VCPU / 4GB RAM | 2 VCPU / 4GB RAM | Німеччина | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB RAM |
## Залежності
Настільні версії використовують [sciter](https://sciter.com/) для графічного інтерфейсу, завантажте динамічну бібліотеку 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)
Мобільні версії використовують Flutter. У майбутньому ми перенесемо настільну версію зі Sciter на Flutter.
## Первинні кроки для складання
- Підготуйте середовище розробки 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
- Linux/MacOS: vcpkg install libvpx libyuv opus
- Запустіть `cargo run`
## Як зібрати на 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
```
### 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
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ...
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### 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
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ...
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Виправлення libvpx (для Fedora)
```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
```
### Збірка
```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
```
### Змініть Wayland на X11 (Xorg)
RustDesk не підтримує Wayland. Дивіться [цей документ](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/) для налаштування Xorg як сеансу GNOME за замовчуванням.
## Як зібрати за допомогою Docker
Почніть з клонування сховища та створення docker-контейнера:
```sh
git clone https://github.com/rustdesk/rustdesk
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
```
Зверніть увагу, що перша збірка може зайняти більше часу, перш ніж залежності будуть кешовані, але наступні збірки будуть виконуватися швидше. Крім того, якщо вам потрібно вказати інші аргументи для команди збірки, ви можете зробити це в кінці команди у змінній `<OPTIONAL-ARGS>`. Наприклад, якщо ви хочете створити оптимізовану версію, ви маєте запустити наведену вище команду і в кінці рядка додати `--release`. Отриманий виконуваний файл буде доступний у цільовій папці вашої системи і може бути запущений за допомогою:
```sh
target/debug/rustdesk
```
Або, якщо ви використовуєте виконуваний файл релізу:
```sh
target/release/rustdesk
```
Будь ласка, переконайтеся, що ви запускаєте ці команди з кореня сховища RustDesk, інакше додаток не зможе знайти необхідні ресурси. Також зверніть увагу, що інші cargo підкоманди, такі як `install` або `run`, наразі не підтримуються цим методом, оскільки вони будуть встановлювати або запускати програму всередині контейнера, а не на хості.
## Структура файлів
- **[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)**: графічний інтерфейс користувача
- **[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 NAT) або ретрансльованого з'єднання
- **[src/platform](https://github.com/rustdesk/rustdesk/tree/master/src/platform)**: специфічний для платформи код
## Знімки
![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)
+178
View File
@@ -0,0 +1,178 @@
<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> •
<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="#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>]<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>
</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)
[![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).
![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 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)
[<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 |
| --------- | ------------- | ------------------ |
| Seoul | AWS lightsail | 1 VCPU / 0.5GB RAM |
| Singapore | Vultr | 1 VCPU / 1GB RAM |
| Dallas | Vultr | 1 VCPU / 1GB RAM |
| Germany | Hetzner | 2 VCPU / 4GB RAM |
| Germany | Codext | 4 VCPU / 8GB 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 bạn cần tự tải về thư viện 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)
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.
## Cách để build
- Chuẩn bị môi trường phát triển Rust và môi trường build 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
- Đối với Linux/MacOS: vcpkg install libvpx libyuv opus
- Chạy lệnh `cargo run`
## [Build](https://rustdesk.com/docs/en/dev/build/)
## Cách để build cho 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
```
### 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
```
### Cách cài vcpkg
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### Cách sửa lỗi libvpx (Dành cho hệ điều hành Fedora)
```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
```
### Cách build
```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
```
### Chuyển từ Wayland sang X11 (Xorg)
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:
```sh
git clone https://github.com/rustdesk/rustdesk
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:
```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, những 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:
```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:
```sh
target/release/rustdesk
```
Hãy đảm bảo là 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.
## 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
- **[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/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/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
![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)
+224
View File
@@ -0,0 +1,224 @@
<p align="center">
<img src="../res/logo-header.svg" alt="RustDesk - Your remote desktop"><br>
<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-UA.md">Українська</a>] | [<a href="README-CS.md">česky</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>]<br>
</p>
Chat with us: [知乎](https://www.zhihu.com/people/rustdesk) | [Discord](https://discord.gg/nDceKgxnkV) | [Reddit](https://www.reddit.com/r/rustdesk)
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/I2I04VU09)
远程桌面软件,开箱即用,无需任何配置。您完全掌控数据,不用担心安全问题。您可以使用我们的注册/中继服务器,
或者[自己设置](https://rustdesk.com/server)
亦或者[开发您的版本](https://github.com/rustdesk/rustdesk-server-demo)。
欢迎大家贡献代码, 请看 [`docs/CONTRIBUTING.md`](CONTRIBUTING.md).
[**可执行程序下载**](https://github.com/rustdesk/rustdesk/releases)
## 免费的公共服务器
以下是您可以使用的、免费的、会随时更新的公共服务器列表,在国内也许网速会很慢或者无法访问。
- 首尔, AWS lightsail, 1 VCPU/0.5G RAM
- 新加坡, Vultr, 1 VCPU/1G RAM
- 达拉斯, Vultr, 1 VCPU/1G RAM
- 德国, Codext, 2 VCPU / 4GB RAM
- 德国, Hetzner, 4 VCPU / 8GB RAM
## 依赖
桌面版本界面使用[sciter](https://sciter.com/), 请自行下载。
[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。
## 基本构建步骤
- 请准备好 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
- Linux/Osx: vcpkg install libvpx libyuv opus
- 运行 `cargo run`
## [构建](https://rustdesk.com/docs/en/dev/build/)
## 在 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
```
### 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
```sh
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2021.12.01
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus
```
### 修复 libvpx (仅仅针对 Fedora)
```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
```
### 构建
```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
cargo run
```
### 把 Wayland 修改成 X11 (Xorg)
RustDesk 暂时不支持 Wayland,不过正在积极开发中。
> [点我](https://docs.fedoraproject.org/en-US/quick-docs/configuring-xorg-as-default-gnome-session/)
查看 如何将Xorg设置成默认的GNOME session
## 使用 Docker 编译
### 构建Docker容器
```sh
git clone https://github.com/rustdesk/rustdesk # 克隆Github存储库
cd rustdesk # 进入文件夹
docker build -t "rustdesk-builder" . # 构建容器
```
请注意:
* 针对国内网络访问问题,可以做以下几点优化:
1. Dockerfile 中修改系统的源到国内镜像
```
在Dockerfile的RUN apt update之前插入两行:
RUN sed -i "s/deb.debian.org/mirrors.163.com/g" /etc/apt/sources.list
RUN sed -i "s/security.debian.org/mirrors.163.com/g" /etc/apt/sources.list
```
2. 修改容器系统中的 cargo 源,在`RUN ./rustup.sh -y`后插入下面代码:
```
RUN echo '[source.crates-io]' > ~/.cargo/config \
&& echo 'registry = "https://github.com/rust-lang/crates.io-index"' >> ~/.cargo/config \
&& echo '# 替换成你偏好的镜像源' >> ~/.cargo/config \
&& echo "replace-with = 'sjtu'" >> ~/.cargo/config \
&& echo '# 上海交通大学' >> ~/.cargo/config \
&& echo '[source.sjtu]' >> ~/.cargo/config \
&& echo 'registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"' >> ~/.cargo/config \
&& echo '' >> ~/.cargo/config
```
3. Dockerfile 中加入代理的 env
```
在User root后插入两行
ENV http_proxy=http://host:port
ENV https_proxy=http://host:port
```
4. docker build 命令后面加上 proxy 参数
```
docker build -t "rustdesk-builder" . --build-arg http_proxy=http://host:port --build-arg https_proxy=http://host:port
```
### 构建RustDesk程序
容器构建完成后,运行下列指令以完成对RustDesk应用程序的构建:
```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
```
请注意:
* 因为需要缓存依赖项,首次构建一般很慢(国内网络会经常出现拉取失败,可以多试几次)。
* 如果您需要添加不同的构建参数,可以在指令末尾的`<OPTIONAL-ARGS>` 位置进行修改。例如构建一个"Release"版本,在指令后面加上` --release`即可。
* 如果出现以下的提示,则是无权限问题,可以尝试把`-e PUID="$(id -u)" -e PGID="$(id -g)"`参数去掉。
```
usermod: user user is currently used by process 1
groupmod: Permission denied.
groupmod: cannot lock /etc/group; try again later.
```
> **原因:** 容器的entrypoint脚本会检测UID和GID,在度判和给定的环境变量的不一致时,会强行修改user的UID和GID并重新运行。但在重启后读不到环境中的UID和GID,然后再次进入判错重启环节
### 运行RustDesk程序
生成的可执行程序在target目录下,可直接通过指令运行调试(Debug)版本的RustDesk:
```sh
target/debug/rustdesk
```
或者您想运行发行(Release)版本:
```sh
target/release/rustdesk
```
请注意:
* 请保证您运行的目录是在RustDesk库的根目录内,否则软件会读不到文件。
* `install`、`run`等Cargo的子指令在容器内不可用,宿主机才行。
## 文件结构
- **[libs/hbb_common](https://github.com/rustdesk/rustdesk/tree/master/libs/hbb_common)**: 视频编解码, 配置, tcp/udp 封装, protobuf, 文件传输相关文件系统操作函数, 以及一些其他实用函数
- **[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)**: 被控端服务音频、剪切板、输入、视频服务、网络连接的实现
- **[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)保持UDP通讯, 等待远程连接(通过打洞直连或者中继)
- **[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 Web版本中的Javascript代码
## 截图
![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)
+13
View File
@@ -0,0 +1,13 @@
# Security Policy
## Supported Versions
| Version | Supported |
| --------- | ------------------ |
| 1.1.x | :white_check_mark: |
| 1.x | :white_check_mark: |
| Below 1.0 | :x: |
## Reporting a Vulnerability
Here we should write what to do in case of a security vulnerability
Executable
+36
View File
@@ -0,0 +1,36 @@
#!/bin/sh
cd "$HOME"/rustdesk || exit 1
# shellcheck source=/dev/null
. "$HOME"/.cargo/env
argv=$*
while test $# -gt 0; do
case "$1" in
--release)
mkdir -p target/release
test -f target/release/libsciter-gtk.so || cp "$HOME"/libsciter-gtk.so target/release/
release=1
shift
;;
--target)
shift
if test $# -gt 0; then
rustup target add "$1"
shift
fi
;;
*)
shift
;;
esac
done
if [ -z $release ]; then
mkdir -p target/debug
test -f target/debug/libsciter-gtk.so || cp "$HOME"/libsciter-gtk.so target/debug/
fi
set -f
#shellcheck disable=2086
VCPKG_ROOT=/vcpkg cargo build $argv
@@ -0,0 +1,11 @@
An open-source remote desktop application, the open source TeamViewer alternative.
Source code: https://github.com/rustdesk/rustdesk
Doc: https://rustdesk.com/docs/en/manual/mobile/
In order for a remote device to control your Android device via mouse or touch, you need to allow RustDesk to use the "Accessibility" service, RustDesk uses AccessibilityService API to implement Addroid remote control.
In addtion to remote control, you can also transfer files between Android devices and PCs easily with RustDesk.
You have full control of your data, with no concerns about security. You can use our rendezvous/relay server, or self-hosting, or write your own rendezvous/relay server. Self-hosting server is free and open source: https://github.com/rustdesk/rustdesk-server
Please download and install desktop version from: https://rustdesk.com, then you can access and control your desktop from your mobile, or control your mobile from desktop.
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 384 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

@@ -0,0 +1 @@
An open-source remote desktop application, the open source TeamViewer alternative.
@@ -0,0 +1,12 @@
开源远程桌面应用,开源 TeamViewer 替代方案。
源代码:https://github.com/rustdesk/rustdesk
文档:https://rustdesk.com/docs/en/manual/mobile/
为了让远程设备通过鼠标或触摸控制您的 Android 设备,您需要允许 RustDesk 使用“Accessibility”服务,RustDesk 使用 AccessibilityService API 来实现 Addroid 远程控制。
除了远程控制,您还可以使用 RustDesk 在 Android 设备和 PC 之间轻松传输文件。
您完全掌控数据,不用担心安全问题。您可以使用我们的注册/中继服务器,或者自建,亦或者开发您的版本。
自托管服务器是免费和开源的:https://github.com/rustdesk/rustdesk-server
请从:https://rustdesk.com 下载并安装桌面版,然后您可以通过手机访问和控制您的桌面,或从桌面控制您的手机。
@@ -0,0 +1 @@
开源远程桌面应用,开源 TeamViewer 替代方案
+31
View File
@@ -0,0 +1,31 @@
app-id: org.rustdesk.rustdesk
runtime: org.freedesktop.Platform
runtime-version: '21.08'
sdk: org.freedesktop.Sdk
command: rustdesk
modules:
# install appindicator
- shared-modules/libappindicator/libappindicator-gtk3-12.10.json
- name: rustdesk
buildsystem: simple
build-commands:
- bsdtar -zxvf rustdesk-1.2.0.deb
- tar -xvf ./data.tar.xz
- cp -r ./usr /app/
- rm /app/usr/bin/rustdesk
- mkdir -p /app/bin && ln -s /app/usr/lib/rustdesk/flutter_hbb /app/bin/rustdesk
sources:
# Note: replace to deb files with url
- type: file
path: ../rustdesk-1.2.0.deb
finish-args:
# X11 + XShm access
- --share=ipc
- --socket=x11
# Wayland access
- --socket=wayland
# Needs to talk to the network:
- --share=network
# Needs to save files locally
- --filesystem=xdg-documents
+1
View File
@@ -0,0 +1 @@
* text=auto
+56
View File
@@ -0,0 +1,56 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/
# Flutter/Dart/Pub related
**/doc/api/
**/ios/Flutter/.last_build_id
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
/build/
# Web related
lib/generated_plugin_registrant.dart
# Symbolication related
app.*.symbols
# Obfuscation related
app.*.map.json
jniLibs
.vscode
# flutter rust bridge
lib/generated_bridge.dart
lib/generated_bridge.freezed.dart
# Flutter Generated Files
**/GeneratedPluginRegistrant.swift
**/flutter/generated_plugin_registrant.cc
**/flutter/generated_plugin_registrant.h
**/flutter/generated_plugins.cmake
**/Runner/bridge_generated.h
flutter_export_environment.sh
Flutter-Generated.xcconfig
key.jks
+36
View File
@@ -0,0 +1,36 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
version:
revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
channel: stable
project_type: app
# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
- platform: linux
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
- platform: macos
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
- platform: windows
create_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
base_revision: ee4e09cce01d6f2d7f4baebd247fde02e5008851
# User provided section
# List of Local paths (relative to this file) that should be
# ignored by the migrate tool.
#
# Files that are not part of the templates will be ignored by default.
unmanaged_files:
- 'lib/main.dart'
- 'ios/Runner.xcodeproj/project.pbxproj'
+16
View File
@@ -0,0 +1,16 @@
# flutter_hbb
A new Flutter project.
## Getting Started
This project is a starting point for a Flutter application.
A few resources to get you started if this is your first Flutter project:
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
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.
+6
View File
@@ -0,0 +1,6 @@
include: package:lints/recommended.yaml
linter:
rules:
non_constant_identifier_names: false
sort_child_properties_last: false
+11
View File
@@ -0,0 +1,11 @@
gradle-wrapper.jar
/.gradle
/captures/
/gradlew
/gradlew.bat
/local.properties
GeneratedPluginRegistrant.java
# Remember to never publicly share your keystore.
# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
key.properties
+82
View File
@@ -0,0 +1,82 @@
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 33
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
compileOptions {
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_8
}
defaultConfig {
// 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
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
}
signingConfigs {
release {
keyAlias keystoreProperties['keyAlias']
keyPassword keystoreProperties['keyPassword']
storeFile keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword keystoreProperties['storePassword']
}
}
buildTypes {
release {
// 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
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "androidx.media:media:1.6.0"
implementation 'com.github.getActivity:XXPermissions:16.2'
implementation("org.jetbrains.kotlin:kotlin-stdlib") { version { strictly("$kotlin_version") } }
}
apply plugin: 'com.google.gms.google-services'
+40
View File
@@ -0,0 +1,40 @@
{
"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"
}
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.carriez.flutter_hbb">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
@@ -0,0 +1,75 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.carriez.flutter_hbb">
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
<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" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!--<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />-->
<application
android:icon="@mipmap/ic_launcher"
android:label="RustDesk"
android:requestLegacyExternalStorage="true">
<receiver
android:name=".BootReceiver"
android:enabled="false"
android:exported="false">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service
android:name=".InputService"
android:enabled="true"
android:exported="false"
android:label="RustDesk Input"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService" />
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/accessibility_service_config" />
</service>
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode|navigation"
android:exported="true"
android:hardwareAccelerated="true"
android:launchMode="singleTop"
android:theme="@style/LaunchTheme"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".MainService"
android:enabled="true"
android:foregroundServiceType="mediaProjection" />
<!--
Don't delete the meta-data below.
This is used by the Flutter tool to generate GeneratedPluginRegistrant.java
-->
<meta-data
android:name="flutterEmbedding"
android:value="2" />
</application>
</manifest>
@@ -0,0 +1,23 @@
package com.carriez.flutter_hbb
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.os.Build
import android.widget.Toast
class BootReceiver : BroadcastReceiver() {
override fun onReceive(context: Context, intent: Intent) {
if ("android.intent.action.BOOT_COMPLETED" == intent.action){
val it = Intent(context,MainService::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
}
Toast.makeText(context, "RustDesk is Open", Toast.LENGTH_LONG).show();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(it)
}else{
context.startService(it)
}
}
}
}
@@ -0,0 +1,238 @@
package com.carriez.flutter_hbb
/**
* Handle remote input and dispatch android gesture
*
* Inspired by [droidVNC-NG] https://github.com/bk138/droidVNC-NG
*/
import android.accessibilityservice.AccessibilityService
import android.accessibilityservice.GestureDescription
import android.graphics.Path
import android.os.Build
import android.util.Log
import android.view.accessibility.AccessibilityEvent
import androidx.annotation.RequiresApi
import java.util.*
import kotlin.math.abs
import kotlin.math.max
const val LIFT_DOWN = 9
const val LIFT_MOVE = 8
const val LIFT_UP = 10
const val RIGHT_UP = 18
const val WHEEL_BUTTON_DOWN = 33
const val WHEEL_BUTTON_UP = 34
const val WHEEL_DOWN = 523331
const val WHEEL_UP = 963
const val WHEEL_STEP = 120
const val WHEEL_DURATION = 50L
const val LONG_TAP_DELAY = 200L
class InputService : AccessibilityService() {
companion object {
var ctx: InputService? = null
val isOpen: Boolean
get() = ctx != null
}
private val logTag = "input service"
private var leftIsDown = false
private var touchPath = Path()
private var lastTouchGestureStartTime = 0L
private var mouseX = 0
private var mouseY = 0
private var timer = Timer()
private var recentActionTask: TimerTask? = null
private val wheelActionsQueue = LinkedList<GestureDescription>()
private var isWheelActionsPolling = false
private var isWaitingLongPress = false
@RequiresApi(Build.VERSION_CODES.N)
fun onMouseInput(mask: Int, _x: Int, _y: Int) {
val x = max(0, _x)
val y = max(0, _y)
if (mask == 0 || mask == LIFT_MOVE) {
val oldX = mouseX
val oldY = mouseY
mouseX = x * SCREEN_INFO.scale
mouseY = y * SCREEN_INFO.scale
if (isWaitingLongPress) {
val delta = abs(oldX - mouseX) + abs(oldY - mouseY)
Log.d(logTag,"delta:$delta")
if (delta > 8) {
isWaitingLongPress = false
}
}
}
// left button down ,was up
if (mask == LIFT_DOWN) {
isWaitingLongPress = true
timer.schedule(object : TimerTask() {
override fun run() {
if (isWaitingLongPress) {
isWaitingLongPress = false
leftIsDown = false
endGesture(mouseX, mouseY)
}
}
}, LONG_TAP_DELAY * 4)
leftIsDown = true
startGesture(mouseX, mouseY)
return
}
// left down ,was down
if (leftIsDown) {
continueGesture(mouseX, mouseY)
}
// left up ,was down
if (mask == LIFT_UP) {
if (leftIsDown) {
leftIsDown = false
isWaitingLongPress = false
endGesture(mouseX, mouseY)
return
}
}
if (mask == RIGHT_UP) {
performGlobalAction(GLOBAL_ACTION_BACK)
return
}
// long WHEEL_BUTTON_DOWN -> GLOBAL_ACTION_RECENTS
if (mask == WHEEL_BUTTON_DOWN) {
timer.purge()
recentActionTask = object : TimerTask() {
override fun run() {
performGlobalAction(GLOBAL_ACTION_RECENTS)
recentActionTask = null
}
}
timer.schedule(recentActionTask, LONG_TAP_DELAY)
}
// wheel button up
if (mask == WHEEL_BUTTON_UP) {
if (recentActionTask != null) {
recentActionTask!!.cancel()
performGlobalAction(GLOBAL_ACTION_HOME)
}
return
}
if (mask == WHEEL_DOWN) {
if (mouseY < WHEEL_STEP) {
return
}
val path = Path()
path.moveTo(mouseX.toFloat(), mouseY.toFloat())
path.lineTo(mouseX.toFloat(), (mouseY - WHEEL_STEP).toFloat())
val stroke = GestureDescription.StrokeDescription(
path,
0,
WHEEL_DURATION
)
val builder = GestureDescription.Builder()
builder.addStroke(stroke)
wheelActionsQueue.offer(builder.build())
consumeWheelActions()
}
if (mask == WHEEL_UP) {
if (mouseY < WHEEL_STEP) {
return
}
val path = Path()
path.moveTo(mouseX.toFloat(), mouseY.toFloat())
path.lineTo(mouseX.toFloat(), (mouseY + WHEEL_STEP).toFloat())
val stroke = GestureDescription.StrokeDescription(
path,
0,
WHEEL_DURATION
)
val builder = GestureDescription.Builder()
builder.addStroke(stroke)
wheelActionsQueue.offer(builder.build())
consumeWheelActions()
}
}
@RequiresApi(Build.VERSION_CODES.N)
private fun consumeWheelActions() {
if (isWheelActionsPolling) {
return
} else {
isWheelActionsPolling = true
}
wheelActionsQueue.poll()?.let {
dispatchGesture(it, null, null)
timer.purge()
timer.schedule(object : TimerTask() {
override fun run() {
isWheelActionsPolling = false
consumeWheelActions()
}
}, WHEEL_DURATION + 10)
} ?: let {
isWheelActionsPolling = false
return
}
}
private fun startGesture(x: Int, y: Int) {
touchPath = Path()
touchPath.moveTo(x.toFloat(), y.toFloat())
lastTouchGestureStartTime = System.currentTimeMillis()
}
private fun continueGesture(x: Int, y: Int) {
touchPath.lineTo(x.toFloat(), y.toFloat())
}
@RequiresApi(Build.VERSION_CODES.N)
private fun endGesture(x: Int, y: Int) {
try {
touchPath.lineTo(x.toFloat(), y.toFloat())
var duration = System.currentTimeMillis() - lastTouchGestureStartTime
if (duration <= 0) {
duration = 1
}
val stroke = GestureDescription.StrokeDescription(
touchPath,
0,
duration
)
val builder = GestureDescription.Builder()
builder.addStroke(stroke)
Log.d(logTag, "end gesture x:$x y:$y time:$duration")
dispatchGesture(builder.build(), null, null)
} catch (e: Exception) {
Log.e(logTag, "endGesture error:$e")
}
}
override fun onServiceConnected() {
super.onServiceConnected()
ctx = this
Log.d(logTag, "onServiceConnected!")
}
override fun onDestroy() {
ctx = null
super.onDestroy()
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {}
override fun onInterrupt() {}
}
@@ -0,0 +1,235 @@
package com.carriez.flutter_hbb
/**
* Handle events from flutter
* Request MediaProjection permission
*
* Inspired by [droidVNC-NG] https://github.com/bk138/droidVNC-NG
*/
import android.app.Activity
import android.content.ComponentName
import android.content.Context
import android.content.Intent
import android.content.ServiceConnection
import android.media.projection.MediaProjectionManager
import android.os.Build
import android.os.IBinder
import android.provider.Settings
import android.util.Log
import android.view.WindowManager
import androidx.annotation.RequiresApi
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
const val MEDIA_REQUEST_CODE = 42
class MainActivity : FlutterActivity() {
companion object {
lateinit var flutterMethodChannel: MethodChannel
}
private val channelTag = "mChannel"
private val logTag = "mMainActivity"
private var mediaProjectionResultIntent: Intent? = null
private var mainService: MainService? = null
@RequiresApi(Build.VERSION_CODES.M)
override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
if (MainService.isReady) {
Intent(activity, MainService::class.java).also {
bindService(it, serviceConnection, Context.BIND_AUTO_CREATE)
}
}
flutterMethodChannel = MethodChannel(
flutterEngine.dartExecutor.binaryMessenger,
channelTag
).apply {
// make sure result is set, otherwise flutter will await forever
setMethodCallHandler { call, result ->
when (call.method) {
"init_service" -> {
Intent(activity, MainService::class.java).also {
bindService(it, serviceConnection, Context.BIND_AUTO_CREATE)
}
if (MainService.isReady) {
result.success(false)
return@setMethodCallHandler
}
getMediaProjection()
result.success(true)
}
"start_capture" -> {
mainService?.let {
result.success(it.startCapture())
} ?: let {
result.success(false)
}
}
"stop_service" -> {
Log.d(logTag, "Stop service")
mainService?.let {
it.destroy()
result.success(true)
} ?: let {
result.success(false)
}
}
"check_permission" -> {
if (call.arguments is String) {
result.success(checkPermission(context, call.arguments as String))
} else {
result.success(false)
}
}
"request_permission" -> {
if (call.arguments is String) {
requestPermission(context, call.arguments as String)
result.success(true)
} else {
result.success(false)
}
}
"check_video_permission" -> {
mainService?.let {
result.success(it.checkMediaPermission())
} ?: let {
result.success(false)
}
}
"check_service" -> {
flutterMethodChannel.invokeMethod(
"on_state_changed",
mapOf("name" to "input", "value" to InputService.isOpen.toString())
)
flutterMethodChannel.invokeMethod(
"on_state_changed",
mapOf("name" to "media", "value" to MainService.isReady.toString())
)
result.success(true)
}
"init_input" -> {
initInput()
result.success(true)
}
"stop_input" -> {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
InputService.ctx?.disableSelf()
}
InputService.ctx = null
flutterMethodChannel.invokeMethod(
"on_state_changed",
mapOf("name" to "input", "value" to InputService.isOpen.toString())
)
result.success(true)
}
"cancel_notification" -> {
try {
val id = call.arguments as Int
mainService?.cancelNotification(id)
} finally {
result.success(true)
}
}
"enable_soft_keyboard" -> {
// https://blog.csdn.net/hanye2020/article/details/105553780
try {
if (call.arguments as Boolean) {
window.clearFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM)
} else {
window.addFlags(WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM)
}
} finally {
result.success(true)
}
}
else -> {
result.error("-1", "No such method", null)
}
}
}
}
}
private fun getMediaProjection() {
val mMediaProjectionManager =
getSystemService(MEDIA_PROJECTION_SERVICE) as MediaProjectionManager
val mIntent = mMediaProjectionManager.createScreenCaptureIntent()
startActivityForResult(mIntent, MEDIA_REQUEST_CODE)
}
private fun initService() {
if (mediaProjectionResultIntent == null) {
Log.w(logTag, "initService fail,mediaProjectionResultIntent is null")
return
}
Log.d(logTag, "Init service")
val serviceIntent = Intent(this, MainService::class.java)
serviceIntent.action = INIT_SERVICE
serviceIntent.putExtra(EXTRA_MP_DATA, mediaProjectionResultIntent)
launchMainService(serviceIntent)
}
private fun launchMainService(intent: Intent) {
// TEST api < O
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(intent)
} else {
startService(intent)
}
}
private fun initInput() {
val intent = Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS)
if (intent.resolveActivity(packageManager) != null) {
startActivity(intent)
}
}
override fun onResume() {
super.onResume()
val inputPer = InputService.isOpen
activity.runOnUiThread {
flutterMethodChannel.invokeMethod(
"on_state_changed",
mapOf("name" to "input", "value" to inputPer.toString())
)
}
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode == MEDIA_REQUEST_CODE) {
if (resultCode == Activity.RESULT_OK && data != null) {
mediaProjectionResultIntent = data
initService()
} else {
flutterMethodChannel.invokeMethod("on_media_projection_canceled", null)
}
}
}
override fun onDestroy() {
Log.e(logTag, "onDestroy")
mainService?.let {
unbindService(serviceConnection)
}
super.onDestroy()
}
private val serviceConnection = object : ServiceConnection {
override fun onServiceConnected(name: ComponentName?, service: IBinder?) {
Log.d(logTag, "onServiceConnected")
val binder = service as MainService.LocalBinder
mainService = binder.getService()
}
override fun onServiceDisconnected(name: ComponentName?) {
Log.d(logTag, "onServiceDisconnected")
mainService = null
}
}
}
@@ -0,0 +1,677 @@
package com.carriez.flutter_hbb
/**
* Capture screen,get video and audio,send to rust.
* Dispatch notifications
*
* Inspired by [droidVNC-NG] https://github.com/bk138/droidVNC-NG
*/
import android.Manifest
import android.annotation.SuppressLint
import android.app.*
import android.app.PendingIntent.FLAG_IMMUTABLE
import android.app.PendingIntent.FLAG_UPDATE_CURRENT
import android.content.Context
import android.content.Intent
import android.content.pm.PackageManager
import android.content.res.Configuration
import android.content.res.Configuration.ORIENTATION_LANDSCAPE
import android.graphics.Color
import android.graphics.PixelFormat
import android.hardware.display.DisplayManager.VIRTUAL_DISPLAY_FLAG_AUTO_MIRROR
import android.hardware.display.VirtualDisplay
import android.media.*
import android.media.projection.MediaProjection
import android.media.projection.MediaProjectionManager
import android.os.*
import android.util.DisplayMetrics
import android.util.Log
import android.view.Surface
import android.view.Surface.FRAME_RATE_COMPATIBILITY_DEFAULT
import android.view.WindowManager
import androidx.annotation.Keep
import androidx.annotation.RequiresApi
import androidx.core.app.ActivityCompat
import androidx.core.app.NotificationCompat
import androidx.core.content.ContextCompat
import java.util.concurrent.Executors
import kotlin.concurrent.thread
import org.json.JSONException
import org.json.JSONObject
import java.nio.ByteBuffer
import kotlin.math.max
import kotlin.math.min
const val EXTRA_MP_DATA = "mp_intent"
const val INIT_SERVICE = "init_service"
const val ACTION_LOGIN_REQ_NOTIFY = "ACTION_LOGIN_REQ_NOTIFY"
const val EXTRA_LOGIN_REQ_NOTIFY = "EXTRA_LOGIN_REQ_NOTIFY"
const val DEFAULT_NOTIFY_TITLE = "RustDesk"
const val DEFAULT_NOTIFY_TEXT = "Service is running"
const val DEFAULT_NOTIFY_ID = 1
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) {
// turn on screen with LIFT_DOWN when screen off
if (!powerManager.isInteractive && mask == LIFT_DOWN) {
if (wakeLock.isHeld) {
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)
}
}
@Keep
fun rustGetByName(name: String): String {
return when (name) {
"screen_size" -> {
JSONObject().apply {
put("width",SCREEN_INFO.width)
put("height",SCREEN_INFO.height)
put("scale",SCREEN_INFO.scale)
}.toString()
}
else -> ""
}
}
@Keep
fun rustSetByName(name: String, arg1: String, arg2: String) {
when (name) {
"add_connection" -> {
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 authorized = jsonObject["authorized"] as Boolean
val isFileTransfer = jsonObject["is_file_transfer"] as Boolean
val type = if (isFileTransfer) {
translate("File Connection")
} else {
translate("Screen Connection")
}
if (authorized) {
if (!isFileTransfer && !isStart) {
startCapture()
}
onClientAuthorizedNotification(id, type, username, peerId)
} else {
loginRequestNotification(id, type, username, peerId)
}
} catch (e: JSONException) {
e.printStackTrace()
}
}
"stop_capture" -> {
Log.d(logTag, "from rust:stop_capture")
stopCapture()
}
else -> {
}
}
}
private var serviceLooper: Looper? = null
private var serviceHandler: Handler? = null
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)
private external fun startServer()
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
val isReady: Boolean
get() = _isReady
val isStart: Boolean
get() = _isStart
}
private val logTag = "LOG_SERVICE"
private val useVP9 = false
private val binder = LocalBinder()
// video
private var mediaProjection: MediaProjection? = null
private var surface: Surface? = null
private val sendVP9Thread = Executors.newSingleThreadExecutor()
private var videoEncoder: MediaCodec? = null
private var imageReader: ImageReader? = null
private var virtualDisplay: VirtualDisplay? = null
// audio
private var audioRecorder: AudioRecord? = null
private var audioReader: AudioReader? = null
private var minBufferSize = 0
private var audioRecordStat = false
// notification
private lateinit var notificationManager: NotificationManager
private lateinit var notificationChannel: String
private lateinit var notificationBuilder: NotificationCompat.Builder
override fun onCreate() {
super.onCreate()
HandlerThread("Service", Process.THREAD_PRIORITY_BACKGROUND).apply {
start()
serviceLooper = looper
serviceHandler = Handler(looper)
}
updateScreenInfo(resources.configuration.orientation)
initNotification()
startServer()
}
override fun onDestroy() {
checkMediaPermission()
super.onDestroy()
}
private fun updateScreenInfo(orientation: Int) {
var w: Int
var h: Int
var dpi: Int
val windowManager = getSystemService(Context.WINDOW_SERVICE) as WindowManager
@Suppress("DEPRECATION")
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val m = windowManager.maximumWindowMetrics
w = m.bounds.width()
h = m.bounds.height()
dpi = resources.configuration.densityDpi
} else {
val dm = DisplayMetrics()
windowManager.defaultDisplay.getRealMetrics(dm)
w = dm.widthPixels
h = dm.heightPixels
dpi = dm.densityDpi
}
val max = max(w,h)
val min = min(w,h)
if (orientation == ORIENTATION_LANDSCAPE) {
w = max
h = min
} else {
w = min
h = max
}
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) {
scale = 2
w /= scale
h /= scale
dpi /= scale
}
if (SCREEN_INFO.width != w) {
SCREEN_INFO.width = w
SCREEN_INFO.height = h
SCREEN_INFO.scale = scale
SCREEN_INFO.dpi = dpi
if (isStart) {
stopCapture()
refreshScreen()
startCapture()
}
}
}
}
override fun onBind(intent: Intent): IBinder {
Log.d(logTag, "service onBind")
return binder
}
inner class LocalBinder : Binder() {
init {
Log.d(logTag, "LocalBinder init")
}
fun getService(): MainService = this@MainService
}
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
Log.d("whichService", "this service:${Thread.currentThread()}")
super.onStartCommand(intent, flags, startId)
if (intent?.action == INIT_SERVICE) {
Log.d(logTag, "service starting:${startId}:${Thread.currentThread()}")
createForegroundNotification()
val mMediaProjectionManager =
getSystemService(MEDIA_PROJECTION_SERVICE) as MediaProjectionManager
intent.getParcelableExtra<Intent>(EXTRA_MP_DATA)?.let {
mediaProjection =
mMediaProjectionManager.getMediaProjection(Activity.RESULT_OK, it)
checkMediaPermission()
init(this)
_isReady = true
}
}
return START_NOT_STICKY // don't use sticky (auto restart),the new service (from auto restart) will lose control
}
override fun onConfigurationChanged(newConfig: Configuration) {
super.onConfigurationChanged(newConfig)
updateScreenInfo(newConfig.orientation)
}
@SuppressLint("WrongConstant")
private fun createSurface(): Surface? {
return if (useVP9) {
// TODO
null
} else {
Log.d(logTag, "ImageReader.newInstance:INFO:$SCREEN_INFO")
imageReader =
ImageReader.newInstance(
SCREEN_INFO.width,
SCREEN_INFO.height,
PixelFormat.RGBA_8888,
4
).apply {
setOnImageAvailableListener({ imageReader: ImageReader ->
try {
imageReader.acquireLatestImage().use { image ->
if (image == null) return@setOnImageAvailableListener
val planes = image.planes
val buffer = planes[0].buffer
buffer.rewind()
onVideoFrameUpdate(buffer)
}
} catch (ignored: java.lang.Exception) {
}
}, serviceHandler)
}
Log.d(logTag, "ImageReader.setOnImageAvailableListener done")
imageReader?.surface
}
}
fun startCapture(): Boolean {
if (isStart) {
return true
}
if (mediaProjection == null) {
Log.w(logTag, "startCapture fail,mediaProjection is null")
return false
}
updateScreenInfo(resources.configuration.orientation)
Log.d(logTag, "Start Capture")
surface = createSurface()
if (useVP9) {
startVP9VideoRecorder(mediaProjection!!)
} else {
startRawVideoRecorder(mediaProjection!!)
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
startAudioRecorder()
}
checkMediaPermission()
_isStart = true
setFrameRawEnable("video",true)
setFrameRawEnable("audio",true)
return true
}
fun stopCapture() {
Log.d(logTag, "Stop Capture")
setFrameRawEnable("video",false)
setFrameRawEnable("audio",false)
_isStart = false
// release video
virtualDisplay?.release()
surface?.release()
imageReader?.close()
videoEncoder?.let {
it.signalEndOfInputStream()
it.stop()
it.release()
}
virtualDisplay = null
videoEncoder = null
// release audio
audioRecordStat = false
audioRecorder?.release()
audioRecorder = null
minBufferSize = 0
}
fun destroy() {
Log.d(logTag, "destroy service")
_isReady = false
stopCapture()
imageReader?.close()
imageReader = null
mediaProjection = null
checkMediaPermission()
stopForeground(true)
stopSelf()
}
fun checkMediaPermission(): Boolean {
Handler(Looper.getMainLooper()).post {
MainActivity.flutterMethodChannel.invokeMethod(
"on_state_changed",
mapOf("name" to "media", "value" to isReady.toString())
)
}
Handler(Looper.getMainLooper()).post {
MainActivity.flutterMethodChannel.invokeMethod(
"on_state_changed",
mapOf("name" to "input", "value" to InputService.isOpen.toString())
)
}
return isReady
}
private fun startRawVideoRecorder(mp: MediaProjection) {
Log.d(logTag, "startRawVideoRecorder,screen info:$SCREEN_INFO")
if (surface == null) {
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
)
}
private fun startVP9VideoRecorder(mp: MediaProjection) {
createMediaCodec()
videoEncoder?.let {
surface = it.createInputSurface()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
surface!!.setFrameRate(1F, FRAME_RATE_COMPATIBILITY_DEFAULT)
}
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
)
}
}
private val cb: MediaCodec.Callback = object : MediaCodec.Callback() {
override fun onInputBufferAvailable(codec: MediaCodec, index: Int) {}
override fun onOutputFormatChanged(codec: MediaCodec, format: MediaFormat) {}
override fun onOutputBufferAvailable(
codec: MediaCodec,
index: Int,
info: MediaCodec.BufferInfo
) {
codec.getOutputBuffer(index)?.let { buf ->
sendVP9Thread.execute {
val byteArray = ByteArray(buf.limit())
buf.get(byteArray)
// sendVp9(byteArray)
codec.releaseOutputBuffer(index, false)
}
}
}
override fun onError(codec: MediaCodec, e: MediaCodec.CodecException) {
Log.e(logTag, "MediaCodec.Callback error:$e")
}
}
private fun createMediaCodec() {
Log.d(logTag, "MediaFormat.MIMETYPE_VIDEO_VP9 :$MIME_TYPE")
videoEncoder = MediaCodec.createEncoderByType(MIME_TYPE)
val mFormat =
MediaFormat.createVideoFormat(MIME_TYPE, SCREEN_INFO.width, SCREEN_INFO.height)
mFormat.setInteger(MediaFormat.KEY_BIT_RATE, VIDEO_KEY_BIT_RATE)
mFormat.setInteger(MediaFormat.KEY_FRAME_RATE, VIDEO_KEY_FRAME_RATE)
mFormat.setInteger(
MediaFormat.KEY_COLOR_FORMAT,
MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Flexible
)
mFormat.setInteger(MediaFormat.KEY_I_FRAME_INTERVAL, 5)
try {
videoEncoder!!.configure(mFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE)
} catch (e: Exception) {
Log.e(logTag, "mEncoder.configure fail!")
}
}
@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) {
val channelId = "RustDesk"
val channelName = "RustDesk Service"
val channel = NotificationChannel(
channelId,
channelName, NotificationManager.IMPORTANCE_HIGH
).apply {
description = "RustDesk Service Channel"
}
channel.lightColor = Color.BLUE
channel.lockscreenVisibility = Notification.VISIBILITY_PRIVATE
notificationManager.createNotificationChannel(channel)
channelId
} else {
""
}
notificationBuilder = NotificationCompat.Builder(this, notificationChannel)
}
@SuppressLint("UnspecifiedImmutableFlag")
private fun createForegroundNotification() {
val intent = Intent(this, MainActivity::class.java).apply {
flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED
action = Intent.ACTION_MAIN
addCategory(Intent.CATEGORY_LAUNCHER)
putExtra("type", type)
}
val pendingIntent = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
PendingIntent.getActivity(this, 0, intent, FLAG_UPDATE_CURRENT or FLAG_IMMUTABLE)
} else {
PendingIntent.getActivity(this, 0, intent, FLAG_UPDATE_CURRENT)
}
val notification = notificationBuilder
.setOngoing(true)
.setSmallIcon(R.mipmap.ic_launcher)
.setDefaults(Notification.DEFAULT_ALL)
.setAutoCancel(true)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setContentTitle(DEFAULT_NOTIFY_TITLE)
.setContentText(translate(DEFAULT_NOTIFY_TEXT) + '!')
.setOnlyAlertOnce(true)
.setContentIntent(pendingIntent)
.setColor(ContextCompat.getColor(this, R.color.primary))
.setWhen(System.currentTimeMillis())
.build()
startForeground(DEFAULT_NOTIFY_ID, notification)
}
private fun loginRequestNotification(
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")
// .setStyle(MediaStyle().setShowActionsInCompactView(0, 1))
// .addAction(R.drawable.check_blue, "check", genLoginRequestPendingIntent(true))
// .addAction(R.drawable.close_red, "close", genLoginRequestPendingIntent(false))
.build()
notificationManager.notify(getClientNotifyID(clientID), notification)
}
private fun onClientAuthorizedNotification(
clientID: Int,
type: String,
username: String,
peerId: String
) {
cancelNotification(clientID)
val notification = notificationBuilder
.setOngoing(false)
.setPriority(NotificationCompat.PRIORITY_MAX)
.setContentTitle("$type ${translate("Established")}")
.setContentText("$username - $peerId")
.build()
notificationManager.notify(getClientNotifyID(clientID), notification)
}
private fun getClientNotifyID(clientID: Int): Int {
return clientID + NOTIFY_ID_OFFSET
}
fun cancelNotification(clientID: Int) {
notificationManager.cancel(getClientNotifyID(clientID))
}
@SuppressLint("UnspecifiedImmutableFlag")
private fun genLoginRequestPendingIntent(res: Boolean): PendingIntent {
val intent = Intent(this, MainService::class.java).apply {
action = ACTION_LOGIN_REQ_NOTIFY
putExtra(EXTRA_LOGIN_REQ_NOTIFY, res)
}
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
PendingIntent.getService(this, 111, intent, FLAG_IMMUTABLE)
} else {
PendingIntent.getService(this, 111, intent, FLAG_UPDATE_CURRENT)
}
}
private fun setTextNotification(_title: String?, _text: String?) {
val title = _title ?: DEFAULT_NOTIFY_TITLE
val text = _text ?: translate(DEFAULT_NOTIFY_TEXT) + '!'
val notification = notificationBuilder
.clearActions()
.setStyle(null)
.setContentTitle(title)
.setContentText(text)
.build()
notificationManager.notify(DEFAULT_NOTIFY_ID, notification)
}
}
@@ -0,0 +1,150 @@
package com.carriez.flutter_hbb
import android.annotation.SuppressLint
import android.content.Context
import android.content.Intent
import android.media.AudioRecord
import android.media.AudioRecord.READ_BLOCKING
import android.media.MediaCodecList
import android.media.MediaFormat
import android.net.Uri
import android.os.Build
import android.os.Handler
import android.os.Looper
import android.os.PowerManager
import android.provider.Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS
import android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
import androidx.annotation.RequiresApi
import androidx.core.content.ContextCompat.getSystemService
import com.hjq.permissions.Permission
import com.hjq.permissions.XXPermissions
import java.nio.ByteBuffer
import java.util.*
@SuppressLint("ConstantLocale")
val LOCAL_NAME = Locale.getDefault().toString()
val SCREEN_INFO = Info(0, 0, 1, 200)
data class Info(
var width: Int, var height: Int, var scale: Int, var dpi: Int
)
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
fun testVP9Support(): Boolean {
return true
val res = MediaCodecList(MediaCodecList.ALL_CODECS)
.findEncoderForFormat(
MediaFormat.createVideoFormat(
MediaFormat.MIMETYPE_VIDEO_VP9,
SCREEN_INFO.width,
SCREEN_INFO.width
)
)
return res != null
}
@RequiresApi(Build.VERSION_CODES.M)
fun requestPermission(context: Context, type: String) {
val permission = when (type) {
"ignore_battery_optimizations" -> {
try {
context.startActivity(Intent(ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS).apply {
data = Uri.parse("package:" + context.packageName)
})
} catch (e:Exception) {
e.printStackTrace()
}
return
}
"application_details_settings" -> {
try {
context.startActivity(Intent().apply {
addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
action = "android.settings.APPLICATION_DETAILS_SETTINGS"
data = Uri.parse("package:" + context.packageName)
})
} catch (e:Exception) {
e.printStackTrace()
}
return
}
"audio" -> {
Permission.RECORD_AUDIO
}
"file" -> {
Permission.MANAGE_EXTERNAL_STORAGE
}
else -> {
return
}
}
XXPermissions.with(context)
.permission(permission)
.request { _, all ->
if (all) {
Handler(Looper.getMainLooper()).post {
MainActivity.flutterMethodChannel.invokeMethod(
"on_android_permission_result",
mapOf("type" to type, "result" to all)
)
}
}
}
}
@RequiresApi(Build.VERSION_CODES.M)
fun checkPermission(context: Context, type: String): Boolean {
val permission = when (type) {
"ignore_battery_optimizations" -> {
val pw = context.getSystemService(Context.POWER_SERVICE) as PowerManager
return pw.isIgnoringBatteryOptimizations(context.packageName)
}
"audio" -> {
Permission.RECORD_AUDIO
}
"file" -> {
Permission.MANAGE_EXTERNAL_STORAGE
}
else -> {
return false
}
}
return XXPermissions.isGranted(context, permission)
}
class AudioReader(val bufSize: Int, private val maxFrames: Int) {
private var currentPos = 0
private val bufferPool: Array<ByteBuffer>
init {
if (maxFrames < 0 || maxFrames > 32) {
throw Exception("Out of bounds")
}
if (bufSize <= 0) {
throw Exception("Wrong bufSize")
}
bufferPool = Array(maxFrames) {
ByteBuffer.allocateDirect(bufSize)
}
}
private fun next() {
currentPos++
if (currentPos >= maxFrames) {
currentPos = 0
}
}
@RequiresApi(Build.VERSION_CODES.M)
fun readSync(audioRecord: AudioRecord): ByteBuffer? {
val buffer = bufferPool[currentPos]
val res = audioRecord.read(buffer, bufSize, READ_BLOCKING)
return if (res > 0) {
next()
buffer
} else {
null
}
}
}
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?android:colorBackground" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#0071FF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M9,16.17L4.83,12l-1.42,1.41L9,19 21,7l-1.41,-1.41z"/>
</vector>
@@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#D74E4E"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@android:color/white" />
<!-- You can insert your own image assets here -->
<!-- <item>
<bitmap
android:gravity="center"
android:src="@mipmap/launch_image" />
</item> -->
</layer-list>
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is on -->
<style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="primary">#FF0071FF</color>
</resources>
@@ -0,0 +1,4 @@
<resources>
<string name="app_name">RustDesk</string>
<string name="accessibility_service_description">Allow other devices to control your phone using virtual touch, when RustDesk screen sharing is established</string>
</resources>
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Theme applied to the Android Window while the process is starting when the OS's Dark Mode setting is off -->
<style name="LaunchTheme" parent="@android:style/Theme.Light.NoTitleBar">
<!-- Show a splash screen on the activity. Automatically removed when
Flutter draws its first frame -->
<item name="android:windowBackground">@drawable/launch_background</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Flutter UI initializes, as well as behind your Flutter UI while its
running.
This Theme is only used starting with V2 of Flutter's Android embedding. -->
<style name="NormalTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:windowBackground">?android:colorBackground</item>
</style>
</resources>
@@ -0,0 +1,6 @@
<accessibility-service xmlns:android="http://schemas.android.com/apk/res/android"
android:accessibilityEventTypes="typeWindowsChanged"
android:accessibilityFlags="flagDefault"
android:notificationTimeout="50"
android:description="@string/accessibility_service_description"
android:canPerformGestures="true"/>
@@ -0,0 +1,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.carriez.flutter_hbb">
<!-- Flutter needs it to communicate with the running application
to allow setting breakpoints, to provide hot reload, etc.
-->
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
+32
View File
@@ -0,0 +1,32 @@
buildscript {
ext.kotlin_version = '1.7.10'
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
dependencies {
classpath 'com.android.tools.build:gradle:7.3.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.3.14'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
+29
View File
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
<component name="FacetManager">
<facet type="android" name="Android">
<configuration>
<option name="ALLOW_USER_CONFIGURATION" value="false" />
<option name="GEN_FOLDER_RELATIVE_PATH_APT" value="/gen" />
<option name="GEN_FOLDER_RELATIVE_PATH_AIDL" value="/gen" />
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/app/src/main/AndroidManifest.xml" />
<option name="RES_FOLDER_RELATIVE_PATH" value="/app/src/main/res" />
<option name="ASSETS_FOLDER_RELATIVE_PATH" value="/app/src/main/assets" />
<option name="LIBS_FOLDER_RELATIVE_PATH" value="/app/src/main/libs" />
<option name="PROGUARD_LOGS_FOLDER_RELATIVE_PATH" value="/app/src/main/proguard_logs" />
</configuration>
</facet>
</component>
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/app/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/app/src/main/kotlin" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" />
</content>
<orderEntry type="jdk" jdkName="Android API 29 Platform" jdkType="Android SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Flutter for Android" level="project" />
<orderEntry type="library" name="KotlinJavaRuntime" level="project" />
</component>
</module>
+3
View File
@@ -0,0 +1,3 @@
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
@@ -0,0 +1,6 @@
#Fri Jun 23 08:50:38 CEST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip
+11
View File
@@ -0,0 +1,11 @@
include ':app'
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
assert localPropertiesFile.exists()
localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+1
View File
@@ -0,0 +1 @@
<svg width="553" height="553"><path d="M77 179a33 33 0 0 0-25 10 33 33 0 0 0-9 24v143a33 33 0 0 0 10 24 33 33 0 0 0 24 10c9 0 17-3 24-10a33 33 0 0 0 10-24V213c0-9-4-17-10-24a33 33 0 0 0-24-10zM352 51l24-44c1-3 1-5-2-6-3-2-5-1-7 2l-24 43a163 163 0 0 0-133 0L186 3c-2-3-4-4-7-2-2 1-3 3-1 6l23 44c-24 12-43 29-57 51a129 129 0 0 0-21 72h307c0-26-7-50-21-72a146 146 0 0 0-57-51zm-136 63a13 13 0 0 1-10 4 13 13 0 0 1-12-13c0-4 1-7 3-9 3-3 6-4 9-4s7 1 10 4c2 2 3 5 3 9s-1 7-3 9zm140 0a12 12 0 0 1-9 4c-4 0-7-1-9-4a12 12 0 0 1-4-9c0-4 1-7 4-9 2-3 5-4 9-4a12 12 0 0 1 9 4c2 2 3 5 3 9s-1 7-3 9zM124 407c0 10 4 19 11 26s15 10 26 10h24v76c0 9 4 17 10 24s15 10 24 10c10 0 18-3 25-10s10-15 10-24v-76h45v76c0 9 4 17 10 24s15 10 25 10c9 0 17-3 24-10s10-15 10-24v-76h25a35 35 0 0 0 25-10c7-7 11-16 11-26V185H124v222zm352-228a33 33 0 0 0-24 10 33 33 0 0 0-10 24v143a34 34 0 0 0 34 34c10 0 18-3 25-10s10-15 10-24V213c0-9-4-17-10-24a33 33 0 0 0-25-10z" fill="white" /></svg>

After

Width:  |  Height:  |  Size: 955 B

Binary file not shown.
+1
View File
@@ -0,0 +1 @@
<svg viewBox="0 0 347.97 347.97"><path d="M317.469 61.615c-59.442 0-104.976-16.082-143.489-51.539-38.504 35.457-84.04 51.539-143.479 51.539 0 92.337-20.177 224.612 143.479 278.324 163.661-53.717 143.489-185.992 143.489-278.324z" fill="none" stroke="red" stroke-width="14.827"/><g fill="red"><path d="M238.802 115.023l-111.573 114.68-8.6-8.367L230.2 106.656z"/><path d="M125.559 108.093l114.68 111.572-8.368 8.601-114.68-111.572z"/></g></svg>

After

Width:  |  Height:  |  Size: 442 B

+1
View File
@@ -0,0 +1 @@
<svg viewBox="0 0 347.97 347.97"><path d="M317.469 61.615c-59.442 0-104.976-16.082-143.489-51.539-38.504 35.457-84.04 51.539-143.479 51.539 0 92.337-20.177 224.612 143.479 278.324 163.661-53.717 143.489-185.992 143.489-278.324z" fill="none" stroke="red" stroke-width="14.827"/><g fill="red"><path d="M231.442 247.498l-7.754-10.205c-17.268 12.441-38.391 17.705-59.478 14.822-21.087-2.883-39.613-13.569-52.166-30.088-25.916-34.101-17.997-82.738 17.65-108.42 32.871-23.685 78.02-19.704 105.172 7.802l-32.052 7.987 3.082 12.369 48.722-12.142-11.712-46.998-12.822 3.196 4.496 18.039c-31.933-24.008-78.103-25.342-112.642-.458-31.361 22.596-44.3 60.436-35.754 94.723 2.77 11.115 7.801 21.862 15.192 31.588 30.19 39.727 88.538 47.705 130.066 17.785z"/></g></svg>

After

Width:  |  Height:  |  Size: 755 B

+6
View File
@@ -0,0 +1,6 @@
<svg viewBox="0 0 256 256">
<g transform="translate(0 256) scale(.1 -.1)" fill="white">
<path d="m1215 2537c-140-37-242-135-286-278-23-75-23-131 1-383l18-200-54-60c-203-224-383-615-384-831v-51l-66-43c-113-75-194-199-194-300 0-110 99-234 244-305 103-50 185-69 296-69 100 0 156 14 211 54 26 18 35 19 78 10 86-18 233-24 335-12 85 10 222 38 269 56 9 4 19-7 29-35 20-50 52-64 136-57 98 8 180 52 282 156 124 125 180 244 180 380 0 80-28 142-79 179l-36 26 4 119c5 175-22 292-105 460-74 149-142 246-286 409-43 49-78 92-78 97 0 4-7 52-15 107-8 54-19 140-24 189-13 121-41 192-103 260-95 104-248 154-373 122zm172-112c62-19 134-80 163-140 15-31 28-92 41-193 27-214 38-276 57-304 9-14 59-74 111-134 92-106 191-246 236-334 69-137 115-339 101-451l-7-55-71 10c-100 13-234-5-265-36-54-55-85-207-82-412l1-141-51-17c-104-34-245-51-380-45-69 3-142 10-162 16-32 10-37 17-53 68-23 72-87 201-136 273-80 117-158 188-237 215-37 13-37 13-34 61 13 211 182 555 373 759 57 62 58 63 58 121 0 33-9 149-19 259-21 224-18 266 26 347 67 122 193 174 330 133zm687-1720c32-9 71-25 87-36 60-42 59-151-4-274-59-119-221-250-317-257-34-3-35-2-48 47-18 65-20 329-3 413 16 83 29 110 55 115 51 10 177 6 230-8zm-1418-80c79-46 187-195 247-340 41-99 43-121 12-141-39-25-148-30-238-10-142 32-264 112-307 202-20 41-21 50-10 87 24 83 102 166 192 207 54 25 53 25 104-5z"/>
<path d="m1395 1945c-92-16-220-52-256-70-28-15-29-18-29-89 0-247 165-397 345-312 60 28 77 46 106 111 54 123 0 378-80 374-9 0-47-7-86-14zm74-156c15-69 14-112-5-159s-55-70-111-70c-48 0-78 20-102 68-15 29-41 131-41 159 0 9 230 63 242 57 3-2 11-27 17-55z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 375 375" style="width:32px;height:32px;margin:0 4px 4px 0"><rect transform="matrix(.91553 0 0 .91553 -152.92 116.76)" x="167.03" y="-127.54" width="409.6" height="409.6" rx="64" ry="64" fill="#0071ff"></rect><path d="M150.428 322.264c-29.063-6.202-53.897-22.439-73.115-47.804-19.507-25.746-27.838-55.355-25.723-91.414 6.655-62.013 47.667-106.753 99.687-120.411 4.509-.989 8.353-3.462 12.55-1.322 3.22 1.64 6.028 4.467 7.206 7.251 1.25 2.955 1.877 21.54.99 29.331-1.076 9.46-3.877 12.418-14.566 15.388-29.723 10.195-48.105 34.07-53.697 61.017-4.8 29.668 2.951 59.729 21.528 78.727 8.966 8.993 17.92 14.24 30.869 18.086 8.646 2.57 13.393 5.758 15.036 10.102 1.085 2.867 1.63 22.984.779 28.772-1.33 9.046-1.702 9.796-5.792 11.667-5.029 2.3-7.404 2.392-15.752.61zm50.708.29c-3.092-1.402-5.673-4.83-6.73-8.94-.134-9.408-2.366-25.754 1.02-33.373 1.88-4.128 4.65-5.999 12.433-8.396 21.267-6.551 37.593-19.88 46.806-38.213 11.11-22.108 11.877-55.183 1.808-77.975-9.154-20.723-25.7-35.217-48.555-42.534-8.872-2.84-12.004-5.065-12.968-9.21-1.002-4.31-1.435-19.87-.785-28.218.682-8.766 1.249-9.99 6.162-13.318 3.701-2.505 5.482-2.446 17.223.575 36.718 10.077 65.97 33.597 83.026 66.68 18.495 37.034 19.191 86.11 1.742 122.655-17.233 36.09-50.591 62.511-88.622 70.194-8.172 1.65-9.07 1.656-12.56.073z" fill="#fff"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

+1
View File
@@ -0,0 +1 @@
<svg viewBox="0 0 384 512"><path d="M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z" fill="white" /></svg>

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

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