1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
export type IRC = {
server: string;
password: string;
channel: string;
nick: string;
user: string;
real: string;
};
export type Show = {
title: string;
diskPath: string;
quality: string;
};
export type Transmission = {
host: string;
user: string;
password: string;
https: boolean;
rpcURI: string;
};
export type Tailscale = {
hostname: string;
authkey: string;
dataDir?: string;
};
export type Telegram = {
token: string;
mentionUser: number;
};
export type WireGuardPeer = {
publicKey: string;
endpoint: string;
allowedIPs: string[];
};
export type WireGuard = {
privateKey: string;
address: string[];
dns: string;
peers: WireGuardPeer[];
};
export type Config = {
irc: IRC;
xdcc: IRC;
transmission: Transmission;
shows: Show[];
rssKey: string;
tailscale: Tailscale;
baseDiskPath: string;
telegram: Telegram;
wireguard: WireGuard;
};
export default {
irc: {
server: "",
password: "",
channel: "",
nick: "",
user: "",
real: ""
},
xdcc: {
server: "",
password: "",
channel: "",
nick: "",
user: "",
real: ""
},
transmission: {
host: "",
user: "",
password: "",
https: true,
rpcURI: "/transmission/rpc"
},
shows: [
{
title: "Show Name",
diskPath: "/data/TV/Show Name",
quality: "1080p"
}
],
rssKey: "",
tailscale: {
hostname: "sanguisuga-dev",
authkey: "",
dataDir: undefined,
},
baseDiskPath: "/data/TV/",
telegram: {
token: "",
mentionUser: 0,
},
wireguard: { // for downloading files over DCC (XDCC)
privateKey: "",
address: [],
dns: "",
peers: [
{
publicKey: "",
allowedIPs: [],
endpoint: "",
},
],
},
} satisfies Config;
|