neko mirror
Go to file
Miroslav Šedivý 6067367acd
Capture bandwidth switch (#14)
* Handle bitrate change by finding the stream with closest bitrate as peer

* Convert video id into bitrate when creating peer or changing bitrate

* Try to fix prometheus panic

* Revert metrics label name change

* minor fixes.

* bitrate selector.

* skip if moving to the same stream.

* no closure for getting target bitrate.

* fix: high res switch to lo video, stream bitrate out of range

* revert dev config change.

* white space.

Co-authored-by: Aleksandar Sukovic <aleksandar.sukovic@gmail.com>
2022-10-25 20:25:00 +02:00
.devcontainer upgrade to go 1.18. 2022-04-15 19:38:12 +00:00
.github/workflows Add GitHub Actions (#2) 2022-07-15 00:29:57 +02:00
.vscode vscode debugging. 2022-02-09 23:10:29 +01:00
cmd change shutdown order. (#4) 2022-07-28 12:19:58 +02:00
dev dev config add round. 2022-07-14 22:10:41 +02:00
internal Capture bandwidth switch (#14) 2022-10-25 20:25:00 +02:00
pkg Capture bandwidth switch (#14) 2022-10-25 20:25:00 +02:00
plugins add plugins folder. 2022-07-14 22:10:41 +02:00
runtime Fix cursor size. (#10) 2022-10-04 20:21:40 +02:00
.editorconfig clean up repository. 2021-02-21 00:40:52 +01:00
.gitattributes add gitattributes. 2020-11-27 22:25:27 +01:00
.gitignore add plugins folder. 2022-07-14 22:10:41 +02:00
build fix build pipe redirection. 2022-10-24 22:54:28 +02:00
Dockerfile Fix cursor size. (#10) 2022-10-04 20:21:40 +02:00
go.mod rename module name from gitlab to github. 2022-07-14 22:10:41 +02:00
go.sum go mod upgrade. 2022-07-04 18:28:38 +02:00
LICENSE add LICENSE. 2022-07-18 22:08:47 +02:00
neko.go set version from git tag. 2022-07-04 19:14:52 +02:00
openapi.yaml add openapi. 2022-07-14 22:10:41 +02:00
README.md add README. 2022-08-01 00:26:53 +02:00

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.
  • 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).
    • Split members and sessions.
  • Drag and drop passthrough.
  • File upload passthrough (experimental).
  • Microphone passthrough.
  • Webcam passthrough (experimental).
  • Bi-directional text/html clipboard.
  • Keyboard layouts/variants.

Docs

TBD.