X7ROOT File Manager
Current Path:
/usr/libexec/usermin/forward
usr
/
libexec
/
usermin
/
forward
/
📁
..
📄
CHANGELOG
(1.3 KB)
📄
autoreply-file-lib.pl
(2.28 KB)
📄
autoreply.pl
(12.19 KB)
📄
config
(71 B)
📄
config-msc-linux
(71 B)
📄
config.info
(297 B)
📄
config.info.ca
(333 B)
📄
config.info.de
(299 B)
📄
config.info.el
(584 B)
📄
config.info.nl
(335 B)
📄
config.info.no
(304 B)
📄
edit_afile.cgi
(867 B)
📄
edit_alias.cgi
(353 B)
📄
edit_ffile.cgi
(1.69 KB)
📄
edit_forward.cgi
(604 B)
📄
edit_rfile.cgi
(2.47 KB)
📄
edit_vacation.cgi
(2.25 KB)
📄
edit_vfile.cgi
(1.76 KB)
📄
filter.pl
(1.99 KB)
📄
forward-lib.pl
(11.37 KB)
📁
images
📄
index.cgi
(5.85 KB)
📄
module.info
(195 B)
📄
module.info.af
(0 B)
📄
module.info.af.auto
(144 B)
📄
module.info.ar
(0 B)
📄
module.info.ar.auto
(227 B)
📄
module.info.be
(0 B)
📄
module.info.be.auto
(285 B)
📄
module.info.bg
(0 B)
📄
module.info.bg.auto
(268 B)
📄
module.info.ca
(42 B)
📄
module.info.ca.auto
(125 B)
📄
module.info.cs
(36 B)
📄
module.info.cs.auto
(119 B)
📄
module.info.da
(0 B)
📄
module.info.da.auto
(155 B)
📄
module.info.de
(105 B)
📄
module.info.el
(0 B)
📄
module.info.el.auto
(355 B)
📄
module.info.es
(26 B)
📄
module.info.es.auto
(127 B)
📄
module.info.eu
(0 B)
📄
module.info.eu.auto
(176 B)
📄
module.info.fa
(0 B)
📄
module.info.fa.auto
(229 B)
📄
module.info.fi
(0 B)
📄
module.info.fi.auto
(161 B)
📄
module.info.fr
(26 B)
📄
module.info.fr.auto
(117 B)
📄
module.info.he
(0 B)
📄
module.info.he.auto
(179 B)
📄
module.info.hr
(0 B)
📄
module.info.hr.auto
(164 B)
📄
module.info.hu
(31 B)
📄
module.info.hu.auto
(138 B)
📄
module.info.it
(0 B)
📄
module.info.it.auto
(147 B)
📄
module.info.ja
(25 B)
📄
module.info.ja.auto
(143 B)
📄
module.info.ko
(0 B)
📄
module.info.ko.auto
(180 B)
📄
module.info.lt
(0 B)
📄
module.info.lt.auto
(181 B)
📄
module.info.lv
(0 B)
📄
module.info.lv.auto
(174 B)
📄
module.info.ms
(0 B)
📄
module.info.ms.auto
(152 B)
📄
module.info.mt
(0 B)
📄
module.info.mt.auto
(160 B)
📄
module.info.nl
(42 B)
📄
module.info.nl.auto
(129 B)
📄
module.info.no
(37 B)
📄
module.info.no.auto
(117 B)
📄
module.info.pl
(0 B)
📄
module.info.pl.auto
(177 B)
📄
module.info.pt
(0 B)
📄
module.info.pt.auto
(165 B)
📄
module.info.pt_BR
(49 B)
📄
module.info.pt_BR.auto
(122 B)
📄
module.info.ro
(0 B)
📄
module.info.ro.auto
(179 B)
📄
module.info.ru
(50 B)
📄
module.info.ru.auto
(241 B)
📄
module.info.sk
(0 B)
📄
module.info.sk.auto
(162 B)
📄
module.info.sl
(0 B)
📄
module.info.sl.auto
(157 B)
📄
module.info.sv
(0 B)
📄
module.info.sv.auto
(162 B)
📄
module.info.th
(0 B)
📄
module.info.th.auto
(307 B)
📄
module.info.tr
(0 B)
📄
module.info.tr.auto
(168 B)
📄
module.info.uk
(0 B)
📄
module.info.uk.auto
(295 B)
📄
module.info.ur
(0 B)
📄
module.info.ur.auto
(254 B)
📄
module.info.vi
(0 B)
📄
module.info.vi.auto
(200 B)
📄
module.info.zh
(0 B)
📄
module.info.zh.auto
(137 B)
📄
module.info.zh_TW
(0 B)
📄
module.info.zh_TW.auto
(143 B)
📄
save_afile.cgi
(358 B)
📄
save_alias.cgi
(2.99 KB)
📄
save_ffile.cgi
(677 B)
📄
save_forward.cgi
(299 B)
📄
save_rfile.cgi
(995 B)
📄
save_simple.cgi
(2.1 KB)
📄
save_vacation.cgi
(1.05 KB)
📄
save_vfile.cgi
(774 B)
📁
ulang
Editing: filter.pl
#!/usr/bin/perl # filter.pl # read sendmail module config $p = -l $0 ? readlink($0) : $0; $p =~ /^(.*)\/[^\/]+$/; if (open(CONF, "<$1/config")) { while(<CONF>) { if (/^(\S+)=(.*)/) { $config{$1} = $2; } } close(CONF); } if (!$config{'sendmail_path'}) { # Make some guesses about sendmail if (-x "/usr/sbin/sendmail") { %config = ( 'sendmail_path' => '/usr/sbin/sendmail' ); } elsif (-x "/usr/lib/sendmail") { %config = ( 'sendmail_path' => '/usr/lib/sendmail' ); } else { die "Failed to find sendmail or config file"; } } # read headers and body $fromline = <STDIN>; while(<STDIN>) { $headers .= $_; s/\r|\n//g; if (/^(\S+):\s+(.*)/) { $header{lc($1)} = $2; } elsif (!$_) { last; } } while(<STDIN>) { if ($_ eq ".\n") { # Single line with a . confuses SMTP $body .= ". \n"; } elsif ($_ eq ".\r\n") { $body .= ". \r\n"; } else { $body .= $_; } } # read the filter file if (open(FILTER, "<".$ARGV[0])) { while(<FILTER>) { s/\r|\n//g; if (/^(\S+)\s+(\S+)\s+(\S+)\s+(.*)$/) { push(@filter, [ $1, $2, $3, $4 ]); } elsif (/^(\S+)\s+(\S+)$/) { push(@filter, [ $1, $2 ]); } } close(FILTER); } else { print STDERR "Filter file $ARGV[0] does not exist!\n"; exit 1; } # run the filter to find the first matching rule open(LOG, ">>$ARGV[0].log"); foreach $f (@filter) { local $field = $f->[2] eq 'body' ? $body : $header{$f->[2]}; local $st = 0; if ($f->[0] == 0) { $st = ($field !~ /$f->[3]/i); } elsif ($f->[0] == 1) { $st = ($field =~ /$f->[3]/i); } elsif ($f->[0] == 2) { $st = 1; } if ($st) { # The rule matched! if ($f->[1] =~ /^\//) { # Write to a file open(MAIL, ">>$f->[1]") || die "Failed to open $f->[1] ; $!"; print MAIL $fromline; } else { # Forward to another address open(MAIL, "|$config{'sendmail_path'} ". quotemeta($f->[1])); } print MAIL $headers; print MAIL $body; close(MAIL); $now = localtime(time()); print LOG "[$now] [$header{'from'}] [",join(" ",@$f),"]\n"; last; } }
Upload File
Create Folder