From 2be071d215ec787f323b7439d949acc2d0883563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sun, 11 Sep 2022 13:42:54 +0200 Subject: [PATCH] update readme. --- README.md | 99 ++++++++++++++++++++---- docs/_media/icons/brave.svg | 4 + docs/_media/icons/chromium.svg | 1 + docs/_media/icons/firefox.svg | 111 +++++++++++++++++++++++++++ docs/_media/icons/google-chrome.svg | 8 ++ docs/_media/icons/microsoft-edge.svg | 44 +++++++++++ docs/_media/icons/opera.svg | 19 +++++ docs/_media/icons/remmina.png | Bin 0 -> 11411 bytes docs/_media/icons/tor-browser.svg | 31 ++++++++ docs/_media/icons/vivaldi.svg | 1 + docs/_media/icons/vlc.svg | 107 ++++++++++++++++++++++++++ docs/_media/icons/xfce.svg | 95 +++++++++++++++++++++++ docs/getting-started/README.md | 14 ++++ 13 files changed, 521 insertions(+), 13 deletions(-) create mode 100644 docs/_media/icons/brave.svg create mode 100644 docs/_media/icons/chromium.svg create mode 100644 docs/_media/icons/firefox.svg create mode 100644 docs/_media/icons/google-chrome.svg create mode 100644 docs/_media/icons/microsoft-edge.svg create mode 100644 docs/_media/icons/opera.svg create mode 100644 docs/_media/icons/remmina.png create mode 100644 docs/_media/icons/tor-browser.svg create mode 100644 docs/_media/icons/vivaldi.svg create mode 100644 docs/_media/icons/vlc.svg create mode 100644 docs/_media/icons/xfce.svg diff --git a/README.md b/README.md index 2f399abe..5b7b1d78 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,23 @@
- +

- release - license - pulls - issues + + release + + + license + + + pulls + + + issues + + + issues + Chat on discord @@ -14,11 +25,7 @@ build

