Screen teleport - low latency remote desktop control.
⚠ This repo is still under heavy development. A 1.0 release will be available in the Releases section on GitHub when both the client and the server will be fully functioning.
click here for a very funny image, SFW
⚠ The image above was entirely made for fun. Please Parsec, don't sue me.
The default values can be set through environment variables.
SCRTP_IPVER
can be set to either4
or6
, it represents the default IP version.
Option values specified as command arguments override default values, but their effect will last for the entire program execution only.
Usage: scrtp [options ...] host port
where:
host
andport
refer to the server's host and port, respectivelyoptions
can be one or more of:--ipv N
Prefer one IP version over the other.N
can either be 4 or 6. Setting this option to 4 or 6 means that thehost
field should follow that IP version syntax.
Usage: scrtpd [options ...] host port
where:
host
andport
refer to the host and port to listen to for new connectionsoptions
can be one or more of:--ipv N
Prefer one IP version over the other.N
can either be 4 or 6. Setting this option to 4 or 6 means that thehost
field should follow that IP version syntax.
All commands and relative paths below presume that your current working directory is the repo root directory.
Before proceeding, install make
(any POSIX-compliant make
) and all the required dependencies (both compile-time and runtime).
Compile-time dependencies: (none)
Runtime dependencies: (see shared/reqbins and client/reqbins)
To compile, run:
make client
Compile-time dependencies: (none)
Runtime dependencies: (see shared/reqbins and server/reqbins)
To compile, run:
make server
To compile both the client and the server, run:
make all
If you'd like to contribute, please make sure to carefully read the doc/style.md file before.
During the development, this roadmap may be subject to changes.
- = implemented, tested and working
- = not implemented, not tested or not working
- Window creation
- Keyboard handling
- Mouse click handling
- Mouse position handling
- Mouse scroll handling
- Networking
- Video decoding
- Cryptography
- Window resize
- IPv6
- Window buffer capturing (Windows and Linux)
- Input replication on real window
- Networking
- Video encoding
- Cryptography
- Window resize
- IPv6
- Support for more input methods (gamepad, etc...)
- Performance improvements by optimizing the protocol
- Remove runtime dependencies (see Ermine)
- Audio handling (encoding and decoding, see Opus)
Scrtp is licensed under the zlib License (Wikipedia, LICENSE).