2020-01-14 00:28:14 +13:00
< div align = "center" >
< img src = "https://github.com/nurdism/neko/raw/master/.github/logo.png" width = "650" height = "auto" / >
< / div >
2020-01-14 22:39:47 +13:00
< div align = "center" >
2020-01-24 06:29:20 +13:00
< img src = "https://i.imgur.com/ZSzbQr7.gif" width = "650" height = "auto" / >
2020-01-14 22:39:47 +13:00
< / div >
2020-01-19 12:30:09 +13:00
# **n**.eko
2020-01-29 02:41:55 +13:00
This app uses Web RTC to stream a desktop inside of a docker container, I made this because [rabb.it ](https://en.wikipedia.org/wiki/Rabb.it ) went under and my internet can't handle streaming and discord keeps crashing. I just want to watch anime with my friends ლ(ಠ益ಠლ) so I started digging throughout the net and found a few *kinda* clones, but non of them had the virtual browser, then I found [Turtus ](https://github.com/Khauri/Turtus ) and I was able to figure out the rest. This is by no means a fully featured clone of rabbit, it hs only *one* room. Its stateless, so no saved user names or passwords.
2020-01-13 21:05:38 +13:00
### Why n.eko?
2020-01-29 02:41:55 +13:00
I like cats (Neko is the Japanese word for cat), I'm a weeb/nerd
### Why the cat butt?
Because cats are *assholes* , but you love them anyways...
2020-01-15 01:54:33 +13:00
### Super easy mode setup
2020-01-21 03:36:35 +13:00
1. Deploy a Server/VPS
2020-01-19 12:30:09 +13:00
2020-01-29 02:41:55 +13:00
*Recommended Specs:* (Note: these may not be correct, I did a small round testing, 4c/4gb worked fine with small hickups here and there)
2020-01-19 12:57:49 +13:00
2020-01-21 03:36:35 +13:00
| Resolution | Cores | Ram | Recommendation |
|------------|-------|-------|------------------|
| **576p** | 2 | 2gb | Not Recommended |
| **720p** | 4 | 4gb | Good Performance |
| **720p** | 6 | 4-6gb | Recommended |
| **720p+** | 8 | 8gb+ | Best Performance |
2. [SSH into your box ](https://www.digitalocean.com/docs/droplets/how-to/connect-with-ssh/ )
2020-01-19 12:30:09 +13:00
3. Install Docker
```
curl -sSL https://get.docker.com/ | CHANNEL=stable bash
```
4. Run these commands:
2020-01-15 01:54:33 +13:00
```
ufw allow 80/tcp
wget https://raw.githubusercontent.com/nurdism/neko/master/docker-compose.yaml
docker-compose up -d
```
5. Visit the IP address of the droplet in your browser and login, the default password is `neko`
> *Protip*: Run `nano docker-compose.yaml` to edit the settings, then press *ctrl+x* to exit and save the file.
### Running the container:
2020-01-14 00:28:14 +13:00
```
2020-01-24 06:29:20 +13:00
sudo docker run -p 8080:8080 -e NEKO_PASSWORD='secret' -e NEKO_ADMIN='secret' --shm-size=1gb nurdism/neko:latest
2020-01-14 00:28:14 +13:00
```
2020-01-19 12:30:09 +13:00
*Note:* `--shm-size=1gb` is required, firefox-esr tabs will crash
2020-01-13 21:05:38 +13:00
2020-01-14 00:28:14 +13:00
### Config
2020-01-13 21:05:38 +13:00
```
2020-01-28 20:07:35 +13:00
SCREEN_WIDTH=1280 // Display width
SCREEN_HEIGHT=720 // Display height
SCREEN_DEPTH=24 // Display bit depth
DISPLAY=:99.0 // Display number
2020-01-14 00:28:14 +13:00
NEKO_PASSWORD=neko // Password
2020-01-25 04:47:37 +13:00
NEKO_ADMIN=neko // Admin Password
2020-01-14 00:28:14 +13:00
NEKO_BIND=0.0.0.0:8080 // Bind
2020-01-28 20:07:35 +13:00
NEKO_KEY= // (SSL)Key, needed for clipboard sync
NEKO_CERT= // (SSL)Cert, needed for clipboard sync
2020-01-13 21:05:38 +13:00
```
### Development
2020-01-15 01:54:33 +13:00
*Highly* recommend you use a [dev container ](https://code.visualstudio.com/docs/remote/containers ) for [vscode ](https://code.visualstudio.com/ ), I've included the `.devcontainer` I've used to develop this app. To build neko run:
`cd .docker && ./build`
2020-01-24 06:29:20 +13:00
### Non Goals
2020-01-25 04:47:37 +13:00
* Turning n.eko into a service that serves multiple rooms and browsers/desktops.
* Voice chat, use [Discord ](https://discordapp.com/ ))