Run the 9Hits Viewer v6 inside a container to earn points, no GUI required.
docker run -it --network=host --shm-size=2g --name=9hits 9hitste/appv6 /nh.sh --access-key=<your-key> [options]
To run it detached (in the background) use -dit:
docker run -dit --network=host --shm-size=2g --name=9hits 9hitste/appv6 /nh.sh --access-key=<your-key> [options]
-it or -dit). The viewer renders a text dashboard, and
without an allocated TTY it exits immediately. Plain -d will crash-loop.docker attach 9hits (detach with Ctrl+P then Ctrl+Q)
or docker logs -f 9hits.User not found!, your --access-key is wrong or a placeholder.| Option | Description |
|---|---|
--access-key | Your 9Hits access key (required) |
--allow-popups | yes or no |
--allow-adult | yes or no |
--allow-crypto | yes or no |
--hide-browser | yes or no |
--system-session | Create a session using the real IP of this machine |
--ex-proxy-sessions | Number of sessions using an external proxy pool |
--ex-proxy-url | External proxy pool URL (leave empty to use the 9Hits proxy) |
--bulk-add-proxy-list | Proxy list, format server:port;user;pass|server:port;user2;pass2 (wrap in quotes) |
--bulk-add-proxy-type | http, socks4, socks5, or ssh |
--session-note | Note applied to all created sessions |
--cache-path | Override the browser cache directory |
--cache-limit | -1: default, 0: no cache, or a number of bytes to limit disk cache usage, eg: 104857600 (for 100MB = 100 * 1024 * 1024) |
--clear-all-sessions | Remove all previously created sessions before applying new config |
--hide-columns | Comma-separated columns to hide in the viewer table; every other column is forced shown (overrides the saved layout). Columns: id, note, proxy, client, quality, hits, points (status is always shown). e.g. --hide-columns=quality,points |
--install-dir | Where to extract the viewer inside the container, default /etc |
--default-dl | Download the viewer from this URL instead of the baked-in one (e.g. to test a newer build without rebuilding the image) |
--re-install | Force re-downloading/extracting the viewer |
--restart-delay | Seconds to wait before restarting after the viewer exits, default 5 |
--reset-interval | Periodic reset interval, e.g. 30m, 1h, 6h, 24h (bare number = seconds; minimum 60s, max ~24d). The viewer gracefully stops its sessions and exits on that interval; the loop relaunches it. Empty/omitted = reset on crash only. Requires a viewer build that supports the flag — the baked-in image does; if you point --default-dl at an older build, omit this flag |
--vnc | Start a VNC server (x11vnc) mirroring the browser display for remote viewing |
--vnc-pw | VNC password (implies --vnc). If --vnc is on but no password is given, a random one is generated and printed to the terminal |
--no-vnc-pw | Run VNC with NO password (open, implies --vnc). Only use if you explicitly want unauthenticated VNC |
--vnc-port | VNC port, default 5901 (5900 is avoided as it commonly clashes with other VNC servers) |
--enable-api | Turn on the viewer's local API, so your scripts and tools can manage sessions over HTTP (see the API docs). The key is printed at startup. --enable-api=no turns it off again. Requires a viewer build with the API |
--api-key | Key for the local API, 32 hex characters. Generated and printed when omitted; pass the printed key on the next run to keep it |
--api-port | Port of the local API, default 37288. Several containers on one host (--network=host) each need their own port |
All examples below run detached (-dit); attach with docker attach 9hits (detach with Ctrl+P then Ctrl+Q) or follow logs with docker logs -f 9hits to view the dashboard. Replace the sample --access-key with your own.
docker run -dit --network=host --shm-size=2g --name=9hits 9hitste/appv6 /nh.sh \
--access-key=186eaced825ab3e3468dfda97d880333 --system-session --allow-crypto=no --note=my-vps
docker run -dit --network=host --shm-size=2g --name=9hits 9hitste/appv6 /nh.sh \
--access-key=186eaced825ab3e3468dfda97d880333 --system-session \
--ex-proxy-sessions=10 --ex-proxy-url=http://my_pool_url/ \
--allow-crypto=no --session-note=http-pool --note=my-vps --hide-browser=yes
--bulk-add-proxy-list value in double quotes):docker run -dit --network=host --shm-size=2g --name=9hits 9hitste/appv6 /nh.sh \
--access-key=186eaced825ab3e3468dfda97d880333 --system-session \
--bulk-add-proxy-type=ssh --bulk-add-proxy-list="12.24.45.56;user;pass|my-ssh.com;admin;12345" \
--allow-crypto=no --session-note=my-ssh --note=my-vps --hide-browser=yes
# Linux server: host networking exposes 5901 directly
docker run -dit --network=host --shm-size=2g --name=9hits 9hitste/appv6 /nh.sh \
--access-key=186eaced825ab3e3468dfda97d880333 --system-session --vnc-pw=mysecret
# Docker Desktop (Windows/macOS): publish the port instead of --network=host (see Notes below)
docker run -dit -p 5901:5901 --shm-size=1g --name=9hits 9hitste/appv6 /nh.sh \
--access-key=186eaced825ab3e3468dfda97d880333 --system-session --vnc-pw=mysecret
Content type
Image
Digest
sha256:7bf01ba1e…
Size
400.5 MB
Last updated
4 days ago
docker pull 9hitste/appv6