Web GUI¶
Since v1.25.0. The administration GUI runs in the browser at https://<host>/app, served by the worker next to the API. It covers the day-to-day work; the CLI at /cli stays available.
| Page | What you can do |
|---|---|
| Dashboard | \"Is it listed?\" check for any IP, network, domain or URL (with its GeoIP country); Indicator counts in total, per type and per source; alerts for sources whose last fetch failed and for scheduled sources not fetched for over two days. |
| Sources | Filter (name/URL, kind, format, tag, fetch status, visibility) and sort; create a group from the listed sources in one click; create and edit feeds, import-only and manual sources (URL, schedule, format, tags, private, options JSON); fetch now; delete. The last-fetch column flags failed and suspiciously shrunk fetches (message in the tooltip). |
| Indicators | Search (domain, URL, IP), filter by source, type, permanent flag and GeoIP country (a flag column; click to filter); add values by hand (manual sources first); toggle permanent; delete. |
| Groups | Table with search, a "uses source" filter and sorting; create and edit groups (members, whitelist and blacklist values and sources, tag filters per source, GeoIP country filter); copy the export URL and the tis-pull.sh call for the customer's machines. |
| Tokens | Create, edit (role, ACL), rotate and delete tokens; the secret is shown once with a copy button. |
| Export | Preview any export (public, selected sources, group) with format/type/tag/whitelist/countries, download it, copy its URL or tis-pull.sh call. |
| Audit log | Every change through the API, the GUI or the CLI – who, what, when, from where; filter by target, who, channel, action and dates, sort by any column. |
The colour scheme follows the system by default; the header menu switches to light, dark or back to system.
Signing in¶
- Authentik – offered when OIDC is configured (
CONFIG_OIDC_ISSUER,CONFIG_OIDC_CLIENT_ID). Authorization Code flow with PKCE; the sameCONFIG_OIDC_ALLOWED_GROUPSrule as the CLI applies. - Admin token – the name and secret of a token with role
admin(always available).
Signed-in users act as admins. The session lasts CONFIG_SESSION_TTL seconds (default 24 h) and ends with Sign out in the account menu.
Authentik setup for the GUI¶
The CLI uses the device-code flow; the GUI uses the authorization-code flow and needs a redirect URI. In the TIS provider (Applications → Providers → edit):
- Redirect URIs: add
https://<host>/api/v1/auth/oidc/callback(strict). - Client type: public works (PKCE). With a confidential client set
CONFIG_OIDC_CLIENT_SECRET. - Keep the scopes incl.
groupsif you useCONFIG_OIDC_ALLOWED_GROUPS.
TIS builds the redirect URI from the request (X-Forwarded-Proto/Host of the reverse proxy). If the proxy doesn't forward them correctly, pin it with CONFIG_API_PUBLIC_URL=https://<host> – see Configuration.
Errors return to the login page: not in an allowed group, took too long (more than 10 minutes in Authentik) or sign-in failed (details in the worker log).
Security¶
- The browser never holds an API token: sign-in sets an httpOnly, SameSite=Lax session cookie (
Securebehind https), stored in Redis (in memory without Redis – sessions are then lost on restart). - Requests that change data must carry the
X-TIS-Client: webheader, which other sites can't add – protection against cross-site request forgery. - The API keeps accepting tokens as before; a token always wins over a session cookie.