RabbitRemoteControl icon indicating copy to clipboard operation
RabbitRemoteControl copied to clipboard

Remote control. Support VNC, RDP, Terminal, SSH, TELNET etc

Rabbit Remote Control

Author: Kang Lin [email protected]


:cn: 中文


  • Introduction
    • Screenshot
    • Project repository position
  • Functions
    • Supported operating system
    • Supported multiple languages
    • Supported protocols
      • Remote control protocols
      • Network protocols
    • Function list
    • Full Documentation
  • Status
  • Sponsorship and Donations
  • Contribution
  • Road map
  • Download
  • Change log
  • Development
    • Compilation
      • Compiling for Linux
      • Compiling for Windows
  • License Agreement

Introduction

Rabbit Remote Control is a cross-platform, multi-protocol remote control software.

Allows you to use any device and system in anywhere and remotely manage any device and system in any way.

Screenshot

Main window Recent list menu Connect
Main window Recent list menu Connect

Project repository position

  • Main repository: https://github.com/KangLin/RabbitRemoteControl
  • Mirror repository:
    • sourceforge: https://sourceforge.net/projects/rabbitremotecontrol/
    • gitlab: https://gitlab.com/kl222/RabbitRemoteControl
    • launchpad: https://launchpad.net/rabbitremotecontrol
    • gitee: https://gitee.com/kl222/RabbitRemoteControl

Functions

Supported operating system

See: https://doc.qt.io/qt-5/supported-platforms.html

  • [x] Windows
  • [x] Unix/Linux
  • [x] Android
  • [ ] mac os
  • [ ] IPHONE
  • [ ] WINCE

I have no devices so I did not compile and test. Please test by yourself if you have devices. Interested and capable friends are welcome to participate in the development of the project.

If you want to donate the developed devices for me, please contact: (email: [email protected])

Windows Unix/linux Android MAC IPHONE WINCE
vnc
RDP
Spice
Scrcpy
Terminal
SSH
TELNET
FTP

Legend: ✓ : completed; … : working; ⭕ : not completed; Empty: not started; ❌: not supported

Supported multiple languages

  • [x] English
  • [x] Chinese
    • [x] Simplified Chinese
    • [x] Traditional Chinese

Supported protocols

Remote control protocols

Network protocols

Function list

Server Client Desktop Clipboard File Audio P2P Proxy Terminal
RDP ……
RFB ……
Spice
Scrcpy
Terminal
TELNET
SSH
FTP

Legend: ✓ : completed; … : working; ⭕ : not completed; Empty: not started; ❌: not supported

Proxy P2P
RabbitVNC
TigerVNC
LibVNC
FreeRDP

Legend: ✓ : completed; … : working; ⭕ : not completed; Empty: not started; ❌: not supported

Full Documentation

Status

Documentation

Latest Release Release Downloads from github

Download RabbitRemoteControl Downloads from sourceforge

Gitter GitHub issues GitHub forks Commit Activity Last Commit Contributors

PRs Welcome Open PRs Closed PRs

C++ Language Qt5 Qt6

platform

GitHub stars Gitee stars

Build status

master develop
Linux ubuntu ubuntu
Windows msvcmingw msvcmingw
Android Android Build status Android Build status

Sponsorship and Donations

If this software is useful to you, or you like it, please donate and support the author. Thank you!

donation

If it cannot be displayed, please open:

  • https://gitlab.com/kl222/RabbitCommon/-/raw/master/Src/Resource/image/Contribute.png
  • https://sourceforge.net/p/rabbitcommon/code/ci/master/tree/Src/Resource/image/Contribute.png

Contribution

If you're wondering how could you help, fear not, there are plenty of ways:

