Skip to content

Commit

Permalink
Add docs
Browse files Browse the repository at this point in the history
  • Loading branch information
jmattheis committed Oct 4, 2020
1 parent 4b45a7f commit 39a1335
Show file tree
Hide file tree
Showing 15 changed files with 3,527 additions and 0 deletions.
Empty file added docs/.nojekyll
Empty file.
1 change: 1 addition & 0 deletions docs/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
screego.net
21 changes: 21 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# screego/server

Screego was created because of a displeasure against cooperate chatting solutions.
For developers, screen sharing shouldn't be optimized for low bandwidth or presenting some slides.
It should be high definition, that you still can read the tiny font of your colleague.
No more, "wait a minute, the stream isn't updating".

Screego is an addition to existing software and only helps to share your screen. Nothing else (:.

## Features

* Multi User Screenshare
* Secure transfer via WebRTC
* Low latency / High resolution
* Simple Install via [Docker](https://hub.docker.com/r/screego/server) / single binary
* Integrated [TURN](nat-traversal.md) Server see [NAT Traversal](nat-traversal.md)


---

[Installation](install.md)[Configuration](config.md)
6 changes: 6 additions & 0 deletions docs/_sidebar.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
* [Home](/)
* [Installation](install.md)
* [Config](config.md)
* [NAT Traversal](nat-traversal.md)
* [Reverse Proxy](proxy.md)
* [GitHub](https://github.com/screego/server)
Binary file added docs/apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
72 changes: 72 additions & 0 deletions docs/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Config

!> TLS is required for Screego to work. Either enable TLS inside Screego or
use a reverse proxy to serve Screego via TLS.

Screego tries to obtain config values from different locations in sequence.
Properties will never be overridden. Thus, the first occurrence of a setting will be used.

#### Order

* Environment Variables
* `screego.config.local` (in same path as the binary)
* `screego.config` (in same path as the binary)
* `$HOME/.config/screego/server.config`
* `/etc/screego/server.config`

#### Config Example

```ini
# The external ip of the server
SCREEGO_EXTERNAL_IP=

# A secret which should be unique. Is used for cookie authentication.
SCREEGO_SECRET=

# If TLS should be enabled for HTTP requests. Screego requires TLS,
# you either have to enable this setting or serve TLS via a reverse proxy.
SCREEGO_SERVER_TLS=false
# The TLS cert file (only needed if TLS is enabled)
SCREEGO_TLS_CERT_FILE=
# The TLS key file (only needed if TLS is enabled)
SCREEGO_TLS_KEY_FILE=

# The address the http server will listen on.
SCREEGO_SERVER_ADDRESS=0.0.0.0:5050

# The address the TURN server will listen on.
SCREEGO_TURN_ADDRESS=0.0.0.0:3478

# If reverse proxy headers should be trusted.
# Screego uses ip whitelisting for authentication
# of TURN connections. When behind a proxy the ip is always the proxy server.
# To still allow whitelisting this setting must be enabled and
# the `X-Real-Ip` header must be set by the reverse proxy.
SCREEGO_TRUST_PROXY_HEADERS=false

# Defines when a user login is required
# Possible values:
# all: User login is always required
# turn: User login is required for TURN connections
# none: User login is never required
SCREEGO_AUTH_MODE=turn

# Defines origins that will be allowed to access Screego (HTTP + WebSocket)
# Example Value: https://screego.net,https://sub.gotify.net
SCREEGO_CORS_ALLOWED_ORIGINS=

# Defines the location of the users file.
# File Format:
# user1:bcrypt_password_hash
# user2:bcrypt_password_hash
#
# Example:
# user1:$2a$12$WEfYCnWGk0PDzbATLTNiTuoZ7e/43v6DM/h7arOnPU6qEtFG.kZQy
#
# The user password pair can be created via
# screego hash --name "user1" --pass "your password"
SCREEGO_USERS_FILE=

# The loglevel (one of: debug, info, warn, error)
SCREEGO_LOG_LEVEL=info
```
Binary file added docs/favicon-16x16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/favicon-32x32.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/favicon.ico
Binary file not shown.
51 changes: 51 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Screego</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="description" content="Screego - open source screen sharing for developers">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsify-themeable@0/dist/css/theme-simple-dark.css">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<meta name="theme-color" content="#ffffff">
<style>
.markdown-section h1 {
border-width: 0;
}
</style>
</head>
<body>
<div id="app"></div>
<script>
const ghVersion = fetch('https://api.github.com/repos/gotify/server/tags').then(resp => resp.json()).then(data => data[0].name.slice(1))
window.$docsify = {
name: 'screego',
repo: 'screego/server',
logo: '/logo.png',
loadSidebar: true,
autoHeader: true,
maxLevel: 4,
subMaxLevel: 2,
plugins: [
function (hook) {
hook.afterEach(function (html, next) {
ghVersion.then((version) => next(html.replaceAll('GITHUB_VERSION', version)))
})
}
]
}
</script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/docsify.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-themeable@0"></script>
<script src="//cdn.jsdelivr.net/npm/docsify/lib/plugins/search.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/docsify-tabs@1"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/components/prism-yaml.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/components/prism-ini.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/components/prism-bash.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/components/prism-nginx.js"></script>
</body>
</html>
79 changes: 79 additions & 0 deletions docs/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Installation

Latest Version: **GITHUB_VERSION**

?> Before starting Screego you may read [Configuration](config.md).

## Docker

Setting up Screego with docker is pretty easy, you basically just have to start the docker container, and you are ready to go:

The [screego/server](https://hub.docker.com/r/screego/server) docker images are multi-arch docker images.
This means the image will work for `amd64`, `i386`, `ppc64le` (power pc), `arm64`, `arm v7` (Raspberry PI).

```bash
$ docker run -p 8080:5050 -e SCREEGO_EXTERNAL_IP=0.0.0.0 screego/server:GITHUB_VERSION
```

By default, Screego runs on port 5050.

### docker-compose.yml

```yaml
version: "3.7"
services:
screego:
image: screego/server:GITHUB_VERSION
ports:
- 8080:5050
environment:
SCREEGO_EXTERNAL_IP: "0.0.0.0"
```
## Binary
### Supported Platforms:
* linux_amd64 (64bit)
* linux_i386 (32bit)
* armv7 (32bit used for Raspberry Pi)
* armv6
* arm64 (ARMv8)
* ppc64
* ppc64le
* windows_i386.exe (32bit)
* windows_amd64.exe (64bit)
Download the zip with the binary for your platform from [screego/server Releases](https://github.com/screego/server/releases).
```bash
$ wget https://github.com/screego/server/releases/download/vGITHUB_VERSION/screego_GITHUB_VERSION_{PLATFORM}.tar.gz
```

Unzip the archive.

```bash
$ tar xvf screego_GITHUB_VERSION_{PLATFORM}.tar.gz
```

Make the binary executable (linux only).

```bash
$ chmod +x screego
```

Execute screego:

```bash
$ ./screego
# on windows
$ screego.exe
```

## Arch-Linux(aur)

TODO

## Source

TODO
Binary file added docs/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 39a1335

Please sign in to comment.