The best open source remote desktop software

Overview

RustDesk | Your Remote Desktop Software

The best open-source remote desktop 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, or write your own rendezvous/relay server.

BINARY DOWNLOAD

Dependences

Desktop versions use sciter for GUI, please download sciter dynamic library yourself.

Windows Linux Osx

How To Build

  • Prepare your Rust development env and C++ build env

  • Install vcpkg, and set VCPKG_ROOT env variable correctly

    • 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

File Structure

Snapshot

image

image

image

image

Comments
  • @wwjabc since you have added libvpx/opus ...

    @wwjabc since you have added libvpx/opus ...

    @wwjabc since you have added libvpx/opus compilation steps, I will remove the baidu download links. and I will also replace ubuntu18.04_rootfs.tar.gz with an official image. Wondering if this link https://github.com/ikwzm/ZynqMP-FPGA-Ubuntu18.04-Ultra96/blob/master/doc/build/ubuntu18.04-rootfs.md is correct?

    Originally posted by @rustdesk in https://github.com/rustdesk/rustdesk/issues/175#issuecomment-1130140801

    This link is not correct, it is running on AARCH64.

    opened by wwjabc 42
  • Add Linux ARM support

    Add Linux ARM support

    I want to run RustDesk on the Raspberry Pi, but I was disappointed to find that it does not work on the ARM architecture. I hope you can add support for the ARM platform (including the server version). Thanks.

    opened by hmsjy2017 39
  • Windows Installer

    Windows Installer

    Hi, it would be great to have an installer for silent installs like Teamviewer and Anydesk. I would like to create a Chocolatey package of this but there doesn't seem to have an installer.

    enhancement help wanted 
    opened by sitiom 35
  • secure

    secure

    [感谢你们开源这一作品,同时我也希望它能更好。接着昨天提出的中间人攻击的问题https://github.com/rustdesk/rustdesk/issues/223 我进一步证实了自己的想法,如下图所示,客户端显示的是加密中继连接,并且客户端没有察觉到异常,可是中间人却已经将传输的数据解密了 2image

    question 
    opened by lbl8603 33
  • Connected, waiting for image ... (Black Screen) --SOLVED--

    Connected, waiting for image ... (Black Screen) --SOLVED--

    First of all: Thank you for this great piece of Software !!!

    Describe the bug you encountered: Previously, with v1.16 it worked fine. So, just now with v1.18 i got the error that it seems i am connected. But the small popup says: "Connected, waiting for image ...". I can click on "OK". But the black-screen still remains.

    I am running a small CSL NarrowBox in remote, because i didn´t plug in a LCD Monitor. I tried both: ID connection and my IP connection. In both no luck. It seems like it has something to do with HDMI plugin. When my HDMI is connected to my LCD Mointor, it works. But if the Box is unplugged from the Monitor, RustDesk remains "BlackScreen" with the same Message as described before.

    I report it as a bug, because i didn´t have this issue in v1.16

    ...

    What did you expect to happen instead? Like in v1.16 i got a normal view to my remote Desktop. ...

    How did you install RustDesk? I use the portable edition.


    RustDesk version and environment RustDesk v1.18 running on Windows 10 21H1 x64. Hardware: CSL NarrowBox intel Atom vers.

    bug 
    opened by weekendkoder 33
  • RustDesk do not install on windows 7

    RustDesk do not install on windows 7

    Hello, When I try to install RustDesk on windows 7 (x86, I did not test on x64) nothing happens and if I create a folder on program files and start the installing it just delete the folder.

    bug 
    opened by Infra034 31
  • Working principle

    Working principle

    How does it work? Any docs? Caused users concerning about the security itself without looking the code. Does it requires a good spec centeric server? what's the minimal requirements of it ?

    opened by jinfagang 24
  • AUR PKGBUILD build error

    AUR PKGBUILD build error

    rustdesk PKGBUILD

    # Maintainer: taotieren <[email protected]>
    
    pkgname=rustdesk
    pkgver=1.1.6
    pkgrel=1
    pkgdesc="Yet another remote desktop software, written in Rust. Works out of the box, no configuration required. Great alternative to TeamViewer and AnyDesk! "
    arch=('any')
    url="https://github.com/rustdesk/rustdesk"
    license=('GPLv3')
    provides=(${pkgname})
    conflicts=(${pkgname} ${pkgname}-git)
    #replaces=(${pkgname})
    depends=('yasm' 'nasm' 'clang' 'gtk3' 'xdotool' 'libxcb' 'libxfixes' 'alsa-lib' 'pulseaudio')
    # 'libsciter-gtk-bin'
    makedepends=('unzip' 'zip' 'pkg-config' 'make' 'git' 'cmake' 'gcc' 'curl' 'wget' 'rust')
    backup=()
    options=('!strip')
    #install=${pkgname}.install
    source=("${pkgname}-${pkgver}.tar.gz::${url}/archive/refs/tags/${pkgver}.tar.gz")
    sha256sums=('a5338c95ca147c87a8d9eced9674628bd26385a042691ec8cde190847eaaa7ae')
    
    package() {
        cd "${srcdir}/${pkgname}-${pkgver}/"
        cargo install --no-track --locked --all-features --root "$pkgdir/usr/" --path .
    }
    
    
    ➜  rustdesk git:(master) makepkg --printsrcinfo > .SRCINFO
    ➜  rustdesk git:(master) makepkg -sf                      
    ==> 正在创建软件包:rustdesk 1.1.6-1 (2021年06月27日 星期日 12时42分53秒)
    ==> 正在检查运行时依赖关系...
    ==> 正在检查编译时依赖关系
    ==> 获取源代码...
      -> 找到 rustdesk-1.1.6.tar.gz
    ==> 正在验证 source 文件,使用sha256sums...
        rustdesk-1.1.6.tar.gz ... 通过
    ==> 正在释放源码...
      -> 正在解压缩 rustdesk-1.1.6.tar.gz,使用 bsdtar
    ==> 正在删除现存的 $pkgdir/ 目录...
    ==> 正在开始 build()...
    ==> 正在进入 fakeroot 环境...
    ==> 正在开始 package()...
      Installing rustdesk v1.1.2 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6)
        Updating crates.io index
        Updating git repository `https://github.com/rustaudio/cpal`
        Updating git repository `https://github.com/mullvad/windows-service-rs.git`
        Updating git repository `https://github.com/stepancheg/rust-protobuf`
        Updating git submodule `https://github.com/google/protobuf`
        Updating git submodule `https://github.com/google/benchmark.git`
      Downloaded futures-task v0.3.15
      Downloaded futures-macro v0.3.15
      Downloaded cpufeatures v0.1.5
      Downloaded cc v1.0.68
      Downloaded rustc-demangle v0.1.20
      Downloaded derive_more v0.99.14
      Downloaded serde_derive v1.0.126
      Downloaded regex-syntax v0.6.25
      Downloaded walkdir v2.3.2
      Downloaded smithay-client-toolkit v0.14.0
      Downloaded x11-clipboard v0.5.2
      Downloaded futures-core v0.3.15
      Downloaded signal-hook-registry v1.4.0
      Downloaded proc-macro2 v1.0.27
      Downloaded gimli v0.24.0
      Downloaded sodiumoxide v0.2.7
      Downloaded libc v0.2.97
      Downloaded syn v1.0.73
      Downloaded thiserror-impl v1.0.25
      Downloaded pin-project-lite v0.2.7
      Downloaded thiserror v1.0.25
      Downloaded sha2 v0.9.5
      Downloaded serde v1.0.126
      Downloaded same-file v1.0.6
      Downloaded regex v1.5.4
      Downloaded memmap2 v0.2.3
      Downloaded futures-util v0.3.15
      Downloaded futures-channel v0.3.15
      Downloaded getrandom v0.2.3
      Downloaded once_cell v1.8.0
      Downloaded env_logger v0.8.4
      Downloaded futures-io v0.3.15
      Downloaded signature v1.3.0
      Downloaded object v0.25.3
      Downloaded ed25519 v1.1.1
      Downloaded futures v0.3.15
      Downloaded futures-sink v0.3.15
      Downloaded futures-executor v0.3.15
      Downloaded addr2line v0.15.2
      Downloaded smithay-clipboard v0.6.4
      Downloaded libsodium-sys v0.2.7
      Downloaded backtrace v0.3.60
      Downloaded anyhow v1.0.41
      Downloaded 43 crates (10.1 MB) in 2.41s (largest was `libsodium-sys` at 4.6 MB)
        Blocking waiting for file lock on package cache
       Compiling libc v0.2.97
       Compiling proc-macro2 v1.0.27
       Compiling syn v1.0.73
       Compiling futures-core v0.3.15
       Compiling futures-task v0.3.15
       Compiling serde v1.0.126
       Compiling futures-channel v0.3.15
       Compiling regex-syntax v0.6.25
       Compiling protobuf v3.0.0-pre (https://github.com/stepancheg/rust-protobuf#681462cc)
       Compiling same-file v1.0.6
       Compiling gimli v0.24.0
       Compiling rustc-demangle v0.1.20
       Compiling anyhow v1.0.41
       Compiling once_cell v1.8.0
       Compiling futures-sink v0.3.15
       Compiling futures-io v0.3.15
       Compiling pin-project-lite v0.2.7
       Compiling serde_derive v1.0.126
       Compiling signature v1.3.0
       Compiling cpal v0.13.3 (https://github.com/rustaudio/cpal#e9931113)
       Compiling cpufeatures v0.1.5
       Compiling futures-macro v0.3.15
       Compiling futures-util v0.3.15
       Compiling walkdir v2.3.2
       Compiling ed25519 v1.1.1
       Compiling object v0.25.3
       Compiling addr2line v0.15.2
       Compiling quote v1.0.9
       Compiling jobserver v0.1.22
       Compiling atty v0.2.14
       Compiling rand_os v0.1.3
       Compiling iovec v0.1.4
       Compiling net2 v0.2.37
       Compiling getrandom v0.1.16
       Compiling signal-hook-registry v1.4.0
       Compiling num_cpus v1.13.0
       Compiling dirs-sys-next v0.1.2
       Compiling dirs-sys v0.3.6
       Compiling nix v0.19.1
       Compiling filetime v0.2.14
       Compiling socket2 v0.3.19
       Compiling nix v0.20.0
       Compiling memmap2 v0.2.3
       Compiling parking_lot_core v0.8.3
       Compiling alsa-sys v0.3.1
       Compiling time v0.1.43
       Compiling getrandom v0.2.3
       Compiling nix v0.17.0
       Compiling enigo v0.0.14 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/enigo)
       Compiling sciter-rs v0.5.53 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/rust-sciter)
       Compiling rpassword v5.0.1
    warning: panic message is not a string literal
       --> libs/rust-sciter/src/lib.rs:352:28
        |
    352 |       Err(error) => panic!(error),
        |                            ^^^^^
        |
        = note: `#[warn(non_fmt_panic)]` on by default
        = note: this is no longer accepted in Rust 2021
    help: add a "{}" format string to Display the message
        |
    352 |       Err(error) => panic!("{}", error),
        |                            ^^^^^
    help: or use std::panic::panic_any instead
        |
    352 |       Err(error) => std::panic::panic_any(error),
        |                     ^^^^^^^^^^^^^^^^^^^^^
    
       Compiling toml v0.5.8
       Compiling xcb v0.9.0
       Compiling serde_json v1.0.64
    warning: 1 warning emitted
    
       Compiling regex v1.5.4
       Compiling flate2 v1.0.20
       Compiling wayland-scanner v0.28.5
       Compiling cc v1.0.68
       Compiling protobuf-codegen v3.0.0-pre (https://github.com/stepancheg/rust-protobuf#681462cc)
       Compiling clap v2.33.3
       Compiling rand v0.6.5
       Compiling mio v0.6.23
       Compiling rand_core v0.5.1
       Compiling directories-next v2.0.0
       Compiling dirs-next v2.0.0
       Compiling directories v2.0.2
       Compiling parking_lot v0.11.1
       Compiling mac_address v1.1.1
       Compiling uuid v0.8.2
       Compiling wayland-commons v0.28.5
       Compiling alsa v0.5.0
       Compiling ctrlc v3.1.9
       Compiling env_logger v0.7.1
       Compiling env_logger v0.8.4
       Compiling chrono v0.4.19
       Compiling repng v0.2.2
       Compiling protobuf-codegen-pure v3.0.0-pre (https://github.com/stepancheg/rust-protobuf#681462cc)
       Compiling wayland-client v0.28.5
       Compiling wayland-protocols v0.28.5
       Compiling backtrace v0.3.60
       Compiling zstd-sys v1.4.18+zstd.1.4.7
       Compiling libsodium-sys v0.2.7
       Compiling libloading v0.5.2
       Compiling runas v0.2.1
       Compiling phf_generator v0.7.24
       Compiling mio-uds v0.6.8
       Compiling rand_chacha v0.2.2
       Compiling confy v0.4.1 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/confy)
       Compiling sha2 v0.9.5
       Compiling phf_codegen v0.7.24
       Compiling rand v0.7.3
       Compiling x11-clipboard v0.5.2
       Compiling target_build_utils v0.3.1
       Compiling failure v0.1.8
       Compiling wayland-cursor v0.28.5
       Compiling tokio-macros v0.2.6
       Compiling num-derive v0.3.3
       Compiling thiserror-impl v1.0.25
       Compiling derive_more v0.99.14
       Compiling async-trait v0.1.50
       Compiling hbb_common v0.1.0 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/hbb_common)
       Compiling clang-sys v0.28.1
       Compiling which v3.1.1
       Compiling smithay-client-toolkit v0.14.0
       Compiling libpulse-sys v1.18.0
       Compiling tokio v0.2.25
       Compiling thiserror v1.0.25
       Compiling bindgen v0.53.1
       Compiling smithay-clipboard v0.6.4
       Compiling libpulse-binding v2.23.1
       Compiling libpulse-simple-sys v1.16.1
       Compiling tokio-util v0.3.1
       Compiling futures-executor v0.3.15
       Compiling flexi_logger v0.16.3
       Compiling psutil v3.2.1
       Compiling copypasta v0.7.1
       Compiling sodiumoxide v0.2.7
       Compiling rust-pulsectl v0.2.10 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/pulsectl)
    warning: use of deprecated constant `pulse::context::flags::NOFLAGS`: Use the associated constants on `FlagSet`.
      --> libs/pulsectl/src/lib.rs:88:28
       |
    88 |             .connect(None, pulse::context::flags::NOFLAGS, None)
       |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       |
       = note: `#[warn(deprecated)]` on by default
    
    warning: use of deprecated constant `pulse::volume::VOLUME_NORM`: use the associated constant on `Volume` instead
      --> libs/pulsectl/src/controllers/mod.rs:62:35
       |
    62 |     (volume * 100.0) * (f64::from(pulse::volume::VOLUME_NORM.0) / 100.0)
       |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
    
       Compiling libpulse-simple-binding v2.23.0
       Compiling futures v0.3.15
       Compiling parity-tokio-ipc v0.7.2 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/parity-tokio-ipc)
    warning: 2 warnings emitted
    
       Compiling scrap v0.5.0 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/scrap)
       Compiling magnum-opus v0.3.4 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/magnum-opus)
    error: failed to run custom build command for `scrap v0.5.0 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/libs/scrap)`
    
    Caused by:
      process didn't exit successfully: `/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/target/release/build/scrap-d87399bab0dc8ddf/build-script-build` (exit status: 101)
      --- stderr
      thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NotPresent', libs/scrap/build.rs:7:50
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    warning: build failed, waiting for other jobs to finish...
    error: failed to compile `rustdesk v1.1.2 (/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6)`, intermediate artifacts can be found at `/home/taotieren/git_clone/aur/rustdesk/src/rustdesk-1.1.6/target`
    
    Caused by:
      build failed
    ==> 错误: 在 package() 中发生一个错误。
        正在放弃...
    ➜  rustdesk git:(master) 
    

    使用 rustdesk-git PKGBUILD 编译同样报错

    # Maintainer: taotieren <[email protected]>
    
    pkgname=rustdesk-git
    pkgver=1.1.6.r47.g25ffaa7
    pkgrel=1
    pkgdesc="Yet another remote desktop software, written in Rust. Works out of the box, no configuration required. Great alternative to TeamViewer and AnyDesk! "
    arch=('any')
    url="https://github.com/rustdesk/rustdesk"
    license=('GPLv3')
    provides=(${pkgname})
    conflicts=(${pkgname} ${pkgname%-git})
    #replaces=(${pkgname})
    depends=('yasm' 'nasm' 'clang' 'gtk3' 'xdotool' 'libxcb' 'libxfixes' 'alsa-lib' 'pulseaudio')
    # 'libsciter-gtk-bin'
    makedepends=('unzip' 'zip' 'pkg-config' 'make' 'git' 'cmake' 'gcc' 'curl' 'wget' 'rust')
    backup=()
    options=('!strip')
    #install=${pkgname}.install
    source=("${pkgname%-git}::git+${url}.git")
    sha256sums=('SKIP')
    
    pkgver() {
        cd "${srcdir}/${pkgname%-git}"
        git describe --long --tags | sed 's/\([^-]*-g\)/r\1/;s/-/./g'
    }
    
    # build() {
    #     cd "${srcdir}/${pkgname%-git}"
    #     RUSTUP_TOOLCHAIN=stable cargo build --release --locked --all-features --target-dir=target
    # }
    
    # check() {
    #     cd "${srcdir}/${pkgname%-git}"
    #     RUSTUP_TOOLCHAIN=stable cargo test --release --locked --target-dir=target
    #  }
    
    package() {
        cd "${srcdir}/${pkgname%-git}"
        cargo install --no-track --locked --all-features --root "$pkgdir/usr/" --path .
    }
    
    
    ➜  rustdesk-git git:(master) makepkg --printsrcinfo > .SRCINFO
    ➜  rustdesk-git git:(master) makepkg -sf                      
    ==> 正在创建软件包:rustdesk-git 1.1.6.r47.g25ffaa7-1 (2021年06月27日 星期日 12时43分�27秒)
    ==> 正在检查运行时依赖关系...
    ==> 正在检查编译时依赖关系
    ==> 获取源代码...
      -> 正在升级 rustdesk git 仓库...
    正在获取 origin
    ==> 正在验证 source 文件,使用sha256sums...
        rustdesk ... 已跳过
    ==> 正在释放源码...
      -> 正在建立 rustdesk git 仓库的拷贝...
    重置分支 'makepkg'
    ==> 正在开始 pkgver()...
    ==> 正在删除现存的 $pkgdir/ 目录...
    ==> 正在开始 build()...
    ==> 正在进入 fakeroot 环境...
    ==> 正在开始 package()...
        Blocking waiting for file lock on package cache
      Installing rustdesk v1.1.6 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk)
        Blocking waiting for file lock on package cache
        Updating crates.io index
      Downloaded mio v0.7.13
      Downloaded whoami v1.1.2
      Downloaded rand_core v0.6.2
      Downloaded rand_chacha v0.3.0
      Downloaded tokio v1.7.1
      Downloaded bytes v1.0.1
      Downloaded zstd-safe v4.1.1+zstd.1.5.0
      Downloaded rand v0.8.3
      Downloaded zstd-sys v1.6.1+zstd.1.5.0
      Downloaded tokio-macros v1.2.0
      Downloaded tokio-util v0.6.7
      Downloaded zstd v0.9.0+zstd.1.5.0
      Downloaded 12 crates (1.5 MB) in 2.27s
       Compiling libc v0.2.94
       Compiling proc-macro2 v1.0.26
       Compiling unicode-xid v0.2.2
       Compiling autocfg v1.0.1
       Compiling cfg-if v1.0.0
       Compiling memchr v2.4.0
       Compiling pkg-config v0.3.19
       Compiling bitflags v1.2.1
       Compiling syn v1.0.71
       Compiling log v0.4.14
       Compiling autocfg v0.1.7
       Compiling rand_core v0.4.2
       Compiling getrandom v0.2.2
       Compiling serde v1.0.125
       Compiling proc-macro-nested v0.1.7
       Compiling smallvec v1.6.1
       Compiling version_check v0.9.3
       Compiling proc-macro-hack v0.5.19
       Compiling protobuf v3.0.0-pre (https://github.com/stepancheg/rust-protobuf#bbe35a98)
       Compiling siphasher v0.2.3
       Compiling regex-syntax v0.6.24
       Compiling cfg-if v0.1.10
       Compiling termcolor v1.1.2
       Compiling once_cell v1.7.2
       Compiling gimli v0.23.0
       Compiling lazy_static v1.4.0
       Compiling glob v0.3.0
       Compiling adler v1.0.2
       Compiling xml-rs v0.8.3
       Compiling version_check v0.1.5
       Compiling zstd-safe v4.1.1+zstd.1.5.0
       Compiling object v0.23.0
       Compiling rustc-demangle v0.1.18
       Compiling unicode-width v0.1.8
       Compiling quick-error v1.2.3
       Compiling dasp_sample v0.11.0
       Compiling mac_address v1.1.1
       Compiling ansi_term v0.11.0
       Compiling serde v0.9.15
       Compiling anyhow v1.0.40
       Compiling itoa v0.3.4
       Compiling bindgen v0.53.1
       Compiling pin-project-lite v0.2.6
       Compiling futures-core v0.3.14
       Compiling vec_map v0.8.2
       Compiling futures-sink v0.3.14
       Compiling strsim v0.8.0
       Compiling dtoa v0.4.8
       Compiling peeking_take_while v0.1.2
       Compiling lazycell v1.3.0
       Compiling rustc-hash v1.1.0
       Compiling shlex v0.1.1
       Compiling futures-io v0.3.14
       Compiling scopeguard v1.1.0
       Compiling slab v0.4.3
       Compiling scoped-tls v1.0.0
       Compiling serde_derive v1.0.125
       Compiling downcast-rs v1.2.0
       Compiling pin-utils v0.1.0
       Compiling futures-task v0.3.14
       Compiling typenum v1.13.0
       Compiling winapi v0.3.9
       Compiling nix v0.18.0
       Compiling dasp_ring_buffer v0.11.0
       Compiling ppv-lite86 v0.2.10
       Compiling bytes v1.0.1
       Compiling crc32fast v1.2.1
       Compiling humantime v2.1.0
       Compiling nix v0.17.0
       Compiling ryu v1.0.5
       Compiling cpal v0.13.3 (https://github.com/rustaudio/cpal#1b2469d0)
       Compiling serde_json v1.0.64
       Compiling async-trait v0.1.50
       Compiling whoami v1.1.2
       Compiling void v1.0.2
       Compiling mio-named-pipes v0.1.7
       Compiling platforms v0.2.1
       Compiling yansi v0.5.0
       Compiling byteorder v1.4.3
       Compiling block v0.1.6
       Compiling unescape v0.1.0
       Compiling itoa v0.4.7
       Compiling opaque-debug v0.3.0
       Compiling cpuid-bool v0.1.2
       Compiling machine-uid v0.2.0
       Compiling libloading v0.7.0
       Compiling instant v0.1.9
       Compiling libloading v0.6.7
       Compiling rand_core v0.3.1
       Compiling rand_jitter v0.1.4
       Compiling phf_shared v0.7.24
       Compiling num-traits v0.2.14
       Compiling miniz_oxide v0.4.4
       Compiling tokio v1.7.1
       Compiling num-integer v0.1.44
       Compiling rand_chacha v0.1.1
       Compiling rand_pcg v0.1.2
       Compiling rand v0.6.5
       Compiling wayland-sys v0.28.5
       Compiling libpulse-sys v1.18.0
       Compiling alsa-sys v0.3.1
       Compiling libpulse-simple-sys v1.16.1
       Compiling enigo v0.0.14 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/enigo)
       Compiling nom v6.1.2
       Compiling generic-array v0.14.4
       Compiling textwrap v0.11.0
       Compiling humantime v1.3.0
       Compiling dasp_frame v0.11.0
       Compiling dasp_window v0.11.1
       Compiling nom v4.2.3
       Compiling clang-sys v0.28.1
       Compiling addr2line v0.14.1
       Compiling futures-channel v0.3.14
       Compiling lock_api v0.4.4
       Compiling dlib v0.5.0
       Compiling dlib v0.4.2
       Compiling rand_hc v0.1.0
       Compiling rand_xorshift v0.1.1
       Compiling rand_isaac v0.1.1
       Compiling phf v0.7.24
       Compiling dasp_peak v0.11.0
       Compiling dasp_rms v0.11.0
       Compiling dasp_interpolate v0.11.0
       Compiling dasp_slice v0.11.0
       Compiling aho-corasick v0.7.18
       Compiling quote v1.0.9
       Compiling jobserver v0.1.22
       Compiling atty v0.2.14
       Compiling rand_os v0.1.3
       Compiling parking_lot_core v0.8.3
       Compiling num_cpus v1.13.0
       Compiling dirs-sys v0.3.6
       Compiling signal-hook-registry v1.3.0
       Compiling mio v0.7.13
       Compiling dirs-sys-next v0.1.2
       Compiling nix v0.19.1
       Compiling socket2 v0.3.19
       Compiling filetime v0.2.14
       Compiling nix v0.20.0
       Compiling memmap2 v0.1.0
       Compiling time v0.1.43
       Compiling sciter-rs v0.5.53 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/rust-sciter)
       Compiling rpassword v5.0.1
       Compiling xcb v0.9.0
       Compiling toml v0.5.8
       Compiling miow v0.3.7
       Compiling dasp_envelope v0.11.0
       Compiling cc v1.0.67
       Compiling wayland-scanner v0.28.5
       Compiling protobuf-codegen v3.0.0-pre (https://github.com/stepancheg/rust-protobuf#bbe35a98)
       Compiling clap v2.33.3
       Compiling regex v1.5.2
       Compiling rand_core v0.6.2
       Compiling parking_lot v0.11.1
       Compiling directories v2.0.2
       Compiling dirs-next v2.0.0
       Compiling directories-next v2.0.0
       Compiling flate2 v1.0.20
       Compiling num-traits v0.1.43
       Compiling uuid v0.8.2
       Compiling ctrlc v3.1.9
       Compiling wayland-commons v0.28.5
       Compiling alsa v0.5.0
       Compiling xcursor v0.3.3
       Compiling cexpr v0.3.6
       Compiling dasp_signal v0.11.0
       Compiling digest v0.9.0
       Compiling block-buffer v0.9.0
       Compiling protobuf-codegen-pure v3.0.0-pre (https://github.com/stepancheg/rust-protobuf#bbe35a98)
       Compiling backtrace v0.3.58
       Compiling zstd-sys v1.6.1+zstd.1.5.0
       Compiling libloading v0.5.2
       Compiling libsodium-sys v0.2.6
       Compiling runas v0.2.1
       Compiling wayland-client v0.28.5
       Compiling wayland-protocols v0.28.5
       Compiling rand_chacha v0.3.0
       Compiling env_logger v0.8.3
       Compiling env_logger v0.7.1
       Compiling confy v0.4.1 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/confy)
       Compiling repng v0.2.2
       Compiling serde_json v0.9.10
       Compiling chrono v0.4.19
       Compiling phf_generator v0.7.24
       Compiling dasp v0.11.0
       Compiling sha2 v0.9.3
       Compiling rand v0.8.3
       Compiling phf_codegen v0.7.24
       Compiling x11-clipboard v0.5.1
       Compiling hbb_common v0.1.0 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/hbb_common)
       Compiling target_build_utils v0.3.1
       Compiling failure v0.1.8
       Compiling futures-macro v0.3.14
       Compiling tokio-macros v1.2.0
       Compiling num-derive v0.3.3
       Compiling thiserror-impl v1.0.24
       Compiling derive_more v0.99.13
       Compiling which v3.1.1
       Compiling wayland-cursor v0.28.5
       Compiling futures-util v0.3.14
       Compiling thiserror v1.0.24
       Compiling smithay-client-toolkit v0.12.3
       Compiling tokio-util v0.6.7
       Compiling libpulse-binding v2.23.1
       Compiling psutil v3.2.1
       Compiling flexi_logger v0.16.3
       Compiling futures-executor v0.3.14
       Compiling smithay-clipboard v0.6.3
       Compiling sodiumoxide v0.2.6
       Compiling libpulse-simple-binding v2.23.0
       Compiling rust-pulsectl v0.2.10 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/pulsectl)
    warning: use of deprecated constant `pulse::context::flags::NOFLAGS`: Use the associated constants on `FlagSet`.
      --> libs/pulsectl/src/lib.rs:88:28
       |
    88 |             .connect(None, pulse::context::flags::NOFLAGS, None)
       |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
       |
       = note: `#[warn(deprecated)]` on by default
    
    warning: use of deprecated constant `pulse::volume::VOLUME_NORM`: use the associated constant on `Volume` instead
      --> libs/pulsectl/src/controllers/mod.rs:62:35
       |
    62 |     (volume * 100.0) * (f64::from(pulse::volume::VOLUME_NORM.0) / 100.0)
       |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^
    
       Compiling futures v0.3.14
       Compiling copypasta v0.7.1
       Compiling parity-tokio-ipc v0.7.2 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/parity-tokio-ipc)
    warning: 2 warnings emitted
    
       Compiling magnum-opus v0.3.4 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/magnum-opus)
       Compiling scrap v0.5.0 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/scrap)
    error: failed to run custom build command for `magnum-opus v0.3.4 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/libs/magnum-opus)`
    
    Caused by:
      process didn't exit successfully: `/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/target/release/build/magnum-opus-e056fb19b528717d/build-script-build` (exit status: 101)
      --- stderr
      thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: NotPresent', libs/magnum-opus/build.rs:7:50
      note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
    warning: build failed, waiting for other jobs to finish...
    error: failed to compile `rustdesk v1.1.6 (/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk)`, intermediate artifacts can be found at `/home/taotieren/git_clone/aur/rustdesk-git/src/rustdesk/target`
    
    Caused by:
      build failed
    ==> 错误: 在 package() 中发生一个错误。
        正在放弃...
    ➜  rustdesk-git git:(master)
    

    Cargo config

    [source.crates-io]
    registry = "https://github.com/rust-lang/crates.io-index"
    
    #replace-with = 'ustc'
    #[source.ustc]
    #registry = "git://mirrors.ustc.edu.cn/crates.io-index"
    
    #replace-with = 'tuna'
    #[source.tuna]
    #registry = "git://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index"
    
    #replace-with = 'rustcc'
    # rustcc社区
    #[source.rustcc]
    #registry = "git://crates.rustcc.cn/crates.io-index"
    
    #[net]
    #git-fetch-with-cli = true
    
    
    duplicate question 
    opened by taotieren 21
  • connection error:os error 10054

    connection error:os error 10054

    Describe the bug you encountered: cannot connect remote compute. error: 远程主机强迫关闭了一个现有连接。(os error 10054) ...

    What did you expect to happen instead?

    ...

    How did you install RustDesk? self-host: ubuntu 18.0.4 remote client: mac local: win 11.


    RustDesk version and environment version 1.1.9

    bug duplicate 
    opened by titilami 19
  • Release unzipped Windows executables for Winget

    Release unzipped Windows executables for Winget

    Winget doesn't support zipped files yet (https://github.com/microsoft/winget-cli/issues/140), so it would be great to release https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-windows_x64.zip and https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-windows_x32.zip unzipped (i.e., the .exe file itself) for now.

    enhancement 
    opened by sitiom 18
  • Hostname issues on RustDesk Android App

    Hostname issues on RustDesk Android App

    I have a Galaxy S22 Ultra running Android 12 and I am using AT&T as my cell phone provider.

    Relay Server and ID server have been successfully setup on my Windows PC and Ive tested it with successful results (with an IP address format of 1.2.3.4). My public IP (lets call this 1.2.3.4) works for both WiFi and 4G/5G and WIFI connections, even with VPN on WiFI and VPN on 4G/5G. Now, once I use my hostname (lets call this blablah.com) that has the public IP of 1.2.3.4, thats where I run into problems.

    On 4G/5G, I get an error of "Address Family Not Supported by protocol (os error 97). On WiFi (using blahblah.com), it connects. Even on 4G/5G connected to my home VPN via wireguard, blahblah.com makes a successful connection.

    Edit: In this screenshot, I also added the port 21116 at the end of blahblah.com and set the Direct Connection option to port 21116. I tried doing it without it too. I even tried hbbs.blahblah.com and hbbs.blablah.com:21116 and nothing works. Screenshot_20220528-125914 image0

    help wanted good first issue 
    opened by phoenixwarrior95 17
  • Segmentation fault when executing with command line argument

    Segmentation fault when executing with command line argument

    Describe the bug you encountered: when running rustdesk with a command line argument, a segmentation fault happens. $ rustdesk foo Segmentation fault (core dumped)

    ...

    What did you expect to happen instead? rustdesk rejecting or ignoring the argument. ...

    How did you install RustDesk?

    https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb

    RustDesk version and environment RustDesk 1.1.9, Ubuntu 20.04.5 LTS

    bug 
    opened by MaxGietl 1
  • Input the fourth ID in the input box, and the cursor always jumps back to the previous position

    Input the fourth ID in the input box, and the cursor always jumps back to the previous position

    Describe the bug you encountered:

    Input the fourth ID in the input box, and the cursor always jumps back to the previous position

    What did you expect to happen instead?

    ...

    How did you install RustDesk?

    GitHub release-Windows portable


    RustDesk version and environment 1.1.9 Windows 10 21H2

    bug 
    opened by intionwun 1
  • Connection error : Connection reset by peer OS error 104

    Connection error : Connection reset by peer OS error 104

    Hi, just got twice issue get connected to client. I dont know what its, but i think related to security because its somehow blocked by router/firewall. The day before its okay, nothing got wrong, but accidently its cant connect to a client, others clients is ok.

    Im using debian on both side and installed correctly on x11 desktop. Rustdesk version 1.1.9

    Cuplikan layar dari 2022-09-22 05-42-51

    bug 
    opened by clues4me 6
  • Ipv6

    Ipv6

    https://github.com/rustdesk/rustdesk-server/pull/119

    Not Sure

    1. Why not drop socket earlier?
    2. For some private networks, there's no need to test nat for ipv6. Current implementation has tested ipv6 nat.
    3. If rendezvous_addr is a domain string. register_pk use domain url to send a udp request. The rendezvous server may see an IPv6 or IPv4 address by occasionally. It may be caused by my cloud network provider. But it won't take any problems. The only result is from IPv6 --> IPv6 to IPv4 --> IPv4.
    4. Comment the checking socket addr logic.

    Known issues

    1. ~~IPv6 prevent connections out of private network. It is better confiture firewall to allow some ports for connections. And the rustdesk client should listen on those ports.~~ It's strange, my cloud ipv6 network works fine now.
    2. No considerations about multiple network interfaces.
    3. Socks proxy does not support IPv6.
    opened by fufesou 2
  • Support hide remote wallpaper

    Support hide remote wallpaper

    The remote wallpaper has a great influence on the fluency of remote access. I hope to support the removal of the remote wallpaper for a better remote experience.

    enhancement 
    opened by Avey777 1
