@inner-dj/server 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/assets/css/styles.css +1 -1
  2. package/assets/images/avif/favicon/apple-touch-icon.avif +0 -0
  3. package/assets/images/avif/favicon/favicon-96x96.avif +0 -0
  4. package/assets/images/avif/favicon/web-app-manifest-192x192.avif +0 -0
  5. package/assets/images/avif/favicon/web-app-manifest-512x512.avif +0 -0
  6. package/assets/images/webp/favicon/apple-touch-icon.webp +0 -0
  7. package/assets/images/webp/favicon/favicon-96x96.webp +0 -0
  8. package/assets/images/webp/favicon/web-app-manifest-192x192.webp +0 -0
  9. package/assets/images/webp/favicon/web-app-manifest-512x512.webp +0 -0
  10. package/assets/js/controls.js +1 -0
  11. package/assets/js/index.global.js +1 -0
  12. package/assets/js/qr.js +1 -0
  13. package/assets/js/totp.js +1 -1
  14. package/lib/src/browser/controls.d.ts +1 -0
  15. package/lib/src/browser/controls.js +86 -0
  16. package/lib/src/browser/controls.js.map +1 -0
  17. package/lib/src/browser/index.global.js +10 -0
  18. package/lib/src/browser/qr.js +1636 -0
  19. package/lib/src/browser/totp.js +16 -3
  20. package/lib/src/browser/totp.js.map +1 -1
  21. package/lib/src/config.d.ts +3 -2
  22. package/lib/src/config.js +4 -3
  23. package/lib/src/config.js.map +1 -1
  24. package/lib/src/cwd-checker.d.ts +1 -0
  25. package/lib/src/cwd-checker.js +7 -0
  26. package/lib/src/cwd-checker.js.map +1 -0
  27. package/lib/src/receivers/ireceiver.d.ts +17 -0
  28. package/lib/src/receivers/ireceiver.js +18 -0
  29. package/lib/src/receivers/ireceiver.js.map +1 -0
  30. package/lib/src/receivers/smtp-receiver.d.ts +10 -0
  31. package/lib/src/receivers/smtp-receiver.js +38 -0
  32. package/lib/src/receivers/smtp-receiver.js.map +1 -0
  33. package/lib/src/web.d.ts +12 -3
  34. package/lib/src/web.js +107 -12
  35. package/lib/src/web.js.map +1 -1
  36. package/package.json +4 -4
@@ -10,7 +10,7 @@ document.addEventListener("DOMContentLoaded", function () {
10
10
  method: 'GET'
11
11
  }).then(async (res) => {
12
12
  const token = (await res.json())?.token;
13
- if (!token || typeof token !== 'string') {
13
+ if (typeof token !== 'string') {
14
14
  setTimeout(() => location.reload(), 3000);
15
15
  return;
16
16
  }
@@ -38,8 +38,21 @@ document.addEventListener("DOMContentLoaded", function () {
38
38
  size: 256
39
39
  }, qrContainer);
40
40
  }
41
- genOtp();
42
- setInterval(genOtp, 5000);
41
+ if (token) {
42
+ genOtp();
43
+ setInterval(genOtp, 5000);
44
+ }
45
+ else {
46
+ QR.render({
47
+ text: `${window.location.origin}/`,
48
+ radius: 0,
49
+ ecLevel: 'L',
50
+ fill: '#000000',
51
+ background: '#ffffff',
52
+ size: 256
53
+ }, qrContainer);
54
+ document.querySelector('.if-totp').style.display = 'none';
55
+ }
43
56
  });
44
57
  });
