pinokiod 1.3.50 → 1.3.51
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/package.json +1 -1
- package/server/views/index.ejs +111 -100
package/package.json
CHANGED
package/server/views/index.ejs
CHANGED
|
@@ -221,53 +221,56 @@ body.dark .browser-options-row {
|
|
|
221
221
|
<div id='terminal' class='hidden'></div>
|
|
222
222
|
<div class='container'>
|
|
223
223
|
<% if (ishome) { %>
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
<div class='
|
|
229
|
-
<
|
|
230
|
-
<div
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
<div class='browser-options-row'>
|
|
235
|
-
<% if (proxy) { %>
|
|
236
|
-
<a id='wifi-stop' data-proxy="<%=proxy.proxy%>" class='btn'><div><i class="fa-solid fa-stop"></i> Stop</div></a>
|
|
237
|
-
<div class='flexible'>
|
|
238
|
-
<h3><i class="fa-solid fa-wifi"></i> Local Share</h3>
|
|
239
|
-
<div>Access Pinokio from any device on the same network. By default it's off.</div>
|
|
240
|
-
<span class='badge'><i class="fa-solid fa-circle-notch fa-spin"></i> Running at <a href="<%=proxy.proxy%>" target="_blank" features="browser"><%=proxy.proxy%></a></span>
|
|
241
|
-
<a id='wifi-qr' class='badge'><i class="fa-solid fa-qrcode"></i> Scan QR Code</a>
|
|
242
|
-
</div>
|
|
243
|
-
<% } else { %>
|
|
244
|
-
<a id='wifi' class='btn'><div><i class="fa-solid fa-play"></i> Start</div></a>
|
|
245
|
-
<a id='wifi-starting' class='btn disabled hidden'><div><i class="fa-solid fa-circle-notch fa-spin"></i> Starting</div></a>
|
|
246
|
-
<div class='flexible'>
|
|
247
|
-
<h3><i class="fa-solid fa-wifi"></i> Local Share</h3>
|
|
248
|
-
<div>Access Pinokio from any device on the same network. By default it's off.</div>
|
|
249
|
-
</div>
|
|
250
|
-
<% } %>
|
|
251
|
-
</div>
|
|
252
|
-
<div class='browser-options-row hidden'>
|
|
253
|
-
<% if (cloudflare_pub) { %>
|
|
254
|
-
<a id='cloudflare-stop' class='btn'><div><i class="fa-solid fa-stop"></i> Stop</div></a>
|
|
255
|
-
<div class='flexible'>
|
|
256
|
-
<h3>Public Share</h3>
|
|
257
|
-
<div>Open up your Pinokio server to the open internet (anyone with the URL can access)</div>
|
|
258
|
-
<span class='badge'><i class="fa-solid fa-circle-notch fa-spin"></i> Running at <a href="<%=cloudflare_pub%>" target="_blank" features="browser"><%=cloudflare_pub%></a></span>
|
|
259
|
-
<a id='cloudflare-qr' class='badge'><i class="fa-solid fa-qrcode"></i> Scan QR Code</a>
|
|
260
|
-
</div>
|
|
261
|
-
<% } else { %>
|
|
262
|
-
<a id='cloudflare' class='btn'><div><i class="fa-solid fa-play"></i> Start</div></a>
|
|
263
|
-
<a id='cloudflare-starting' class='btn disabled hidden'><div><i class="fa-solid fa-circle-notch fa-spin"></i> Starting</div></a>
|
|
264
|
-
<div class='flexible'>
|
|
265
|
-
<h3>Public Share</h3>
|
|
266
|
-
<div>Open up your Pinokio server to the open internet (anyone with the URL can access)</div>
|
|
224
|
+
<% if (running.length === 0 && notRunning.length === 0) { %>
|
|
225
|
+
<% } else { %>
|
|
226
|
+
<div class='browser-options'>
|
|
227
|
+
<% if (agent === "electron") { %>
|
|
228
|
+
<div class='browser-options-row'>
|
|
229
|
+
<a href="/" target="_blank" class='btn' features="browser"><div><i class="fa-solid fa-square-up-right"></i> Open</div></a>
|
|
230
|
+
<div class='flexible'>
|
|
231
|
+
<h3><i class="fa-solid fa-bolt"></i> Instant Launch</h3>
|
|
232
|
+
<div>(Experimental) Directly open pinokio apps from your favorite browser address bar at http://localhost:42000. If an app you're trying to use is already running, it will instantly load. If it's not, the app will first launch and then load the website.</div>
|
|
233
|
+
</div>
|
|
267
234
|
</div>
|
|
268
235
|
<% } %>
|
|
236
|
+
<div class='browser-options-row'>
|
|
237
|
+
<% if (proxy) { %>
|
|
238
|
+
<a id='wifi-stop' data-proxy="<%=proxy.proxy%>" class='btn'><div><i class="fa-solid fa-stop"></i> Stop</div></a>
|
|
239
|
+
<div class='flexible'>
|
|
240
|
+
<h3><i class="fa-solid fa-wifi"></i> Local Share</h3>
|
|
241
|
+
<div>Access Pinokio from any device on the same network. By default it's off.</div>
|
|
242
|
+
<span class='badge'><i class="fa-solid fa-circle-notch fa-spin"></i> Running at <a href="<%=proxy.proxy%>" target="_blank" features="browser"><%=proxy.proxy%></a></span>
|
|
243
|
+
<a id='wifi-qr' class='badge'><i class="fa-solid fa-qrcode"></i> Scan QR Code</a>
|
|
244
|
+
</div>
|
|
245
|
+
<% } else { %>
|
|
246
|
+
<a id='wifi' class='btn'><div><i class="fa-solid fa-play"></i> Start</div></a>
|
|
247
|
+
<a id='wifi-starting' class='btn disabled hidden'><div><i class="fa-solid fa-circle-notch fa-spin"></i> Starting</div></a>
|
|
248
|
+
<div class='flexible'>
|
|
249
|
+
<h3><i class="fa-solid fa-wifi"></i> Local Share</h3>
|
|
250
|
+
<div>Access Pinokio from any device on the same network. By default it's off.</div>
|
|
251
|
+
</div>
|
|
252
|
+
<% } %>
|
|
253
|
+
</div>
|
|
254
|
+
<div class='browser-options-row hidden'>
|
|
255
|
+
<% if (cloudflare_pub) { %>
|
|
256
|
+
<a id='cloudflare-stop' class='btn'><div><i class="fa-solid fa-stop"></i> Stop</div></a>
|
|
257
|
+
<div class='flexible'>
|
|
258
|
+
<h3>Public Share</h3>
|
|
259
|
+
<div>Open up your Pinokio server to the open internet (anyone with the URL can access)</div>
|
|
260
|
+
<span class='badge'><i class="fa-solid fa-circle-notch fa-spin"></i> Running at <a href="<%=cloudflare_pub%>" target="_blank" features="browser"><%=cloudflare_pub%></a></span>
|
|
261
|
+
<a id='cloudflare-qr' class='badge'><i class="fa-solid fa-qrcode"></i> Scan QR Code</a>
|
|
262
|
+
</div>
|
|
263
|
+
<% } else { %>
|
|
264
|
+
<a id='cloudflare' class='btn'><div><i class="fa-solid fa-play"></i> Start</div></a>
|
|
265
|
+
<a id='cloudflare-starting' class='btn disabled hidden'><div><i class="fa-solid fa-circle-notch fa-spin"></i> Starting</div></a>
|
|
266
|
+
<div class='flexible'>
|
|
267
|
+
<h3>Public Share</h3>
|
|
268
|
+
<div>Open up your Pinokio server to the open internet (anyone with the URL can access)</div>
|
|
269
|
+
</div>
|
|
270
|
+
<% } %>
|
|
271
|
+
</div>
|
|
269
272
|
</div>
|
|
270
|
-
|
|
273
|
+
<% } %>
|
|
271
274
|
<% if (running.length > 0) { %>
|
|
272
275
|
<div class='running-apps'>
|
|
273
276
|
<div class='header-label'>Running</div>
|
|
@@ -812,70 +815,78 @@ document.addEventListener("click", (e) => {
|
|
|
812
815
|
|
|
813
816
|
})
|
|
814
817
|
<% if (proxy) { %>
|
|
815
|
-
document.querySelector("#wifi-qr")
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
818
|
+
if (document.querySelector("#wifi-qr")) {
|
|
819
|
+
document.querySelector("#wifi-qr").addEventListener("click", async (e) => {
|
|
820
|
+
await Swal.fire({
|
|
821
|
+
title: "Local Share",
|
|
822
|
+
customClass: {
|
|
823
|
+
popup: "min-popup",
|
|
824
|
+
title: "min-title"
|
|
825
|
+
},
|
|
826
|
+
showConfirmButton: false,
|
|
827
|
+
html: `<div class='min-modal'>
|
|
828
|
+
<div>Access Pinokio from</div>
|
|
829
|
+
<div>any local network device</div>
|
|
830
|
+
<div><img src="<%=qr%>"></div>
|
|
831
|
+
<a href="<%=proxy.proxy%>" target="_blank"><%=proxy.proxy%></a>
|
|
832
|
+
</div>`
|
|
833
|
+
})
|
|
829
834
|
})
|
|
830
|
-
}
|
|
831
|
-
document.querySelector("#wifi-stop")
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
835
|
+
}
|
|
836
|
+
if (document.querySelector("#wifi-stop")) {
|
|
837
|
+
document.querySelector("#wifi-stop").addEventListener("click", async (e) => {
|
|
838
|
+
let res = await fetch("/unpublish", {
|
|
839
|
+
method: "post",
|
|
840
|
+
headers: {
|
|
841
|
+
"Content-Type": "application/json"
|
|
842
|
+
},
|
|
843
|
+
body: JSON.stringify({
|
|
844
|
+
type: "local"
|
|
845
|
+
})
|
|
846
|
+
}).then((res) => {
|
|
847
|
+
return res.json()
|
|
839
848
|
})
|
|
840
|
-
|
|
841
|
-
|
|
849
|
+
console.log(res)
|
|
850
|
+
location.href = location.href
|
|
842
851
|
})
|
|
843
|
-
|
|
844
|
-
location.href = location.href
|
|
845
|
-
})
|
|
852
|
+
}
|
|
846
853
|
<% } %>
|
|
847
854
|
<% if (cloudflare_pub) { %>
|
|
848
|
-
document.querySelector("#cloudflare-qr")
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
855
|
+
if (document.querySelector("#cloudflare-qr")) {
|
|
856
|
+
document.querySelector("#cloudflare-qr").addEventListener("click", async (e) => {
|
|
857
|
+
await Swal.fire({
|
|
858
|
+
title: "Public Share",
|
|
859
|
+
customClass: {
|
|
860
|
+
popup: "min-popup",
|
|
861
|
+
title: "min-title"
|
|
862
|
+
},
|
|
863
|
+
showConfirmButton: false,
|
|
864
|
+
html: `<div class='min-modal'>
|
|
865
|
+
<div>Access Pinokio from anywhere</div>
|
|
866
|
+
<div>(powered by cloudflare tunnel)</div>
|
|
867
|
+
<div><img src="<%=qr_cloudflare%>"></div>
|
|
868
|
+
<a href="<%=cloudflare_pub%>" target="_blank"><%=cloudflare_pub%></a>
|
|
869
|
+
</div>`
|
|
870
|
+
})
|
|
862
871
|
})
|
|
863
|
-
}
|
|
864
|
-
document.querySelector("#cloudflare-stop")
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
+
}
|
|
873
|
+
if (document.querySelector("#cloudflare-stop")) {
|
|
874
|
+
document.querySelector("#cloudflare-stop").addEventListener("click", async (e) => {
|
|
875
|
+
let res = await fetch("/unpublish", {
|
|
876
|
+
method: "post",
|
|
877
|
+
headers: {
|
|
878
|
+
"Content-Type": "application/json"
|
|
879
|
+
},
|
|
880
|
+
body: JSON.stringify({
|
|
881
|
+
type: "cloudflare"
|
|
882
|
+
})
|
|
883
|
+
}).then((res) => {
|
|
884
|
+
return res.json()
|
|
872
885
|
})
|
|
873
|
-
|
|
874
|
-
|
|
886
|
+
console.log(res)
|
|
887
|
+
location.href = location.href
|
|
875
888
|
})
|
|
876
|
-
|
|
877
|
-
location.href = location.href
|
|
878
|
-
})
|
|
889
|
+
}
|
|
879
890
|
<% } %>
|
|
880
891
|
if (document.querySelector("#wifi")) {
|
|
881
892
|
document.querySelector("#wifi").addEventListener("click", async (e) => {
|