Releases(tmp)
Sanzu is a graphical remote desktop solution

Sanzu Sanzu is a graphical remote desktop solution. It is composed of: a server running on Unix or Windows which can stream a X11 or a Windows GUI env

CEA IT Security 86 Sep 20, 2022
SpringQL: Open-source stream processor for IoT devices and in-vehicle computers

What is SpringQL? SpringQL is an open-source stream processor specialized in memory efficiency. It is supposed to run on embedded systems like IoT dev

SpringQL 24 Aug 26, 2022
A remote shell, TCP tunnel and HTTP proxy for Replit.

Autobahn A remote shell, TCP tunnel and HTTP proxy for Replit. Hybrid SSH/HTTP server for Replit. Based on leon332157/replish. Autobahn runs a WebSock

Patrick Winters 12 Sep 24, 2022
Expose local age identities to remote machines via SSH

age-plugin-remote TBD Design Notes Proxy identities act as bearer tokens. A proxy identity is only "active" if the authority provides it when starting

null 6 Aug 19, 2022
Drpc-Correct, high performance, robust, easy use Remote invocation framework

Drpc - Correct, high performance, robust, easy use Remote invocation framework

darkrpc 28 Sep 15, 2022
A modern, simple TCP tunnel in Rust that exposes local ports to a remote server, bypassing standard NAT connection firewalls

