mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
neko mirror
ea5517b270
* add xf86 input driver. * cleanup. * rewrite to unix socket PoC. * add input rebuild. * lint & docs. * add input driver struct. * comments, lint, socket name from config. * add touch events to webrtc. * switch to uint32. * misc update logging & linting, * fix screen size * set touchscreen as core pointer. * add touch to ws control. * SendCoreEvents. * extract to own xinput folder. * add debounce. * switch pressure to uint8. * check buffer size. * send touch events with system init. |
||
---|---|---|
.devcontainer | ||
.github/workflows | ||
.vscode | ||
cmd | ||
dev | ||
internal | ||
pkg | ||
plugins | ||
runtime | ||
xorg | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
build | ||
Dockerfile | ||
Dockerfile.nvidia | ||
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.