From a948173f155ea161cfb330d3e4ac46618f841e6e Mon Sep 17 00:00:00 2001 From: bergware Date: Thu, 12 Oct 2023 10:28:54 +0200 Subject: [PATCH 1/6] rc.inet1: add "status" command --- etc/rc.d/rc.inet1 | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/etc/rc.d/rc.inet1 b/etc/rc.d/rc.inet1 index c9ec02a2e..66df9647a 100755 --- a/etc/rc.d/rc.inet1 +++ b/etc/rc.d/rc.inet1 @@ -634,6 +634,12 @@ stop(){ lo_down } +status(){ + echo "INTERFACE STATE INFORMATION" + echo "========================================================================" + [[ $1 == ip ]] && ip -brief addr || ip -brief link +} + ########################## # STATIC ROUTE FUNCTIONS # ########################## @@ -721,6 +727,9 @@ restart) route_down $INTERFACE $ROUTE $METRIC ;; # default is to bring up the entire network +status) + status $2 + ;; *) start esac @@ -739,3 +748,5 @@ exit 0 # rc.inet1 10.0.0.1_default_add add default route to gateway 10.0.0.1 with metric 1 # rc.inet1 eth0_10.0.0.0/24_1_del delete specific route & metric from interface eth0 # rc.inet1 10.0.0.1_default_del delete default route from gateway 10.0.0.1 +# rc.inet1 status show link status +# rc.inet1 status ip show ip status From 20e29bcf7593e26a94e1d311fa9fa973c4647f36 Mon Sep 17 00:00:00 2001 From: bergware Date: Thu, 12 Oct 2023 10:32:27 +0200 Subject: [PATCH 2/6] rc.inet1: add "status" command --- etc/rc.d/rc.inet1 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/etc/rc.d/rc.inet1 b/etc/rc.d/rc.inet1 index 66df9647a..b2e2d4bf6 100755 --- a/etc/rc.d/rc.inet1 +++ b/etc/rc.d/rc.inet1 @@ -62,8 +62,9 @@ # - added error logging to syslog # - replace logging for generic add-in module -# Adapted by Bergware for use in Unraid OS - August 2023 +# Adapted by Bergware for use in Unraid OS - October 2023 # - added interface carrier check when polling for DHCP server +# - added "status" command # Bergware - modified for Unraid OS, October 2023 From 5543f8c2e9ce70fb44490bcf62f4494ab2f37f28 Mon Sep 17 00:00:00 2001 From: bergware Date: Thu, 12 Oct 2023 10:40:49 +0200 Subject: [PATCH 3/6] rc.inet1: minor code update --- etc/rc.d/rc.inet1 | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/etc/rc.d/rc.inet1 b/etc/rc.d/rc.inet1 index b2e2d4bf6..344bb135c 100755 --- a/etc/rc.d/rc.inet1 +++ b/etc/rc.d/rc.inet1 @@ -63,7 +63,7 @@ # - replace logging for generic add-in module # Adapted by Bergware for use in Unraid OS - October 2023 -# - added interface carrier check when polling for DHCP server +# - added interface carrier check before assigning IP address (DHCP or static) # - added "status" command # Bergware - modified for Unraid OS, October 2023 @@ -370,11 +370,8 @@ ipaddr_up(){ fi elif [[ $DHCP == no ]]; then # bring up interface using static IP address - if carrier_up $IFACE; then - log "interface $IFACE is UP, setting static $IP address" - else - log "interface $IFACE is DOWN, setting static $IP address" - fi + if carrier_up $IFACE; then STATE="UP"; else STATE="DOWN"; fi + log "interface $IFACE is $STATE, setting static $IP address" ipv6_addr 0 1 if [[ $IP != ipv6 ]]; then [[ $j -eq 0 ]] && ADDR=${IPADDR[$i]} || ADDR=${IPADDR[$i,$j]} From ab914472f056186056e56d758decef3bd7b81c77 Mon Sep 17 00:00:00 2001 From: bergware Date: Thu, 12 Oct 2023 10:55:11 +0200 Subject: [PATCH 4/6] rc.inet1: minor code update --- etc/rc.d/rc.inet1 | 1 + 1 file changed, 1 insertion(+) diff --git a/etc/rc.d/rc.inet1 b/etc/rc.d/rc.inet1 index 344bb135c..fe73721a1 100755 --- a/etc/rc.d/rc.inet1 +++ b/etc/rc.d/rc.inet1 @@ -632,6 +632,7 @@ stop(){ lo_down } +# function to show network status status(){ echo "INTERFACE STATE INFORMATION" echo "========================================================================" From 454d8196349a405aac77782ea41ec846fc546cd3 Mon Sep 17 00:00:00 2001 From: bergware Date: Thu, 12 Oct 2023 17:42:29 +0200 Subject: [PATCH 5/6] dashboard: display separate tiles without borders --- emhttp/plugins/dynamix/DashStats.page | 87 +++++++------------ .../plugins/dynamix/styles/default-azure.css | 16 ++-- .../plugins/dynamix/styles/default-black.css | 14 +-- .../plugins/dynamix/styles/default-gray.css | 18 ++-- .../plugins/dynamix/styles/default-white.css | 14 +-- 5 files changed, 65 insertions(+), 84 deletions(-) diff --git a/emhttp/plugins/dynamix/DashStats.page b/emhttp/plugins/dynamix/DashStats.page index 046f7fc3d..a3f856317 100644 --- a/emhttp/plugins/dynamix/DashStats.page +++ b/emhttp/plugins/dynamix/DashStats.page @@ -700,6 +700,27 @@ function hideShow() { !--> +
+
+ + + + + + + +
_(VM Being Cloned)_:
_(New VM)_:
_(Overwrite)_:
_(Check Free Space)_:
+
+ +
+
+ + + + +
_(VM Name)_:
_(Snapshot Name)_:_(Check free space)_:
_(Description)_:
+
+ - -
-
-lang=""> - - - - - - - -"> - - -
- - - - - - - - - - - - - - - - - - -
_(VM Being Cloned)_:
_(New VM)_:
_(Overwrite)_:
_(Check Free Space)_:
- - -
- -
-
- -