bore A modern, simple TCP tunnel in Rust that exposes local ports to a remote server, bypassing standard NAT connection firewalls. That's all it does:

Eric Zhang 5.7k Sep 27, 2022
A simple cross-platform remote file management tool to upload and download files over HTTP/S

A simple cross-platform remote file management tool to upload and download files over HTTP/S

sexnine 9 Aug 24, 2022
MASQ Network 115 Sep 28, 2022
Modular IPC-based desktop launcher service

Pop Launcher Modular IPC-based desktop launcher service, written in Rust. Desktop launchers may interface with this service via spawning the pop-launc

Pop!_OS 107 Sep 26, 2022
Open Internet Service to store transaction history for NFTs/Tokens on the Internet Computer

CAP - Certified Asset Provenance Transaction history & asset provenance for NFT’s & Tokens on the Internet Computer CAP is an open internet service pr

Psychedelic 42 Aug 8, 2022
Cover is an open internet service for canister code verification on the Internet Computer

Cover Cover (short for Code Verification) is an open internet service that helps verify the code of canisters on the Internet Computer. Visit our webs

Psychedelic 13 Jul 15, 2022
Open-source tool to enforce privacy & security best-practices on Windows and macOS, because privacy is sexy 🍑🍆

privacy-sexy Open-source tool to enforce privacy & security best-practices on Windows and MacOs, because privacy is sexy ?? ?? privacy-sexy is a data-

