pinokiod 3.80.0 → 3.82.0
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/kernel/bin/caddy.js +13 -3
- package/kernel/index.js +4 -0
- package/kernel/kv.js +0 -2
- package/kernel/peer.js +13 -6
- package/kernel/router/index.js +1 -1
- package/kernel/router/peer_static_router.js +1 -1
- package/kernel/util.js +0 -7
- package/package.json +1 -1
- package/server/index.js +0 -6
- package/server/public/urldropdown.js +3 -3
package/kernel/bin/caddy.js
CHANGED
|
@@ -28,9 +28,19 @@ class Caddy {
|
|
|
28
28
|
console.log("Caddy running?", running)
|
|
29
29
|
// if (this.kernel.processes.caddy_pid) {
|
|
30
30
|
if (running) {
|
|
31
|
-
console.log("kill existing caddy")
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
console.log("kill existing caddy before restarting")
|
|
32
|
+
await new Promise((resolve, reject) => {
|
|
33
|
+
let interval = setInterval(() => {
|
|
34
|
+
if (this.kernel.processes.caddy_pid) {
|
|
35
|
+
console.log("kill caddy", this.kernel.processes.caddy_pid)
|
|
36
|
+
kill(this.kernel.processes.caddy_pid, "SIGKILL", true)
|
|
37
|
+
console.log("killed existing caddy")
|
|
38
|
+
resolve()
|
|
39
|
+
} else {
|
|
40
|
+
console.log("try killing existing caddy again in 1 sec")
|
|
41
|
+
}
|
|
42
|
+
}, 1000)
|
|
43
|
+
})
|
|
34
44
|
}
|
|
35
45
|
// let running = await this.running()
|
|
36
46
|
// console.log("Running", running)
|
package/kernel/index.js
CHANGED
package/kernel/kv.js
CHANGED
|
@@ -22,12 +22,10 @@ class KV {
|
|
|
22
22
|
async get(host, index) {
|
|
23
23
|
if (this.kernel.homedir) {
|
|
24
24
|
let filePath = this.kernel.path("key.json")
|
|
25
|
-
console.log({ host, index, filePath })
|
|
26
25
|
let json = await this.kernel.load(filePath)
|
|
27
26
|
if (!json) {
|
|
28
27
|
return null
|
|
29
28
|
}
|
|
30
|
-
console.log({ json })
|
|
31
29
|
if (json[host]) {
|
|
32
30
|
return json[host][index]
|
|
33
31
|
}
|
package/kernel/peer.js
CHANGED
|
@@ -23,10 +23,14 @@ class PeerDiscovery {
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
async check_peers () {
|
|
26
|
-
|
|
26
|
+
console.log(">>>>>>>>>>>> check peers")
|
|
27
|
+
let peer_array = Array.from(this.peers)
|
|
28
|
+
for(let host of peer_array) {
|
|
27
29
|
if (this.host !== host) {
|
|
28
30
|
let result = await this._refresh(host)
|
|
31
|
+
console.log("check peeers", { host, result })
|
|
29
32
|
if (!result) {
|
|
33
|
+
console.log("delete host", host)
|
|
30
34
|
this.peers.delete(host)
|
|
31
35
|
delete this.info[host]
|
|
32
36
|
}
|
|
@@ -136,7 +140,7 @@ class PeerDiscovery {
|
|
|
136
140
|
return res.data
|
|
137
141
|
}
|
|
138
142
|
} catch (e) {
|
|
139
|
-
console.log("_refresh error", { host , e })
|
|
143
|
+
// console.log("_refresh error", { host , e })
|
|
140
144
|
return null
|
|
141
145
|
}
|
|
142
146
|
}
|
|
@@ -144,16 +148,18 @@ class PeerDiscovery {
|
|
|
144
148
|
// notify all peers of the current host info
|
|
145
149
|
if (this.info) {
|
|
146
150
|
let info = this.info[this.host]
|
|
147
|
-
|
|
151
|
+
let peer_array = Array.from(this.peers)
|
|
152
|
+
for(let host of peer_array) {
|
|
148
153
|
if (this.host !== host) {
|
|
149
154
|
try {
|
|
150
155
|
let endpoint = `http://${host}:${this.default_port}/pinokio/peer/refresh`
|
|
151
156
|
let res = await axios.post(endpoint, info, {
|
|
152
157
|
timeout: 2000
|
|
153
158
|
})
|
|
154
|
-
return res.data
|
|
159
|
+
// return res.data
|
|
155
160
|
} catch (e) {
|
|
156
|
-
|
|
161
|
+
// console.log("ERROR", e)
|
|
162
|
+
// return null
|
|
157
163
|
}
|
|
158
164
|
}
|
|
159
165
|
}
|
|
@@ -172,7 +178,8 @@ class PeerDiscovery {
|
|
|
172
178
|
// notify peers to refresh my info
|
|
173
179
|
async notify_peers() {
|
|
174
180
|
if (this.active) {
|
|
175
|
-
let
|
|
181
|
+
let peer_array = Array.from(this.peers)
|
|
182
|
+
let res = await Promise.all(peer_array.map((host) => {
|
|
176
183
|
return this._broadcast(host)
|
|
177
184
|
}))
|
|
178
185
|
return res
|
package/kernel/router/index.js
CHANGED
|
@@ -30,7 +30,7 @@ class PeerStaticRouter extends Processor {
|
|
|
30
30
|
rewrite: /asset/api/test
|
|
31
31
|
match: test.x.localhost
|
|
32
32
|
*/
|
|
33
|
-
console.log("PEER STATIC ROUTER", rewrite_mapping)
|
|
33
|
+
// console.log("PEER STATIC ROUTER", rewrite_mapping)
|
|
34
34
|
let url = new URL("http://" + rewrite_mapping.external_ip)
|
|
35
35
|
let dial = url.host
|
|
36
36
|
let rewrite = url.pathname
|
package/kernel/util.js
CHANGED
|
@@ -838,19 +838,14 @@ const rewrite_localhost= (kernel, obj, source) => {
|
|
|
838
838
|
console.log({ port, hostname, host })
|
|
839
839
|
if (protocol === "https") {
|
|
840
840
|
let proxyDomain
|
|
841
|
-
console.log("current_host", kernel.peer.host)
|
|
842
|
-
console.log("router_info", kernel.peer.info[kernel.peer.host].router_info)
|
|
843
841
|
for(let item of kernel.peer.info[kernel.peer.host].router_info) {
|
|
844
|
-
console.log({ internal_port: item.internal_port, port })
|
|
845
842
|
if (String(item.internal_port) === String(port)) {
|
|
846
843
|
if (item.external_router && item.external_router.length > 0) {
|
|
847
|
-
console.log("Found", { item, port })
|
|
848
844
|
proxyDomain = item.external_router[0]
|
|
849
845
|
}
|
|
850
846
|
break;
|
|
851
847
|
}
|
|
852
848
|
}
|
|
853
|
-
console.log({ proxyDomain })
|
|
854
849
|
if (proxyDomain) {
|
|
855
850
|
u.host = proxyDomain
|
|
856
851
|
u.port = ""
|
|
@@ -860,9 +855,7 @@ const rewrite_localhost= (kernel, obj, source) => {
|
|
|
860
855
|
let proxyPort = kernel.peer.info[kernel.peer.host].port_mapping["" + port]
|
|
861
856
|
u.hostname = sourceIp;
|
|
862
857
|
u.port = proxyPort;
|
|
863
|
-
console.log({ url, port, proxyPort, sourceIp, proxyPort })
|
|
864
858
|
}
|
|
865
|
-
console.log("Fixed", u.toString())
|
|
866
859
|
return u.toString();
|
|
867
860
|
}
|
|
868
861
|
} catch (e) {
|
package/package.json
CHANGED
package/server/index.js
CHANGED
|
@@ -2282,8 +2282,6 @@ class Server {
|
|
|
2282
2282
|
processes
|
|
2283
2283
|
})
|
|
2284
2284
|
} catch (e) {
|
|
2285
|
-
console.log(">>e", e)
|
|
2286
|
-
console.log({ host, info: this.kernel.peer.info })
|
|
2287
2285
|
}
|
|
2288
2286
|
}
|
|
2289
2287
|
// console.log("Loaded yet?", nodes.length, Object.keys(peers_info).length, nodes.length === Object.keys(peers_info).length)
|
|
@@ -4201,8 +4199,6 @@ class Server {
|
|
|
4201
4199
|
}
|
|
4202
4200
|
} catch (e) {
|
|
4203
4201
|
}
|
|
4204
|
-
console.log("PEER INFO", JSON.stringify(this.kernel.peer.info[host], null, 2))
|
|
4205
|
-
|
|
4206
4202
|
let installed = this.kernel.peer.info[host].installed
|
|
4207
4203
|
let serverless_mapping = this.kernel.peer.info[host].rewrite_mapping
|
|
4208
4204
|
let serverless = Object.keys(serverless_mapping).map((name) => {
|
|
@@ -6252,7 +6248,6 @@ class Server {
|
|
|
6252
6248
|
this.app.get("/check_peer", ex((req, res) => {
|
|
6253
6249
|
if (this.kernel.peer.active) {
|
|
6254
6250
|
// if network is active, return success only if the router is up for all of its peers (including itself)
|
|
6255
|
-
console.log({ peer_info: this.kernel.peer.info })
|
|
6256
6251
|
let ready = true
|
|
6257
6252
|
if (this.kernel.peer.info && Object.keys(this.kernel.peer.info).length > 0) {
|
|
6258
6253
|
for(let host in this.kernel.peer.info) {
|
|
@@ -6267,7 +6262,6 @@ class Server {
|
|
|
6267
6262
|
} else {
|
|
6268
6263
|
ready = false;
|
|
6269
6264
|
}
|
|
6270
|
-
console.log({ info: this.kernel.peer.info, ready })
|
|
6271
6265
|
if (ready) {
|
|
6272
6266
|
res.json({ success: true })
|
|
6273
6267
|
} else {
|
|
@@ -69,7 +69,7 @@ function initUrlDropdown(config = {}) {
|
|
|
69
69
|
let u = new URL(val)
|
|
70
70
|
if (String(u.port) === "42000") {
|
|
71
71
|
// pinokio app => open the url itself
|
|
72
|
-
window.open(val, "_blank")
|
|
72
|
+
window.open(val, "_blank", 'self')
|
|
73
73
|
} else {
|
|
74
74
|
// other servers => open in pinokio redirect frame
|
|
75
75
|
let redirect_uri = "/container?url=" + val
|
|
@@ -347,7 +347,7 @@ function initUrlDropdown(config = {}) {
|
|
|
347
347
|
button.addEventListener('click', function(e) {
|
|
348
348
|
e.stopPropagation();
|
|
349
349
|
const networkUrl = this.getAttribute('data-network-url');
|
|
350
|
-
window.open(networkUrl, '_blank');
|
|
350
|
+
window.open(networkUrl, '_blank', 'self');
|
|
351
351
|
});
|
|
352
352
|
});
|
|
353
353
|
}
|
|
@@ -570,7 +570,7 @@ function initUrlDropdown(config = {}) {
|
|
|
570
570
|
button.addEventListener('click', function(e) {
|
|
571
571
|
e.stopPropagation();
|
|
572
572
|
const networkUrl = this.getAttribute('data-network-url');
|
|
573
|
-
window.open(networkUrl, '_blank');
|
|
573
|
+
window.open(networkUrl, '_blank', 'self');
|
|
574
574
|
});
|
|
575
575
|
});
|
|
576
576
|
}
|