docs (wip)
This commit is contained in:
parent
2615ccc529
commit
15e490a72f
21
README.md
21
README.md
@ -1,5 +1,5 @@
|
||||
<div align="center">
|
||||
<img src="_media/logo.png" width="450" height="auto"/>
|
||||
<a href="https://n.eko.moe/#/" ><img src="https://raw.githubusercontent.com/nurdism/neko/master/docs/_media/logo.png" width="450" height="auto"/></a>
|
||||
<br/>
|
||||
<br/>
|
||||
<img src="https://i.imgur.com/ZSzbQr7.gif" width="650" height="auto"/>
|
||||
@ -10,7 +10,7 @@
|
||||
# n.eko
|
||||
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 when my friend attempts to. I just want to watch anime with my friends ლ(ಠ益ಠლ) so I started digging throughout the internet and found a few *kinda* clones, but none 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. It's stateless, so no saved user names or passwords.
|
||||
|
||||
### Features
|
||||
## Features
|
||||
* Text Chat (With basic markdown support, discord flavor)
|
||||
* Admin users (Kick, Ban & Force Give/Release Controls)
|
||||
* Clipboard synchronization (on [supported browsers](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard/readText))
|
||||
@ -18,7 +18,22 @@
|
||||
* Ignore user (chat and emotes)
|
||||
* Persistent settings
|
||||
|
||||
### Why n.eko?
|
||||
## Why n.eko?
|
||||
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.
|
||||
|
||||
## Documentation
|
||||
|
||||
* [Getting Started](https://n.eko.moe/#/getting-started)
|
||||
* [Quick Start](https://n.eko.moe/#/quick-start)
|
||||
* [Configuration](https://n.eko.moe/#/configuration)
|
||||
* [Development](https://n.eko.moe/#/development)
|
||||
* [Client](https://n.eko.moe/#/client)
|
||||
* [Server](https://n.eko.moe/#/server)
|
||||
* [Docker](https://n.eko.moe/#/docker)
|
||||
* [Non Goals](https://n.eko.moe/#/non-goals)
|
||||
* [Contributing](https://n.eko.moe/#/contributing)
|
||||
* [Change logs](https://n.eko.moe/#/change-logs/)
|
||||
* [Technologies](https://n.eko.moe/#/technologies)
|
||||
* [Glossary](https://n.eko.moe/#/glossary)
|
||||
|
@ -1,5 +1,5 @@
|
||||
<div align="center">
|
||||
<img src="_media/logo.png" width="450" height="auto"/>
|
||||
<a href="https://n.eko.moe/#/" ><img src="https://raw.githubusercontent.com/nurdism/neko/master/docs/_media/logo.png" width="450" height="auto"/></a>
|
||||
<br/>
|
||||
<br/>
|
||||
<img src="https://i.imgur.com/ZSzbQr7.gif" width="650" height="auto"/>
|
||||
|
@ -7,9 +7,9 @@
|
||||
| Resolution | Cores | Ram | Recommendation |
|
||||
|-------------|-------|-------|------------------|
|
||||
| 1024×576@30 | 2 | 2gb | Not Recommended |
|
||||
| 1280x720@30 | 4 | 4gb | Good Performance |
|
||||
| 1280x720@30 | 6 | 4-6gb | Recommended |
|
||||
| 1280x720@30 | 8 | 8gb+ | Best Performance |
|
||||
| 1280x720@30 | 4 | 3gb | Good Performance |
|
||||
| 1280x720@30 | 6 | 4gb | Recommended |
|
||||
| 1280x720@30 | 8 | 4gb+ | Best Performance |
|
||||
|
||||
*Why are the specs so high?* : If you think about it, you have to run a full desktop, a browser (a resource hog on its own) *and* encode/transmit the desktop, there's a lot going on and so it demands some power.
|
||||
|
||||
@ -30,4 +30,11 @@
|
||||
```
|
||||
5. Visit the IP address server 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.
|
||||
> 💡 **Protip**: Run `nano docker-compose.yaml` to edit the settings, then press `ctrl+x` to exit and save the file.
|
||||
|
||||
## Well known cloud providers
|
||||
* [Hetzner Cloud](https://www.hetzner.com/cloud)
|
||||
* [Scaleway](https://www.scaleway.com/)
|
||||
* [Digital Ocean](https://www.digitalocean.com/)
|
||||
* [Linode](https://www.linode.com/)
|
||||
* [Vultr](https://www.vultr.com/)
|
@ -16,17 +16,18 @@ import (
|
||||
|
||||
func New(sessions types.SessionManager, config *config.WebRTC) *WebRTCManager {
|
||||
logger := log.With().Str("module", "webrtc").Logger()
|
||||
setings := webrtc.SettingEngine{
|
||||
settings := webrtc.SettingEngine{
|
||||
LoggerFactory: loggerFactory{
|
||||
logger: logger,
|
||||
},
|
||||
}
|
||||
|
||||
setings.SetEphemeralUDPPortRange(config.EphemeralStart, config.EphemeralEnd)
|
||||
settings.SetNetworkTypes([]webrtc.NetworkType{webrtc.NetworkTypeUDP4})
|
||||
settings.SetEphemeralUDPPortRange(config.EphemeralStart, config.EphemeralEnd)
|
||||
|
||||
return &WebRTCManager{
|
||||
logger: logger,
|
||||
setings: setings,
|
||||
settings: settings,
|
||||
cleanup: time.NewTicker(1 * time.Second),
|
||||
shutdown: make(chan bool),
|
||||
sessions: sessions,
|
||||
@ -44,7 +45,7 @@ func New(sessions types.SessionManager, config *config.WebRTC) *WebRTCManager {
|
||||
|
||||
type WebRTCManager struct {
|
||||
logger zerolog.Logger
|
||||
setings webrtc.SettingEngine
|
||||
settings webrtc.SettingEngine
|
||||
sessions types.SessionManager
|
||||
videoPipeline *gst.Pipeline
|
||||
audioPipeline *gst.Pipeline
|
||||
@ -146,7 +147,7 @@ func (m *WebRTCManager) CreatePeer(id string, sdp string) (string, types.Peer, e
|
||||
engine.PopulateFromSDP(description)
|
||||
|
||||
// Create API with MediaEngine and SettingEngine
|
||||
api := webrtc.NewAPI(webrtc.WithMediaEngine(engine), webrtc.WithSettingEngine(m.setings))
|
||||
api := webrtc.NewAPI(webrtc.WithMediaEngine(engine), webrtc.WithSettingEngine(m.settings))
|
||||
|
||||
// Create new peer connection
|
||||
connection, err := api.NewPeerConnection(*m.configuration)
|
||||
|
Reference in New Issue
Block a user