Some of them are:

  • Donation - Provide funds and devices for this project :smile:
    • The project is need server with public IP
  • Spread the good word about RabbitRemoteControl to make it more popular :smile:
  • Have an opinion? Make sure to voice it in the Discussions that need it :wink:
  • Fixing easy Issues or Issues that need help. Make sure to read Contributing first though :wink:
  • Testing and reporting bugs
  • Translating, it's easy :smile:
  • Reviewing and testing pull requests – you don't need to be able to code to do that :wink:
  • Distribute this program to various operating systems
    • Linux
      • Ubuntu, Debian
      • Redhat
      • openSUSE
      • FreeBSD
      • CentOS
      • Arch Linux
    • Unix
    • Windows 10 mall
    • Android
  • Be finished unsupported protocols

Road map

  • [x] Support common existing remote control protocols
    • [x] Client
      • [x] Client frame
        • [x] Remote desktop
        • [x] Terminal(Linux implemented,but it is has a smae BUG)
      • [x] Specific protocol support, see: Supported protocol
      • [x] Peer-to-Peer (P2P) remote control protocol, see requirements for details: https://github.com/KangLin/RabbitRemoteControl/issues/7
    • [x] Server
      • [x] Server framework
      • [x] Specific protocol support, see: Supported protocol
      • [x] Peer-to-Peer (P2P) remote control protocol, see requirements for details: https://github.com/KangLin/RabbitRemoteControl/issues/7
  • [x] Peer-to-Peer (P2P)remote control protocol, see requirements for details: https://github.com/KangLin/RabbitRemoteControl/issues/7
  • [ ] File Transfer Protocol(FTP)
Server Client Desktop Clipboard File Audio P2P Proxy Terminal
RabbitVNC
TigerVNC
LibVNCServer
RDP ……
Spice
Scrcpy
Terminal
SSH
TELNET
FTP

Legend: ✓ : completed; … : working; ⭕ : not completed; Empty: not started; ❌: not supported

  • The development of common remote control protocol clients and some servers has been completed. It has preliminary practical functions, and needs to be tried by small partners, find bugs, and put forward suggestions that can be more convenient to use in practical applications.

  • For terminal remote control, because qtermwidget only supports LINUX/UNIX, it needs to support other platforms.

  • Peer-to-Peer (P2P) remote control is finished. which is also a feature of this project. See requirements for details: https://github.com/KangLin/RabbitRemoteControl/issues/7

Download

  • Change log
  • Semantic Versioning: https://semver.org/

Development

Development documentation

Dependent

Tools

  • Qt
  • C/C++ compiler
    • gcc/g++
    • MSVC
  • CMake
  • Automake、 Autoconf、 Make
  • Git

Dependent libraries

  • [x] [MUST] RabbitCommon:https://github.com/KangLin/RabbitCommon
  • [x] VNC
    • [x] [Optional] RabbitVNC: https://github.com/KangLin/RabbitVNC
    • [x] [Optional] LibVNCServer: https://github.com/LibVNC/libvncserver
    • [x] [Optional] TigerVNC: https://github.com/KangLin/tigervnc
  • [x] [Optional] FreeRDP: https://github.com/FreeRDP/FreeRDP
  • [x] [Optional] [SSH]
    • [x] LIBSSH: https://www.libssh.org
    • [ ] LIBSSH2: https://www.libssh2.org/ https://github.com/libssh2/libssh2
  • [x] [Optional] QTermWidget: https://github.com/lxqt/qtermwidget
  • [x] [Optional] libtelnet: https://github.com/seanmiddleditch/libtelnet
  • [ ] [Optional] scrcpy: https://github.com/Genymobile/scrcpy
  • [x] [Optional] libdatachannel: https://github.com/paullouisageneau/libdatachannel
  • [x] [OPTIONAL] QXmpp: https://github.com/qxmpp-project/qxmpp
  • [x] [Optional] QtService: https://github.com/KangLin/qt-solutions/

Compilation

  • Compiling for Linux
  • Compiling for Windows

License Agreement

Please abide by the License Agreement of this project and the license agreement of the dependent library, and thank the authors of dependent library and tools.