summaryrefslogtreecommitdiff
path: root/frontends/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/scripts')
-rw-r--r--frontends/scripts/fooodds.txt184
-rw-r--r--frontends/scripts/foostats.pl45
2 files changed, 216 insertions, 13 deletions
diff --git a/frontends/scripts/fooodds.txt b/frontends/scripts/fooodds.txt
index 3fee942..0e08bdd 100644
--- a/frontends/scripts/fooodds.txt
+++ b/frontends/scripts/fooodds.txt
@@ -1,23 +1,191 @@
%
+
..
+/actuator
+/actuator/health
/admin
+/ajax
+alfacgiapi
+/ALFA_DATA
+/api
+/apply.cgi
+/ARest1.exe
.asp
+/aspera
+/assets
+/audiobookshelf
+/auth
+/autodiscover
+/.aws
+/bac
+/back
+/backup
+/bak
+/base
+/.bash_history
+/bf
+/bin
+/bin/sh
+/bk
+/bkp
+/blog
+/blurs
+/boaform
+/boafrm
+/.bod
+/Br7q
+/british-airways
+/buetow.org.zip
+/buetow.zip
+/burodecredito
+/c
+/.cache
+/ccaguardians
+/cdn-cgi
+/centralbankthailand
+/cfdump.packetsdatabase.com
+/charlesbridge
+/check.txt
+/cimtechsolutions
+/.circleci
+/c/k2
+/ckfinder
+/client.zip
+/cloud-config.yml
+/cloudflare.com
+/clssettlement
+/cmd,/simZysh/register_main/setCookie
+/cn/cmd
+/codeberg
+/CODE_OF_CONDUCT.md
+/columbiagas
+/common_page
+/comp
+/concerto
+/config
+/config.json
+/config.xml
+/Config.xml
+/config.yaml
+/config.yml
+/connectivitycheck.gstatic.com
+/connector.sds
+/console
+/contact-information.html
+/contact-us
+/containers
+/CONTRIBUTING.md
+/credentials.txt
+/crivo
+/current_config
+/cwservices
+/daAV
+/dana-cached
+/dana-na
+/database_backup.sql
+/.database.bak
+/database.sql
+/data.zip
+/db
+/debug
+/debug.cgi
+/decoherence-is-just-realizing-this
+/demo
+/developmentserver
+/directory.gz
+/directory.tar
+/directory.zip
+/dir.html
+/DnHb
+/dns-query
+docker-compose
+/docker-compose.yml
+/?document=images
+/Dorybau2.html
+/Dorybau.html
+/dory.buetow.org
+/download
+/DpbF
+/druid
+/dtail.dev.gz
+/dtail.dev.sql
+/dtail.dev.tar.gz
+/dtail.dev.zip
+/dtail.html
+/dtail.zip
+/dump.sql
+/dvQ1
+/dvr/cmd
+/edualy-shammin
+/ekggho
.env
+/epa
+/etc
+/eW9h
+/ews
+/F3to
+/f3Yk
+/fahrzeugtechnik.fh-joanneum.at
+/failedbythefos
+/features
+/federalhomeloanbankofdesmoines
+/fhir
+/fhir-server
+/file-manager
+/files
+/files.zip
+/firstfinancial
+/flash
+/flower
+/foostats
+/footlocker
+/foo.zip
+/foo.zone.bz2
+/foozone.webp
+/foo.zone.zip
+/form.html
+/freeze.na4u.ru
+/frontend.zip
+/ftpsync.settings
+/full_backup.zip
+/FvwmRearrange.png
+/gdb.pdf
+/geoserver
.git
+/git-guides
+/global-protect
+/gm-donate.net
+/GMUs
+/goform
+/google.com
+/GoRU
+/GponForm
+/helpdesk
+/high-noise-level-for-that-earth-day-with-colors-gay
+/his-viewpoint-is-not-economics-until-they-harden
+/hN6p
HNAP1
+/hp
+/_ignition
+jndi:ldap
+.js
.lua
microsoft.exchange
/owa/
.php
+/phpinfo
+phpunit
+/portal/redlion
+/_profiler
+.rar
+/RDWeb
robots.txt
+/SDK
+/sitemap.xml
+/sites
+.sql
+/ueditor
+/vendor
+@vite
wordpress
/wp
-.rar
-/config.json
-/sitemap.xml
-/actuator/health
-/portal/redlion
-/SDK
-/bin/sh
-.js
diff --git a/frontends/scripts/foostats.pl b/frontends/scripts/foostats.pl
index eca3997..215960a 100644
--- a/frontends/scripts/foostats.pl
+++ b/frontends/scripts/foostats.pl
@@ -1073,6 +1073,7 @@ package Foostats::Reporter {
my ($lines) = @_;
my $html = "<table>\n";
my $row_count = 0;
+ my $total_col_idx = -1;
for my $line (@$lines) {
@@ -1084,13 +1085,28 @@ package Foostats::Reporter {
@cells = grep { length($_) > 0 } @cells; # Remove empty cells
if (@cells) {
+ my $is_total_row = (trim($cells[0]) eq 'Total');
$html .= "<tr>\n";
- # First row is header
+ if ($row_count == 0) { # Header row
+ for my $i (0 .. $#cells) {
+ if (trim($cells[$i]) eq 'Total') {
+ $total_col_idx = $i;
+ last;
+ }
+ }
+ }
+
my $tag = ($row_count == 0) ? "th" : "td";
- for my $cell (@cells) {
- my $val = trim($cell);
- $html .= " <$tag>" . linkify_text($val) . "</$tag>\n";
+ for my $i (0 .. $#cells) {
+ my $val = trim($cells[$i]);
+ my $cell_content = linkify_text($val);
+
+ if ($is_total_row || ($i == $total_col_idx && $row_count > 0)) {
+ $html .= " <$tag><b>" . $cell_content . "</b></$tag>\n";
+ } else {
+ $html .= " <$tag>" . $cell_content . "</$tag>\n";
+ }
}
$html .= "</tr>\n";
$row_count++;
@@ -1517,11 +1533,30 @@ $content
return "" unless $days_with_stats > 0;
my @avg_rows;
- for my $key (sort keys %totals) {
+ my $total_avg = 0;
+ my $has_total = 0;
+
+ # Separate 'Total' from other keys
+ my @other_keys;
+ for my $key (keys %totals) {
+ if ($key eq 'Total') {
+ $total_avg = sprintf("%.2f", $totals{$key} / $days_with_stats);
+ $has_total = 1;
+ } else {
+ push @other_keys, $key;
+ }
+ }
+
+ # Sort other keys and create rows
+ for my $key (sort @other_keys) {
my $avg = sprintf("%.2f", $totals{$key} / $days_with_stats);
push @avg_rows, [ $key, $avg ];
}
+ # Add Total row at the end
+ push @avg_rows, [ 'Total', $total_avg ] if $has_total;
+
+
my $content = "### Feed Statistics Daily Average (Last 30 Days)\n\n```\n";
$content .= format_table([ 'Feed Type', 'Daily Average' ], \@avg_rows);
$content .= "\n```\n\n";