11 Commits

Author SHA1 Message Date
7e826e136f width
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-09-27 19:42:38 +00:00
a88b06f38f small layout changes
Some checks reported errors
continuous-integration/drone/push Build was killed
continuous-integration/drone/tag Build is passing
2025-09-26 08:56:49 +00:00
e69d9a2916 images
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-26 08:14:39 +00:00
8cac95c616 small layout changes
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-26 08:12:45 +00:00
b2febf3256 Upload files to "img"
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-25 16:46:12 +00:00
de3158b662 images
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-25 16:45:49 +00:00
2ffed54977 logo
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-09-12 14:23:48 +00:00
603418375a Upload files to "img"
All checks were successful
continuous-integration/drone/push Build is passing
2025-09-12 06:58:47 +00:00
930d02f3f4 save vpn fix, type select in template
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/tag Build is passing
2025-08-28 13:59:51 +00:00
0a799c9bec portal->pro
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-26 16:07:08 +00:00
19ed89732e portal->pro
All checks were successful
continuous-integration/drone/push Build is passing
2025-08-26 16:06:06 +00:00
13 changed files with 163 additions and 68 deletions

View File

@@ -113,23 +113,13 @@ function check_vpn(service) {
method: 'GET',
success: function(data) {
console.log('check_vpn: '+data);
if (data=="1") { // save_vpn has finished or VPN ON
const vpn_div = document.getElementById("vpn");
console.log('vpn_div: '+vpn_div);
if (vpn_div) {
vpn_div.innerHTML = 'VPN start process has finished';
setTimeout(function() {
document.getElementById('installAppsBtn').click();
}, 2000);
}
else {
if (data=="1") { // VPN ON
$('#pro_off').hide();
$('#pro_on').show();
$('#vpn_off').hide();
$('#vpn_on').show();
//document.getElementById('vpnToggle').checked = true;
//document.querySelector(".switch-label").textContent = "ON";
}
}
else if (data=="2") {
$('#pro_off').hide();
@@ -152,13 +142,38 @@ function check_vpn(service) {
});
}
function check_save_vpn(service) {
var url = 'scan.php?op=check_vpn';
jQuery.ajax({
url: url,
method: 'GET',
success: function(data) {
console.log('check_save_vpn: '+data);
if (data=="1") { // save_vpn has finished or VPN ON
const vpn_div = document.getElementById("vpn");
if (vpn_div) {
vpn_div.innerHTML = '<div class="loading">VPN start process has finished</div>';
setTimeout(function() {
document.getElementById('installAppsBtn').click();
}, 2000);
}
}
else setTimeout(check_save_vpn, 1000);
},
error: function(xhr, status, error) {
console.warn('check_save_vpn error: ' + status + ' - ' + error);
setTimeout(check_save_vpn, 1000);
}
});
}
function save_vpn() {
var url = 'scan.php?op=save_vpn&vpn_domain='+jQuery('#vpn_domain').val()+'&vpn_pass='+jQuery('#vpn_pass').val()+'&letsencrypt_mail='+jQuery('#letsencrypt_mail').val()+'&letsencrypt_servername='+jQuery('#letsencrypt_servername').val();
jQuery.get(url, function(data) {
console.log('save_vpn: '+data);
if (data=="OK") {
check_vpn();
check_save_vpn();
}
//get_vpn();
});
@@ -433,7 +448,7 @@ function get_proxy_html() {
<div class="row">
<label for="vpn_domain">Please add domain url to download the VPN hash from:</label>
<div class="input-container">
<input type="text" class="form-control" name="VPN_DOMAIN" id="vpn_domain" value="https://portal.safebox.network" size="40">
<input type="text" class="form-control" name="VPN_DOMAIN" id="vpn_domain" value="https://pro.safebox.network" size="40">
</div>
</div>
</div>

View File

@@ -1,4 +1,6 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.32 12.7504H15C12.51 12.7504 11.25 11.3404 11.25 8.55045V5.68045C11.25 4.66045 11.37 3.20045 12.43 2.40045C13.32 1.74045 14.6 1.69045 16.49 2.24045C18.97 2.96045 21.04 5.03045 21.76 7.51045C22.31 9.39045 22.26 10.6804 21.6 11.5604C20.8 12.6304 19.34 12.7504 18.32 12.7504ZM14.28 3.36045C13.87 3.36045 13.55 3.44045 13.34 3.60045C12.95 3.89045 12.76 4.57045 12.76 5.68045V8.56045C12.76 10.8004 13.62 11.2604 15.01 11.2604H18.33C19.43 11.2604 20.11 11.0704 20.41 10.6804C20.76 10.2204 20.73 9.30045 20.34 7.95045C19.76 5.98045 18.06 4.27045 16.09 3.70045C15.35 3.47045 14.75 3.36045 14.28 3.36045Z" fill="#7C7D81"/>
<path d="M11.0699 22.7503C10.5399 22.7503 9.99988 22.7103 9.45988 22.6203C5.36988 21.9603 2.03988 18.6403 1.37988 14.5503C0.529883 9.29032 3.91988 4.33032 9.10988 3.27032C9.51988 3.19032 9.90988 3.45032 9.99988 3.85032C10.0799 4.26032 9.81988 4.65032 9.41988 4.74032C5.02988 5.64032 2.14988 9.84032 2.87988 14.3103C3.43988 17.7703 6.24988 20.5803 9.70988 21.1403C14.1999 21.8603 18.3899 18.9703 19.2799 14.5603C19.3599 14.1503 19.7599 13.8903 20.1599 13.9703C20.5699 14.0503 20.8299 14.4503 20.7499 14.8503C19.7999 19.5203 15.7199 22.7503 11.0699 22.7503Z" fill="#7C7D81"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17 1H3C1.89543 1 1 1.89543 1 3V17C1 18.1046 1.89543 19 3 19H17C18.1046 19 19 18.1046 19 17V3C19 1.89543 18.1046 1 17 1Z" stroke="#7C7D81" stroke-width="1.5"/>
<path d="M6 14V10" stroke="#7C7D81" stroke-width="1.5" stroke-linecap="round"/>
<path d="M10 14V8" stroke="#7C7D81" stroke-width="1.5" stroke-linecap="round"/>
<path d="M14 14V6" stroke="#7C7D81" stroke-width="1.5" stroke-linecap="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 512 B

View File

@@ -1,4 +1,6 @@
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M1.05105 10.4495C1.05105 15.5708 5.03278 19.5654 10.0865 19.6166C15.1913 19.6166 19.2241 15.6732 19.2241 10.5519C19.2241 5.43059 15.2423 1.38477 10.1886 1.38477C5.13487 1.38477 1.05105 5.32816 1 10.5007L1.05105 10.4495Z" stroke="#101010" stroke-width="1.5" stroke-miterlimit="10"/>
<path d="M12.0262 6.45442C11.5158 7.1714 11.4647 7.99081 12.0262 8.50293C12.5367 9.06628 13.3535 9.06628 14.1702 8.50293C14.936 9.78326 14.8849 12.3951 12.9451 13.9315C11.2095 15.3143 8.55498 15.1606 6.97249 13.6242C5.39001 12.0366 5.23687 9.42477 6.61516 7.63231C8.14659 5.68622 10.75 5.68622 12.0262 6.4032V6.45442Z" fill="#101010"/>
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17 1H3C1.89543 1 1 1.89543 1 3V17C1 18.1046 1.89543 19 3 19H17C18.1046 19 19 18.1046 19 17V3C19 1.89543 18.1046 1 17 1Z" stroke="#101113" stroke-width="1.5"/>
<path d="M6 14V10" stroke="#101113" stroke-width="1.5" stroke-linecap="round"/>
<path d="M10 14V8" stroke="#101113" stroke-width="1.5" stroke-linecap="round"/>
<path d="M14 14V6" stroke="#101113" stroke-width="1.5" stroke-linecap="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 730 B

After

Width:  |  Height:  |  Size: 512 B

6
img/bup.svg Normal file
View File

@@ -0,0 +1,6 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M17 1H3C1.89543 1 1 1.89543 1 3V17C1 18.1046 1.89543 19 3 19H17C18.1046 19 19 18.1046 19 17V3C19 1.89543 18.1046 1 17 1Z" stroke="#101113" stroke-width="1.5"/>
<path d="M6 14V10" stroke="#101113" stroke-width="1.5" stroke-linecap="round"/>
<path d="M10 14V8" stroke="#101113" stroke-width="1.5" stroke-linecap="round"/>
<path d="M14 14V6" stroke="#101113" stroke-width="1.5" stroke-linecap="round"/>
</svg>

After

Width:  |  Height:  |  Size: 512 B

View File

@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 1530.1 487.8">
<defs>
<style>
.cls-1 {
fill: #fff;
}
.cls-2 {
fill: #fdb814;
}
</style>
</defs>
<!-- Generator: Adobe Illustrator 28.7.5, SVG Export Plug-In . SVG Version: 1.2.0 Build 176) -->
<g>
<g id="Layer_1">
<polygon class="cls-2" points="302.7 133.7 377.7 188.4 386.3 58.7 57.2 59.3 62.8 150.9 310 325.7 221.7 392.1 108.3 309.5 106.3 268.7 221.7 349.3 253.9 326.1 65.8 194 75.4 330.7 221.1 437.9 369 328.7 374.3 230.5 238 132 168.6 131.3 337.2 250.1 335.2 293.6 101.6 131.3 99.3 96.8 345.1 97.5 343.8 132.7 302.7 133.7"/>
<g>
<path class="cls-1" d="M592.8,238c-29.4-13.8-61.8-19.9-90.8-33.7-13.4-6.1-36.7-19.9-36.7-36.7,0-44.1,83.9-54.9,115-54.9s66.6-.4,66.6,15.1-29,39.8-29,64.8,3.9,16,12.1,16,.5,0,.7,0h0c13.5-1.4,67.3-8.8,72.5-20.2,3-6.7-8.2-15.1-13.9-17.7-3.4-1.6-6.9-2.7-10.4-3.7,1.8-2.3,3.4-4.4,4.4-5.9,7.3-11.2,12.5-24.6,12.5-38,0-54-68.7-56.6-107.2-56.6s-105.9,9.5-141.8,45.4c-13.8,13.8-23.8,33.3-23.8,53.2s17.7,50.1,39.8,64.8c40.6,26.4,92.5,27.7,132.3,54.5,9.9,6.5,21.6,16.9,21.6,29.4,0,25.5-32.9,39.3-54,39.3s-35.4-5.2-49.3-16c-3-2.2-15.1-15.6-16.9-15.6-4.3,0-3.9,4.3-3.9,7.3,0,6.1,4.8,14.3,7.8,19,15.6,21.2,45.8,32.9,71.3,32.9,38.9,0,80.8-27.7,80.8-69.6s-31.1-59.7-59.7-73.1Z"/>
<path class="cls-1" d="M811.7,304.2c0-21,5.6-42.1,5.6-63.1s-24.6-27-39.3-27-6.7.4-7.1,3.6c-11.1,4.8-38.9,107.1-57.5,107.1s-7.9-16.3-7.9-20.6c0-42.1,24.6-78.2,61.9-96.4,6.3-3.2,24.6-6.3,24.6-15.5,0-13.5-23-18.3-33.3-18.3-59.1,0-92.8,71.8-92.8,123s13.1,66.7,44.8,66.7,55.5-48.8,62.7-79.7c.4,21.4,2.4,73,33.7,73s13.1-4,13.1-11.1-1.6-7.1-3.2-10.3c-4-9.9-5.2-20.6-5.2-31.3ZM809.3,256.6c0-13.1-2-28.6-13.5-37.3,8.7,5.2,13.9,17.5,13.9,27.4s0,6.7-.4,9.9Z"/>
<path class="cls-1" d="M958.2,242.2c0-7.3-12.1-10.4-17.7-10.4-29,0-51.9,26.4-80.8,30.3,0-14.3.4-28.5.9-42.8,1.3,7.3,6.1,20.7,15.1,20.7s15.6-12.1,19-18.6c15.1-28.1,28.5-57.9,31.6-89.9,0-2.6.4-5.6.4-8.2,0-28.5-16-59.2-48-59.2-61.8,0-59.2,130.1-59.2,174.6s6.9,193.7,40.2,193.7,5.2-.9,7.8-2.2c33.3-16,54-53.2,54-89.5s-4.8-35-14.3-50.1c10.4-6.9,51-35.9,51-48.4ZM877,115.6c0-.4.4-.4.9-.4h1.3l.4,1.3v.4c0,24.6-12.5,47.1-17.3,70.9.9-13.4,6.1-63.1,14.7-72.2ZM844.6,273.8c.2,1.1.2,3.9.2,6.7l-.2-6.7ZM861.9,396.1c-.9-29-1.7-57.9-2.2-86.9,12.1,9.1,19.5,23.8,19.5,38.5s-10.4,33.7-17.3,48.4Z"/>
<path class="cls-1" d="M1052.3,269.1c-8.2,0-24.9,36.6-51.4,36.6s-11.3-3.1-15.6-8.2c4.3-1.2,7.4-4.3,10.5-7.4,26.9-26.1,52.6-59.2,52.6-99s-17.1-43.6-41.7-43.6c-47.9,0-67.8,76.4-67.8,113.4s17.9,76,56.9,76,61.6-30.4,61.6-59.6-.8-8.2-5.1-8.2ZM991.9,203.2c2.3-4.3,8.2-15.6,13.6-15.6s2.7,3.5,2.7,5.5c0,28.4-23,50.7-32.7,76.4,0-23.8,3.5-46,16.4-66.2Z"/>
<path class="cls-1" d="M1473.8,316.8c-6.5-4.8-14.7-5.6-20.7-10.8-10.4-8.6-21.6-25.5-27.7-37.6,12.1-19,24.6-38.9,39.3-56.2,7.3-8.6,12.5-16.4,12.5-27.7s-8.2-38.5-18.6-38.5-45.4,58.4-51.9,69.6c-5.2-21.2-12.1-59.2-40.6-59.2s-32,11.2-32,22.9,2.2,2.6,3.5,3.5c8.2,5.2,13.4,13.8,17.3,22.9.8,2,1.6,4,2.4,6-6.9,3.7-14.8,7.7-23.8,12,0-.6-.6-3.7-1.9-9.3-1.2-5.6-3.2-11.2-5.8-16.9-2.6-5.7-6-9.7-10-11.8-2.8-1.2-5.7-1.9-8.8-1.9h-1.9l.9-.5c-2.8-5.3-6.1-9-10-11.1-3.9-2.2-8-3.2-12.3-3.2-7.4,0-14.4,1.8-21.1,5.3-6.6,3.6-11.1,6.7-13.2,9.5-13,10.4-22.9,22.1-29.8,34.9.2-3,.3-6,.3-8.9,0-28.1-14.7-72.6-48.8-72.6s-62.7,60.5-70.5,96c-.4-9.1-.4-18.2-.4-27.2,0-32.9,5.6-65.7,5.6-98.1s-17.7-42.8-41.1-42.8-9.1,3-9.1,9.1c0,12.5,1.7,25.5,1.7,38.5v46.7c0,45.4.9,120.6,28.1,158.6-1.7,1.7-3,3.9-3,6.5,0,14.7,25.1,19.5,35.9,19.5,40.9,0,70.6-31,87-68,.1,19.5,4.6,36.5,13.4,51,9,14.7,20.5,22,34.8,22s15.3-2.6,23.6-7.9c8.3-5.3,17-13.7,26-25.5,9.6-13.6,16.5-25.8,20.6-36.6,4.2-10.8,6.8-19.2,7.9-25.3,1.1-6,1.6-9.2,1.6-9.5.9,0,4.7-1.5,11.4-4.6,5.3-2.5,11.6-5.9,18.7-10.1,4.3,12.9,8.5,25.9,14.7,38.2-7.3,13.4-35,62.7-35,75.6s2.6,8.6,6.9,8.6c13.8,0,43.2-35,51-45.8,13,16.4,32.4,32.9,54.5,32.9s21.6-4.3,21.6-14.7-1.3-5.6-3.5-7.3ZM1107,308.4l-1.3-12.1c12.5-6.5,42.4-116.7,62.2-116.7s9.1,17.7,9.1,22.9c0,44.1-28.5,89.5-70,105.9ZM1284.2,294.6c-10.7,11.1-19.7,16.7-27.1,16.7s-8.6-2.2-10.9-6.7c-2.3-4.5-3.5-10.3-3.5-17.4,0-10.8,2.6-23.2,7.9-37.1,5.2-13.9,13.1-25.6,23.6-35.2-1.2,1.2-1.9,3.6-1.9,7s.8,7.3,2.5,11.8c1.7,4.5,4.6,8.4,8.8,11.8,4.2,3.4,10.1,5.1,17.8,5.1l5.6-.5c-4.6,18.5-12.3,33.4-22.9,44.5ZM1303.9,231.1c-4,0-6.9-1.2-8.6-3.7-1.7-2.5-2.5-5.2-2.5-8.3.9-9.3,3.4-13.9,7.4-13.9s3.6,1.9,5.3,5.6c1.7,3.7,3.2,10.2,4.4,19.5l-6,.9ZM1394.3,296l-3,4.8,3-5.2v.4ZM1387.3,299.9c1.7-2.2,3-4.8,4.8-7.3v.4c-1.3,2.2-3,4.8-4.8,6.9ZM1395.1,237.2c-1.7-4.3-3-8.2-4.3-12.1,1.3,3.9,3,7.8,4.3,11.2v.9ZM1408.1,265.8l.4.9-.4.9-.4-.9.4-.9ZM1406.8,267.9l.4-.9.4.9-.4.9-.4-.9ZM1407.7,269.2l.4-.9.4.9h-.9ZM1409.4,267.5l-.4.9-.4-.9h.9ZM1409.4,272.2l-.4-.9.4-.9.4.9-.4.9ZM1409.4,265.3l-.4-1.3.4-.4.4.9-.4.9ZM1417.2,249.8c3.5-6.1,6.9-12.1,10.4-18.2l-10.4,19v-.9ZM1417.2,281.8c2.6,4.8,5.2,9.1,8.2,13.4-3-4.3-5.6-8.6-8.6-13l.4-.4ZM1416.3,283.5v-.4c4.3,6.5,8.6,13,13.4,19-5.2-6.1-9.5-12.1-13.4-18.6Z"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -1,4 +1,4 @@
<svg width="19" height="21" viewBox="0 0 19 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M18.0632 10.6142C18.0632 11.7655 18.0632 12.8209 18.0632 13.9722C18.0632 15.4113 17.5238 16.4667 16.3551 17.1383C14.5571 18.2896 12.6693 19.4409 10.8713 20.4963C9.70261 21.1679 8.53391 21.1679 7.36523 20.4963C5.56726 19.345 3.76928 18.2896 1.97131 17.1383C0.80263 16.3708 0.17334 15.3154 0.17334 13.8763C0.17334 11.6696 0.17334 9.46292 0.17334 7.16031C0.17334 5.72118 0.80263 4.66579 1.97131 3.89825C3.76928 2.74694 5.56726 1.69158 7.36523 0.540273C8.53391 -0.131322 9.70261 -0.227264 10.8713 0.540273C12.6693 1.69158 14.5571 2.74694 16.3551 3.89825C17.5238 4.56985 18.0632 5.72118 18.0632 7.16031C18.0632 8.31162 18.0632 9.36698 18.0632 10.5183V10.6142ZM16.7147 10.6142C16.7147 9.4629 16.7147 8.31159 16.7147 7.25623C16.7147 6.39275 16.3551 5.72115 15.7258 5.33738C13.9279 4.18608 12.0399 3.03479 10.1521 1.88349C9.43288 1.49972 8.80365 1.49972 8.08446 1.88349C6.28649 3.03479 4.48843 4.09016 2.60056 5.24147C1.88137 5.72118 1.52182 6.39275 1.52182 7.25623C1.52182 9.4629 1.52182 11.7655 1.52182 13.9722C1.52182 14.8357 1.88137 15.5072 2.60056 15.9869C4.39853 17.1383 6.19659 18.1936 8.08446 19.3449C8.80365 19.8246 9.52275 19.7287 10.2419 19.3449C12.0399 18.1936 13.838 17.1383 15.7258 15.9869C16.445 15.5072 16.8046 14.9316 16.8046 14.0681C16.8046 12.9168 16.8046 11.8614 16.8046 10.7101L16.7147 10.6142Z" fill="#101010"/>
<path d="M9.16305 14.7404C7.00548 14.7404 5.29736 12.9174 5.29736 10.6148C5.29736 8.31221 7.00548 6.48926 9.16305 6.48926C11.3206 6.48926 13.0287 8.31221 13.0287 10.6148C13.0287 12.9174 11.3206 14.7404 9.16305 14.7404ZM11.6803 10.6148C11.6803 9.17569 10.6014 7.92839 9.16305 7.92839C7.81457 7.92839 6.64584 9.07974 6.64584 10.6148C6.64584 12.054 7.72467 13.3012 9.16305 13.3012C10.5115 13.3012 11.6803 12.1499 11.6803 10.6148Z" fill="#101010"/>
<svg width="20" height="21" viewBox="0 0 20 21" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M19.0925 10.6139C19.0925 11.7659 19.0925 12.8209 19.0925 13.9719C19.0925 15.4109 18.5168 16.4669 17.2696 17.1379C15.3508 18.2899 13.336 19.4409 11.4171 20.4959C10.1699 21.1679 8.9226 21.1679 7.6754 20.4959C5.7565 19.3449 3.8377 18.2899 1.9188 17.1379C0.6716 16.3709 0 15.3149 0 13.8759C0 11.6699 0 9.46294 0 7.15994C0 5.72094 0.6716 4.66594 1.9188 3.89794C3.8377 2.74694 5.7565 1.69194 7.6754 0.539941C8.9226 -0.131059 10.1699 -0.227059 11.4171 0.539941C13.336 1.69194 15.3508 2.74694 17.2696 3.89794C18.5168 4.56994 19.0925 5.72094 19.0925 7.15994C19.0925 8.31194 19.0925 9.36694 19.0925 10.5179V10.6139ZM17.6534 10.6139C17.6534 9.46295 17.6534 8.31194 17.6534 7.25594C17.6534 6.39294 17.2696 5.72094 16.5981 5.33694C14.6792 4.18594 12.6643 3.03493 10.6496 1.88293C9.882 1.49993 9.2105 1.49993 8.443 1.88293C6.5241 3.03493 4.6052 4.08993 2.5904 5.24093C1.8229 5.72093 1.4391 6.39294 1.4391 7.25594C1.4391 9.46294 1.4391 11.7659 1.4391 13.9719C1.4391 14.8359 1.8229 15.5069 2.5904 15.9869C4.5092 17.1379 6.4282 18.1939 8.443 19.3449C9.2105 19.8249 9.9779 19.7289 10.7455 19.3449C12.6643 18.1939 14.5833 17.1379 16.5981 15.9869C17.3656 15.5069 17.7493 14.9319 17.7493 14.0679C17.7493 12.9169 17.7493 11.8609 17.7493 10.7099L17.6534 10.6139Z" fill="#FFB806"/>
<path d="M9.59411 14.74C7.29151 14.74 5.46851 12.917 5.46851 10.615C5.46851 8.31196 7.29151 6.48898 9.59411 6.48898C11.8967 6.48898 13.7196 8.31196 13.7196 10.615C13.7196 12.917 11.8967 14.74 9.59411 14.74ZM12.2805 10.615C12.2805 9.17596 11.1291 7.92798 9.59411 7.92798C8.15491 7.92798 6.90761 9.07996 6.90761 10.615C6.90761 12.054 8.05901 13.301 9.59411 13.301C11.0332 13.301 12.2805 12.15 12.2805 10.615Z" fill="#FFB806"/>
</svg>

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -9,14 +9,13 @@
<title>Safebox - INSTALLER TOOL</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Switzer:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
<link rel="stylesheet" href="style.css?t=1" />
<link rel="stylesheet" href="style.css?t=17" />
</head>
<body id="installer">
<div class="main" style="max-width:1000px;margin:0px auto;">
<div id="myAppsContainer">
<div class="logo">
<img src="/img/logo.svg" alt="Safebox"/>
<span>Safebox</span>
<img src="/img/safebox_orange_white.svg" alt="Safebox"/>
</div>
<h3 style="text-align:center">No any previous deployed environment has found</h3>
<div class="main-header">
@@ -100,7 +99,7 @@
<div class="input-row">
<label for="vpn_domain">Please add domain url to download the VPN hash from:</label>
<div class="input-container">
<input type="text" class="form-control" name="VPN_DOMAIN" id="vpn_domain" value="https://portal.safebox.network" placeholder="https://portal.safebox.network" size="40">
<input type="text" class="form-control" name="VPN_DOMAIN" id="vpn_domain" value="https://pro.safebox.network" placeholder="https://pro.safebox.network" size="40">
</div>
</div>
<div class="input-row">

View File

@@ -69,14 +69,13 @@ echo "<pre>".$output."</pre>";
<title>Safebox - INSTALLER TOOL</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Switzer:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
<link rel="stylesheet" href="style.css?t=4" />
<link rel="stylesheet" href="style.css?t=17" />
</head>
<body id="install" class="text-center">
<div class="main">
<div id="myAppsContainer">
<div class="logo" style="margin:100px 0px 20px 0px;">
<img src="/img/logo.svg" alt="Safebox"/>
<span>Safebox</span>
<img src="/img/safebox_orange_white.svg" alt="Safebox"/>
</div>
<div class="progress-box">
<div class="progress-title"><?php echo $header_text?></div>

View File

@@ -9,14 +9,13 @@
<title>Safebox</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Switzer:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
<link rel="stylesheet" href="style.css?t=16" />
<link rel="stylesheet" href="style.css?t=21" />
</head>
<body>
<div class="sidebar">
<div class="sidebar-top">
<div id="logo" class="logo">
<img src="/img/logo.svg" alt="Safebox"/>
<span>Safebox</span>
<img src="/img/safebox_orange_white.svg" alt="Safebox"/>
</div>
<div class="menu">
<!--
@@ -29,12 +28,14 @@
<div class="menu-item" id="backupBtn"><img src="/img/backup1.svg" data-src="/img/backup1.svg" data-hover="/img/backup2.svg" alt="Backup" /><span>Backup</span></div>
<div class="menu-item" id="diskBtn"><img src="/img/disk1.svg" data-src="/img/disk1.svg" data-hover="/img/disk2.svg" alt="Disk Management" /><span>Disk Management</span></div>
<div class="menu-item" id="monitorBtn"><img src="/img/monitor1.svg" data-src="/img/monitor1.svg" data-hover="/img/monitor2.svg" alt="Monitor" /><span>Monitor</span></div>
<!--
<div class="menu-item has-submenu" id="settingsBtn"><img src="/img/settings1.svg" data-src="/img/settings1.svg" data-hover="/img/settings2.svg" alt="Settings" /><span>Settings</span><span class="arrow">&#9662;</span></div>
<div class="submenu" id="settingsSubmenu">
<div id="servicesBtn" class="submenu-item">Services</div>
<div id="repositoriesBtn" class="submenu-item">Repositories</div>
<div id="systemservicesBtn" class="submenu-item">System services</div>
</div>
-->
</div>
</div>
<div class="yellow-row">
@@ -95,7 +96,6 @@
const backupBtn = document.getElementById('backupBtn');
const diskBtn = document.getElementById('diskBtn');
const monitorBtn = document.getElementById('monitorBtn');
const settingsBtn = document.getElementById('settingsBtn');
const vpnBtn = document.getElementById('vpnBtn');
const upgradeBtn = document.getElementById('upgradeBtn');
@@ -122,10 +122,20 @@
myAppsContainer.classList.remove('hidden');
popup.classList.add('hidden');
myAppsContainer.innerHTML = '<div class="main-header"><h1>Applications</h1><button id="updatesBtn"><i class="fas fa-bell"></i> Notification</button></div><div id="appsContainer"></div>';
myAppsContainer.innerHTML = '<div class="main-header"><h1>Applications</h1><div class="buttons"><button id="updatesBtn"><i class="fas fa-bell"></i> Notification</button><button id="settingsBtn"><img src="/img/settings1.svg" data-src="/img/settings1.svg" data-hover="/img/settings2.svg" alt="Settings" width="18" height="18" />Settings</button></div></div><div id="appsContainer"></div>';
const appsContainer = document.getElementById('appsContainer');
const updatesBtn = document.getElementById('updatesBtn');
const settingsBtn = document.getElementById('settingsBtn');
updatesBtn.addEventListener('click', () => renderUpdates());
settingsBtn.addEventListener('click', () => renderSettings());
const img = settingsBtn.querySelector("img");
settingsBtn.addEventListener("mouseover", () => {
img.src = img.dataset.hover;
});
settingsBtn.addEventListener("mouseout", () => {
img.src = img.dataset.src;
});
apps.forEach(app => {
//if ((all==false && app.installed=='true') || (all==true && app.installed!='true')) {
@@ -161,7 +171,10 @@
myAppsContainer.innerHTML = `
<div class="main-header">
<h1>${title}</h1>
<div class="buttons">
<button id="updatesBtn"><i class="fas fa-bell"></i> Notification</button>
<button id="settingsBtn"><img src="/img/settings1.svg" data-src="/img/settings1.svg" data-hover="/img/settings2.svg" alt="Settings" width="18" height="18" />Settings</button>
</div>
</div>
<label>Under development...</label>
`;
@@ -190,7 +203,10 @@
myAppsContainer.innerHTML = `
<div class="main-header">
<h1>Monitor</h1>
<div class="buttons">
<button id="updatesBtn"><i class="fas fa-bell"></i> Notification</button>
<button id="settingsBtn"><img src="/img/settings1.svg" data-src="/img/settings1.svg" data-hover="/img/settings2.svg" alt="Settings" width="18" height="18" />Settings</button>
</div>
</div>
<label>Under development...</label><br>
<img src="/img/monitor.jpg" alt="Under development..." width="1000" />
@@ -251,10 +267,10 @@
function renderSettings() {
const submenu = document.getElementById("settingsSubmenu");
const isVisible = submenu.style.display === "flex";
// const isVisible = submenu.style.display === "flex";
submenu.style.display = isVisible ? "none" : "flex";
settingsBtn.classList.toggle("open", !isVisible);
// submenu.style.display = isVisible ? "none" : "flex";
// settingsBtn.classList.toggle("open", !isVisible);
myAppsContainer.classList.remove('hidden');
popup.classList.add('hidden');
@@ -262,7 +278,10 @@
myAppsContainer.innerHTML = `
<div class="main-header">
<h1>Settings</h1>
<div class="buttons">
<button id="updatesBtn"><i class="fas fa-bell"></i> Notification</button>
<button id="settingsBtn"><img src="/img/settings1.svg" data-src="/img/settings1.svg" data-hover="/img/settings2.svg" alt="Settings" width="18" height="18" />Settings</button>
</div>
</div>
<div class="input-row">
@@ -303,9 +322,9 @@
const repositoriesBtn = document.getElementById('repositoriesBtn');
const systemservicesBtn = document.getElementById('systemservicesBtn');
const updatesBtn = document.getElementById('updatesBtn');
servicesBtn.addEventListener('click', () => renderServices());
repositoriesBtn.addEventListener('click', () => renderRepositories());
systemservicesBtn.addEventListener('click', () => renderSystemServices());
// servicesBtn.addEventListener('click', () => renderServices());
// repositoriesBtn.addEventListener('click', () => renderRepositories());
// systemservicesBtn.addEventListener('click', () => renderSystemServices());
updatesBtn.addEventListener('click', () => renderUpdates());
}
@@ -347,7 +366,7 @@
backupBtn.classList.remove('active');
diskBtn.classList.remove('active');
monitorBtn.classList.remove('active');
settingsBtn.classList.remove('active');
//settingsBtn.classList.remove('active');
btn.classList.add('active');
updateActive();
@@ -358,7 +377,7 @@
backupBtn.addEventListener('click', () => {renderText('Backup'); activate(backupBtn);});
diskBtn.addEventListener('click', () => {renderText('Disk Management'); activate(diskBtn)});
monitorBtn.addEventListener('click', () => {renderMonitor(); activate(monitorBtn)});
settingsBtn.addEventListener('click', () => {renderSettings(); activate(settingsBtn)});
//settingsBtn.addEventListener('click', () => {renderSettings(); activate(settingsBtn)});
vpnBtn.addEventListener('click', () => renderVPN());
upgradeBtn.addEventListener('click', () => renderVPN());
@@ -390,6 +409,6 @@
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.14.6/dist/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.2.1/dist/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k" crossorigin="anonymous"></script>
<script src="common.js?t=53"></script>
<script src="common.js?t=57"></script>
</body>
</html>

View File

@@ -9,14 +9,13 @@
<title>Safebox - INSTALLER TOOL</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Switzer:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap"/>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css"/>
<link rel="stylesheet" href="style.css?t=4" />
<link rel="stylesheet" href="style.css?t=17" />
</head>
<body id="scan" class="text-center">
<div class="main">
<div id="myAppsContainer">
<div class="logo" style="margin:100px 0px 20px 0px;">
<img src="/img/logo.svg" alt="Safebox"/>
<span>Safebox</span>
<img src="/img/safebox_orange_white.svg" alt="Safebox"/>
</div>
<div class="progress-box">
<div class="progress-title">Scanning your device</div>

View File

@@ -197,8 +197,8 @@ switch ($_GET["op"]) {
<p class="description">'.$template->description.'</p>
</div>
</div>
<button id="updatesBtn" class="notification-btn"><i class="fas fa-bell"></i> Notification</button>
</div>
<!-- <button id="updatesBtn" class="notification-btn"><i class="fas fa-bell"></i> Notification</button>
--> </div>
';
if ($reinstall) {
echo '<div id="letsencrypt">';
@@ -227,9 +227,21 @@ switch ($_GET["op"]) {
}
else {
echo "<div class=\"row\">";
echo "<label>".$field->description."</label>
<div class=\"input-container\"><input ".($field->required=="true" ? "required" : "")." type=\"".(!empty($field->type) ? $field->type : "text")."\" value=\"{$field->value}\" name=\"{$field->key}\" id=\"{$template->name}_{$field->key}\" class=\"additional_{$template->name}\"></div>
<div class=\"info-container\">
echo "<label>".$field->description."</label>";
if ($field->type=="select") {
echo "<div class=\"input-container\">
<select ".($field->required=="true" ? "required" : "")." name=\"{$field->key}\" id=\"{$template->name}_{$field->key}\" class=\"additional_{$template->name}\">";
$values = explode(",",$field->value);
foreach ($values as $value) {
$v_arr = explode(":",$value);
if (empty($v_arr[1])) $v_arr[1] = $v_arr[0];
echo "<option value=\"{$v_arr[0]}\">{$v_arr[1]}</option>";
}
echo " </select>
</div>";
}
else echo "<div class=\"input-container\"><input ".($field->required=="true" ? "required" : "")." type=\"".(!empty($field->type) ? $field->type : "text")."\" value=\"{$field->value}\" name=\"{$field->key}\" id=\"{$template->name}_{$field->key}\" class=\"additional_{$template->name}\"></div>";
echo "<div class=\"info-container\">
";
if (!empty($field->info)) echo "
<span class=\"info-icon\">i</span>
@@ -266,7 +278,7 @@ switch ($_GET["op"]) {
<button class=\"btn btn-lg btn-primary btn-block\" type=\"button\" id=\"uninstall_{$template->name}_btn\" onclick=\"uninstall('{$template->name}')\">Uninstall</button>
</div>";
}
echo "<div class=\"mb-3\" style=\"margin-left:200px;float:\">
echo "<div class=\"mb-3\">
<button class=\"btn btn-lg btn-primary btn-block\" type=\"button\" id=\"cancel_{$template->name}_btn\">Cancel</button>
</div>";
echo "

View File

@@ -123,7 +123,7 @@
}
.logo img {
height: 30px;
height: 40px;
}
.loading {
@@ -375,8 +375,9 @@
#appsContainer {
display: flex;
flex-wrap: wrap;
gap: 16px;
gap: 15px;
padding: 0px;
max-width: 1200px;
}
.app {
@@ -424,8 +425,8 @@
background-color: inherit;
color: #cccccc;
border: 1px solid #cccccc;
border-radius: 15px;
padding: 18px;
border-radius: 10px;
padding: 10px 20px;
font-size: 16px;
font-weight: 400;
cursor: pointer;
@@ -529,7 +530,9 @@
display: flex;
justify-content: space-between;
align-items: center;
padding: 0px;
margin-bottom: 30px;
max-width: 1105px;
}
.main-header h1 {
@@ -537,19 +540,32 @@
font-size: 28px;
}
.main-header .buttons {
display: flex;
gap: 20px;
}
.main-header button {
background-color: var(--highlight-color);
color: black;
border: none;
padding: 10px 20px;
border-radius: 10px;
cursor: pointer;
font-weight: bold;
display: flex;
padding: 10px 20px;
background-color: black;
border: 1px solid #999;
border-radius: 10px;
color: #999;
font-size: 16px;
font-weight: bold;
cursor: pointer;
margin-top: 10px;
align-self: flex-start;
align-items: center;
gap: 10px;
}
.main-header button:hover {
border: 1px solid #f5c300;
color: #f5c300;
}
.input-row, .input-group {
display: flex;
justify-content: space-between;
@@ -616,7 +632,6 @@
left: -18px;
top: -22px;
display: inline-block;
font-family: Arial, sans-serif;
margin: 0px;
width: 0px;
}
@@ -704,9 +719,9 @@
background-color: black;
border: 1px solid #999;
color: #999;
padding: 10px 15px;
font-size: 14px;
border-radius: 5px;
padding: 10px 20px;
font-size: 16px;
border-radius: 10px;
font-weight: bold;
cursor: pointer;
margin-top: 10px;

View File

@@ -1 +1 @@
1.1.18
1.1.19