45
58
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"totp.js","sourceRoot":"","sources":["../../../src/browser/totp.ts"],"names":[],"mappings":"AAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAEnD,SAAS,YAAY,CAAC,EAAsB;QACxC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC;YACpB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,SAAU,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,EAAE;QAClB,MAAM,EAAE,KAAK;KAChB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAwB,CAAA,EAAE,KAAK,CAAC;QAC7D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAA6B,MAAc,CAAC,MAAM,CAAC;QAC/D,MAAM,EAAE,GAA2C,MAAc,CAAC,SAAS,CAAC;QAC5E,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,KAAK,UAAU,MAAM;YACjB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBAC9B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBAClB,OAAO;YACX,CAAC;YACD,OAAO,GAAG,GAAG,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;YACxF,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,EAAE,CAAC,MAAM,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,GAAG;aACZ,EAAE,WAAY,CAAC,CAAC;QACrB,CAAC;QAED,MAAM,EAAE,CAAC;QACT,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"totp.js","sourceRoot":"","sources":["../../../src/browser/totp.ts"],"names":[],"mappings":"AAAA,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IAEnD,SAAS,YAAY,CAAC,EAAsB;QACxC,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC;YACpB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,SAAU,CAAC,CAAC;QAClC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,EAAE;QAClB,MAAM,EAAE,KAAK;KAChB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAClB,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAwB,CAAA,EAAE,KAAK,CAAC;QAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1C,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAA6B,MAAc,CAAC,MAAM,CAAC;QAC/D,MAAM,EAAE,GAA2C,MAAc,CAAC,SAAS,CAAC;QAC5E,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,KAAK,UAAU,MAAM;YACjB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBAC9B,MAAM,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;gBAClB,OAAO;YACX,CAAC;YACD,OAAO,GAAG,GAAG,CAAC;YACd,YAAY,CAAC,SAAS,CAAC,CAAC;YACxB,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,kBAAkB,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;YACxF,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,EAAE,CAAC,MAAM,CAAC;gBACN,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,GAAG;aACZ,EAAE,WAAY,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;YACT,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;aACI,CAAC;YACF,EAAE,CAAC,MAAM,CAAC;gBACN,IAAI,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG;gBAClC,MAAM,EAAE,CAAC;gBACT,OAAO,EAAE,GAAG;gBACZ,IAAI,EAAE,SAAS;gBACf,UAAU,EAAE,SAAS;gBACrB,IAAI,EAAE,GAAG;aACZ,EAAE,WAAY,CAAC,CAAC;YAChB,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAiB,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC/E,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type DBConfig } from './session-store.js';
2
- import { type InnerDJDiscordBotConfig } from '@inner-dj/discord-receiver';
2
+ import { type DiscordReceiverConfig } from '@inner-dj/discord-receiver';
3
3
  import { type TwilioReceiverConfig } from '@inner-dj/twilio-receiver';
4
4
  export interface ServerConfig {
5
5
  port: number;
@@ -12,7 +12,8 @@ export interface ServerConfig {
12
12
  cookieTTL: number;
13
13
  jwtSecret: string;
14
14
  db: DBConfig;
15
- discord: InnerDJDiscordBotConfig;
15
+ discord: DiscordReceiverConfig;
16
16
  twilio: TwilioReceiverConfig;
17
+ cookies: string | undefined;
17
18
  }
18
19
  export declare function getConfig(cfgPath?: string): Promise<ServerConfig>;
package/lib/src/config.js CHANGED
@@ -38,14 +38,15 @@ export async function getConfig(cfgPath) {
38
38
  trustProxy: joinIfArray(process.env['TRUSTPROXY'] ?? cfg.trustProxy),
39
39
  secure: getBoolean('SECURE', cfg, 'secure', true),
40
40
  public: pub,
41
- sessionSecret: pub ? '' : process.env['SESSIONSECRET'] ?? cfg.sessionSecret ?? throwNewError('sessionSecret is required if server is not public'),
42
- userOtp: pub ? '' : process.env['USEROTP'] ?? cfg.userOtp ?? generateTotpSecret('userOtp'),
43
- adminOtp: pub ? '' : process.env['ADMINOTP'] ?? cfg.adminOtp ?? generateTotpSecret('adminOtp'),
41
+ sessionSecret: process.env['SESSIONSECRET'] ?? cfg.sessionSecret ?? throwNewError('sessionSecret is required'),
42
+ userOtp: pub ? '' : (process.env['USEROTP'] ?? cfg.userOtp) || generateTotpSecret('userOtp'),
43
+ adminOtp: process.env['ADMINOTP'] ?? cfg.adminOtp ?? generateTotpSecret('adminOtp'),
44
44
  cookieTTL: notStupidParseInt(process.env['COOKIETTL'] ?? cfg.cookieTTL ?? 1000 * 60 * 60 * 24 * 30),
45
45
  jwtSecret: process.env['JWTSECRET'] ?? cfg.jwtSecret ?? throwNewError('jwtSecret is required'),
46
46
  db: SessionStore.getConfig(path.dirname(p), cfg.db),
47
47
  discord: InnerDJDiscordBot.getConfig(cfg.discord),
48
48
  twilio: TwilioReceiver.getConfig(cfg.twilio),
49
+ cookies: process.env['COOKIES'] ?? cfg.cookies,
49
50
  };
50
51
  }
