---
title: "Admin console"
description: "Use Kiln's built-in admin console to monitor the service and manage channels, the program guide, network egress, access, and system settings."
---

> Documentation Index
> Fetch the complete documentation index at: https://kiln.wbxdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Admin console

The admin console is built into the Kiln binary, so there is nothing else to deploy. Use it to configure channels, import and export playlists, manage guide sources and outbound proxies, issue playback keys and API tokens, and review access logs.

## Sign in

The console is served under `/admin`, and a browser hitting the root path is redirected there. Sign in with an account from the config file. Only `role = "admin"` accounts may enter; any other role is returned to the login page.

- **Stay signed in** decides where the token is kept: checked stores it persistently, unchecked keeps it to the current tab. Tabs in the same browser share the session, and signing out of one signs out the rest.
- The top-right corner toggles light and dark appearance, and the account menu switches the interface language (Simplified Chinese, Traditional Chinese, English). The choice is stored in the browser.
- The sidebar collapses to an icon rail, and leaving a form with unsaved changes asks for confirmation first.

Navigation has six fixed sections: Overview, Channels, Programme Guide, Access Control, Network Egress, and System Settings.

## Overview

The landing screen answers one question: is anything wrong right now?

At the top, you can review total channels, enabled channels, active sessions, guide coverage (matched over enabled), and loaded programs.

**Instance Health** reports HTTP reachability, the goroutine count, and the time of the last status refresh, polling once per second. When the service becomes unreachable the status dot turns red and retries continue in the background.

**Active Sessions** lists the running playback sessions with channel, state, type, engine, packaging mode, and last error, and lets you stop any of them. Stopping is immediate: players currently watching are interrupted, and the session restarts on the next playback request.

## Channels

Channels are the bulk of the console, split into a list and a detail view. Field-level semantics live in [Channel management](/en/guide/channels/).

### List view

The table shows channel, source, format, run mode, guide status, and state, with per-row preview and configure actions plus up and down controls to reorder the catalog. The order carries through to the generated playlist.

Bulk actions in the page header:

- **Enable all / Disable all**: disabling hides channels from the catalog, interrupts running sessions, and invalidates their playback URLs.
- **Import M3U / Export M3U**: covered in the next section.

### Detail view

The detail view is a sectioned form, filled in order:

1. **Channel information**

   Channel ID, display name, and group. The ID is immutable once created.
2. **Stream source**

   The full HLS or DASH source URL, with an inline test that reports whether the address responds and which egress it connected through.
3. **Run mode**

   Stream format, start behavior (prewarm at startup, always running, start on demand), idle-stop seconds, preferred video height, viewer cap, and related playback preferences. DASH channels can also choose a packaging engine here and run a track inspection that reads the MPD, lists the available video renditions, audio tracks, and subtitles, and confirms the chosen combination can be delivered together before you save it.
4. **Programme guide and logo**

   The channel's identity in XMLTV. Pick a candidate ID from the refreshed guide data, and optionally a logo; leaving the logo blank falls back to Kiln's logo proxy.

Expand **Advanced request settings** to configure the user agent, extra request headers, and failure-recovery behavior. Sensitive headers are not shown again after saving. **Network egress** lets a channel follow the global rules, use a direct connection, or use a specific proxy. You can also paste a new proxy URL to create one from this page.

The command bar at the top offers four immediate actions: probe the source, start now, open preview, and stop the current session. A **Channel Management** card at the bottom groups enable, disable, and permanent delete.

## Search with romanized matching

The channel filter matches names, IDs, and groups, with built-in mappings for Mandarin pinyin and Cantonese jyutping. Enter Han characters, full romanization, initials, or jyutping; simplified and traditional forms both match. Longer queries tolerate up to two character errors.

## M3U import and export

**Import** takes pasted M3U text and parses it into a preview that marks each entry as created, updated, or skipped before anything is written. Import is additive: channels missing from the pasted list are never deleted.

**Export** produces an M3U you can hand straight to a player. A playback-only, revocable distribution credential is created automatically for it, so the exported URLs never carry an administrator login token.

## Programme guide

**Guide Sources** manages every XMLTV source. Built-in presets start disabled; enable, edit, or delete them as needed, or add a custom source pointing at any reachable `.xml` or `.xml.gz` URL. Each source carries its own ID, display name, time zone, and network egress, so a restricted source can simply be given a proxy.

After enabling sources, select **Refresh Now** to download the data. The result reports how many programs were loaded and how many sources failed. The table shows each source's status (waiting for a first refresh, download failed, data out of date, or normal), channel count, and program count.

Below that, **Channel Matching** breaks channels into matched, review, and unmatched. Kiln will not guess which ID a same-named channel belongs to, so review and unmatched entries are resolved one by one on the channel detail page. The full workflow is in [Programme guide](/en/guide/epg/).

## Network egress

This section decides how Kiln reaches out to stream sources, and it follows a draft, test, apply cycle: every change lands in a draft, and **Apply Changes** stays disabled until a route test has passed.

- **Default egress**: the connection used by requests that match no rule, plus the playlist handling policy (route everything through Kiln, keep origin addresses, or automatic). Containers that need to reach a proxy on the host set the container proxy host here.
- **Proxy servers**: `http`, `https`, `socks5`, and `socks5h` are supported. Credentials are stored server-side only and are never echoed back after applying.
- **Routing rules**: evaluated by priority, lower numbers first, matching on hostname suffix, exact hostname, hostname regular expression, channel ID, or full-URL regular expression.
- **Connection test**: either a one-click public connectivity probe for a proxy, or a full route verification against a channel or a custom address. Only a final HTTP 200 counts as a pass, and the result names the route taken, the egress used, and the elapsed time.

For choosing between policies and rules, see [Outbound proxies](/en/guide/proxy/).

## Access control

This section has two tabs.

**Playback Keys** lists every issued playback credential with its name, key prefix, channel scope, expiration, and status. When you create a key, choose the allowed channels and an expiration date. The complete key is shown once with a ready-to-copy playlist URL. Existing keys can be revoked immediately while retaining the audit record, or deleted permanently.

**Playback Access Log** records requests to playlists and playback endpoints: time, key prefix, request path, channel, status code, and client address. Only the key prefix survives in the recorded path. The log keeps at most 5,000 entries and is trimmed automatically according to the retention setting; it can also be cleared manually, which cannot be undone.

Distribution patterns are covered in [Playback and distribution](/en/guide/playback/).

## System settings

The settings page holds four cards, top to bottom.

**Account and language** shows the signed-in account and interface language with entry points to change either. Changing the username or password requires the current password, and saving immediately invalidates sessions on other devices.

**Administrator API tokens** provides dedicated credentials for scripts and automation. Select the `read`, `write`, `delete`, and `refresh` scopes the job needs, set an expiration date, and copy the plaintext value when it appears. Kiln shows the value once and stores only a SHA-256 digest. Existing tokens can be edited, rotated, or revoked. The same card lists recent allowed and denied calls. See [Authentication](/en/guide/auth/) for details.

**Playback URLs and access logs** carries two settings that take effect immediately: the public base URL used to build playback and playlist addresses, and access log retention in days (1 to 3650).

**Active configuration** is read-only: listen address, whether playback authentication is on, CORS origins, allowed public hosts, and the service version. These require a config file change and a restart. See the [configuration reference](/en/reference/config/).

Source: https://kiln.wbxdocs.com/en/guide/admin/index.mdx