Subconscious Compute 2 Sep 6, 2022
H2O Open Source Kubernetes operator and a command-line tool to ease deployment (and undeployment) of H2O open-source machine learning platform H2O-3 to Kubernetes.

H2O Kubernetes Repository with official tools to aid the deployment of H2O Machine Learning platform to Kubernetes. There are two essential tools to b

H2O.ai 15 May 31, 2022
Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Elemental System Designs is an open source project to document system architecture design of popular apps and open source projects that we want to study

Jason Shin 9 Apr 10, 2022
Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners

CleanIt Open-source Autonomy Software in Rust-lang with gRPC for the Roomba series robot vacuum cleaners Motivation Motivation is to build a complete

Kristoffer Rakstad Solberg 204 Sep 21, 2022
Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities.

Habitat is open source software that creates platform-independent build artifacts and provides built-in deployment and management capabilities. The go

Habitat 2.4k Sep 23, 2022
Filen.io is a cloud storage provider with an open-source desktop client.

Library to call Filen.io API from Rust Filen.io is a cloud storage provider with an open-source desktop client. My goal is to write a library which ca

Konstantin Zakharov 4 Jul 19, 2022
An open source desktop wallet for nano and banano with end-to-end encrypted, on chain messaging using the dagchat protocol.

An open source wallet with end-to-end encrypted, on chain messaging for nano and banano using the dagchat protocol.

derfarctor 15 Jul 19, 2022
🚧 (Alpha stage software) Binary that supports remote filesystem and process operations. 🚧

distant Binary to connect with a remote machine to edit files and run programs. ?? (Alpha stage software) This program is in rapid development and may

Chip Senkbeil 253 Sep 21, 2022
Sanzu is a graphical remote desktop solution

Sanzu Sanzu is a graphical remote desktop solution. It is composed of: a server running on Unix or Windows which can stream a X11 or a Windows GUI env

CEA IT Security 86 Sep 20, 2022