-
-
-
-
# n.eko @@ -27,15 +34,77 @@ This app uses WebRTC to stream a desktop inside of a docker container, original Then I found [this](https://github.com/nurdism/neko) project and started to dig into it. I really liked the idea of having collaborative browser browsing together with mutliple people, so I created a fork. Initially, I wanted to merge my changes to the upstream repository, but the original author did not have time for this project anymore and it got eventually archived. +## Use-cases and comparison + +Neko started as a virtual browser that is streamed using WebRTC to multiple users. +- It is **not only limited to a browser**; it can run anything that runs on linux (e.g. VLC). Browser only happens to be the most popular and widely used use-case. +- In fact, it is not limited to a single program either; you can install a full desktop environment (e.g. XFCE). +- Speaking of limits, it does not need to run in a container; you could install neko on your host, connect to your X server and control your whole VM. +- Theoretically it is not limited to only X server, anything that can be controlled and scraped periodically for images could be used instead. + - Like implementing RDP or VNC protocol, where neko would only act as WebRTC relay server. This is currently only future. + +Primary use case is connecting with multiple people, leveraging real time synchronization and interactivity: +- **Watch party** - watching video content together with multiple people and reacting to it (chat, emotes) - open source alternative to [giggl.app](https://giggl.app/). +- **Interactive presentation** - not only screen sharing, but others can control the screen. +- **Collaborative tool** - brainstorming ideas, cobrowsing, code debugging together. +- **Support/Teaching** - interactively guiding people in controlled environment. +- **Embed anything** - embed virtual browser in your web app - open source alternative to [hyperbeam](https://hyperbeam.com/). + - open any third-party website or application, synchronize audio and video flawlessly among multiple participants. + - request rooms using API with [neko-rooms](https://github.com/m1k1o/neko-rooms). + +Other use cases that benefit from single-user: +- **Personal workspace** - streaming containerized apps and desktops to end-users - similar to [kasm](https://www.kasmweb.com/). +- **Persistent browser** - own browser with persistent cookies available anywhere - similar to [mightyapp](https://www.mightyapp.com/). + - no state is left on the host browser after terminating the connection. + - sensitive data like cookies are not transferred - only video is shared. +- **Throwaway browser** - a better solution for planning secret parties and buying birthday gifts off the internet. + - use Tor Browser and [VPN](https://github.com/m1k1o/neko-vpn) for additional anonymity. + - mitigates risk of OS fingerprinting and browser vulnerabilities by running in container. +- **Session broadcasting** - broadcast room content using RTMP (to e.g. twitch or youtube...). +- **Session recording** - broadcast RTMP can be saved to a file using e.g. [nginx-rtmp](https://www.nginx.com/products/nginx/modules/rtmp-media-streaming/) + - have clean environment when recording tutorials. + - no need to hide bookmarks or use incognito mode. +- **Jump host** - access your internal applications securely without the need for VPN. +- **Automated browser** - you can install [playwright](https://playwright.dev/) or [puppeteer](https://pptr.dev/) and automate tasks while being able to actively intercept them. + +Compared to clientless remote desktop gateway (e.g. [Apache Guacamole](https://guacamole.apache.org/) or [websockify](https://github.com/novnc/websockify) with [noVNC](https://novnc.com/)), installed with remote desktop server along with desired program (e.g. [linuxserver/firefox](https://docs.linuxserver.io/images/docker-firefox)) provides neko additionally: +- **Smooth video** because it uses WebRTC and not images sent over WebSockets. +- **Built in audio** support, what is not part of Apache Guacamole or noVNC. +- **Multi-participant control**, what is not natively supported by Apache Guacamole or noVNC. + +### Supported browsers + +
+ + + + + + + + +
+ +### Other programs + +
+ + + + + ... others in m1k1o/neko-apps +
+ ### Features * Text Chat (With basic markdown support, discord flavor) - * Admin users (Kick, Ban & Force Give/Release Controls) + * Admin users (Kick, Ban & Force Give/Release Controls, Lock room) * Clipboard synchronization (on [supported browsers](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/readText)) * Emote overlay * Ignore user (chat and emotes) * Persistent settings * Automatic Login with custom url args. (add `?usr=&pwd=` to the url.) + * Broadcasting room content using RTMP (to e.g. twitch or youtube...) ### Why n.eko? @@ -43,13 +112,13 @@ I like cats 🐱 (`Neko` is the Japanese word for cat), I'm a weeb/nerd. ***But why the cat butt?*** Because cats are *assholes*, but you love them anyways. -# Multiple rooms +## Multiple rooms For n.eko room management software, visit [neko-rooms](https://github.com/m1k1o/neko-rooms). It also offers zero-knowledge [installation script (with HTTPS and Traefik)](https://github.com/m1k1o/neko-rooms/#zero-knowledge-installation-with-https-and-traefik). -# Documentation +## Documentation * [Getting Started](https://neko.m1k1o.net/#/getting-started/) * [Quick Start](https://neko.m1k1o.net/#/getting-started/quick-start) @@ -63,6 +132,10 @@ It also offers zero-knowledge [installation script (with HTTPS and Traefik)](htt * [Technologies](https://neko.m1k1o.net/#/technologies) * [Changelog](https://neko.m1k1o.net/#/changelog) -# How to contribute? How to build? +## How to contribute? How to build? Navigate to [.docker](.docker) folder for further information. + +## Support + +If you want to support this project, you can do it [here](https://github.com/sponsors/m1k1o). diff --git a/docs/_media/icons/brave.svg b/docs/_media/icons/brave.svg new file mode 100644 index 00000000..80d23c4b --- /dev/null +++ b/docs/_media/icons/brave.svg @@ -0,0 +1,4 @@ + + + + diff --git a/docs/_media/icons/chromium.svg b/docs/_media/icons/chromium.svg new file mode 100644 index 00000000..7f27f9a8 --- /dev/null +++ b/docs/_media/icons/chromium.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_media/icons/firefox.svg b/docs/_media/icons/firefox.svg new file mode 100644 index 00000000..13862742 --- /dev/null +++ b/docs/_media/icons/firefox.svg @@ -0,0 +1,111 @@ + + + +Firefox Browser logo + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_media/icons/google-chrome.svg b/docs/_media/icons/google-chrome.svg new file mode 100644 index 00000000..6f20e808 --- /dev/null +++ b/docs/_media/icons/google-chrome.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/_media/icons/microsoft-edge.svg b/docs/_media/icons/microsoft-edge.svg new file mode 100644 index 00000000..2fa37cef --- /dev/null +++ b/docs/_media/icons/microsoft-edge.svg @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/_media/icons/opera.svg b/docs/_media/icons/opera.svg new file mode 100644 index 00000000..01e2b01b --- /dev/null +++ b/docs/_media/icons/opera.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + diff --git a/docs/_media/icons/remmina.png b/docs/_media/icons/remmina.png new file mode 100644 index 0000000000000000000000000000000000000000..bf9106883d5c378f55709c86b6519dd1bae11057 GIT binary patch literal 11411 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_media/icons/vivaldi.svg b/docs/_media/icons/vivaldi.svg new file mode 100644 index 00000000..cd38f150 --- /dev/null +++ b/docs/_media/icons/vivaldi.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/_media/icons/vlc.svg b/docs/_media/icons/vlc.svg new file mode 100644 index 00000000..09385930 --- /dev/null +++ b/docs/_media/icons/vlc.svg @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/_media/icons/xfce.svg b/docs/_media/icons/xfce.svg new file mode 100644 index 00000000..10d087af --- /dev/null +++ b/docs/_media/icons/xfce.svg @@ -0,0 +1,95 @@ + + + XFCE 4 Logo + + + + image/svg+xml + + XFCE 4 Logo + + + Savvas Radevic + + + http://www.xfce.org/about/artwork + + XFCE logo +* Based on xfce_logo.svg from http://www.xfce.org/about/artwork +* Optimized colours +* Added "X" and "XFCE" text. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/getting-started/README.md b/docs/getting-started/README.md index b3678b18..cf19c645 100644 --- a/docs/getting-started/README.md +++ b/docs/getting-started/README.md @@ -1,5 +1,19 @@ # Getting started & FAQ +
+ + + + + + + + + + + +
+ Use the following docker images: - `m1k1o/neko:latest` or `m1k1o/neko:firefox` - for Firefox. - `m1k1o/neko:chromium` - for Chromium (needs `--cap-add=SYS_ADMIN`, see the [security implications](https://www.redhat.com/en/blog/container-tidbits-adding-capabilities-container)).