Skip to content

Latest commit

 

History

History
148 lines (105 loc) · 7.7 KB

README-PTBR.md

File metadata and controls

148 lines (105 loc) · 7.7 KB

RustDesk - Seu desktop remoto
ServidoresCompilarDockerEstruturaScreenshots
[English] | [Українська] | [česky] | [中文] | [Magyar] | [Español] | [فارسی] | [Français] | [Deutsch] | [Polski] | [Indonesian] | [Suomi] | [മലയാളം] | [日本語] | [Nederlands] | [Italiano] | [Русский] | [Esperanto] | [한국어] | [العربي] | [Tiếng Việt] | [Ελληνικά]
Precisamos de sua ajuda para traduzir este README e a UI do RustDesk para sua língua nativa

Converse conosco: Discord | Twitter | Reddit

ko-fi

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, ou escrever seu próprio servidor de rendezvous/relay.

RustDesk acolhe contribuições de todos. Leia docs/CONTRIBUTING.md para ver como começar.

DOWNLOAD DE BINÁRIOS

Dependências

Versões de desktop utilizam sciter para a GUI, por favor baixe a biblioteca dinâmica sciter por conta própria.

Windows | Linux | MacOS

Compilação crua

  • Prepare seu ambiente de desenvolvimento Rust e ambiente de compilação C++

  • Instale 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 aom:x64-windows-static
    • Linux/MacOS: vcpkg install libvpx libyuv opus aom
  • Execute cargo run

Como compilar no 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

Fedora 28 (CentOS 8)

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 --needed unzip git cmake gcc curl wget yasm nasm zip make pkg-config clang gtk3 xdotool libxcb libxfixes alsa-lib pipewire

Instale vcpkg

git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
cd ..
vcpkg/bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
vcpkg/vcpkg install libvpx libyuv opus aom

Conserte libvpx (Para o Fedora)

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

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

Como compilar com Docker

Comece clonando o repositório e montando o container docker:

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:

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:

target/debug/rustdesk

Ou, se estiver rodando um executável de release:

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: 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: captura de tela
  • libs/enigo: controle de teclado/mouse específico a cada plataforma
  • src/ui: GUI
  • src/server: serviços de áudio/área de transferência/entrada/vídeo, e conexões de rede
  • src/client.rs: iniciar uma conexão "peer to peer"
  • src/rendezvous_mediator.rs: Comunicação com rustdesk-server, aguardar pela conexão remota direta (TCP hole punching) ou conexão indireta (relayed)
  • src/platform: código específico a cada plataforma

Screenshots

image

image

image

image