-
-
Notifications
You must be signed in to change notification settings - Fork 659
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
28 changed files
with
748 additions
and
598 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
version: "3.4" | ||
services: | ||
neko: | ||
image: "m1k1o/neko:firefox" | ||
restart: "unless-stopped" | ||
shm_size: "2gb" | ||
ports: | ||
- "8080:8080" | ||
- "52000-52100:52000-52100/udp" | ||
environment: | ||
NEKO_SCREEN: 1920x1080@30 | ||
NEKO_PASSWORD: neko | ||
NEKO_PASSWORD_ADMIN: admin | ||
NEKO_EPR: 52000-52100 | ||
NEKO_ICELITE: 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,4 +9,4 @@ | |
|
||
<!-- background color --> | ||
|
||
 | ||
 |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,13 @@ | ||
<!-- _navbar.md --> | ||
|
||
* [Getting Started](/getting-started) | ||
* [Quick Start](/quick-start) | ||
* [Configuration](/configuration) | ||
* [Development](/development) | ||
* [Client](/client) | ||
* [Server](/server) | ||
* [Docker](/docker) | ||
* [Getting Started](/getting-started/) | ||
* [Quick Start](/getting-started/quick-start) | ||
* [Examples](/getting-started/examples) | ||
* [Reverse Proxy](/getting-started/reverse-proxy) | ||
* [Configuration](/getting-started/configuration) | ||
* [Troubleshooting](/getting-started/troubleshooting) | ||
* [Mobile Support](/mobile-support) | ||
* [Contributing](/contributing) | ||
* [Non Goals](/non-goals) | ||
* [Contributing](/contributing) | ||
* [Change logs](/change-logs/) | ||
* [Technologies](/technologies) | ||
* [Glossary](/glossary) | ||
* [Technologies](/technologies) | ||
* [Changelog](/changelog) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
# Changelog | ||
|
||
## master branch | ||
|
||
### Misc | ||
- ARM-based images not bound to Raspberry Pi only. | ||
|
||
## [n.eko v2.4](https://github.com/m1k1o/neko/releases/tag/v2.4) | ||
|
||
### New Features | ||
- Show red dot badge on sidebar toggle if there are new messages, and user can't see them. | ||
- Added `m1k1o/neko:brave` tag. | ||
|
||
### Bugs | ||
- Fixed keyboard mapping on macOS, when CMD could not be used for copy & paste. | ||
- Fixed stop signal sent by supervisor to gracefully shut down neko server. | ||
|
||
### Misc | ||
- Switched to the latest Firefox version instead of esr. | ||
- Fixed very fast scroll speed on macOS. | ||
- Broadcast pipeline errors are reported to the user. | ||
- On stopping server all websocket connections are going to be gracefully disconnected. | ||
|
||
### Other changes | ||
- Upgraded dependencies (server, client), | ||
- Don't kill webrtc on temporary network issues #48. | ||
- Custom ipfetch #63. | ||
- Build images using github actions #70. | ||
- Refactored RTMP broadcast design #88. | ||
- Based on Debian 11 #91. | ||
|
||
## [n.eko v2.3](https://github.com/m1k1o/neko/releases/tag/v2.3) | ||
|
||
### New Features | ||
- Added simple language picker. | ||
- Added `?usr=<display-name>` that will prefill username. This allows creating auto-join links. | ||
- Added `?cast=1` that will hide all control and show only video. | ||
- Shake keyboard icon if someone attempted to control when is nobody hosting. | ||
- Support for password protected `NEKO_ICESERVERS` (by @mbattista). | ||
- Added bunch of translations (🇸🇰, 🇪🇸, 🇸🇪, 🇳🇴, 🇫🇷) by various people. | ||
- Added `m1k1o/neko:google-chrome` tag. | ||
|
||
### Bugs | ||
- Upgraded and fixed emojis to a new major version. | ||
- Fixed bad `keymap -> keysym` translation to respect active modifiers (#45, with @mbattista). | ||
- Respecting `NEKO_DEBUG` env variable. | ||
- Fullscreen support for iOS devices. | ||
- Added `chrome-sandbox` to fix weird bug when chromium didn't start. | ||
|
||
### Misc | ||
- Arguments in broadcast pipeline are optional, not positional and can be repeated `{url} {device} {display}`. | ||
- Chat messages are dense, when repeated, they are joined together. | ||
- While IP address fetching is now proxy ignored. | ||
- Start unmuted on reconnects and auto unmute on any control attempt. | ||
|
||
## [n.eko v2.2](https://github.com/m1k1o/neko/releases/tag/v2.2) | ||
|
||
### New Features | ||
- Added limited support for some mobile browsers with `playsinline` attribute. | ||
- Added `VIDEO_BITRATE` and `AUDIO_BITRATE` in kbit/s to control stream quality (in collaboration with @mbattista). | ||
- Added `MAX_FPS`, where you can specify max WebRTC frame rate. When set to `0`, frame rate won't be capped and you can enjoy your real `60fps` experience. Originally, it was constant at `25fps`. | ||
- Invite links. You can invite people and they don't need to enter passwords by themselves (and get confused about user accounts that do not exits). You can put your password in URL using `?pwd=<your-password>` and it will be automatically used when logging in. | ||
- Added `/stats?pwd=<admin>` endpoint to get total active connections, host and members. | ||
- Added `m1k1o/neko:vlc` tag, use VLC to watch local files together (by @mbattista). | ||
- Added `m1k1o/neko:xfce` tag, as an non video related showcase (by @mbattista). | ||
- Added ARM-based images, for Raspberry Pi support (by @mbattista). | ||
|
||
### Bugs | ||
- Fixed h264 pipelines bugs (by @mbattista). | ||
- Fixed sessions manager thread safety by adding mutexes (caused panic in rare edge cases). | ||
- Now when user gets kicked, he won't join as a ghost user again but will be logged out. | ||
- **iOS compatibility!** Fixed really strange CSS bug, which prevented iOS from loading the video. | ||
- Proper disconnect only once with unsubscribing events. When webrtc fails, user won't be logged in without username again. | ||
|
||
### Misc | ||
- Versions bumped: Go 16, Node.js 14 (by @mbattista). | ||
- Remove HTML tags from user name. | ||
- Upgraded `pion/webrtc` to v3 (by @mbattista). | ||
- Added `requestFullscreen` compatibility for older browsers. | ||
- Fixed small lags in video and improved video UX (by @mbattista). | ||
- Added `m1k1o/neko:vncviewer` tag, use `NEKO_VNC_URL` to specify VNC target and use n.eko as a bridge. | ||
- Abiltiy to include neko as a component in another Vue.Js project (by @gbrian). | ||
- Added HEALTHCHECK to Dockerfile. | ||
|
||
## [n.eko v2.1](https://github.com/m1k1o/neko/releases/tag/v2.1) | ||
|
||
### New Features | ||
- Clipboard button with text area - for browsers, that don't support clipboard syncing or for HTTP. | ||
- Keyboard modifier state synchronization (Num Lock, Caps Lock, Scroll Lock) for each hosting. | ||
- Added chromium ungoogled (with h265 support) an kept up to date by @whalehub. | ||
- Added Picture in Picture button (only for watching screen, controlling not possible). | ||
- Added RTMP broadcast. Enables broadcasting neko screen to local RTMP server, YouTube or Twitch. | ||
- Stereo sound (works properly only in Firefox host). | ||
|
||
### Bugs | ||
- Fixed minor gst pipeline bug. | ||
- Locked screen only for users, admins can still join. | ||
|
||
### Misc | ||
- Custom docker workflow. | ||
- Based on debian buster instead of stretch. | ||
- Custom avatars without any 3rd party depenency. | ||
- Ignore duplicate notify bars. | ||
- No pointer events for notify bars. | ||
- Disable debug mode by default. | ||
|
||
## [n.eko v2.0](https://github.com/nurdism/neko/releases/tag/2.0.0) | ||
|
||
## [n.eko v1.1](https://github.com/nurdism/neko/releases/tag/1.1.0) | ||
|
||
## [n.eko v1.0](https://github.com/nurdism/neko/releases/tag/1.0.0) |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,9 @@ | ||
# Contributing | ||
|
||
* Fork the [project](https://github.com/m1k1o/neko). | ||
* Edit files in your branch. | ||
* Submit a pull request explaining the improvements. | ||
1. Fork the [project](https://github.com/m1k1o/neko). | ||
|
||
2. Navigate to [.m1k1o/README.md](https://github.com/m1k1o/neko/tree/master/.m1k1o) for further information. | ||
|
||
3. Edit files in your branch. | ||
|
||
4. Submit a pull request explaining the improvements. |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
# Getting started & FAQ | ||
|
||
Use the following docker images: | ||
- `m1k1o/neko:latest` - for Firefox. | ||
- `m1k1o/neko:chromium` - for Chromium (needs `--cap-add=SYS_ADMIN`). | ||
- `m1k1o/neko:google-chrome` - for Google Chrome (needs `--cap-add=SYS_ADMIN`). | ||
- `m1k1o/neko:ungoogled-chromium` - for [Ungoogled Chromium](https://github.com/Eloston/ungoogled-chromium) (needs `--cap-add=SYS_ADMIN`) (by @whalehub). | ||
- `m1k1o/neko:brave` - for [Brave Browser](https://brave.com) (needs `--cap-add=SYS_ADMIN`). | ||
- `m1k1o/neko:tor-browser` - for Tor Browser. | ||
- `m1k1o/neko:vncviewer` - for simple VNC viewer (specify `NEKO_VNC_URL` to your VNC target). | ||
- `m1k1o/neko:vlc` - for VLC Video player (needs volume mounted to `/media` with local video files, or setting `VLC_MEDIA=/media` path). | ||
- `m1k1o/neko:xfce` - for a shared desktop / installing shared software. | ||
- `m1k1o/neko:base` - for custom base. | ||
|
||
For ARM-based devices (like Raspberry Pi, with GPU hardware acceleration): | ||
- `m1k1o/neko:arm-firefox` - for Firefox. | ||
- `m1k1o/neko:arm-chromium` - for Chromium. | ||
- `m1k1o/neko:arm-base` - for custom arm based. | ||
|
||
Images (except `arm-`) are built using GitHub actions on every push and on weekly basis to keep all browsers up-to-date, | ||
|
||
### Networking: | ||
- If you want to use n.eko in **external** network, you can omit `NEKO_NAT1TO1`. It will automatically get your Public IP. | ||
- If you want to use n.eko in **internal** network, set `NEKO_NAT1TO1` to your local IP address (e.g. `NEKO_NAT1TO1: 192.168.1.20`)- | ||
- Currently, it is not supported to supply multiple NAT addresses (see https://github.com/m1k1o/neko/issues/47). | ||
|
||
### Why so many ports? | ||
- WebRTC needs UDP ports in order to transfer Audio/Video towards user and Mouse/Keyboard events to the server in real time. | ||
- If you don't set `NEKO_ICELITE=true`, every user will need 2 UDP ports. | ||
- If you set `NEKO_ICELITE=true`, every user will need only 1 UDP port. It is **recommended** to use *ice-lite*. | ||
- Do not forget, they are **UDP** ports, that configuration must be correct in your firewall/router/docker. | ||
- You can freely limit number of UDP ports. But you can't map them to different ports. | ||
- This **WON'T** work: `32000-32100:52000-52100/udp` | ||
- You can change API port (8080). | ||
- This **WILL** work: `3000:8080` | ||
|
||
### Want to customize and install own add-ons, set custom bookmarks? | ||
- You would need to modify the existing policy file and mount it to your container. | ||
- For Firefox, copy [this](https://github.com/m1k1o/neko/blob/master/.m1k1o/firefox/policies.json) file, modify and mount it as: ` -v '${PWD}/policies.json:/usr/share/firefox-esr/distribution/policies.json'` | ||
- For Chromium, copy [this](https://github.com/m1k1o/neko/blob/master/.m1k1o/chromium/policies.json) file, modify and mount it as: ` -v '${PWD}/policies.json:/etc/chromium/policies/managed/policies.json'` | ||
|
||
### Want to use VPN for your n.eko browsing? | ||
- Check this out: https://github.com/m1k1o/neko-vpn | ||
|
||
### Want to have multiple rooms on demand? | ||
- Check this out: https://github.com/m1k1o/neko-rooms | ||
|
||
### Want to use different Apps than Browser? | ||
- Check this out: https://github.com/m1k1o/neko-apps | ||
|
||
### Accounts: | ||
- There are no accounts, display name (a.k.a. username) can be freely chosen. Only password needs to match. Depending on which password matches, the visitor gets its privilege: | ||
- Anyone, who enters with `NEKO_PASSWORD` will be **user**. | ||
- Anyone, who enters with `NEKO_PASSWORD_ADMIN` will be **admin**. | ||
|
||
### Screen size | ||
- Only admins can change screen size. | ||
- You can set a default screen size, but this size **MUST** be one from the list, that your server supports. | ||
- You will get this list in frontend, where you can choose from. |
Oops, something went wrong.