mirror of
https://github.com/idanoo/autobrr
synced 2025-07-26 02:09:13 +00:00
feat: add webui
This commit is contained in:
parent
a838d994a6
commit
773e57afe6
59 changed files with 19794 additions and 0 deletions
78
web/src/domain/constants.ts
Normal file
78
web/src/domain/constants.ts
Normal file
|
@ -0,0 +1,78 @@
|
|||
import {DOWNLOAD_CLIENT_TYPES} from "./interfaces";
|
||||
|
||||
export const resolutions = [
|
||||
"2160p",
|
||||
"1080p",
|
||||
"1080i",
|
||||
"810p",
|
||||
"720p",
|
||||
"576p",
|
||||
"480p",
|
||||
"480i"
|
||||
];
|
||||
|
||||
export const RESOLUTION_OPTIONS = resolutions.map(r => ({ value: r, label: r, key: r}));
|
||||
|
||||
export const codecs = [
|
||||
"AVC",
|
||||
"Remux",
|
||||
"h.264 Remux",
|
||||
"h.265 Remux",
|
||||
"HEVC",
|
||||
"VC-1",
|
||||
"VC-1 Remux",
|
||||
"h264",
|
||||
"h265",
|
||||
"x264",
|
||||
"x265",
|
||||
"XviD"
|
||||
];
|
||||
|
||||
export const CODECS_OPTIONS = codecs.map(v => ({ value: v, label: v, key: v}));
|
||||
|
||||
export const sources = [
|
||||
"BD5",
|
||||
"BD9",
|
||||
"BDr",
|
||||
"BDRip",
|
||||
"BluRay",
|
||||
"BRRip",
|
||||
"CAM",
|
||||
"DVDR",
|
||||
"DVDRip",
|
||||
"DVDScr",
|
||||
"HDCAM",
|
||||
"HDDVD",
|
||||
"HDDVDRip",
|
||||
"HDTS",
|
||||
"HDTV",
|
||||
"Mixed",
|
||||
"SiteRip",
|
||||
"WEB-DL",
|
||||
"Webrip"
|
||||
];
|
||||
|
||||
export const SOURCES_OPTIONS = sources.map(v => ({ value: v, label: v, key: v}));
|
||||
|
||||
export const containers = [
|
||||
"avi",
|
||||
"mp4",
|
||||
"mkv",
|
||||
];
|
||||
|
||||
export const CONTAINER_OPTIONS = containers.map(v => ({ value: v, label: v, key: v}));
|
||||
|
||||
export interface radioFieldsetOption {
|
||||
label: string;
|
||||
description: string;
|
||||
value: string;
|
||||
}
|
||||
|
||||
export const DownloadClientTypeOptions: radioFieldsetOption[] = [
|
||||
{
|
||||
label: "qBittorrent",
|
||||
description: "Add torrents directly to qBittorrent",
|
||||
value: DOWNLOAD_CLIENT_TYPES.qBittorrent
|
||||
},
|
||||
{label: "Deluge", description: "Add torrents directly to Deluge", value: DOWNLOAD_CLIENT_TYPES.Deluge},
|
||||
];
|
119
web/src/domain/interfaces.ts
Normal file
119
web/src/domain/interfaces.ts
Normal file
|
@ -0,0 +1,119 @@
|
|||
export interface APP {
|
||||
baseUrl: string;
|
||||
}
|
||||
|
||||
export interface Action {
|
||||
id: number;
|
||||
name: string;
|
||||
enabled: boolean;
|
||||
type: ActionType;
|
||||
exec_cmd: string;
|
||||
exec_args: string;
|
||||
watch_folder: string;
|
||||
category: string;
|
||||
tags: string;
|
||||
label: string;
|
||||
save_path: string;
|
||||
paused: boolean;
|
||||
ignore_rules: boolean;
|
||||
limit_upload_speed: number;
|
||||
limit_download_speed: number;
|
||||
client_id: number;
|
||||
filter_id: number;
|
||||
// settings: object;
|
||||
}
|
||||
|
||||
export interface Indexer {
|
||||
id: number;
|
||||
name: string;
|
||||
identifier: string;
|
||||
enabled: boolean;
|
||||
settings: object | any;
|
||||
}
|
||||
|
||||
export interface Filter {
|
||||
id: number;
|
||||
name: string;
|
||||
enabled: boolean;
|
||||
shows: string;
|
||||
min_size: string;
|
||||
max_size: string;
|
||||
match_sites: string[];
|
||||
except_sites: string[];
|
||||
delay: number;
|
||||
years: string;
|
||||
resolutions: string[];
|
||||
sources: string[];
|
||||
codecs: string[];
|
||||
containers: string[];
|
||||
seasons: string;
|
||||
episodes: string;
|
||||
match_releases: string;
|
||||
except_releases: string;
|
||||
match_release_groups: string;
|
||||
except_release_groups: string;
|
||||
match_categories: string;
|
||||
except_categories: string;
|
||||
match_tags: string;
|
||||
except_tags: string;
|
||||
match_uploaders: string;
|
||||
except_uploaders: string;
|
||||
actions: Action[];
|
||||
indexers: Indexer[];
|
||||
}
|
||||
|
||||
export interface Tracker {
|
||||
id: number;
|
||||
name: string;
|
||||
type: string;
|
||||
enabled: boolean;
|
||||
}
|
||||
|
||||
export type ActionType = 'TEST' | 'EXEC' | 'WATCH_FOLDER' | 'QBITTORRENT' | 'DELUGE';
|
||||
export const ACTIONTYPES: ActionType[] = ['TEST', 'EXEC' , 'WATCH_FOLDER' , 'QBITTORRENT' , 'DELUGE'];
|
||||
|
||||
|
||||
export type DownloadClientType = 'QBITTORRENT' | 'DELUGE';
|
||||
|
||||
// export const DOWNLOAD_CLIENT_TYPES: DownloadClientType[] = ['QBITTORRENT' , 'DELUGE'];
|
||||
export enum DOWNLOAD_CLIENT_TYPES {
|
||||
qBittorrent = 'QBITTORRENT',
|
||||
Deluge = 'DELUGE'
|
||||
}
|
||||
|
||||
|
||||
export interface DownloadClient {
|
||||
id: number;
|
||||
name: string;
|
||||
enabled: boolean;
|
||||
type: DownloadClientType;
|
||||
settings: object;
|
||||
}
|
||||
|
||||
export interface Network {
|
||||
id: number;
|
||||
name: string;
|
||||
enabled: boolean;
|
||||
addr: string;
|
||||
nick: string;
|
||||
username: string;
|
||||
realname: string;
|
||||
pass: string;
|
||||
sasl: SASL;
|
||||
}
|
||||
|
||||
export interface SASL {
|
||||
mechanism: string;
|
||||
plain: {
|
||||
username: string;
|
||||
password: string;
|
||||
}
|
||||
}
|
||||
|
||||
export interface Config {
|
||||
host: string;
|
||||
port: number;
|
||||
log_level: string;
|
||||
log_path: string;
|
||||
base_url: string;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue