Use 1 of 31 ua-strings for !drink, fix/update README
This commit is contained in:
8
README
8
README
@@ -7,7 +7,7 @@ aleesa-webapp
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
Клиент подписан на на redis-канал webapp. В этот канал пишет другой демоночек - aleesa-misc.
|
||||
|
||||
Формат протокола
|
||||
Формат протокола общения по redis pub-sub - см README от aleesa-misc.
|
||||
|
||||
|
||||
Плагин для работы с flickr
|
||||
@@ -46,6 +46,12 @@ https://home.openweathermap.org/api_keys . Free plan предлагает всё
|
||||
Когда api key будет создан, его нужно вписать в config.json в секцию openweathermap в качестве appid. На этом всё.
|
||||
|
||||
|
||||
Список строк UserAgent для модуля Drink
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
На сайте https://kakoysegodnyaprazdnik.ru/ умеют банить по useragent-у чем-то им не угодил UA от Mojo::Client. Пришлось
|
||||
прикрутить список из 31 штуки Browser UserAgent string, по одному на каждый день недели.
|
||||
|
||||
|
||||
Как это запустить?
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
Понадобится perl, cpanm и local::lib, а также несколько разных devel-пакетов для разных библиотек. Как правило, это
|
||||
|
||||
31
data/useragents.txt
Normal file
31
data/useragents.txt
Normal file
@@ -0,0 +1,31 @@
|
||||
Mozilla/5.0 (Macintosh; Intel Mac OS X 12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36 OPR/83.0.4254.27
|
||||
Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.182 Safari/537.36 Edg/88.0.705.81
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.114 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36
|
||||
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.2 Safari/605.1.15
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36 Edg/95.0.1020.44
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 OPR/82.0.4227.50
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36 Edg/97.0.1072.55
|
||||
Mozilla/5.0 (Macintosh; Intel Mac OS X 12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36 Edg/97.0.1072.69
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36 Vivaldi/4.3
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 YaBrowser/22.1.0 Yowser/2.5 Safari/537.36
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0
|
||||
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.1 Safari/605.1.15
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:96.0) Gecko/20100101 Firefox/96.0
|
||||
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0
|
||||
Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Vivaldi/3.5
|
||||
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko
|
||||
Mozilla/5.0 (Windows NT 10.0; WOW64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36 OPR/83.0.4254.27
|
||||
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
|
||||
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36 OPR/83.0.4254.27
|
||||
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36 Vivaldi/4.3
|
||||
Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:91.0) Gecko/20100101 Firefox/91.0
|
||||
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:97.0) Gecko/20100101 Firefox/97.0
|
||||
@@ -33,6 +33,41 @@ my @MONTH = qw (yanvar fevral mart aprel may iyun iyul avgust sentyabr oktyabr n
|
||||
my $c = LoadConf ();
|
||||
my $cachedir = $c->{cachedir};
|
||||
|
||||
my @useragents = _get_ua_list ();
|
||||
|
||||
sub _get_ua_list {
|
||||
my $file = $c->{useragentfile};
|
||||
my $file_opened = 1;
|
||||
|
||||
open my $FILEHANDLE, '<', $file || do {
|
||||
carp "[ERROR] No browser useragent list at $file: $OS_ERROR\n";
|
||||
$file_opened = 0;
|
||||
};
|
||||
|
||||
my @ua_list;
|
||||
|
||||
if ($file_opened) {
|
||||
while (my $str = <$FILEHANDLE>) {
|
||||
chomp $str;
|
||||
next unless $str eq '';
|
||||
push @ua_list, $str;
|
||||
}
|
||||
|
||||
close $FILEHANDLE; ## no critic (InputOutput::RequireCheckedSyscalls
|
||||
return @ua_list;
|
||||
}
|
||||
|
||||
if ($#ua_list < 31) {
|
||||
carp "[ERROR] Useragent list in $file have less than 31 enties, discarding it\n";
|
||||
$#ua_list = -1;
|
||||
} elsif ($#ua_list > 31) {
|
||||
carp "[INFO] Useragent list in $file have more than 31 enties, truncating it to 31 entries\n";
|
||||
$#ua_list = 31;
|
||||
}
|
||||
|
||||
return @ua_list;
|
||||
}
|
||||
|
||||
sub urlencode {
|
||||
my $str = shift;
|
||||
|
||||
@@ -197,6 +232,14 @@ sub Drink {
|
||||
);
|
||||
# just to make Mojo::UserAgent::Cached happy
|
||||
$ua->logger (Mojo::Log->new (path => '/dev/null', level => 'error'));
|
||||
my $useragent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36';
|
||||
|
||||
if ($#useragents > 0) {
|
||||
$useragent = $useragents [ (localtime ()) [3] ];
|
||||
}
|
||||
|
||||
$ua->transactor->name ($useragent);
|
||||
|
||||
$r = $ua->get ($url => {'Accept-Language' => 'ru-RU', 'Accept-Charset' => 'utf-8'})->result;
|
||||
|
||||
if ($r->is_success) {
|
||||
|
||||
Reference in New Issue
Block a user