Edito
Voila voila, je refais mon infra… Et j'ai donc envie de participer a une oeuvre commune :
Antoine.
Pub
Désolé de vous incommoder avec cela, c'est un mal aujourd'hui nécessaire. Je le souhaite juste utile, on verra.
Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
docs:linuxeries:asterisk:antispam [2014/03/15 14:13] 127.0.0.1 édition externe |
docs:linuxeries:asterisk:antispam [2014/03/15 17:36] (version actuelle) |
||
---|---|---|---|
Ligne 90: | Ligne 90: | ||
exten => s,n,AGI(localbwlist,${CALLERID(num)},"LOCALBLACKLISTRC","/usr/local/etc/asterisk_blacklist.txt","LOCALBLACKLISTEX") | exten => s,n,AGI(localbwlist,${CALLERID(num)},"LOCALBLACKLISTRC","/usr/local/etc/asterisk_blacklist.txt","LOCALBLACKLISTEX") | ||
exten => s,n,Set(SPAMDISCOVER="localblacklist") | exten => s,n,Set(SPAMDISCOVER="localblacklist") | ||
+ | exten => s,n,Set(SPAMSCODE=${LOCALBLACKLISTEX}) | ||
exten => s,n,GotoIf($["${LOCALBLACKLISTRC}" = "0"]?SPAM,1:) | exten => s,n,GotoIf($["${LOCALBLACKLISTRC}" = "0"]?SPAM,1:) | ||
exten => s,n,AGI(phonespamfilter.php) | exten => s,n,AGI(phonespamfilter.php) | ||
Ligne 323: | Ligne 324: | ||
$returncode=6; | $returncode=6; | ||
while(<BWLF>) { | while(<BWLF>) { | ||
- | chomp(); | ||
if(/^$ARGV[0];/ or /^$ARGV[0]$/) { | if(/^$ARGV[0];/ or /^$ARGV[0]$/) { | ||
+ | chomp(); | ||
$returncode=0; | $returncode=0; | ||
$returnstr=$_; | $returnstr=$_; | ||
Ligne 340: | Ligne 341: | ||
exit($returncode); | exit($returncode); | ||
</code> | </code> | ||
+ | |||
==== add2localbwlist ==== | ==== add2localbwlist ==== | ||
Ligne 353: | Ligne 355: | ||
use Asterisk::AGI; | use Asterisk::AGI; | ||
+ | use POSIX; | ||
use strict; | use strict; | ||
use warnings; | use warnings; | ||
Ligne 358: | Ligne 361: | ||
my $AGI = new Asterisk::AGI; | my $AGI = new Asterisk::AGI; | ||
my %input = $AGI->ReadParse(); | my %input = $AGI->ReadParse(); | ||
+ | |||
+ | # 0 Call number | ||
+ | # 1 Who want to add | ||
+ | # 2 With spam score | ||
+ | # 3 in which list (to avoid doublon...) but a fake... | ||
+ | # 4 in which file | ||
if(defined($ARGV[1]) and defined($ARGV[2])) { | if(defined($ARGV[1]) and defined($ARGV[2])) { | ||
- | if($ARGV[1] ne $ARGV[2]) { | + | if($ARGV[1] ne $ARGV[3]) { |
if(defined($ARGV[0]) and defined($ARGV[3]) and defined($ARGV[4])) { | if(defined($ARGV[0]) and defined($ARGV[3]) and defined($ARGV[4])) { | ||
- | open(BWF,">>$ARGV[4]") or die | + | open(BWF,">>$ARGV[4]") or die; |
- | my $nwl=$ARGV[0].";".$ARGV[1]; } | + | my $nwl=$ARGV[0].";".$ARGV[1]."(".$ARGV[2].");".strftime("%F %T", localtime $^T); |
- | print BWF $nwl."\b"; | + | print BWF $nwl."\n"; |
close(BWF); | close(BWF); | ||
+ | } | ||
} | } | ||
} | } | ||
Ligne 412: | Ligne 422: | ||
$returncode=4; $retstr="Bad argument"; | $returncode=4; $retstr="Bad argument"; | ||
} | } | ||
- | else(/^500 /) { $returncode=2; $retstr="Service Unavailable"; } | + | elsif(/^500 /) { $returncode=2; $retstr="Service Unavailable"; } |
elsif(/^200 /) { $returncode=0; $retstr="Number declared"; } | elsif(/^200 /) { $returncode=0; $retstr="Number declared"; } | ||
elsif(/^404 /) { $returncode=1; $retstr="Number not declared"; } | elsif(/^404 /) { $returncode=1; $retstr="Number not declared"; } | ||
Ligne 423: | Ligne 433: | ||
exit($returncode); | exit($returncode); | ||
</code> | </code> | ||
+ | |||
+ | ====== Remerciments ====== | ||
+ | |||
+ | * Daniel de chez Tootai.net | ||
+ | * fr.spampages.info.pl chez qui je vais lachement recuperer des infos | ||
+ | * [[https://stebalien.com/posts/2008/06/vcard-viewer-perl-script/|Stebalien]] qui m'a appris a jouer avec les vcard | ||
+ | * [[http://tanghus.net/2012/04/backup-owncloud-calendar-and-contacts/|Tanghus]] qui m'a montre comment backup les vcard d'un Owncloud :) |