2022-07-05 19:02:07 +00:00
|
|
|
// @ts-ignore
|
|
|
|
import BConfig from "bcfg";
|
2022-07-19 22:31:15 +00:00
|
|
|
import { errorExit } from "./util.js";
|
2022-07-23 00:27:54 +00:00
|
|
|
import * as os from "os";
|
|
|
|
import { createRequire } from "module";
|
|
|
|
import path from "path";
|
2022-07-05 19:02:07 +00:00
|
|
|
|
2022-07-23 00:27:54 +00:00
|
|
|
const require = createRequire(import.meta.url);
|
2022-07-05 19:02:07 +00:00
|
|
|
const config = new BConfig("lumeweb-relay");
|
|
|
|
|
2022-07-23 00:27:54 +00:00
|
|
|
let configLocation;
|
|
|
|
const configFile = "config.conf";
|
|
|
|
|
|
|
|
switch (os.platform()) {
|
|
|
|
case "win32":
|
|
|
|
configLocation = path.resolve(
|
|
|
|
require?.main?.filename as string,
|
|
|
|
configFile
|
|
|
|
);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case "linux":
|
|
|
|
default:
|
|
|
|
configLocation = path.join("/etc/lumeweb/relay", configFile);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2022-07-05 19:02:07 +00:00
|
|
|
config.inject({
|
2022-07-19 22:31:15 +00:00
|
|
|
relayPort: 8080,
|
2022-07-23 00:27:54 +00:00
|
|
|
config: configLocation,
|
2022-07-05 19:02:07 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
config.load({
|
2022-07-19 22:31:15 +00:00
|
|
|
env: true,
|
|
|
|
argv: true,
|
2022-07-05 19:02:07 +00:00
|
|
|
});
|
|
|
|
try {
|
2022-07-23 00:27:54 +00:00
|
|
|
config.open(configLocation);
|
|
|
|
} catch (e) {
|
|
|
|
console.error((e as Error).message);
|
|
|
|
}
|
2022-07-05 19:02:07 +00:00
|
|
|
|
2022-07-22 23:55:09 +00:00
|
|
|
for (const setting of ["domain", "afraid-username", "seed"]) {
|
2022-07-19 22:31:15 +00:00
|
|
|
if (!config.get(setting)) {
|
|
|
|
errorExit(`Required config option ${setting} not set`);
|
|
|
|
}
|
2022-07-05 19:02:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
let usingPocketGateway = true;
|
|
|
|
|
|
|
|
export function usePocketGateway() {
|
2022-07-19 22:31:15 +00:00
|
|
|
return usingPocketGateway;
|
2022-07-05 19:02:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export function updateUsePocketGateway(state: boolean): void {
|
2022-07-19 22:31:15 +00:00
|
|
|
usingPocketGateway = state;
|
2022-07-05 19:02:07 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
export default config;
|