mirakurun 4.0.0-beta.4 → 4.0.0-beta.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.
package/api.d.ts CHANGED
@@ -239,6 +239,9 @@ export interface ConfigServer {
239
239
  disableWebUI?: boolean;
240
240
  allowIPv4CidrRanges?: string[];
241
241
  allowIPv6CidrRanges?: string[];
242
+ allowOrigins: string[];
243
+ allowPNA: boolean;
244
+ tsplayEndpoint: string;
242
245
  }
243
246
 
244
247
  export enum LogLevel {
@@ -1,140 +1,197 @@
1
1
  - name: TOKYO MX
2
2
  type: GR
3
3
  channel: '16'
4
+ isDisabled: true
4
5
 
5
6
  - name: フジテレビ
6
7
  type: GR
7
8
  channel: '21'
9
+ isDisabled: true
8
10
 
9
11
  - name: TBS
10
12
  type: GR
11
13
  channel: '22'
14
+ isDisabled: true
12
15
 
13
- - name: テレビ東京
16
+ - name: テレ東
14
17
  type: GR
15
18
  channel: '23'
19
+ isDisabled: true
16
20
 
17
21
  - name: テレビ朝日
18
22
  type: GR
19
23
  channel: '24'
24
+ isDisabled: true
20
25
 
21
26
  - name: 日テレ
22
27
  type: GR
23
28
  channel: '25'
29
+ isDisabled: true
24
30
 
25
- - name: NHKEテレ・東京
31
+ - name: NHKEテレ
26
32
  type: GR
27
33
  channel: '26'
34
+ isDisabled: true
28
35
 
29
- - name: NHK総合・東京
36
+ - name: NHK総合
30
37
  type: GR
31
38
  channel: '27'
39
+ isDisabled: true
32
40
 
33
- - name: NHK BS1
41
+ - name: BS朝日1
34
42
  type: BS
35
- channel: BS15_0
36
- serviceId: 101
43
+ channel: BS01_0
44
+ serviceId: 151
45
+ isDisabled: true
37
46
 
38
- - name: NHK BS1 (Sub)
47
+ - name: BS朝日2
39
48
  type: BS
40
- channel: BS15_0
41
- serviceId: 102
49
+ channel: BS01_0
50
+ serviceId: 152
51
+ isDisabled: true
52
+
53
+ - name: BS朝日3
54
+ type: BS
55
+ channel: BS01_0
56
+ serviceId: 153
57
+ isDisabled: true
58
+
59
+ - name: BS-TBS
60
+ type: BS
61
+ channel: BS01_1
62
+ serviceId: 161
63
+ isDisabled: true
64
+
65
+ - name: BS-TBS
66
+ type: BS
67
+ channel: BS01_1
68
+ serviceId: 162
69
+ isDisabled: true
70
+
71
+ - name: BS-TBS
72
+ type: BS
73
+ channel: BS01_1
74
+ serviceId: 163
75
+ isDisabled: true
76
+
77
+ - name: BSテレ東
78
+ type: BS
79
+ channel: BS01_2
80
+ serviceId: 171
81
+ isDisabled: true
82
+
83
+ - name: BSテレ東2
84
+ type: BS
85
+ channel: BS01_2
86
+ serviceId: 172
87
+ isDisabled: true
88
+
89
+ - name: BSテレ東3
90
+ type: BS
91
+ channel: BS01_2
92
+ serviceId: 173
93
+ isDisabled: true
42
94
 
43
- - name: NHKBSプレミアム
95
+ - name: BS11イレブン
44
96
  type: BS
45
- channel: BS03_1
46
- serviceId: 103
97
+ channel: BS09_0
98
+ serviceId: 211
99
+ isDisabled: true
47
100
 
48
- - name: NHKBSプレミアム
101
+ - name: BS12トゥエルビ
49
102
  type: BS
50
- channel: BS03_1
51
- serviceId: 104
103
+ channel: BS09_2
104
+ serviceId: 222
105
+ isDisabled: true
52
106
 
53
107
  - name: BS日テレ
54
108
  type: BS
55
109
  channel: BS13_0
56
110
  serviceId: 141
111
+ isDisabled: true
57
112
 
58
113
  - name: BS日テレ
59
114
  type: BS
60
115
  channel: BS13_0
61
116
  serviceId: 142
117
+ isDisabled: true
62
118
 
63
- - name: BS朝日1
64
- type: BS
65
- channel: BS01_0
66
- serviceId: 151
67
-
68
- - name: BS朝日2
119
+ - name: BS日テレ
69
120
  type: BS
70
- channel: BS01_0
71
- serviceId: 152
121
+ channel: BS13_0
122
+ serviceId: 143
123
+ isDisabled: true
72
124
 
73
- - name: BS-TBS
125
+ - name: BSフジ・181
74
126
  type: BS
75
- channel: BS01_1
76
- serviceId: 161
127
+ channel: BS13_1
128
+ serviceId: 181
129
+ isDisabled: true
77
130
 
78
- - name: BSテレ東
131
+ - name: BSフジ・182
79
132
  type: BS
80
- channel: BS01_2
81
- serviceId: 171
133
+ channel: BS13_1
134
+ serviceId: 182
135
+ isDisabled: true
82
136
 
83
- - name: BSフジ・181
137
+ - name: BSフジ・183
84
138
  type: BS
85
139
  channel: BS13_1
86
- serviceId: 181
140
+ serviceId: 183
141
+ isDisabled: true
87
142
 
88
- - name: WOWOWプライム
143
+ - name: 放送大学テレビ
89
144
  type: BS
90
- channel: BS03_0
91
- serviceId: 191
145
+ channel: BS13_2
146
+ serviceId: 231
92
147
  isDisabled: true
93
148
 
94
- - name: WOWOWライブ
149
+ - name: 放送大学テレビ
95
150
  type: BS
96
- channel: BS05_0
97
- serviceId: 192
151
+ channel: BS13_2
152
+ serviceId: 232
98
153
  isDisabled: true
99
154
 
100
- - name: WOWOWシネマ
155
+ - name: NHK BS
101
156
  type: BS
102
- channel: BS05_1
103
- serviceId: 193
157
+ channel: BS15_0
158
+ serviceId: 101
104
159
  isDisabled: true
105
160
 
106
- - name: BS11イレブン
161
+ - name: NHK BS
107
162
  type: BS
108
- channel: BS09_0
109
- serviceId: 211
163
+ channel: BS15_0
164
+ serviceId: 102
165
+ isDisabled: true
110
166
 
111
- - name: BSスカパー!
167
+ - name: BS10
112
168
  type: BS
113
- channel: BS11_1
114
- serviceId: 241
169
+ channel: BS15_2
170
+ serviceId: 200
171
+ isDisabled: true
115
172
 
116
- - name: テレ朝チャンネル1
117
- type: CS
118
- channel: CS2
119
- serviceId: 298
173
+ - name: BSよしもと
174
+ type: BS
175
+ channel: BS23_1
176
+ serviceId: 265
120
177
  isDisabled: true
121
178
 
122
- - name: テレ朝チャンネル2
123
- type: CS
124
- channel: CS2
125
- serviceId: 299
179
+ - name: BS松竹東急
180
+ type: BS
181
+ channel: BS23_3
182
+ serviceId: 260
126
183
  isDisabled: true
127
184
 
128
- - name: 日テレプラス
185
+ - name: ショップチャンネル
129
186
  type: CS
130
- channel: CS24
131
- serviceId: 300
187
+ channel: CS8
188
+ serviceId: 55
132
189
  isDisabled: true
133
190
 
134
- - name: AT-X
191
+ - name: QVC
135
192
  type: CS
136
- channel: CS16
137
- serviceId: 333
193
+ channel: CS22
194
+ serviceId: 161
138
195
  isDisabled: true
139
196
 
140
197
  - name: BS SPTV
@@ -143,17 +200,3 @@
143
200
  serviceId: 33353
144
201
  satellite: JCSAT3A
145
202
  isDisabled: true
146
-
147
- - name: AT-X HD
148
- type: SKY
149
- channel: ATXHD
150
- serviceId: 33435
151
- satellite: JCSAT3A
152
- isDisabled: true
153
-
154
- - name: AXN HD
155
- type: SKY
156
- channel: AXNHD
157
- serviceId: 33418
158
- satellite: JCSAT4A
159
- isDisabled: true
@@ -29,6 +29,9 @@ disableEITParsing: false # boolean
29
29
  disableWebUI: false # boolean
30
30
  allowIPv4CidrRanges: ["10.0.0.0/8", "127.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"] # array of string
31
31
  allowIPv6CidrRanges: ["fc00::/7"] # array of string
32
+ allowOrigins: ["https://mirakurun-secure-contexts-api.pages.dev"] # array of string
33
+ allowPNA: true # boolean
34
+ tsplayEndpoint: https://mirakurun-secure-contexts-api.pages.dev/tsplay/ # string
32
35
  ```
33
36
 
34
37
  ### Environment Variables (Docker)
@@ -47,6 +50,9 @@ DISABLE_EIT_PARSING
47
50
  DISABLE_WEB_UI
48
51
  ALLOW_IPV4_CIDR_RANGES
49
52
  ALLOW_IPV6_CIDR_RANGES
53
+ ALLOW_ORIGINS
54
+ ALLOW_PNA
55
+ TSPLAY_ENDPOINT
50
56
  ```
51
57
 
52
58
  ## tuners.yml
@@ -4,24 +4,15 @@ import * as config from "./config";
4
4
  import ServiceItem from "./ServiceItem";
5
5
  import TSFilter from "./TSFilter";
6
6
  export default class ChannelItem {
7
- private _name;
8
- private _type;
9
- private _channel;
10
- private _satellite;
11
- private _space;
12
- private _freq;
13
- private _polarity;
14
- private _tsmfRelTs;
7
+ readonly name: string;
8
+ readonly type: common.ChannelType;
9
+ readonly channel: string;
10
+ readonly satellite: string;
11
+ readonly space: number;
12
+ readonly freq: number;
13
+ readonly polarity: "H" | "V";
14
+ readonly tsmfRelTs: number;
15
15
  constructor(config: config.Channel);
16
- get name(): string;
17
- get type(): common.ChannelType;
18
- get channel(): string;
19
- get satellite(): string;
20
- get space(): number;
21
- get freq(): number;
22
- get polarity(): "H" | "V";
23
- get tsmfRelTs(): number;
24
- toJSON(): config.Channel;
25
16
  addService(serviceId: number): void;
26
17
  getServices(): ServiceItem[];
27
18
  getStream(user: common.User, output: stream.Writable): Promise<TSFilter>;
@@ -41,23 +41,23 @@ const queue_1 = __importDefault(require("./queue"));
41
41
  const log = __importStar(require("./log"));
42
42
  const ServiceItem_1 = __importDefault(require("./ServiceItem"));
43
43
  class ChannelItem {
44
- _name;
45
- _type;
46
- _channel;
47
- _satellite;
48
- _space;
49
- _freq;
50
- _polarity;
51
- _tsmfRelTs;
44
+ name;
45
+ type;
46
+ channel;
47
+ satellite;
48
+ space;
49
+ freq;
50
+ polarity;
51
+ tsmfRelTs;
52
52
  constructor(config) {
53
- this._name = config.name;
54
- this._type = config.type;
55
- this._channel = config.channel;
56
- this._satellite = config.satellite;
57
- this._space = config.space;
58
- this._freq = config.freq;
59
- this._polarity = config.polarity;
60
- this._tsmfRelTs = config.tsmfRelTs;
53
+ this.name = config.name;
54
+ this.type = config.type;
55
+ this.channel = config.channel;
56
+ this.satellite = config.satellite;
57
+ this.space = config.space;
58
+ this.freq = config.freq;
59
+ this.polarity = config.polarity;
60
+ this.tsmfRelTs = config.tsmfRelTs;
61
61
  if (config.serviceId) {
62
62
  this.addService(config.serviceId);
63
63
  }
@@ -70,42 +70,6 @@ class ChannelItem {
70
70
  }
71
71
  }, 3000);
72
72
  }
73
- get name() {
74
- return this._name;
75
- }
76
- get type() {
77
- return this._type;
78
- }
79
- get channel() {
80
- return this._channel;
81
- }
82
- get satellite() {
83
- return this._satellite;
84
- }
85
- get space() {
86
- return this._space;
87
- }
88
- get freq() {
89
- return this._freq;
90
- }
91
- get polarity() {
92
- return this._polarity;
93
- }
94
- get tsmfRelTs() {
95
- return this._tsmfRelTs;
96
- }
97
- toJSON() {
98
- return {
99
- type: this._type,
100
- channel: this._channel,
101
- name: this._name,
102
- satellite: this._satellite,
103
- space: this._space,
104
- freq: this._freq,
105
- polarity: this._polarity,
106
- tsmfRelTs: this._tsmfRelTs
107
- };
108
- }
109
73
  addService(serviceId) {
110
74
  if (!_1.default.service) {
111
75
  process.nextTick(() => this.addService(serviceId));
@@ -114,25 +78,25 @@ class ChannelItem {
114
78
  if (_1.default.service.findByChannel(this).some(service => service.serviceId === serviceId) === true) {
115
79
  return;
116
80
  }
117
- log.debug("ChannelItem#'%s' serviceId=%d check has queued", this._name, serviceId);
81
+ log.debug("ChannelItem#'%s' serviceId=%d check has queued", this.name, serviceId);
118
82
  queue_1.default.add(async () => {
119
- log.info("ChannelItem#'%s' serviceId=%d check has started", this._name, serviceId);
83
+ log.info("ChannelItem#'%s' serviceId=%d check has started", this.name, serviceId);
120
84
  let services;
121
85
  try {
122
86
  services = await _1.default.tuner.getServices(this);
123
87
  }
124
88
  catch (e) {
125
- log.warn("ChannelItem#'%s' serviceId=%d check has failed [%s]", this._name, serviceId, e);
89
+ log.warn("ChannelItem#'%s' serviceId=%d check has failed [%s]", this.name, serviceId, e);
126
90
  setTimeout(() => this.addService(serviceId), 180000);
127
91
  return;
128
92
  }
129
93
  const service = services.find(service => service.serviceId === serviceId);
130
94
  if (!service) {
131
- log.warn("ChannelItem#'%s' serviceId=%d check has failed [no service]", this._name, serviceId);
95
+ log.warn("ChannelItem#'%s' serviceId=%d check has failed [no service]", this.name, serviceId);
132
96
  setTimeout(() => this.addService(serviceId), 3600000);
133
97
  return;
134
98
  }
135
- log.debug("ChannelItem#'%s' serviceId=%d: %s", this._name, serviceId, JSON.stringify(service, null, " "));
99
+ log.debug("ChannelItem#'%s' serviceId=%d: %s", this.name, serviceId, JSON.stringify(service, null, " "));
136
100
  _1.default.service.add(new ServiceItem_1.default(this, service.networkId, service.serviceId, service.name, service.type, service.logoId));
137
101
  });
138
102
  }
@@ -143,19 +107,19 @@ class ChannelItem {
143
107
  return _1.default.tuner.initChannelStream(this, user, output);
144
108
  }
145
109
  serviceScan(add) {
146
- log.debug("ChannelItem#'%s' service scan has queued", this._name);
110
+ log.debug("ChannelItem#'%s' service scan has queued", this.name);
147
111
  queue_1.default.add(async () => {
148
- log.info("ChannelItem#'%s' service scan has started", this._name);
112
+ log.info("ChannelItem#'%s' service scan has started", this.name);
149
113
  let services;
150
114
  try {
151
115
  services = await _1.default.tuner.getServices(this);
152
116
  }
153
117
  catch (e) {
154
- log.warn("ChannelItem#'%s' service scan has failed [%s]", this._name, e);
118
+ log.warn("ChannelItem#'%s' service scan has failed [%s]", this.name, e);
155
119
  setTimeout(() => this.serviceScan(add), add ? 180000 : 3600000);
156
120
  return;
157
121
  }
158
- log.debug("ChannelItem#'%s' services: %s", this._name, JSON.stringify(services, null, " "));
122
+ log.debug("ChannelItem#'%s' services: %s", this.name, JSON.stringify(services, null, " "));
159
123
  services.forEach(service => {
160
124
  const item = _1.default.service.get(service.networkId, service.serviceId);
161
125
  if (item !== null) {
@@ -170,7 +134,7 @@ class ChannelItem {
170
134
  _1.default.service.add(new ServiceItem_1.default(this, service.networkId, service.serviceId, service.name, service.type, service.logoId, service.remoteControlKeyId));
171
135
  }
172
136
  });
173
- log.info("ChannelItem#'%s' service scan has finished", this._name);
137
+ log.info("ChannelItem#'%s' service scan has finished", this.name);
174
138
  });
175
139
  }
176
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChannelItem.js","sourceRoot":"","sources":["../../src/Mirakurun/ChannelItem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChannelItem.js","sourceRoot":"","sources":["../../src/Mirakurun/ChannelItem.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import EventEmitter = require("eventemitter3");
1
+ import EventEmitter from "eventemitter3";
2
2
  export interface EventMessage<T = any> {
3
3
  readonly resource: EventResource;
4
4
  readonly type: EventType;
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const EventEmitter = require("eventemitter3");
7
- const rfdc = require("rfdc");
8
- const clone = rfdc();
6
+ const eventemitter3_1 = __importDefault(require("eventemitter3"));
7
+ const common_1 = require("./common");
9
8
  const _1 = __importDefault(require("./_"));
10
- class Event extends EventEmitter {
9
+ class Event extends eventemitter3_1.default {
11
10
  static get log() {
12
11
  return _1.default.event.log;
13
12
  }
@@ -24,7 +23,7 @@ class Event extends EventEmitter {
24
23
  const message = {
25
24
  resource: resource,
26
25
  type: type,
27
- data: clone(data),
26
+ data: (0, common_1.deepClone)(data),
28
27
  time: Date.now()
29
28
  };
30
29
  return _1.default.event.emit("event", message);
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/Mirakurun/Event.ts"],"names":[],"mappings":";;;;;AAeA,8CAA+C;AAC/C,6BAA8B;AAC9B,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;AACrB,2CAAoB;AAYpB,MAAqB,KAAM,SAAQ,YAAY;IAE3C,MAAM,KAAK,GAAG;QACV,OAAO,UAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,QAAyC;QACpD,UAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,QAAyC;QACtD,UAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAkC;QACpD,UAAC,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAuB,EAAE,IAAe,EAAE,IAAS;QAE3D,MAAM,OAAO,GAAiB;YAC1B,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACnB,CAAC;QAEF,OAAO,UAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,IAAI,GAAmB,EAAE,CAAC;IAElC;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAEvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAGxB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAjDD,wBAiDC"}
1
+ {"version":3,"file":"Event.js","sourceRoot":"","sources":["../../src/Mirakurun/Event.ts"],"names":[],"mappings":";;;;;AAeA,kEAAyC;AACzC,qCAAqC;AACrC,2CAAoB;AAYpB,MAAqB,KAAM,SAAQ,uBAAY;IAE3C,MAAM,KAAK,GAAG;QACV,OAAO,UAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IACvB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,QAAyC;QACpD,UAAC,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,QAAyC;QACtD,UAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,QAAkC;QACpD,UAAC,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,QAAuB,EAAE,IAAe,EAAE,IAAS;QAE3D,MAAM,OAAO,GAAiB;YAC1B,QAAQ,EAAE,QAAQ;YAClB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAA,kBAAS,EAAC,IAAI,CAAC;YACrB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACnB,CAAC;QAEF,OAAO,UAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAEO,IAAI,GAAmB,EAAE,CAAC;IAElC;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;YAEvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAGxB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ;AAjDD,wBAiDC"}
@@ -94,18 +94,6 @@ class Server {
94
94
  const app = (0, express_1.default)();
95
95
  app.disable("x-powered-by");
96
96
  app.disable("etag");
97
- const corsOptions = {
98
- origin: (origin, callback) => {
99
- if (!origin) {
100
- return callback(null, true);
101
- }
102
- if (system.isPermittedHost(origin, serverConfig.hostname)) {
103
- return callback(null, true);
104
- }
105
- return callback(new Error("Not allowed by CORS"));
106
- }
107
- };
108
- app.use((0, cors_1.default)(corsOptions));
109
97
  app.use((0, morgan_1.default)(":remote-addr :remote-user :method :url HTTP/:http-version :status :res[content-length] - :response-time ms :user-agent", {
110
98
  stream: log.event
111
99
  }));
@@ -116,8 +104,9 @@ class Server {
116
104
  req.socket.end();
117
105
  return;
118
106
  }
119
- if (req.get("Origin") !== undefined) {
120
- if (!system.isPermittedHost(req.get("Origin"), serverConfig.hostname)) {
107
+ const origin = req.get("Origin");
108
+ if (origin !== undefined) {
109
+ if (!system.isPermittedHost(origin, serverConfig.hostname) && !serverConfig.allowOrigins.includes(origin)) {
121
110
  res.status(403).end();
122
111
  return;
123
112
  }
@@ -128,9 +117,16 @@ class Server {
128
117
  return;
129
118
  }
130
119
  }
120
+ if (serverConfig.allowPNA && req.get("Access-Control-Request-Method") && req.get("Access-Control-Request-Private-Network") === "true") {
121
+ res.setHeader("Access-Control-Allow-Private-Network", "true");
122
+ res.setHeader("Private-Network-Access-Name", `Mirakurun_${serverConfig.hostname}`);
123
+ res.setHeader("Private-Network-Access-ID", "00:00:00:00:00:00");
124
+ }
125
+ res.setHeader("Cross-Origin-Resource-Policy", "cross-origin");
131
126
  res.setHeader("Server", "Mirakurun/" + pkg.version);
132
127
  next();
133
128
  });
129
+ app.use((0, cors_1.default)());
134
130
  if (!serverConfig.disableWebUI) {
135
131
  app.use(express_1.default.static("lib/ui", {
136
132
  setHeaders: (res, path) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/Mirakurun/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/Mirakurun/Server.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export default class Tuner {
15
15
  initServiceStream(service: ServiceItem, userReq: common.UserRequest, output: Writable): Promise<TSFilter>;
16
16
  initProgramStream(program: db.Program, userReq: common.UserRequest, output: Writable): Promise<TSFilter>;
17
17
  getEPG(channel: ChannelItem, time?: number): Promise<void>;
18
- getServices(channel: ChannelItem): Promise<db.Service[]>;
18
+ getServices(channel: ChannelItem, user?: Partial<common.User>): Promise<db.Service[]>;
19
19
  private _load;
20
20
  private _initTS;
21
21
  private _getDevicesByType;
@@ -143,7 +143,7 @@ class Tuner {
143
143
  });
144
144
  });
145
145
  }
146
- async getServices(channel) {
146
+ async getServices(channel, user = {}) {
147
147
  const tsFilter = await this._initTS({
148
148
  id: "Mirakurun:getServices()",
149
149
  priority: -1,
@@ -152,7 +152,8 @@ class Tuner {
152
152
  channel,
153
153
  parseNIT: true,
154
154
  parseSDT: true
155
- }
155
+ },
156
+ ...user
156
157
  });
157
158
  return new Promise((resolve, reject) => {
158
159
  let network = {