Files
collabvm-1.2.ts/cvmts/src/IConfig.ts

77 lines
1.4 KiB
TypeScript
Raw Normal View History

export default interface IConfig {
http: {
host: string;
port: number;
proxying: boolean;
proxyAllowedIps: string[];
origin: boolean;
originAllowedDomains: string[];
};
tcp: {
enabled: boolean;
host: string;
port: number;
}
auth: {
enabled: boolean;
apiEndpoint: string;
secretKey: string;
guestPermissions: {
chat: boolean;
turn: boolean;
callForReset: boolean;
vote: boolean;
};
};
vm: {
qemuArgs: string;
vncPort: number;
snapshots: boolean;
qmpHost: string | null;
qmpPort: number | null;
qmpSockDir: string | null;
};
collabvm: {
node: string;
displayname: string;
motd: string;
maxConnections: number;
bancmd: string | string[];
moderatorEnabled: boolean;
usernameblacklist: string[];
maxChatLength: number;
maxChatHistoryLength: number;
turnlimit: {
enabled: boolean;
maximum: number;
};
automute: {
enabled: boolean;
seconds: number;
messages: number;
};
tempMuteTime: number;
turnTime: number;
voteTime: number;
voteCooldown: number;
adminpass: string;
modpass: string;
turnwhitelist: boolean;
turnpass: string;
moderatorPermissions: Permissions;
};
}
export interface Permissions {
restore: boolean;
reboot: boolean;
ban: boolean;
forcevote: boolean;
mute: boolean;
kick: boolean;
bypassturn: boolean;
rename: boolean;
grabip: boolean;
xss: boolean;
}