Skip to content

Developing alternate WebUIs (WIP)

Chocobo1 edited this page May 1, 2024 · 3 revisions

WIP

From qBittorrent v4.1.0 and on, the WebUI architecture was expanded to allow the use of alternate set of HTML files, allowing customization of the WebUI separated from the evolution of the core qBittorrent code.

Also, this mechanism is controlled via configuration options (core UI preferences window or config file), and the WebUI files (html, css, js, ...) are external to the program so it's easier than ever to test and modify the WebUI's functionality, look and feel without need of rebuilding the executable.

Public and Private WebUI files separation

In order to increase security, a public (login process handling) and private (WebUI functionality) separation of files is implemented (see core WebUI files' segregation as ref: https://github.com/qbittorrent/qBittorrent/tree/master/src/webui/www)

First steps to an alternate WebUI:

Copy the files: https://github.com/qbittorrent/qBittorrent/tree/master/src/webui/www to a <new folder> https://github.com/qbittorrent/qBittorrent/tree/master/src/icons to <new folder>/public https://github.com/qbittorrent/qBittorrent/tree/master/src/icons to <new folder>/private

Enable AltWebUI on the options and point the entry WebUI\RootFolder to <new folder>, then launch qBittorrent. Access the WebUI as always, modify the files at <new folder> according to your needs and refresh the browser to see the changes reflected.

References:

General

Troubleshooting

External programs

Search plugins

Themes

Translation


WebUI

WebUI API

State Version
Current qBittorrent ≥ v4.1
Previous qBittorrent v3.2.0 - v4.0.x
Obsolete qBittorrent < v3.2.0

WebAPI clients

Alternate WebUI

Reverse proxy setup for WebUI access

WebUI HTTPS configuration


Linux


Development

Compilation

Common information for CMake

*BSD, Linux

macOS

Windows

Obsolete compilation guides

Clone this wiki locally