pinokiod 3.40.0 → 3.42.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 +1048 -970
- 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 +310 -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 +229 -93
- 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;
|
|
@@ -871,6 +882,11 @@ aside .selected {
|
|
|
871
882
|
opacity: 1;
|
|
872
883
|
}
|
|
873
884
|
*/
|
|
885
|
+
.loader {
|
|
886
|
+
padding: 50px;
|
|
887
|
+
text-align: center;
|
|
888
|
+
font-size: 40px;
|
|
889
|
+
}
|
|
874
890
|
.submenu .tab {
|
|
875
891
|
padding: 0;
|
|
876
892
|
}
|
|
@@ -901,14 +917,28 @@ body.dark .net {
|
|
|
901
917
|
justify-content: center;
|
|
902
918
|
align-items: center;
|
|
903
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
|
+
}
|
|
904
932
|
.network-name {
|
|
905
933
|
display: flex;
|
|
906
934
|
}
|
|
907
935
|
.network-name .btn {
|
|
908
|
-
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;
|
|
909
940
|
}
|
|
910
941
|
.network-name input[type=text] {
|
|
911
|
-
border-radius: 0;
|
|
912
942
|
border: none;
|
|
913
943
|
background: rgba(0,0,0,0.1);
|
|
914
944
|
}
|
|
@@ -923,6 +953,46 @@ body.dark .net {
|
|
|
923
953
|
color: silver !important;
|
|
924
954
|
}
|
|
925
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
|
+
}
|
|
926
996
|
|
|
927
997
|
@media only screen and (max-width: 480px) {
|
|
928
998
|
.btn2 {
|
|
@@ -936,6 +1006,8 @@ body.dark .net {
|
|
|
936
1006
|
}
|
|
937
1007
|
}
|
|
938
1008
|
</style>
|
|
1009
|
+
<script src="/popper.min.js"></script>
|
|
1010
|
+
<script src="/tippy-bundle.umd.min.js"></script>
|
|
939
1011
|
<script src="/hotkeys.min.js"></script>
|
|
940
1012
|
<script src="/sweetalert2.js"></script>
|
|
941
1013
|
<script src="/common.js"></script>
|
|
@@ -946,26 +1018,49 @@ body.dark .net {
|
|
|
946
1018
|
<header class='navheader grabbable'>
|
|
947
1019
|
<h1>
|
|
948
1020
|
<a class='home' href="/"><img class='icon' src="/pinokio-black.png"></a>
|
|
949
|
-
<button class='btn2' id='back'><div><i class="fa-solid fa-chevron-left"></i></div
|
|
950
|
-
<button class='btn2' id='forward'><div><i class="fa-solid fa-chevron-right"></i></div
|
|
951
|
-
<button class='btn2' id='refresh-page'><div><i class="fa-solid fa-rotate-right"></i></div
|
|
952
|
-
<
|
|
953
|
-
<% if (current_urls.https) { %>
|
|
954
|
-
<a class='https-url' target="_blank" href="<%=current_urls.https%>"><i class="fa-solid fa-square-arrow-up-right"></i> <%=current_urls.https%></a>
|
|
955
|
-
<% } %>
|
|
956
|
-
<% if (current_urls.http) { %>
|
|
957
|
-
<a class='http-url' target="_blank" href="<%=current_urls.http%>"><i class="fa-solid fa-square-arrow-up-right"></i> <%=current_urls.http%></a>
|
|
958
|
-
<% } %>
|
|
959
|
-
</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>
|
|
960
1025
|
<div class='flexible'></div>
|
|
961
|
-
<a
|
|
962
|
-
<div class=
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
<
|
|
966
|
-
|
|
967
|
-
|
|
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>
|
|
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>
|
|
968
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>
|
|
969
1064
|
</h1>
|
|
970
1065
|
</header>
|
|
971
1066
|
<!--
|
|
@@ -978,23 +1073,6 @@ body.dark .net {
|
|
|
978
1073
|
</form>
|
|
979
1074
|
-->
|
|
980
1075
|
<main>
|
|
981
|
-
<aside>
|
|
982
|
-
<div class='btn-tab'>
|
|
983
|
-
<a href="/init" class='btn'><i class="fa-solid fa-plus"></i> Create</a>
|
|
984
|
-
<a class='btn' id='explore' href="/?mode=explore"><i class="fa-solid fa-globe"></i> Discover</a>
|
|
985
|
-
</div>
|
|
986
|
-
<a href="/" class='tab'><i class='fas fa-laptop-code'></i> Local</a>
|
|
987
|
-
<a href="/network" class='tab selected'><i class="fa-solid fa-wifi"></i> Network</a>
|
|
988
|
-
<% if (list.length > 0) { %>
|
|
989
|
-
<% let brands = { win32: "windows", darwin: "apple", linux: "Linux" } %>
|
|
990
|
-
<% list.forEach(({ host, name, platform, processes }, index) => { %>
|
|
991
|
-
<!--
|
|
992
|
-
<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>
|
|
993
|
-
-->
|
|
994
|
-
<a href="/net/<%=name%>" class='submenu tab'><i class="fa-brands fa-<%=brands[platform]%>"></i> <%=name%> (<%=current_host === host ? 'this machine' : host%>)</a>
|
|
995
|
-
<% }) %>
|
|
996
|
-
<% } %>
|
|
997
|
-
</aside>
|
|
998
1076
|
<div class='c'>
|
|
999
1077
|
<div class='container'>
|
|
1000
1078
|
<div class='config'>
|
|
@@ -1024,7 +1102,7 @@ body.dark .net {
|
|
|
1024
1102
|
<div id='advanced-label' class='link-label label'>Advanced</div>
|
|
1025
1103
|
<div id='reset-label' class='btn'>Reset</div>
|
|
1026
1104
|
-->
|
|
1027
|
-
<div>
|
|
1105
|
+
<div class='troubleshoot'>
|
|
1028
1106
|
Not working properly? <span id='reset-label' class='link-label label'>Try reinstalling the Network Module & Certificates</span>
|
|
1029
1107
|
</div>
|
|
1030
1108
|
</div>
|
|
@@ -1034,18 +1112,6 @@ body.dark .net {
|
|
|
1034
1112
|
</div>
|
|
1035
1113
|
</div>
|
|
1036
1114
|
<div class='container'>
|
|
1037
|
-
<div class="section-header">
|
|
1038
|
-
<h3>
|
|
1039
|
-
<div class="col">
|
|
1040
|
-
<div class="grid-1">
|
|
1041
|
-
<div class="section">
|
|
1042
|
-
<h2>Servers running on this machine</h2>
|
|
1043
|
-
<div>Pinokio automatically creates a proxy that makes all your local servers accessible from other machines on the same network.</div>
|
|
1044
|
-
</div>
|
|
1045
|
-
</div>
|
|
1046
|
-
</div>
|
|
1047
|
-
</h3>
|
|
1048
|
-
</div>
|
|
1049
1115
|
<div class='running-apps'>
|
|
1050
1116
|
<div class='section-header'>
|
|
1051
1117
|
<h3>
|
|
@@ -1053,25 +1119,32 @@ body.dark .net {
|
|
|
1053
1119
|
<div class='col'>
|
|
1054
1120
|
<div class='grid-3'>
|
|
1055
1121
|
<div class='section'>
|
|
1056
|
-
<h2><i class='fas fa-laptop-code'></i>
|
|
1057
|
-
<div>
|
|
1122
|
+
<h2><i class='fas fa-laptop-code'></i> This machine</h2>
|
|
1123
|
+
<div>Use these URLs on this machine.</div>
|
|
1058
1124
|
</div>
|
|
1059
1125
|
<div class='section'>
|
|
1060
|
-
<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>
|
|
1061
1127
|
</div>
|
|
1062
1128
|
<div class='section'>
|
|
1063
|
-
<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>
|
|
1064
1130
|
</div>
|
|
1065
1131
|
</div>
|
|
1066
1132
|
</div>
|
|
1067
1133
|
</h3>
|
|
1068
1134
|
</div>
|
|
1135
|
+
<% if (requirements_pending || peer_active && processes.length === 0) { %>
|
|
1136
|
+
<div class='loader'>
|
|
1137
|
+
<i class="fa-solid fa-circle-notch fa-spin"></i>
|
|
1138
|
+
</div>
|
|
1139
|
+
<% } %>
|
|
1069
1140
|
<% processes.forEach((item, index) => { %>
|
|
1070
1141
|
<div class='line align-top' data-index="<%=index%>" data-name="<%=item.name%>" data-title="<%=item.name%>" data-description="<%=item.internal_router.join(' ')%> <%=item.port%>">
|
|
1071
1142
|
<h3>
|
|
1072
1143
|
<div class='item-icon'>
|
|
1073
1144
|
<% if (item.icon) { %>
|
|
1074
|
-
<
|
|
1145
|
+
<div class='placeholder-icon'>
|
|
1146
|
+
<img src="<%=item.icon%>">
|
|
1147
|
+
</div>
|
|
1075
1148
|
<% } else { %>
|
|
1076
1149
|
<div class='placeholder-icon'>
|
|
1077
1150
|
<i class="fa-solid fa-database"></i>
|
|
@@ -1099,12 +1172,68 @@ body.dark .net {
|
|
|
1099
1172
|
</div>
|
|
1100
1173
|
</div>
|
|
1101
1174
|
</div>
|
|
1102
|
-
</
|
|
1103
|
-
</
|
|
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>
|
|
1104
1212
|
<% }) %>
|
|
1105
1213
|
</div>
|
|
1106
1214
|
</div>
|
|
1107
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>
|
|
1108
1237
|
</main>
|
|
1109
1238
|
<script>
|
|
1110
1239
|
document.querySelector("#reset-label").addEventListener("click", async (e) => {
|
|
@@ -1171,17 +1300,23 @@ document.querySelector("#advanced-label").addEventListener("click", (e) => {
|
|
|
1171
1300
|
if (document.querySelector("#active").checked) {
|
|
1172
1301
|
console.log("checked")
|
|
1173
1302
|
document.querySelector("#network_name").classList.remove("hidden")
|
|
1303
|
+
document.querySelector(".network-name").classList.add("expanded")
|
|
1174
1304
|
} else {
|
|
1175
1305
|
console.log("not checked")
|
|
1176
1306
|
document.querySelector("#network_name").classList.add("hidden")
|
|
1307
|
+
document.querySelector(".network-name").classList.remove("expanded")
|
|
1177
1308
|
}
|
|
1178
1309
|
document.querySelector("#active").addEventListener("change", (e)=> {
|
|
1179
1310
|
console.log(e.target.checked)
|
|
1180
1311
|
if (e.target.checked) {
|
|
1181
1312
|
document.querySelector("#network_name").classList.remove("hidden")
|
|
1313
|
+
document.querySelector(".network-name").classList.add("expanded")
|
|
1314
|
+
document.querySelector("#name").classList.remove("hidden")
|
|
1182
1315
|
document.querySelector("#active-label").innerHTML = "On"
|
|
1183
1316
|
} else {
|
|
1184
1317
|
document.querySelector("#network_name").classList.add("hidden")
|
|
1318
|
+
document.querySelector(".network-name").classList.remove("expanded")
|
|
1319
|
+
document.querySelector("#name").classList.add("hidden")
|
|
1185
1320
|
document.querySelector("#active-label").innerHTML = "Off"
|
|
1186
1321
|
}
|
|
1187
1322
|
})
|
|
@@ -1270,6 +1405,7 @@ document.querySelector("main").addEventListener("click", async (e) => {
|
|
|
1270
1405
|
return res.json()
|
|
1271
1406
|
})
|
|
1272
1407
|
if (r.success) {
|
|
1408
|
+
document.querySelector("#network_name").classList.add("hidden")
|
|
1273
1409
|
//alert("Successfully updated the pinokio home to " + val)
|
|
1274
1410
|
document.querySelector(".loading").classList.remove("hidden")
|
|
1275
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>
|