51
52
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function getExpectedCWD(): string;
@@ -0,0 +1,7 @@
1
+ import { dirname, resolve } from 'path';
2
+ import { fileURLToPath } from 'url';
3
+ export function getExpectedCWD() {
4
+ const srcdir = dirname(fileURLToPath(import.meta.url));
5
+ return resolve(srcdir, '..', '..');
6
+ }
7
+ //# sourceMappingURL=cwd-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cwd-checker.js","sourceRoot":"","sources":["../../src/cwd-checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,UAAU,cAAc;IAC1B,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvD,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACvC,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { type ServerConfig } from '../config.js';
2
+ import { type Web } from '../web.js';
3
+ export interface iReceiverConfig {
4
+ enabled: boolean;
5
+ }
6
+ export interface iReceiverStatic<T extends iReceiverConfig> {
7
+ new (config: ServerConfig, web: Web): iReceiver;
8
+ getConfig(cfg?: Partial<T>): T;
9
+ }
10
+ export declare abstract class iReceiver {
11
+ protected config: ServerConfig;
12
+ private web;
13
+ constructor(config: ServerConfig, web: Web);
14
+ request: (url: string) => Promise<boolean>;
15
+ start: () => void;
16
+ close: () => void;
17
+ }
@@ -0,0 +1,18 @@
1
+ ;
2
+ export class iReceiver {
3
+ config;
4
+ web;
5
+ constructor(config, web) {
6
+ this.config = config;
7
+ this.web = web;
8
+ }
9
+ request = (url) => {
10
+ return this.web.sendPayload({
11
+ type: 'queue',
12
+ body: url
13
+ });
14
+ };
15
+ start = () => { };
16
+ close = () => { };
17
+ }
18
+ //# sourceMappingURL=ireceiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ireceiver.js","sourceRoot":"","sources":["../../../src/receivers/ireceiver.ts"],"names":[],"mappings":"AAKC,CAAC;AAOF,MAAM,OAAgB,SAAS;IACjB,MAAM,CAAe;IACvB,GAAG,CAAM;IAEjB,YAAY,MAAoB,EAAE,GAAQ;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE;QACtB,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YACxB,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,GAAG;SACZ,CAAC,CAAC;IACP,CAAC,CAAA;IAED,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;IACjB,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;CACpB"}
@@ -0,0 +1,10 @@
1
+ import { iReceiver, type iReceiverConfig } from './ireceiver.js';
2
+ export interface SmtpReceiverConfig extends iReceiverConfig {
3
+ port: number;
4
+ }
5
+ export declare class SmtpReceiver extends iReceiver {
6
+ private smtp;
7
+ static getConfig(cfg?: Partial<SmtpReceiverConfig>): SmtpReceiverConfig;
8
+ start: () => void;
9
+ close: () => void;
10
+ }
@@ -0,0 +1,38 @@
1
+ import { SMTPServer } from "smtp-server";
2
+ import { notStupidParseInt } from 'inner-dj-common';
3
+ import { iReceiver } from './ireceiver.js';
4
+ import { getBoolean } from '../config.js';
5
+ export class SmtpReceiver extends iReceiver {
6
+ smtp = null;
7
+ static getConfig(cfg) {
8
+ return {
9
+ enabled: getBoolean('SMTPENABLED', cfg, 'enabled', false),
10
+ port: notStupidParseInt(process.env['SMTPPORT'] ?? cfg?.port ?? 4650),
11
+ };
12
+ }
13
+ start = () => {
14
+ if (this.smtp) {
15
+ return;
16
+ }
17
+ const server = this.smtp = new SMTPServer({
18
+ secure: true,
19
+ name: 'Inner DJ request inbox',
20
+ size: 255,
21
+ authOptional: false,
22
+ disabledCommands: ['AUTH'],
23
+ onData: (stream, _session, callback) => {
24
+ const body = stream.read();
25
+ console.log(body);
26
+ callback(null, "Message queued");
27
+ }
28
+ });
29
+ server.listen(this.config.smtpConfig.port);
30
+ console.log(`SmtpReceiver listening on port ${this.config.smtpConfig.port}`);
31
+ };
32
+ close = () => {
33
+ this.smtp?.close();
34
+ this.smtp = null;
35
+ };
36
+ }
37
+ SmtpReceiver;
38
+ //# sourceMappingURL=smtp-receiver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smtp-receiver.js","sourceRoot":"","sources":["../../../src/receivers/smtp-receiver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAA8C,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,MAAM,OAAO,YAAa,SAAQ,SAAS;IAC/B,IAAI,GAAsB,IAAI,CAAC;IAEvC,MAAM,CAAC,SAAS,CAAC,GAAiC;QAC9C,OAAO;YACH,OAAO,EAAE,UAAU,CAAC,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC;YACzD,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,EAAE,IAAI,IAAI,IAAI,CAAC;SACxE,CAAA;IACL,CAAC;IAEQ,KAAK,GAAG,GAAG,EAAE;QAClB,IAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC;YACtC,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,wBAAwB;YAC9B,IAAI,EAAE,GAAG;YACT,YAAY,EAAE,KAAK;YACnB,gBAAgB,EAAE,CAAC,MAAM,CAAC;YAC1B,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAA;YACpC,CAAC;SACJ,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,kCAAkC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC,CAAA;IAEQ,KAAK,GAAG,GAAG,EAAE;QAClB,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC,CAAA;CACJ;AAED,YAA0D,CAAC"}
package/lib/src/web.d.ts CHANGED
@@ -1,19 +1,28 @@
1
- import { ServerConfig } from './config.js';
1
+ import EventEmitter from 'events';
2
2
  import express from 'express';
