# DRMDtool drmdtool is a utility for processing .drmd files using N_m3u8DL-RE. ## Configuration Create a `config.toml` file in the same directory as the drmdtool executable: ```toml [General] BaseDir = "/path/to/save/downloads" Format = "mkv" TempBaseDir = "/tmp/nre" EnableConsole = true [WatchFolder] Path = "/path/to/watched/folder" PollingInterval = 10 UsePolling = true UseInotify = false [N_m3u8DLRE] Path = "/path/to/N_m3u8DL-RE" ``` ### Configuration Options - **General** - `BaseDir`: Directory where downloaded files will be saved. - `Format`: Output format for the downloaded files (e.g., `mkv`, `mp4`). - `TempBaseDir`: Temporary directory for intermediate files. - `EnableConsole`: Boolean to enable or disable console output. - **WatchFolder** - `Path`: Directory to watch for new `.drmd` files. - `PollingInterval`: Interval in seconds for polling the watch folder. - `UsePolling`: Boolean to enable or disable folder polling. - `UseInotify`: Boolean to enable or disable inotify for file watching. - **N_m3u8DLRE** - `Path`: Path to the N_m3u8DL-RE executable. ### Environment Variable Overrides You can override the configuration options using environment variables. The following environment variables are supported: - `BASE_DIR`: Overrides `General.BaseDir` - `FORMAT`: Overrides `General.Format` - `TEMP_BASE_DIR`: Overrides `General.TempBaseDir` - `WATCHED_FOLDER`: Overrides `WatchFolder.Path` - `USE_POLLING`: Overrides `WatchFolder.UsePolling` (set to `true` or `false`) - `USE_INOTIFY`: Overrides `WatchFolder.UseInotify` (set to `true` or `false`) - `POLLING_INTERVAL`: Overrides `WatchFolder.PollingInterval` ## Web UI Usage 1. Run the executable: ``` ./drmdtool ``` 2. Open a web browser and go to `http://localhost:8080` 3. Use the interface to upload .drmd files and monitor download progress ## CLI Usage To process a file directly from the command line: ``` ./drmdtool -f /path/to/file.drmd ``` This will download the file and save it in the base directory specified in the config. # Previews ## Index Page ![Index Page](images/index.png) ## Select Page ![Select Page](images/select.png) ## Progress Page ![Progress Page](images/progress.png)