pinokiod 3.41.0 → 3.43.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/api/browser/index.js +3 -1
- package/kernel/api/cloudflare/index.js +3 -3
- package/kernel/api/index.js +187 -51
- package/kernel/api/loading/index.js +15 -0
- package/kernel/api/process/index.js +7 -0
- package/kernel/api/shell/index.js +0 -2
- package/kernel/bin/browserless.js +22 -0
- package/kernel/bin/caddy.js +36 -4
- package/kernel/bin/index.js +4 -1
- package/kernel/bin/setup.js +38 -5
- package/kernel/connect/backend.js +110 -0
- package/kernel/connect/config.js +171 -0
- package/kernel/connect/index.js +18 -7
- package/kernel/connect/providers/huggingface/index.js +98 -0
- package/kernel/connect/providers/x/index.js +0 -1
- package/kernel/environment.js +91 -19
- package/kernel/git.js +46 -3
- package/kernel/index.js +119 -39
- package/kernel/peer.js +40 -5
- package/kernel/plugin.js +3 -2
- package/kernel/procs.js +27 -20
- package/kernel/prototype.js +30 -16
- package/kernel/router/common.js +1 -1
- package/kernel/router/connector.js +1 -3
- package/kernel/router/index.js +38 -4
- package/kernel/router/localhost_home_router.js +5 -1
- package/kernel/router/localhost_port_router.js +27 -1
- package/kernel/router/localhost_static_router.js +93 -0
- package/kernel/router/localhost_variable_router.js +14 -9
- package/kernel/router/peer_peer_router.js +3 -0
- package/kernel/router/peer_static_router.js +43 -0
- package/kernel/router/peer_variable_router.js +15 -14
- package/kernel/router/processor.js +26 -1
- package/kernel/router/rewriter.js +59 -0
- package/kernel/scripts/git/commit +11 -1
- package/kernel/shell.js +8 -3
- package/kernel/util.js +65 -6
- package/package.json +2 -1
- package/server/index.js +1037 -964
- package/server/public/common.js +382 -1
- package/server/public/fscreator.js +0 -1
- package/server/public/loading.js +17 -0
- package/server/public/notifyinput.js +0 -1
- package/server/public/opener.js +4 -2
- package/server/public/style.css +311 -11
- package/server/socket.js +7 -1
- package/server/views/app.ejs +1747 -351
- package/server/views/columns.ejs +338 -0
- package/server/views/connect/huggingface.ejs +353 -0
- package/server/views/connect/index.ejs +410 -0
- package/server/views/connect/x.ejs +43 -9
- package/server/views/connect.ejs +709 -49
- package/server/views/container.ejs +357 -0
- package/server/views/d.ejs +251 -62
- package/server/views/download.ejs +54 -10
- package/server/views/editor.ejs +11 -0
- package/server/views/explore.ejs +40 -15
- package/server/views/file_explorer.ejs +25 -246
- package/server/views/form.ejs +44 -1
- package/server/views/frame.ejs +39 -1
- package/server/views/github.ejs +48 -11
- package/server/views/help.ejs +48 -7
- package/server/views/index.ejs +119 -58
- package/server/views/index2.ejs +3 -4
- package/server/views/init/index.ejs +651 -197
- package/server/views/install.ejs +1 -1
- package/server/views/mini.ejs +47 -18
- package/server/views/net.ejs +199 -67
- package/server/views/network.ejs +220 -94
- package/server/views/network2.ejs +3 -4
- package/server/views/old_network.ejs +3 -3
- package/server/views/prototype/index.ejs +48 -11
- package/server/views/review.ejs +1005 -0
- package/server/views/rows.ejs +341 -0
- package/server/views/screenshots.ejs +1020 -0
- package/server/views/settings.ejs +160 -23
- package/server/views/setup.ejs +49 -7
- package/server/views/setup_home.ejs +43 -10
- package/server/views/shell.ejs +7 -1
- package/server/views/start.ejs +14 -9
- package/server/views/terminal.ejs +13 -2
- package/server/views/tools.ejs +1015 -0
package/server/views/network.ejs
CHANGED
|
@@ -156,10 +156,7 @@ a.ln:hover {
|
|
|
156
156
|
color: red !important;
|
|
157
157
|
}
|
|
158
158
|
.line.align-top h3 {
|
|
159
|
-
/*
|
|
160
159
|
align-items: flex-start;
|
|
161
|
-
*/
|
|
162
|
-
align-items: center;
|
|
163
160
|
}
|
|
164
161
|
.line a:hover {
|
|
165
162
|
color: red;
|
|
@@ -177,7 +174,6 @@ a.ln:hover {
|
|
|
177
174
|
.header-label {
|
|
178
175
|
padding: 0;
|
|
179
176
|
font-size: 30px;
|
|
180
|
-
font-weight: lighter;
|
|
181
177
|
/*
|
|
182
178
|
text-align: center;
|
|
183
179
|
*/
|
|
@@ -243,7 +239,7 @@ a.ln:hover {
|
|
|
243
239
|
margin-right: 10px;
|
|
244
240
|
padding-top: 5px;
|
|
245
241
|
padding-bottom: 0 !important;
|
|
246
|
-
text-decoration:
|
|
242
|
+
text-decoration: none;
|
|
247
243
|
color: royalblue;
|
|
248
244
|
cursor: pointer;
|
|
249
245
|
}
|
|
@@ -285,16 +281,11 @@ td:first-child, th:first-child {
|
|
|
285
281
|
|
|
286
282
|
body.dark .config {
|
|
287
283
|
color: white;
|
|
288
|
-
background: rgba(255,255,255,0.04);
|
|
289
284
|
}
|
|
290
285
|
.config {
|
|
291
|
-
/*
|
|
292
|
-
background: rgba(0,0,0,0.9);
|
|
293
|
-
*/
|
|
294
286
|
color: black;
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
background: rgba(0,0,0,0.04);
|
|
287
|
+
padding: 30px;
|
|
288
|
+
margin: 10px 0;
|
|
298
289
|
}
|
|
299
290
|
.config-header {
|
|
300
291
|
}
|
|
@@ -309,6 +300,8 @@ body.dark .config .btn {
|
|
|
309
300
|
font-size: 16px;
|
|
310
301
|
font-weight: bold;
|
|
311
302
|
width: 100px;
|
|
303
|
+
/*
|
|
304
|
+
*/
|
|
312
305
|
background: royalblue;
|
|
313
306
|
flex-shrink: 0;
|
|
314
307
|
}
|
|
@@ -325,7 +318,9 @@ body.dark .config-row input[type=text] {
|
|
|
325
318
|
background: white;
|
|
326
319
|
}
|
|
327
320
|
.config-row input[type=text] {
|
|
328
|
-
padding: 5px
|
|
321
|
+
padding: 5px 15px;
|
|
322
|
+
border-top-left-radius: 30px;
|
|
323
|
+
border-bottom-left-radius: 30px;
|
|
329
324
|
}
|
|
330
325
|
.app-btns .btn {
|
|
331
326
|
border-radius: 4px;
|
|
@@ -363,9 +358,11 @@ body.dark .config-row input[type=text] {
|
|
|
363
358
|
background-color: #ccc;
|
|
364
359
|
-webkit-transition: .4s;
|
|
365
360
|
transition: .4s;
|
|
361
|
+
border-radius: 50px;
|
|
366
362
|
}
|
|
367
363
|
|
|
368
364
|
.slider:before {
|
|
365
|
+
border-radius: 50px;
|
|
369
366
|
position: absolute;
|
|
370
367
|
content: "";
|
|
371
368
|
height: 30px;
|
|
@@ -380,6 +377,7 @@ body.dark .config-row input[type=text] {
|
|
|
380
377
|
input:checked + .slider {
|
|
381
378
|
/*
|
|
382
379
|
background-color: #2196F3;
|
|
380
|
+
background: black;
|
|
383
381
|
*/
|
|
384
382
|
background-color: royalblue;
|
|
385
383
|
}
|
|
@@ -453,14 +451,6 @@ body.dark .desc {
|
|
|
453
451
|
background: none !important;
|
|
454
452
|
padding: 0 !important;
|
|
455
453
|
}
|
|
456
|
-
.grid-1, .grid-2, .grid-3 {
|
|
457
|
-
background: rgba(0,0,0,0.04);
|
|
458
|
-
margin-top: 5px;
|
|
459
|
-
}
|
|
460
|
-
body.dark .grid-1, body.dark .grid-2, body.dark .grid-3 {
|
|
461
|
-
background: rgba(255,255,255,0.03);
|
|
462
|
-
margin-top: 5px;
|
|
463
|
-
}
|
|
464
454
|
main {
|
|
465
455
|
display: flex;
|
|
466
456
|
}
|
|
@@ -468,7 +458,6 @@ aside {
|
|
|
468
458
|
width: 200px;
|
|
469
459
|
display: block;
|
|
470
460
|
flex-shrink: 0;
|
|
471
|
-
border-right: 1px solid rgba(0,0,0,0.04);
|
|
472
461
|
}
|
|
473
462
|
aside .tab i {
|
|
474
463
|
width: 20px;
|
|
@@ -482,7 +471,9 @@ body.dark aside .tab:hover, aside .tab:hover {
|
|
|
482
471
|
opacity: 1;
|
|
483
472
|
}
|
|
484
473
|
aside .tab {
|
|
485
|
-
display:
|
|
474
|
+
display: flex;
|
|
475
|
+
align-items: center;
|
|
476
|
+
gap: 5px;
|
|
486
477
|
color: black;
|
|
487
478
|
text-decoration: none;
|
|
488
479
|
padding: 10px;
|
|
@@ -687,6 +678,7 @@ body.dark .context-menu-wrapper {
|
|
|
687
678
|
flex-shrink: 0;
|
|
688
679
|
}
|
|
689
680
|
body.dark .section-header {
|
|
681
|
+
background: rgba(255,255,255,0.04);
|
|
690
682
|
/*
|
|
691
683
|
border-bottom: 1px solid rgba(255,255,255,0.07);
|
|
692
684
|
*/
|
|
@@ -697,17 +689,18 @@ body.dark .section-header {
|
|
|
697
689
|
*/
|
|
698
690
|
font-weight: normal;
|
|
699
691
|
font-size: 14px;
|
|
700
|
-
padding:
|
|
692
|
+
padding: 30px 5px;
|
|
701
693
|
/*
|
|
702
694
|
margin: 0 0 15px;
|
|
703
695
|
*/
|
|
696
|
+
background: rgba(0,0,0,0.04);
|
|
704
697
|
}
|
|
705
698
|
.section-header h2 {
|
|
706
699
|
font-size: 20px;
|
|
707
700
|
font-weight: lighter;
|
|
708
701
|
}
|
|
709
702
|
.section-header .section {
|
|
710
|
-
|
|
703
|
+
box-sizing: border-box;
|
|
711
704
|
}
|
|
712
705
|
.section-header .section div {
|
|
713
706
|
font-weight: normal;
|
|
@@ -724,6 +717,9 @@ body.dark .section-header {
|
|
|
724
717
|
min-width: 0;
|
|
725
718
|
word-wrap: break-word;
|
|
726
719
|
}
|
|
720
|
+
body.dark .btn {
|
|
721
|
+
background: rgba(255,255,255,0.05);
|
|
722
|
+
}
|
|
727
723
|
/*
|
|
728
724
|
body.dark .btn {
|
|
729
725
|
background: rgba(255,255,255,0.05) !important;
|
|
@@ -780,15 +776,20 @@ body.dark .open-menu, body.dark .browse {
|
|
|
780
776
|
}
|
|
781
777
|
.section {
|
|
782
778
|
display: block;
|
|
779
|
+
min-width: 0;
|
|
783
780
|
}
|
|
784
|
-
.
|
|
785
|
-
|
|
781
|
+
.line {
|
|
782
|
+
padding: 10px;
|
|
786
783
|
}
|
|
787
784
|
.line.align-top h3 .col .btn {
|
|
788
785
|
box-sizing: border-box;
|
|
789
786
|
margin-top: 5px;
|
|
790
787
|
width: 100%;
|
|
791
788
|
}
|
|
789
|
+
.c {
|
|
790
|
+
flex-grow: 1;
|
|
791
|
+
min-width: 0;
|
|
792
|
+
}
|
|
792
793
|
.desc {
|
|
793
794
|
font-size: 14px;
|
|
794
795
|
color: rgba(0, 0, 0, 0.7);
|
|
@@ -806,22 +807,31 @@ body.dark .open-menu, body.dark .browse {
|
|
|
806
807
|
display: grid;
|
|
807
808
|
grid-template-columns: repeat(3, 1fr); /* Three equal columns */
|
|
808
809
|
gap: 1rem; /* Optional spacing between columns */
|
|
809
|
-
padding:
|
|
810
|
+
padding: 5px 0;
|
|
810
811
|
}
|
|
811
812
|
.section-header .grid-1, .section-header .grid-2, .section-header .grid-3 {
|
|
812
813
|
background: none !important;
|
|
813
814
|
padding: 0 !important;
|
|
814
815
|
}
|
|
815
|
-
.
|
|
816
|
-
|
|
817
|
-
|
|
816
|
+
.section-header .section {
|
|
817
|
+
text-align: center;
|
|
818
|
+
padding: 0 10px;
|
|
818
819
|
}
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
820
|
+
.section-header .section h2 {
|
|
821
|
+
margin: 0;
|
|
822
|
+
font-weight: bold;
|
|
823
|
+
text-align: center;
|
|
824
|
+
}
|
|
825
|
+
.section-header .section h2 i {
|
|
826
|
+
font-size: 30px;
|
|
827
|
+
width: 100%;
|
|
828
|
+
display: block;
|
|
829
|
+
text-align: center;
|
|
830
|
+
padding: 10px;
|
|
822
831
|
}
|
|
823
832
|
main {
|
|
824
833
|
display: flex;
|
|
834
|
+
min-width: 0;
|
|
825
835
|
}
|
|
826
836
|
.help {
|
|
827
837
|
padding:30px;
|
|
@@ -832,7 +842,6 @@ aside {
|
|
|
832
842
|
width: 200px;
|
|
833
843
|
display: block;
|
|
834
844
|
flex-shrink: 0;
|
|
835
|
-
border-right: 1px solid rgba(0,0,0,0.04);
|
|
836
845
|
}
|
|
837
846
|
aside .tab i {
|
|
838
847
|
width: 20px;
|
|
@@ -846,7 +855,9 @@ body.dark aside .tab:hover, aside .tab:hover {
|
|
|
846
855
|
opacity: 1;
|
|
847
856
|
}
|
|
848
857
|
aside .tab {
|
|
849
|
-
display:
|
|
858
|
+
display: flex;
|
|
859
|
+
align-items: center;
|
|
860
|
+
gap: 5px;
|
|
850
861
|
color: black;
|
|
851
862
|
text-decoration: none;
|
|
852
863
|
padding: 10px;
|
|
@@ -906,14 +917,28 @@ body.dark .net {
|
|
|
906
917
|
justify-content: center;
|
|
907
918
|
align-items: center;
|
|
908
919
|
}
|
|
920
|
+
body.dark .troubleshoot {
|
|
921
|
+
color: rgba(255,255,255,0.5);
|
|
922
|
+
}
|
|
923
|
+
.troubleshoot {
|
|
924
|
+
color: rgba(0,0,0,0.5);
|
|
925
|
+
}
|
|
926
|
+
.network-name.expanded .btn {
|
|
927
|
+
border-top-right-radius: 30px;
|
|
928
|
+
border-bottom-right-radius: 30px;
|
|
929
|
+
border-top-left-radius: 0px;
|
|
930
|
+
border-bottom-left-radius: 0px;
|
|
931
|
+
}
|
|
909
932
|
.network-name {
|
|
910
933
|
display: flex;
|
|
911
934
|
}
|
|
912
935
|
.network-name .btn {
|
|
913
|
-
border-radius:
|
|
936
|
+
border-top-left-radius: 30px;
|
|
937
|
+
border-bottom-left-radius: 30px;
|
|
938
|
+
border-top-right-radius: 30px;
|
|
939
|
+
border-bottom-right-radius: 30px;
|
|
914
940
|
}
|
|
915
941
|
.network-name input[type=text] {
|
|
916
|
-
border-radius: 0;
|
|
917
942
|
border: none;
|
|
918
943
|
background: rgba(0,0,0,0.1);
|
|
919
944
|
}
|
|
@@ -928,6 +953,46 @@ body.dark .net {
|
|
|
928
953
|
color: silver !important;
|
|
929
954
|
}
|
|
930
955
|
|
|
956
|
+
@media only screen and (max-width: 800px) {
|
|
957
|
+
body {
|
|
958
|
+
display: flex !important;
|
|
959
|
+
flex-direction: row !important;
|
|
960
|
+
}
|
|
961
|
+
}
|
|
962
|
+
@media only screen and (max-width: 600px) {
|
|
963
|
+
aside {
|
|
964
|
+
width: unset;
|
|
965
|
+
flex-shrink: unset;
|
|
966
|
+
}
|
|
967
|
+
aside {
|
|
968
|
+
padding: 0 10px;
|
|
969
|
+
}
|
|
970
|
+
aside .tab i {
|
|
971
|
+
width: 100%;
|
|
972
|
+
}
|
|
973
|
+
aside .tab .caption {
|
|
974
|
+
display: none;
|
|
975
|
+
}
|
|
976
|
+
aside .tab {
|
|
977
|
+
margin: 0;
|
|
978
|
+
padding: 10px;
|
|
979
|
+
border-left: none;
|
|
980
|
+
}
|
|
981
|
+
aside .btn-tab {
|
|
982
|
+
flex-direction: column;
|
|
983
|
+
padding: 10px 0;
|
|
984
|
+
}
|
|
985
|
+
aside .btn-tab .btn {
|
|
986
|
+
display: flex;
|
|
987
|
+
justify-content: center;
|
|
988
|
+
}
|
|
989
|
+
aside .btn-tab .btn .caption {
|
|
990
|
+
display: none;
|
|
991
|
+
}
|
|
992
|
+
header .flexible {
|
|
993
|
+
min-width: unset;
|
|
994
|
+
}
|
|
995
|
+
}
|
|
931
996
|
|
|
932
997
|
@media only screen and (max-width: 480px) {
|
|
933
998
|
.btn2 {
|
|
@@ -941,6 +1006,8 @@ body.dark .net {
|
|
|
941
1006
|
}
|
|
942
1007
|
}
|
|
943
1008
|
</style>
|
|
1009
|
+
<script src="/popper.min.js"></script>
|
|
1010
|
+
<script src="/tippy-bundle.umd.min.js"></script>
|
|
944
1011
|
<script src="/hotkeys.min.js"></script>
|
|
945
1012
|
<script src="/sweetalert2.js"></script>
|
|
946
1013
|
<script src="/common.js"></script>
|
|
@@ -951,26 +1018,49 @@ body.dark .net {
|
|
|
951
1018
|
<header class='navheader grabbable'>
|
|
952
1019
|
<h1>
|
|
953
1020
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
|
954
|
-
<button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div
|
|
955
|
-
<button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div
|
|
956
|
-
<button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div
|
|
957
|
-
<
|
|
958
|
-
<% if (current_urls.https) { %>
|
|
959
|
-
<a class='https-url' target="_blank" href="<%=current_urls.https%>"><i class="fa-solid fa-square-arrow-up-right"></i> <%=current_urls.https%></a>
|
|
960
|
-
<% } %>
|
|
961
|
-
<% if (current_urls.http) { %>
|
|
962
|
-
<a class='http-url' target="_blank" href="<%=current_urls.http%>"><i class="fa-solid fa-square-arrow-up-right"></i> <%=current_urls.http%></a>
|
|
963
|
-
<% } %>
|
|
964
|
-
</div>
|
|
1021
|
+
<button class='btn2' id='back' data-tippy-content="back"><div><i class="fa-solid fa-chevron-left"></i></div></button>
|
|
1022
|
+
<button class='btn2' id='forward' data-tippy-content="forward"><div><i class="fa-solid fa-chevron-right"></i></div></button>
|
|
1023
|
+
<button class='btn2' id='refresh-page' data-tippy-content="refresh"><div><i class="fa-solid fa-rotate-right"></i></div></button>
|
|
1024
|
+
<button class='btn2' id='screenshot' data-tippy-content="take a screenshot"><i class="fa-solid fa-camera"></i></button>
|
|
965
1025
|
<div class='flexible'></div>
|
|
966
|
-
<a
|
|
967
|
-
<div class=
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
<
|
|
971
|
-
|
|
972
|
-
|
|
1026
|
+
<a class='btn2' href="/columns" data-tippy-content="split into 2 columns">
|
|
1027
|
+
<div><i class="fa-solid fa-table-columns"></i></div>
|
|
1028
|
+
</a>
|
|
1029
|
+
<a class='btn2' href="/rows" data-tippy-content="split into 2 rows">
|
|
1030
|
+
<div><i class="fa-solid fa-table-columns fa-rotate-270"></i></div>
|
|
1031
|
+
</a>
|
|
1032
|
+
<div class="dropdown-content" id="dropdown-content">
|
|
1033
|
+
<button class='btn2' id='clone-win' data-tippy-content="clone this window">
|
|
1034
|
+
<div><i class="fa-solid fa-clone"></i><div>clone this window</div></div>
|
|
1035
|
+
</button>
|
|
1036
|
+
<button id='new-window' data-tippy-content="open a new window" title='open a new window' class='btn2' data-agent="<%=agent%>">
|
|
1037
|
+
<div><i class="fa-solid fa-plus"></i><div>new window</div></div>
|
|
1038
|
+
</button>
|
|
973
1039
|
</div>
|
|
1040
|
+
<!--
|
|
1041
|
+
<div class="dropdown btn2">
|
|
1042
|
+
<button class='btn2' id='window-management'>
|
|
1043
|
+
<div><i class="fa-regular fa-window-restore"></i></div>
|
|
1044
|
+
</button>
|
|
1045
|
+
<div class="dropdown-content" id="dropdown-content">
|
|
1046
|
+
<button class='btn2' id='clone-win' data-tippy-content="clone this window">
|
|
1047
|
+
<div><i class="fa-solid fa-clone"></i><div>clone this window</div></div>
|
|
1048
|
+
</button>
|
|
1049
|
+
<a class='btn2' href="/columns" data-tippy-content="split into 2 columns">
|
|
1050
|
+
<div><i class="fa-solid fa-table-columns"></i><div>split columns</div></div>
|
|
1051
|
+
</a>
|
|
1052
|
+
<a class='btn2' href="/rows" data-tippy-content="split into 2 rows">
|
|
1053
|
+
<div><i class="fa-solid fa-table-columns fa-rotate-270"></i><div>split rows</div></div>
|
|
1054
|
+
</a>
|
|
1055
|
+
<button id='new-window' data-tippy-content="open a new window" title='open a new window' class='btn2' data-agent="<%=agent%>">
|
|
1056
|
+
<div><i class="fa-solid fa-plus"></i><div>new window</div></div>
|
|
1057
|
+
</button>
|
|
1058
|
+
</div>
|
|
1059
|
+
</div>
|
|
1060
|
+
-->
|
|
1061
|
+
<button class='btn2 hidden' id='close-window' data-tippy-content='close this section'>
|
|
1062
|
+
<div><i class="fa-solid fa-xmark"></i></div>
|
|
1063
|
+
</button>
|
|
974
1064
|
</h1>
|
|
975
1065
|
</header>
|
|
976
1066
|
<!--
|
|
@@ -983,23 +1073,6 @@ body.dark .net {
|
|
|
983
1073
|
</form>
|
|
984
1074
|
-->
|
|
985
1075
|
<main>
|
|
986
|
-
<aside>
|
|
987
|
-
<div class='btn-tab'>
|
|
988
|
-
<a href="/init" class='btn'><i class="fa-solid fa-plus"></i> Create</a>
|
|
989
|
-
<a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i> Discover</a>
|
|
990
|
-
</div>
|
|
991
|
-
<a href="/" class='tab'><i class='fas fa-laptop-code'></i> Local</a>
|
|
992
|
-
<a href="/network" class='tab selected'><i class="fa-solid fa-wifi"></i> Network</a>
|
|
993
|
-
<% if (list.length > 0) { %>
|
|
994
|
-
<% let brands = { win32: "windows", darwin: "apple", linux: "Linux" } %>
|
|
995
|
-
<% list.forEach(({ host, name, platform, processes }, index) => { %>
|
|
996
|
-
<!--
|
|
997
|
-
<a href="http://<%=host%>:42000" class='submenu tab' target="_blank"><i class="fa-brands fa-<%=brands[platform]%>"></i> <%=name%> (<%=current_host === host ? 'this machine' : host%>)</a>
|
|
998
|
-
-->
|
|
999
|
-
<a href="/net/<%=name%>" class='submenu tab'><i class="fa-brands fa-<%=brands[platform]%>"></i> <%=name%> (<%=current_host === host ? 'this machine' : host%>)</a>
|
|
1000
|
-
<% }) %>
|
|
1001
|
-
<% } %>
|
|
1002
|
-
</aside>
|
|
1003
1076
|
<div class='c'>
|
|
1004
1077
|
<div class='container'>
|
|
1005
1078
|
<div class='config'>
|
|
@@ -1029,7 +1102,7 @@ body.dark .net {
|
|
|
1029
1102
|
<div id='advanced-label' class='link-label label'>Advanced</div>
|
|
1030
1103
|
<div id='reset-label' class='btn'>Reset</div>
|
|
1031
1104
|
-->
|
|
1032
|
-
<div>
|
|
1105
|
+
<div class='troubleshoot'>
|
|
1033
1106
|
Not working properly? <span id='reset-label' class='link-label label'>Try reinstalling the Network Module & Certificates</span>
|
|
1034
1107
|
</div>
|
|
1035
1108
|
</div>
|
|
@@ -1039,18 +1112,6 @@ body.dark .net {
|
|
|
1039
1112
|
</div>
|
|
1040
1113
|
</div>
|
|
1041
1114
|
<div class='container'>
|
|
1042
|
-
<div class="section-header">
|
|
1043
|
-
<h3>
|
|
1044
|
-
<div class="col">
|
|
1045
|
-
<div class="grid-1">
|
|
1046
|
-
<div class="section">
|
|
1047
|
-
<h2>Servers running on this machine</h2>
|
|
1048
|
-
<div>Pinokio automatically creates a proxy that makes all your local servers accessible from other machines on the same network.</div>
|
|
1049
|
-
</div>
|
|
1050
|
-
</div>
|
|
1051
|
-
</div>
|
|
1052
|
-
</h3>
|
|
1053
|
-
</div>
|
|
1054
1115
|
<div class='running-apps'>
|
|
1055
1116
|
<div class='section-header'>
|
|
1056
1117
|
<h3>
|
|
@@ -1058,20 +1119,20 @@ body.dark .net {
|
|
|
1058
1119
|
<div class='col'>
|
|
1059
1120
|
<div class='grid-3'>
|
|
1060
1121
|
<div class='section'>
|
|
1061
|
-
<h2><i class='fas fa-laptop-code'></i>
|
|
1062
|
-
<div>
|
|
1122
|
+
<h2><i class='fas fa-laptop-code'></i> This machine</h2>
|
|
1123
|
+
<div>Use these URLs on this machine.</div>
|
|
1063
1124
|
</div>
|
|
1064
1125
|
<div class='section'>
|
|
1065
|
-
<h2><i class="fa-solid fa-wifi"></i>
|
|
1126
|
+
<h2><i class="fa-solid fa-wifi"></i> Local network</h2><div>Use these URLs from other machines on the same local network.</div>
|
|
1066
1127
|
</div>
|
|
1067
1128
|
<div class='section'>
|
|
1068
|
-
<h2><i class="fa-solid fa-podcast"></i>
|
|
1129
|
+
<h2><i class="fa-solid fa-podcast"></i> Local HTTPS network</h2><div>Use these URLs from other pinokio peers on the same local network <a class='explain' data-type='peer'>How to start a peer</a></div>
|
|
1069
1130
|
</div>
|
|
1070
1131
|
</div>
|
|
1071
1132
|
</div>
|
|
1072
1133
|
</h3>
|
|
1073
1134
|
</div>
|
|
1074
|
-
<% if (requirements_pending) { %>
|
|
1135
|
+
<% if (requirements_pending || peer_active && processes.length === 0) { %>
|
|
1075
1136
|
<div class='loader'>
|
|
1076
1137
|
<i class="fa-solid fa-circle-notch fa-spin"></i>
|
|
1077
1138
|
</div>
|
|
@@ -1081,7 +1142,9 @@ body.dark .net {
|
|
|
1081
1142
|
<h3>
|
|
1082
1143
|
<div class='item-icon'>
|
|
1083
1144
|
<% if (item.icon) { %>
|
|
1084
|
-
<
|
|
1145
|
+
<div class='placeholder-icon'>
|
|
1146
|
+
<img src="<%=item.icon%>">
|
|
1147
|
+
</div>
|
|
1085
1148
|
<% } else { %>
|
|
1086
1149
|
<div class='placeholder-icon'>
|
|
1087
1150
|
<i class="fa-solid fa-database"></i>
|
|
@@ -1109,12 +1172,68 @@ body.dark .net {
|
|
|
1109
1172
|
</div>
|
|
1110
1173
|
</div>
|
|
1111
1174
|
</div>
|
|
1112
|
-
</
|
|
1113
|
-
</
|
|
1175
|
+
</h3>
|
|
1176
|
+
</div>
|
|
1177
|
+
<% }) %>
|
|
1178
|
+
<% static_routes.forEach((route, index) => { %>
|
|
1179
|
+
<div class='line align-top' data-index="<%=processes.length+index%>" data-name="<%=route.name%>" data-title="<%=route.name%>" data-description="<%=route.internal_router.join(' ')%>">
|
|
1180
|
+
<h3>
|
|
1181
|
+
<div class='item-icon'>
|
|
1182
|
+
<div class='placeholder-icon'>
|
|
1183
|
+
<i class="fa-solid fa-database"></i>
|
|
1184
|
+
</div>
|
|
1185
|
+
</div>
|
|
1186
|
+
<div class='col'>
|
|
1187
|
+
<div class='title'><i class="fa-solid fa-circle"></i><span><%=route.name%></span></div>
|
|
1188
|
+
<div class='grid-3'>
|
|
1189
|
+
<div class='section'>
|
|
1190
|
+
<% route.internal_router.forEach((domain) => { %>
|
|
1191
|
+
<% if (domain.endsWith(".localhost")) { %>
|
|
1192
|
+
<a class='net' target="_blank" href="https://<%=domain%>">https://<%=domain%></a>
|
|
1193
|
+
<% } else { %>
|
|
1194
|
+
<a class='net' target="_blank" href="http://<%=domain%>">http://<%=domain%></a>
|
|
1195
|
+
<% } %>
|
|
1196
|
+
<% }) %>
|
|
1197
|
+
</div>
|
|
1198
|
+
<div class='section'>
|
|
1199
|
+
<% if (route.external_ip) { %>
|
|
1200
|
+
<a class='net' target="_blank" href="http://<%=route.external_ip%>">http://<%=route.external_ip%></a>
|
|
1201
|
+
<% } %>
|
|
1202
|
+
</div>
|
|
1203
|
+
<div class='section'>
|
|
1204
|
+
<% route.external_router.forEach((domain) => { %>
|
|
1205
|
+
<a class='net' target="_blank" href="https://<%=domain%>">https://<%=domain%></a>
|
|
1206
|
+
<% }) %>
|
|
1207
|
+
</div>
|
|
1208
|
+
</div>
|
|
1209
|
+
</div>
|
|
1210
|
+
</h3>
|
|
1211
|
+
</div>
|
|
1114
1212
|
<% }) %>
|
|
1115
1213
|
</div>
|
|
1116
1214
|
</div>
|
|
1117
1215
|
</div>
|
|
1216
|
+
<aside>
|
|
1217
|
+
<div class='btn-tab'>
|
|
1218
|
+
<a href="/init" class='btn'><i class="fa-solid fa-plus"></i><div class='caption'>Create</div></a>
|
|
1219
|
+
<a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i><div class='caption'>Discover</div></a>
|
|
1220
|
+
</div>
|
|
1221
|
+
<a href="/" class='tab'><i class='fas fa-laptop-code'></i><div class='caption'>This machine</div></a>
|
|
1222
|
+
<a href="/network" class='tab selected'><i class="fa-solid fa-wifi"></i><div class='caption'>Local network</div></a>
|
|
1223
|
+
<% if (list.length > 0) { %>
|
|
1224
|
+
<% let brands = { win32: "windows", darwin: "apple", linux: "Linux" } %>
|
|
1225
|
+
<% list.forEach(({ host, name, platform, processes }, index) => { %>
|
|
1226
|
+
<a href="/net/<%=name%>" class='submenu tab'><i class="fa-brands fa-<%=brands[platform]%>"></i><div class='caption'><%=name%> (<%=current_host === host ? 'this machine' : host%>)</div></a>
|
|
1227
|
+
<% }) %>
|
|
1228
|
+
<% } %>
|
|
1229
|
+
<a href="/connect" class='tab'><i class="fa-solid fa-plug"></i><div class='caption'>Login</div></a>
|
|
1230
|
+
<a class='tab' href="<%=portal%>" target="_blank"><i class="fa-solid fa-question"></i><div class='caption'>Help</div></a>
|
|
1231
|
+
<a class='tab' id='genlog'><i class="fa-solid fa-laptop-code"></i><div class='caption'>Logs</div></a>
|
|
1232
|
+
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
1233
|
+
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
1234
|
+
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
1235
|
+
<a class='tab' href="/?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
1236
|
+
</aside>
|
|
1118
1237
|
</main>
|
|
1119
1238
|
<script>
|
|
1120
1239
|
document.querySelector("#reset-label").addEventListener("click", async (e) => {
|
|
@@ -1181,17 +1300,23 @@ document.querySelector("#advanced-label").addEventListener("click", (e) => {
|
|
|
1181
1300
|
if (document.querySelector("#active").checked) {
|
|
1182
1301
|
console.log("checked")
|
|
1183
1302
|
document.querySelector("#network_name").classList.remove("hidden")
|
|
1303
|
+
document.querySelector(".network-name").classList.add("expanded")
|
|
1184
1304
|
} else {
|
|
1185
1305
|
console.log("not checked")
|
|
1186
1306
|
document.querySelector("#network_name").classList.add("hidden")
|
|
1307
|
+
document.querySelector(".network-name").classList.remove("expanded")
|
|
1187
1308
|
}
|
|
1188
1309
|
document.querySelector("#active").addEventListener("change", (e)=> {
|
|
1189
1310
|
console.log(e.target.checked)
|
|
1190
1311
|
if (e.target.checked) {
|
|
1191
1312
|
document.querySelector("#network_name").classList.remove("hidden")
|
|
1313
|
+
document.querySelector(".network-name").classList.add("expanded")
|
|
1314
|
+
document.querySelector("#name").classList.remove("hidden")
|
|
1192
1315
|
document.querySelector("#active-label").innerHTML = "On"
|
|
1193
1316
|
} else {
|
|
1194
1317
|
document.querySelector("#network_name").classList.add("hidden")
|
|
1318
|
+
document.querySelector(".network-name").classList.remove("expanded")
|
|
1319
|
+
document.querySelector("#name").classList.add("hidden")
|
|
1195
1320
|
document.querySelector("#active-label").innerHTML = "Off"
|
|
1196
1321
|
}
|
|
1197
1322
|
})
|
|
@@ -1280,6 +1405,7 @@ document.querySelector("main").addEventListener("click", async (e) => {
|
|
|
1280
1405
|
return res.json()
|
|
1281
1406
|
})
|
|
1282
1407
|
if (r.success) {
|
|
1408
|
+
document.querySelector("#network_name").classList.add("hidden")
|
|
1283
1409
|
//alert("Successfully updated the pinokio home to " + val)
|
|
1284
1410
|
document.querySelector(".loading").classList.remove("hidden")
|
|
1285
1411
|
document.querySelector(".save").classList.add("hidden")
|
|
@@ -419,11 +419,10 @@ table h3 {
|
|
|
419
419
|
<header class='navheader grabbable'>
|
|
420
420
|
<h1>
|
|
421
421
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
|
422
|
-
<button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div
|
|
423
|
-
<button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div
|
|
424
|
-
<button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div
|
|
422
|
+
<button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div></button>
|
|
423
|
+
<button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div></button>
|
|
424
|
+
<button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div></button>
|
|
425
425
|
<div class='flexible'></div>
|
|
426
|
-
<a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
|
|
427
426
|
<div class='nav-btns'>
|
|
428
427
|
<a class='btn2' href="<%=portal%>" target="_blank"><div><i class="fa-solid fa-question"></i></div><div>Help</div></a>
|
|
429
428
|
<button class='btn2' id='genlog'><div><i class="fa-solid fa-laptop-code"></i></div><div>Logs</div></button>
|
|
@@ -402,9 +402,9 @@ input:checked + .slider:before {
|
|
|
402
402
|
<header class='navheader grabbable'>
|
|
403
403
|
<h1>
|
|
404
404
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
|
405
|
-
<button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div
|
|
406
|
-
<button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div
|
|
407
|
-
<button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div
|
|
405
|
+
<button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div></button>
|
|
406
|
+
<button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div></button>
|
|
407
|
+
<button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div></button>
|
|
408
408
|
<a class='btn2 create-new' id='create-new-folder'><div><i class="fa-solid fa-folder-plus"></i></div><div>Create</div></a>
|
|
409
409
|
<a href="/connect" class='btn2'><div><i class="fa-solid fa-circle-user"></i></div><div>Connect</div></a>
|
|
410
410
|
<div class='flexible'></div>
|