diff --git a/README.md b/README.md
index 8cb6820..0d4c5da 100644
--- a/README.md
+++ b/README.md
@@ -90,32 +90,153 @@ For ARM-based devices (like Raspberry Pi, with GPU hardware acceleration):
- `m1k1o/neko:arm-chromium` - for Chromium.
- `m1k1o/neko:arm-base` - for custom arm based.
-Networking:
+### 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`)-
+- Currenty it is not supported to supply multiple NAT addresses.
-Why so many ports?
-- WebRTC needs UDP ports for each channel it creates towards users.
-- Every user will need 2 UDP ports (for getting audio/video and sending mouse positions).
+### 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 configuraion must be correct in your firewall/router/docker.
- You can freely limit number of UDP ports. But you can't map them to diferent ports.
- This **WONT** work: `32000-32100:52000-52100/udp`
- You can change API port (8080).
- This **WILL** work: `3000:8080`
-Behind reverse proxy?
-- Nginx configuration: https://github.com/nurdism/neko/issues/111#issuecomment-742656957
-- Apache configuration: https://github.com/nurdism/neko/blob/cad98a62a5bd7f1daf2c11980631bb14ba81a1f6/docs/apache-proxypass-config.md#example-apache-config
-- Traefik configuration: https://github.com/m1k1o/neko-vpn/blob/a1b934515dcf597992a515d61d307c2450a11002/docker-compose.yml#L38-L43
+### Behind reverse proxy?
-Want to use VPN for your neko browsing?
+
+ Traefik2 configuration
+
+ ```yaml
+ labels:
+ - "traefik.enable=true"
+ - "traefik.http.services.neko-frontend.loadbalancer.server.port=8080"
+ - "traefik.http.routers.neko.rule=${TRAEFIK_RULE}"
+ - "traefik.http.routers.neko.entrypoints=${TRAEFIK_ENTRYPOINTS}"
+ - "traefik.http.routers.neko.tls.certresolver=${TRAEFIK_CERTRESOLVER}"
+ ```
+
+ (by @m1k1o, [example](https://github.com/m1k1o/neko-vpn/blob/a1b934515dcf597992a515d61d307c2450a11002/docker-compose.yml#L38-L43))
+
+
+
+ Nginx configuration
+
+ ```conf
+ server {
+ listen 443 ssl http2;
+ server_name example.com;
+
+ location / {
+ proxy_pass http://127.0.0.1:8080;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection "upgrade";
+ proxy_read_timeout 86400;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $remote_addr;
+ proxy_set_header X-Forwarded-Host $host;
+ proxy_set_header X-Forwarded-Port $server_port;
+ proxy_set_header X-Forwarded-Protocol $scheme;
+ }
+ }
+ ```
+
+ (by @GigaFyde, [source](https://github.com/nurdism/neko/issues/111#issuecomment-742656957))
+
+
+
+ Apache configuration
+
+ ```xml
+
+ # The ServerName directive sets the request scheme, hostname and port that
+ # the server uses to identify itself. This is used when creating
+ # redirection URLs. In the context of virtual hosts, the ServerName
+ # specifies what hostname must appear in the request's Host: header to
+ # match this virtual host. For the default virtual host (this file) this
+ # value is not decisive as it is used as a last resort host regardless.
+ # However, you must set it for any further virtual host explicitly.
+
+ # Paths of those modules might vary across different distros.
+ LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so
+ LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so
+ LoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.so
+
+ ServerName example.com
+ ServerAlias www.example.com
+
+ ProxyRequests Off
+ ProxyPass / http://localhost:8080/
+ ProxyPassReverse / http://localhost:8080/
+
+ RewriteEngine on
+ RewriteCond %{HTTP:Upgrade} websocket [NC]
+ RewriteCond %{HTTP:Connection} upgrade [NC]
+ RewriteRule /ws(.*) "ws://localhost:8080/ws$1" [P,L]
+
+ # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
+ # error, crit, alert, emerg.
+ # It is also possible to configure the loglevel for particular
+ # modules, e.g.
+ #LogLevel info ssl:warn
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+ # For most configuration files from conf-available/, which are
+ # enabled or disabled at a global level, it is possible to
+ # include a line for only one particular virtual host. For example the
+ # following line enables the CGI configuration for this host only
+ # after it has been globally disabled with "a2disconf".
+ #Include conf-available/serve-cgi-bin.conf
+
+ ```
+
+ (by @DarkReaper231, [source](https://github.com/nurdism/neko/blob/cad98a62a5bd7f1daf2c11980631bb14ba81a1f6/docs/apache-proxypass-config.md#example-apache-config))
+
+
+
+ Caddy configuration
+
+ ```conf
+ https://example.com {
+ reverse_proxy localhost:8080 {
+ header_up Host {host}
+ header_up X-Real-IP {remote_host}
+ header_up X-Forwarded-For {remote_host}
+ header_up X-Forwarded-Proto {scheme}
+ }
+ }
+ ```
+
+ (by @ccallahan, [source](https://github.com/nurdism/neko/pull/125/commits/eb4ceda75423b0d960c8aea0240acf6d7a10fef4))
+
+
+### Want to customize and install own addons, set custom bookmarks?
+- You would need to modify existing policy file and mount it to your container.
+- For Firefox, copy [this](https://github.com/m1k1o/neko/blob/dev/.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/dev/.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 neko browsing?
- Check this out: https://github.com/m1k1o/neko-vpn
-Accounts:
+### 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 paword needs to match. Depeding on which password matches, 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
+### Screen size
- Only admins can change screen size.
- You can set default screen size, but this size **MUST** be one from list, that your server supports.
- You will get this list in frontend, where you can choose from.
@@ -295,4 +416,4 @@ NEKO_ICESERVERS:
# How to contribute?
-Navigate to `.m1k1o/README.md` for further information.
+Navigate to [.m1k1o/README.md](.m1k1o/README.md) for further information.