3
- import { type Payload, type ClientInterface, Method } from '@inner-dj/common';
3
+ import { ServerConfig } from './config.js';
4
+ import { Method } from '@inner-dj/common';
5
+ import type { ClientInterface, Payload } from '@inner-dj/common';
4
6
  declare module 'express-session' {
5
7
  interface SessionData {
6
8
  admin?: boolean;
7
9
  }
8
10
  }
9
- export declare class Web implements ClientInterface {
11
+ export interface SimpleClientInfo {
12
+ clientId: string | null;
13
+ nowPlaying: string | null;
14
+ }
15
+ export declare class Web extends EventEmitter implements ClientInterface {
10
16
  private config;
11
17
  private _webserver;
12
18
  private _clients;
13
19
  private _app;
14
20
  private _guides;
21
+ private _downloader;
15
22
  constructor(config: ServerConfig);
16
23
  initialize: () => Promise<void>;
24
+ emitClientStateChange: () => void;
25
+ createClientStateData: () => SimpleClientInfo[];
17
26
  registerRoute: (method: Method, route: string, handler: (req: express.Request, res: express.Response, next?: express.NextFunction) => any) => void;
18
27
  registerGuide: (html: string) => number;
19
28
  sendPayload: (payload: Payload) => Promise<boolean>;
package/lib/src/web.js CHANGED
@@ -1,33 +1,47 @@
1
1
  import crypto from 'crypto';
2
+ import path from 'path';
3
+ import os from 'os';
4
+ import EventEmitter from 'events';
5
+ import fsp from 'fs/promises';
2
6
  import jwt from 'jsonwebtoken';
3
7
  import express from 'express';
4
8
  import expressWs from 'express-ws';
5
9
  import session from 'express-session';
6
10
  import getYouTubeID from 'get-youtube-id-ng';
11
+ import contentDisposition from 'content-disposition';
7
12
  import { verify } from "otplib";
8
- import { encodePayload } from '@inner-dj/common';
13
+ import { getExpectedCWD } from './cwd-checker.js';
14
+ import { getFilesNoError, encodePayload, ytdlp, ytdlpDefaults } from '@inner-dj/common';
9
15
  import { SessionStore } from './session-store.js';
10
- export class Web {
16
+ const expectedCWD = getExpectedCWD();
17
+ export class Web extends EventEmitter {
11
18
  config;
12
19
  _webserver = null;
13
20
  _clients = {};
14
21
  _app = null;
15
22
  _guides = [];
23
+ _downloader;
16
24
  constructor(config) {
25
+ super();
17
26
  this.config = config;
27
+ this._downloader = new ytdlp({
28
+ ...ytdlpDefaults,
29
+ optput: path.join(os.tmpdir(), ytdlpDefaults.optput),
30
+ cookies: config.cookies,
31
+ });
18
32
  }
19
33
  initialize = async () => {
20
34
  const config = this.config;
21
- const app = this._app = express();
22
- const wsApp = expressWs(app).app;
35
+ const app = this._app = expressWs(express()).app;
23
36
  app.set('trust proxy', config.trustProxy);
24
37
  app.set('view engine', 'ejs');
25
38
  app.set('view options', { outputFunctionName: 'echo' });
39
+ app.set('views', path.join(expectedCWD, 'views'));
26
40
  app.use((_, res, next) => {
27
41
  res.set('X-Robots-Tag', 'noindex, nofollow');
28
42
  next && next();
29
43
  });
30
- app.use('/assets', express.static('assets', { maxAge: '30 days' }));
44
+ app.use('/assets', express.static(path.join(expectedCWD, 'assets'), { maxAge: '30 days' }));
31
45
  app.use((_req, res, next) => {
32
46
  crypto.randomBytes(32, (err, randomBytes) => {
33
47
  if (err) {
@@ -43,7 +57,36 @@ export class Web {
43
57
  app.get('/healthcheck', (_req, res) => {
44
58
  res.send('healthy');
45
59
  });
46
- wsApp.ws('/sock', async (ws, req) => {
60
+ app.post('/download', express.raw({ type: 'text/plain' }), async (req, res) => {
61
+ const body = req.body?.toString();
62
+ const payload = body && jwt.verify(body, config.jwtSecret);
63
+ if (!payload || typeof (payload) === 'string' || payload.type !== 'download') {
64
+ res.status(401).send();
65
+ return;
66
+ }
67
+ const vidurl = `https://www.youtube.com/watch?v=${payload.body}`;
68
+ console.info(`downloading ${vidurl} for ${req.ip}`);
69
+ try {
70
+ await this._downloader.exec(vidurl);
71
+ }
72
+ catch (ex) {
73
+ console.error(ex);
74
+ }
75
+ const files = await getFilesNoError(os.tmpdir());
76
+ const file = files.find(f => f.split('.')[0] === payload.body);
77
+ if (!file) {
78
+ res.status(500).send();
79
+ return;
80
+ }
81
+ res.set('Content-Disposition', contentDisposition.create(file))
82
+ .sendFile(path.join(os.tmpdir(), file), (err) => {
83
+ if (err) {
84
+ console.error(err);
85
+ }
86
+ return fsp.unlink(path.join(os.tmpdir(), file));
87
+ });
88
+ });
89
+ app.ws('/sock', (ws, req) => {
47
90
  const clientInfo = {
48
91
  ws,
49
92
  clientId: null,
@@ -63,20 +106,23 @@ export class Web {
63
106
  if (this._clients[key] === clientInfo) {
64
107
  delete this._clients[key];
65
108
  }
109
+ this.emitClientStateChange();
66
110
  });
67
111
  const ack = {
68
112
  type: 'ack'
69
113
  };
70
114
  ws.send(encodePayload(ack, config.jwtSecret));
115
+ this.emitClientStateChange();
71
116
  return;
72
117
  }
73
- else if (clientInfo.clientId && decoded && payload?.type === 'nowPlaying' && payload.body) {
118
+ else if (clientInfo.clientId && decoded && payload?.type === 'nowPlaying') {
74
119
  console.log(`client ${clientInfo.clientId} playing ${clientInfo.nowPlaying = payload.body}`);
120
+ this.emitClientStateChange();
75
121
  return;
76
122
  }
77
123
  ws.close();
78
124
  });
79
- console.debug(`Got websocket connection from ${req.ip}`);
125
+ console.debug(`Got client websocket connection from ${req.ip}`);
80
126
  const timeout = setTimeout(() => {
81
127
  console.debug(`Client@${req.ip} took too long to identify itself. Closing.`);
82
128
  ws.close();
@@ -183,7 +229,7 @@ export class Web {
183
229
  });
184
230
  const requireAdmin = (req, res, next) => {
185
231
  if (req.session.admin !== true) {
186
- res.redirect('/');
232
+ res.redirect('/?override=1');
187
233
  return;
188
234
  }
189
235
  next();
@@ -238,16 +284,65 @@ export class Web {
238
284
  }
239
285
  });
240
286
  });
241
- app.get('/admin/controls', sessionMiddleware, requireAdmin, (_req, res) => {
242
- res.send('controls');
243
- });
244
287
  app.get('/admin/token', sessionMiddleware, requireAdmin, (_req, res) => {
245
288
  res.send({
246
289
  token: config.userOtp
247
290
  });
248
291
  });
292
+ app.get('/admin/controls', sessionMiddleware, requireAdmin, (_req, res) => {
293
+ res.render('controls', {
294
+ guides: this._guides.join('\n'),
295
+ page: {
296
+ title: 'Admin Controls',
297
+ titlesuffix: 'Inner DJ',
298
+ description: 'Skip songs'
299
+ }
300
+ });
301
+ });
302
+ // not going to enforce authentication for simplicity
303
+ // socket for realtime data, not for actually controlling clients
304
+ app.ws('/admin/controls', (ws, req) => {
305
+ console.debug(`Got control websocket connection from ${req.ip}`);
306
+ const eventListener = (payload) => {
307
+ if (payload) {
308
+ ws.send(payload);
309
+ }
310
+ };
311
+ this.on('change', eventListener);
312
+ ws.on('close', () => {
313
+ this.removeListener('change', eventListener);
314
+ });
315
+ eventListener(JSON.stringify(this.createClientStateData()));
316
+ });
317
+ app.post('/admin/controls/skip', sessionMiddleware, requireAdmin, (req, res) => {
318
+ const clientId = req.query['clientId'];
319
+ if (typeof clientId !== 'string' || !(clientId in this._clients)) {
320
+ res.status(400).send();
321
+ return;
322
+ }
323
+ this._clients[clientId]?.ws.send(encodePayload({
324
+ type: 'skip'
325
+ }, this.config.jwtSecret));
326
+ res.send();
327
+ });
249
328
  this._webserver = app.listen(config.port, () => console.log(`running on port ${config.port}`));
250
329
  };
330
+ emitClientStateChange = () => {
331
+ this.emit('change', JSON.stringify(this.createClientStateData()));
332
+ };
333
+ createClientStateData = () => {
334
+ const payload = [];
335
+ for (let id in this._clients) {
336
+ const info = this._clients[id];
337
+ if (info && info.clientId) {
338
+ payload.push({
339
+ clientId: info.clientId,
340
+ nowPlaying: info.nowPlaying
341
+ });
342
+ }
343
+ }
344
+ return payload;
345
+ };
251
346
  registerRoute = (method, route, handler) => {
252
347
  console.debug(`Registered route to ${route} via ${method.toUpperCase()} requests`);
253
348
  this._app?.[method](route, handler);
@@ -1 +1 @@
1
- {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web.js","sourceRoot":"","sources":["../../src/web.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inner-dj/server",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "server component of inner-dj",
5
5
  "repository": {
6
6
  "type": "git",
@@ -40,9 +40,9 @@
40
40
  "otplib": "^13.4.0",
41
41
  "qr-creator": "^1.0.0",
42
42
  "yaml": "^2.9.0",
43
- "@inner-dj/common": "0.1.3",
44
- "@inner-dj/twilio-receiver": "0.1.3",
45
- "@inner-dj/discord-receiver": "0.1.3"
43
+ "@inner-dj/common": "0.1.5",
44
+ "@inner-dj/twilio-receiver": "0.1.5",
45
+ "@inner-dj/discord-receiver": "0.1.5"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@sindresorhus/tsconfig": "8.1.0",