krz/skunky-art
Alternative privacy frontend for DeviantArt.
clone: git clone https://gitbay.org/krz/skunky-art.git
v1.3.6: SETUP.md · raw
1# Units
2Maximum file size in megabytes, requires numeric value.<br>
3Time units:
4* `i` — minutes
5* `h` — hours
6* `w` — weeks
7* `m` — months
8* `y` — years
9
10# Config
11* `listen` — IP and port to listen on in the following form: ip:port
12* `uri` — Instance URI. Example: `"uri":"/art/"` -> https://skunky.ebloid.ru/art/
13* `cache` — Caching system; default is off.
14 * `enabled` — Caching system state, requires boolean value
15 * `path` — Path to cache directory, requires absolute filesystem path
16 * `lifetime` — Cached file life time, requires numeric value, followed by multiplicative suffix (see Time Units for details)
17 * `max-size` — Maximum file size in megabytes
18 * `update-interval` — Automatic rotation interval
19* `static-path` — This setting determines path to static, which will be copied to RAM when SkunkyArt is started. Useless if you're use binary compiled with 'embed' tag.
20* `download-proxy` — Outbound proxy used when fetching media from DeviantArt's
21 CDN. Leave empty (`""`) unless you actually run a proxy: if this points at
22 something that isn't listening, every image 502s while pages still render,
23 because only media fetches go through it. Inside a container `127.0.0.1` is
24 the container itself, so a host-side proxy must be addressed by service name
25 or host IP, not loopback.
26* `user-agent` — String, which SkunkyArt uses as UA
27* `proxy` — Serve media through this instance instead of linking straight to
28 DeviantArt's CDN. Required by `cache`; when off, clients fetch images from
29 wixmp directly.
30* `nsfw` — Show mature content.
31
32# Setting up reverse proxy
33Pretty much business as usual, except for the [`X-Forwarded-Proto`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-Proto) header setting.
34
35Nginx example configuration:
36```apache
37server {
38 listen 443 ssl;
39 server_name skunky.example.com;
40
41 # In case of subdomain, use / instend of ((BASE_URL))
42 location ((BASE_URL)) {
43 proxy_set_header X-Forwarded-Proto $scheme;
44 proxy_set_header Host $host;
45 proxy_http_version 1.1;
46 proxy_pass http://((IP)):((PORT));
47 }
48}
49```