mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
neko mirror
00c7e6dfb2
If X11 throws an error during screen config get/set, the default error handler at the time will be one which causes a program exit. This splits the error handler registration in xevent into its own call, allowing us to register our error handler earlier on. This results in the safe error handling logic actually being called instead of a full program exit. |
||
---|---|---|
.devcontainer | ||
.github/workflows | ||
.vscode | ||
cmd | ||
dev | ||
internal | ||
pkg | ||
plugins | ||
runtime | ||
xorg | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
build | ||
Dockerfile | ||
Dockerfile.bookworm | ||
Dockerfile.nvidia | ||
Dockerfile.nvidia.bookworm | ||
go.mod | ||
go.sum | ||
LICENSE | ||
neko.go | ||
openapi.yaml | ||
README.md |
neko
This app uses WebRTC to stream a desktop inside of a docker container. Client can be found here: demodesk/neko-client.
For community edition neko with GUI and plug & play deployment visit m1k1o/neko.
m1k1o/neko vs demodesk/neko, why do we have two of them?
This project started as a fork of m1k1o/neko. But over time, development went way ahead of the original one in terms of features, updates and refactoring. The goal is to rebase m1k1o/neko repository onto this one and move all extra features (such as chat and emotes) to a standalone plugin.
- This project is aimed to be the engine providing foundation for all applications that are streaming desktop environment using WebRTC to the browser.
- m1k1o/neko is meant to be self-hosted replacement for rabb.it: Community edition with well-known GUI, all the social functions (such as chat and emotes) and easy deployment.
Notable differences to the m1k1o/neko are:
- Go plugin support.
- Multiple encoding qualities simulcast.
- Bandwidth estimation and adaptive quality.
- Custom screen size (with automatic sync).
- Single cursor for host - cursor image proxying.
- Custom cursor style/badge for participants.
- Inactive cursors (participants that are not hosting).
- Fallback mode and reconnection improvements:
- Watching using screencasting.
- Controlling using websockets.
- Members handling:
- Access control (view, interactivity, clipboard).
- Posibility to add external members providers.
- Persistent login (using cookies).
- Drag and drop passthrough.
- File upload passthrough (experimental).
- Microphone passthrough.
- Webcam passthrough (experimental).
- Bi-directional text/html clipboard.
- Keyboard layouts/variants.
- Metrics and REST API.
Docs
TBD.