- - - -
_(VM Name)_: -
_(Snapshot Name)_: - -_(Check free space)_: -
_(Description )_: -
-
\ No newline at end of file diff --git a/emhttp/plugins/dynamix/styles/default-azure.css b/emhttp/plugins/dynamix/styles/default-azure.css index cedca49eb..a0d51ddd0 100644 --- a/emhttp/plugins/dynamix/styles/default-azure.css +++ b/emhttp/plugins/dynamix/styles/default-azure.css @@ -154,14 +154,15 @@ table.share_status tbody tr.warn{color:#e68a00} table.share_status.fixed tr>td+td{min-width:39px;font-size:1.1rem;text-align:center;padding:0} table.share_status.table{margin-top:36px} table.share_status.table tr>td{width:50%} -table.share_status.dashboard{margin:0;border:1px solid #606e7f} -table.share_status.dashboard tbody{border:1px solid #606e7f} -table.share_status.dashboard tr:first-child>td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} -table.share_status.dashboard tr:last-child>td{padding-bottom:20px} -table.share_status.dashboard tr.last>td{padding-bottom:20px} +table.share_status.dashboard{margin:0;border:none;background-color:#D7DBDD} +table.share_status.dashboard tbody{border:none} +table.share_status.dashboard tr:first-child td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} +table.share_status.dashboard tr:last-child td{padding-bottom:20px} +table.share_status.dashboard tr.last td{padding-bottom:20px} table.share_status.dashboard tr.header td{padding-bottom:10px;color:#9794a0} table.share_status.dashboard tr{border:none} -table.share_status.dashboard td{line-height:normal;padding:3px 10px} +table.share_status.dashboard td{line-height:normal;padding:3px 10px;border:none!important} +table.share_status.dashboard td.stopgap{height:10px!important;line-height:10px!important;padding:0!important;background-color:#e4e2e4} table.share_status.dashboard td.vpn{font-size:1.1rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section{display:inline-block;vertical-align:top;margin-left:4px;font-size:1.2rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section span{font-weight:normal;text-transform:none;letter-spacing:0;white-space:normal} @@ -171,6 +172,7 @@ table.share_status.dashboard td span.load{display:inline-block;width:38px;text-a table.share_status.dashboard td span.finish{float:right;margin-right:24px} table.share_status.dashboard i.control{float:right;font-size:1.4rem!important;margin:0 3px 0 0;cursor:pointer;background-color:rgba(0,0,0,0.1);padding:2px} table.share_status.dashboard .usage-disk.sys{height:auto} +.dashboard-sortable{background-color:#e4e2e4} tr.alert{color:#f0000c;background-color:#ff9e9e} tr.warn{color:#e68a00;background-color:#feefb3} tr.past{color:#d63301;background-color:#ffddd1} @@ -197,7 +199,7 @@ span.small{font-size:1.1rem} span.score{font-size:1.1rem;color:#ffffff;position:absolute} span#dropbox{background:none;line-height:6rem;margin-right:20px} span.outer{margin-bottom:20px;margin-right:0} -span.outer.solid{background-color:#e4e2e4} +span.outer.solid{background-color:#D7DBDD} span.hand{cursor:pointer} span.outer.started>img,span.outer.started>i.img{opacity:1.0} span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3} diff --git a/emhttp/plugins/dynamix/styles/default-black.css b/emhttp/plugins/dynamix/styles/default-black.css index 5f680bdbe..eafa6e203 100644 --- a/emhttp/plugins/dynamix/styles/default-black.css +++ b/emhttp/plugins/dynamix/styles/default-black.css @@ -154,14 +154,15 @@ table.share_status tbody tr.warn{color:#e68a00} table.share_status.fixed tr>td+td{min-width:39px;font-size:1.1rem;text-align:center;padding:0} table.share_status.table{margin-top:36px} table.share_status.table tr>td{width:50%} -table.share_status.dashboard{margin:0;border:1px solid #2b2b2b} -table.share_status.dashboard tbody{border:1px solid #2b2b2b} -table.share_status.dashboard tr:first-child>td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} +table.share_status.dashboard{margin:0;border:none;background-color:#262626} +table.share_status.dashboard tbody{border:none} +table.share_status.dashboard tr:first-child td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} table.share_status.dashboard tr:nth-child(even){background-color:transparent} -table.share_status.dashboard tr:last-child>td{padding-bottom:20px} -table.share_status.dashboard tr.last>td{padding-bottom:20px} +table.share_status.dashboard tr:last-child td{padding-bottom:20px} +table.share_status.dashboard tr.last td{padding-bottom:20px} table.share_status.dashboard tr.header td{padding-bottom:10px} table.share_status.dashboard td{padding:3px 10px} +table.share_status.dashboard td.stopgap{height:10px!important;line-height:10px!important;padding:0!important;background-color:#1c1b1b} table.share_status.dashboard td.vpn{font-size:1.1rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section{display:inline-block;vertical-align:top;margin-left:4px;font-size:1.2rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section span{font-weight:normal;text-transform:none;letter-spacing:0;white-space:normal} @@ -170,6 +171,7 @@ table.share_status.dashboard td span.info.title{font-weight:bold} table.share_status.dashboard td span.load{display:inline-block;width:38px;text-align:right} table.share_status.dashboard td span.finish{float:right;margin-right:24px} table.share_status.dashboard i.control{float:right;font-size:1.4rem!important;margin:0 3px 0 0;cursor:pointer;background-color:rgba(255,255,255,0.1);padding:2px} +.dashboard-sortable{background-color:#1c1b1b} [name=arrayOps]{margin-top:12px} span.error{color:#f0000c;background-color:#ff9e9e;display:block;width:100%} span.warn{color:#e68a00;background-color:#feefb3;display:block;width:100%} @@ -190,7 +192,7 @@ span.strong{font-weight:bold} span.big{font-size:1.4rem} span.small{font-size:1.2rem} span.outer{margin-bottom:20px;margin-right:0} -span.outer.solid{background-color:#191818} +span.outer.solid{background-color:#262626} span.hand{cursor:pointer} span.outer.started>img,span.outer.started>i.img{opacity:1.0} span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3} diff --git a/emhttp/plugins/dynamix/styles/default-gray.css b/emhttp/plugins/dynamix/styles/default-gray.css index 7483f0b05..3beb543df 100644 --- a/emhttp/plugins/dynamix/styles/default-gray.css +++ b/emhttp/plugins/dynamix/styles/default-gray.css @@ -154,14 +154,15 @@ table.share_status tbody tr.warn{color:#e68a00} table.share_status.fixed tr>td+td{min-width:39px;font-size:1.1rem;text-align:center;padding:0} table.share_status.table{margin-top:36px} table.share_status.table tr>td{width:50%} -table.share_status.dashboard{margin:0;border:1px solid #606e7f} -table.share_status.dashboard tbody{border:1px solid #606e7f} -table.share_status.dashboard tr:first-child>td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} -table.share_status.dashboard tr:last-child>td{padding-bottom:20px} -table.share_status.dashboard tr.last>td{padding-bottom:20px} -table.share_status.dashboard tr{border:none} +table.share_status.dashboard{margin:0;border:none;background-color:#212F3D} +table.share_status.dashboard tbody{border:none} +table.share_status.dashboard tr:first-child td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} +table.share_status.dashboard tr:last-child td{padding-bottom:20px} +table.share_status.dashboard tr.last td{padding-bottom:20px} table.share_status.dashboard tr.header td{padding-bottom:10px;color:#82857e} -table.share_status.dashboard td{line-height:normal;padding:3px 10px} +table.share_status.dashboard tr{border:none} +table.share_status.dashboard td{line-height:normal;padding:3px 10px;border:none!important} +table.share_status.dashboard td.stopgap{height:10px!important;line-height:10px!important;padding:0!important;background-color:#1b1d1b} table.share_status.dashboard td.vpn{font-size:1.1rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section{display:inline-block;vertical-align:top;margin-left:4px;font-size:1.2rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section span{font-weight:normal;text-transform:none;letter-spacing:0;white-space:normal} @@ -171,6 +172,7 @@ table.share_status.dashboard td span.load{display:inline-block;width:38px;text-a table.share_status.dashboard td span.finish{float:right;margin-right:24px} table.share_status.dashboard i.control{float:right;font-size:1.4rem!important;margin:0 3px 0 0;cursor:pointer;background-color:rgba(255,255,255,0.1);padding:2px} table.share_status.dashboard .usage-disk.sys{height:auto} +.dashboard-sortable{background-color:#1b1d1b} tr.alert{color:#f0000c;background-color:#ff9e9e} tr.warn{color:#e68a00;background-color:#feefb3} tr.past{color:#d63301;background-color:#ffddd1} @@ -196,7 +198,7 @@ span.big{font-size:1.4rem} span.small{font-size:1.1rem} span#dropbox{background:none;line-height:6rem;margin-right:20px} span.outer{margin-bottom:20px;margin-right:0} -span.outer.solid{background-color:#1b1d1b} +span.outer.solid{background-color:#212F3D} span.hand{cursor:pointer} span.outer.started>img,span.outer.started>i.img{opacity:1.0} span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3} diff --git a/emhttp/plugins/dynamix/styles/default-white.css b/emhttp/plugins/dynamix/styles/default-white.css index c9d12bf21..62ccaaabb 100644 --- a/emhttp/plugins/dynamix/styles/default-white.css +++ b/emhttp/plugins/dynamix/styles/default-white.css @@ -154,14 +154,15 @@ table.share_status tbody tr.warn{color:#e68a00} table.share_status.fixed tr>td+td{min-width:39px;font-size:1.1rem;text-align:center;padding:0} table.share_status.table{margin-top:36px} table.share_status.table tr>td{width:50%} -table.share_status.dashboard{margin:0;border:1px solid #e3e3e3} -table.share_status.dashboard tbody{border:1px solid #e3e3e3} -table.share_status.dashboard tr:first-child>td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} +table.share_status.dashboard{margin:0;border:none;background-color:#F7F9F9} +table.share_status.dashboard tbody{border:none} +table.share_status.dashboard tr:first-child td{height:3.6rem;padding-top:12px;font-size:1.6rem;font-weight:bold;letter-spacing:1.8px;text-transform:none;vertical-align:top} table.share_status.dashboard tr:nth-child(even){background-color:transparent} -table.share_status.dashboard tr:last-child>td{padding-bottom:20px} -table.share_status.dashboard tr.last>td{padding-bottom:20px} +table.share_status.dashboard tr:last-child td{padding-bottom:20px} +table.share_status.dashboard tr.last td{padding-bottom:20px} table.share_status.dashboard tr.header td{padding-bottom:10px} table.share_status.dashboard td{padding:3px 10px} +table.share_status.dashboard td.stopgap{height:10px!important;line-height:10px!important;padding:0!important;background-color:#f2f2f2} table.share_status.dashboard td.vpn{font-size:1.1rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section{display:inline-block;vertical-align:top;margin-left:4px;font-size:1.2rem;font-weight:bold;text-transform:uppercase;letter-spacing:1px} table.share_status.dashboard td div.section span{font-weight:normal;text-transform:none;letter-spacing:0;white-space:normal} @@ -170,6 +171,7 @@ table.share_status.dashboard td span.info.title{font-weight:bold} table.share_status.dashboard td span.load{display:inline-block;width:38px;text-align:right} table.share_status.dashboard td span.finish{float:right;margin-right:24px} table.share_status.dashboard i.control{float:right;font-size:1.4rem!important;margin:0 3px 0 0;cursor:pointer;background-color:rgba(0,0,0,0.1);padding:2px} +.dashboard-sortable{background-color:#f2f2f2} [name=arrayOps]{margin-top:12px} span.error{color:#f0000c;background-color:#ff9e9e;display:block;width:100%} span.warn{color:#e68a00;background-color:#feefb3;display:block;width:100%} @@ -190,7 +192,7 @@ span.strong{font-weight:bold} span.big{font-size:1.4rem} span.small{font-size:1.2rem} span.outer{margin-bottom:20px;margin-right:0} -span.outer.solid{background-color:#f5f5f5} +span.outer.solid{background-color:#F7F9F9} span.hand{cursor:pointer} span.outer.started>img,span.outer.started>i.img{opacity:1.0} span.outer.stopped>img,span.outer.stopped>i.img{opacity:0.3} From 4068b85470a5c4d611196a126040d3e73248aa80 Mon Sep 17 00:00:00 2001 From: bergware Date: Thu, 12 Oct 2023 18:12:10 +0200 Subject: [PATCH 6/6] dashboard: display separate tiles without borders --- emhttp/plugins/dynamix/DashStats.page | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/emhttp/plugins/dynamix/DashStats.page b/emhttp/plugins/dynamix/DashStats.page index a3f856317..aa31e3eae 100644 --- a/emhttp/plugins/dynamix/DashStats.page +++ b/emhttp/plugins/dynamix/DashStats.page @@ -678,9 +678,11 @@ function hideShow() { var id = tbody.parent().prop('id'); if ($(this).prop('checked')) { tbody.show(); + tbody.prev().show(); count[id]++; } else { tbody.hide(); + tbody.prev().hide(); inactive.push(sort[n]); } n++; @@ -1271,6 +1273,7 @@ function showContent() { var id = tbody.parent().prop('id'); count[id]--; tbody.hide(); + tbody.prev().hide(); } } var hidden = $.cookie('hidden_content'); @@ -1332,6 +1335,7 @@ function dismiss(button) { var tile = table.parent(); var inactive = $.cookie('inactive_content'); tbody.hide(); + tbody.prev().hide(); if (table.find('tbody:visible').length>0) tile.show(); else tile.hide(); inactive = inactive==null ? [] : inactive.split(';'); inactive.push(tbody.attr('sort')); @@ -1400,7 +1404,14 @@ function LockButton() { receive:function(e,ui){ var table = ui.sender, index = []; var tile = table.parent(); - if (table.find('tbody:visible').length > 0) tile.show(); else tile.hide(); + var gap = ui.item.prev(); + if (table.find('tbody:visible').length > 0) { + tile.show(); + gap.show(); + } else { + tile.hide(); + gap.hide(); + } table.find('tbody').each(function(){index.push($(this).attr('sort'));}); $.cookie(table.prop('id'),index.join(';'),{expires:3650}); },