Перейти до

Пулл IP-адресов ПриватБанка для настройки АПИ (Privat24).


Рекомендованные сообщения

  • Відповіді 56
  • Створено
  • Остання відповідь

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Привет всем. Настраиваю возможность пополнения счета абонентами из Личного кабинета с помощью АПИ приват24. Включил, работает. Но проблема вот в чем:   1. Абоненты без интернета не могут попасть в

вот так лучше?)) поменял цвет

Почерпнул идею и список хостов отсюда, и решил здесь и поделиться. Скрипт для микротика: {     :local listname "hosts_permit";     :local newip;     :local ips;     :local globips;     :local doloop

Posted Images

Проблема всех скриптов - отсутствие диагностики. Стоит по какой-либо причине отвалиться ресолверу - до следующего запуска скрипта фишка не работает.

 

И чисто системно. Второй файл с IP стоит держать для того, что бы при очередном запуске скрипта новые полученные IP сравнивать с предыдущим списком, и обновлять фаервол только в случае его изменения.

 

Ну и чисто алгоритмический ход с ipset. Лучше создавать новую цепочку, потом свопить ее с рабочей, и удалять старую. Так-называемое "неисчезающее обновление).

Ссылка на сообщение
Поделиться на других сайтах

Проблема всех скриптов - отсутствие диагностики. Стоит по какой-либо причине отвалиться ресолверу - до следующего запуска скрипта фишка не работает.

 

И чисто системно. Второй файл с IP стоит держать для того, что бы при очередном запуске скрипта новые полученные IP сравнивать с предыдущим списком, и обновлять фаервол только в случае его изменения.

 

Ну и чисто алгоритмический ход с ipset. Лучше создавать новую цепочку, потом свопить ее с рабочей, и удалять старую. Так-называемое "неисчезающее обновление).

 

Так помогите человеку. Понятно что мыслей и умных слов много. А по делу как обычно "0".  :huh:

Ссылка на сообщение
Поделиться на других сайтах

 

Проблема всех скриптов - отсутствие диагностики. Стоит по какой-либо причине отвалиться ресолверу - до следующего запуска скрипта фишка не работает.

 

И чисто системно. Второй файл с IP стоит держать для того, что бы при очередном запуске скрипта новые полученные IP сравнивать с предыдущим списком, и обновлять фаервол только в случае его изменения.

 

Ну и чисто алгоритмический ход с ipset. Лучше создавать новую цепочку, потом свопить ее с рабочей, и удалять старую. Так-называемое "неисчезающее обновление).

 

Так помогите человеку. Понятно что мыслей и умных слов много. А по делу как обычно "0".  :huh:

 

 

Помочь с чем? Подсказать о существовании команды cmp, или опции swap у ipset? Или в чем помочь?

Ссылка на сообщение
Поделиться на других сайтах

Подозреваю, что под помощью понимается показать команды. Не проблема.

 

1. Проверка изменения списка.

....
/usr/local/bin/dig +short -f файл_1 | grep '\([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\}' | sort > /path.to/iplist_new.dat

# Compare lists
if cmp -s /path.to/iplist_new.dat /path.to/iplist.dat ; then
  # nothing new
  rm /path.to/iplist_new.dat
  exit 0
fi

# different - process
mv /path.to/iplist_new.dat /path.to/iplist.dat
cat /path.to/iplist.dat | xargs -L1 $ADD
....
Ссылка на сообщение
Поделиться на других сайтах

По поводу свапа можно написать так:

....
ipset create liqpaynew

[..... add to liqpaynew set ....]

ipset swap liqpaynew liqpay
ipset destroy liqpaynew
....
Відредаговано vop
Ссылка на сообщение
Поделиться на других сайтах
Опубліковано: (відредаговано)

Итак,
Имеется 2 файла: /etc/PRIVATBANK_hosts и /etc/PRIVATBANK_ips (что в файлах - итак понятно: на пару постов выше список хостов, и потом список IP'шек, которые получатся в результате отработки скрипта.
 
Фрагмент конфига pf.conf :

#Tables 
table <PRIVATBANK_ips> persist file "/etc/PRIVATBANK_ips"

скрипт, который в crontab будет вертеться каждые 30 минут, назовем его hoststoips :

#!/bin/sh
#
#pfctl -t <PRIVATBANK_ips> -T flush        
#очищаем табличку <PRIVATBANK_ips>, но в моем варианте это не нужно, 
#так как скрипт который находится ниже просто заменяет содержимое 
#файла /etc/PRIVATBANK_ips новыми IP'шками, 
#которые скрипт получает путем преобразования доменов из файла /etc/PRIVATBANK_hosts
dig +short -f /etc/PRIVATBANK_hosts | grep '\([[:digit:]]\{1,3\}\.\)\{3\}[[:digit:]]\{1,3\}' > /etc/PRIVATBANK_ips 

Осталось только добавить правила в pf.conf, которые разрешат подсети 10.0.0.0\20 (предположим, что это должники) ходить на адреса из таблицы <PRIVATBANK_ips>.
Правильно все сделал?
Помогите, пожалуйста, правильно эти правила написать!
Уже кучу вариаций перепробовал, с правилами что-то не так, не пускает на IP из таблички.
Заранее благодарю за помощь!

Відредаговано Archy_k
Ссылка на сообщение
Поделиться на других сайтах
  • 3 weeks later...

Дело ясное, что дело тёмное!!!

В итоге скажите мне, господа провайдеры и операторы, хоть кто-нибудь...

у Вас получилось это настроить вот чтоб система оплаты через Прива24 работала для должников путем открывания доступа на IP приватбанка???

(костыли, типа включения интернета должнику на 15 минут, при нажатии на кнопку пополнить -> Приват24 - не интересуют)

################################################################################################################

Хоть у кого-то это работает, путем обновления IP скриптом в кроне каждые сколько-то минут и открыт доступ на таблицу этих адресов?

Ссылка на сообщение
Поделиться на других сайтах
  • 1 month later...

Почерпнул идею и список хостов отсюда, и решил здесь и поделиться. Скрипт для микротика:

{
    :local listname "hosts_permit";
    :local newip;
    :local ips;
    :local globips;
    :local doloop true;

    :local thehosts {"www.liqpay.com";
        "liqpay.com";
        "static.liqpay.com";
        "ecommerce.liqpay.com";
        "fonts.googleapis.com";
        "ajax.googleapis.com";
        "themes.googleusercontent.com";
        "www.google-analytics.com";
        "google-analytics.com";
        "ssl.google-analytics.com";
        "widget.siteheart.com";
        "client.siteheart.com";
        "clients.siteheart.com";
        "static.siteheart.com";
        "seal.globessl.com";
        "globessl.com";
        "privat24.ua";
        "www.privat24.ua";
        "privat24.privatbank.ua";
        "privatbank.ua";
        "qrapi.privatbank.ua";
        "api.privatbank.ua";
        "stats.g.doubleclick.net";
        "www.googleadservices.com";
        "fonts.gstatic.com";
        "login.privatbank.ua"};

    /ip firewall address-list remove [find list=$listname];
    :foreach hostname in=$thehosts do={
        :set ips;
        :set doloop true;
        :do {
            :set newip [:resolve $hostname];
            :if ( ("|" . [:find $ips $newip -1] . "|") = "||" ) do={
                :set ips ($ips, $newip);
            } else={
                :set doloop false;
            }
        } while=( $doloop );
        :foreach ti in=$ips do={
            :if ( ("|" . [:find $globips $ti -1] . "|") = "||" ) do={
                /ip firewall address-list add address=$ti list=$listname comment=$hostname;
            } else={
                /ip firewall address-list set [find address=$ti list=$listname] comment=( [/ip firewall address-list get [find address=$ti list=$listname] comment] . ", " . $hostname);
            }
            :set globips ($globips, $ti);
        }
    }
}
Відредаговано amokkatlocal
  • Thanks 1
Ссылка на сообщение
Поделиться на других сайтах

Осторожно со скриптом, он у меня все адреслисты почистил.

Переменная в строке

/ip firewall address-list remove [find list=$list];

не резолвится.

ROS 6.30.2

Ссылка на сообщение
Поделиться на других сайтах

Осторожно со скриптом, он у меня все адреслисты почистил.

Переменная в строке

/ip firewall address-list remove [find list=$list];

не резолвится.

ROS 6.30.2

Действительно фигня какая-то на 6 версии с "$list". Заменил в оригинальном посте имя переменной на "listname".

Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...
Linux

# iptables -A FORWARD -m set --match-set liqpay dst -j ACCEPT
# iptables -A FORWARD -m set --match-set liqpay src -j ACCEPT
# ipset create liqpay hash:ip timeout 600


# cat /usr/net-conf/liqpay
#!/bin/bash

while IFS= read -r line; do

dig +short $line > /var/run/liqpay_tmp_ip

while IFS= read -r line2; do
ipset add liqpay -exist [$line2]
done < /var/run/liqpay_tmp_ip

done < /usr/net-conf/liqpay_list

exit 0



# cat /usr/net-conf/liqpay_list
api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
coub.com
js.honeybadger.io
coubsecureassets-a.akamaihd.net
ces.coub.com
coubsecure-a.akamaihd.net
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua


# cat /etc/crontab
*/5 * * * * root /usr/net-conf/liqpay

Відредаговано fet4
Ссылка на сообщение
Поделиться на других сайтах
  • 3 months later...

Можно еще и так:

 

#!/bin/sh


p=`cat /root/script/paysystem.txt`


/usr/local/bin/dig +short $p > /root/script/ipaysys.txt



  for i in `cat /root/script/ipaysys.txt`;
       do /sbin/ipfw table 24 add $i;
       done

paysystem.txt

api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
coub.com
js.honeybadger.io
coubsecureassets-a.akamaihd.net
ces.coub.com
coubsecure-a.akamaihd.net
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua

Cron

*/5 * * * * root /root/script/ipaysys.sh

Ну и там

 ipfw add 24 allow ip from any to "table(24)"
 ipfw add 24 allow ip from "table(24)" to any 
Відредаговано loki
Ссылка на сообщение
Поделиться на других сайтах

#!/bin/csh

# Automated resolver for domains
# PrivatBank payment service
# Allow for denied users


set DOMAINS = "secure.privatbank.ua st.privatbank.ua ecommerce.liqpay.com static.liqpay.com www.secure.privatbank.ua www.st.privatbank.ua www.ecommerce.liqpay.com www.static.liqpay.com fonts.googleapis.com www.fonts.googleapis.com"
set DNS = "@8.8.8.8"
set TABLE = 10

foreach domain ($DOMAINS)
dig -4 -t A +short $DNS $domain | grep '^[0-9]' | xargs -I {} -L 1 ipfw " -q table $TABLE add {}/32"
end

ipfw -q table $TABLE delete 0.0.0.0/0
Ссылка на сообщение
Поделиться на других сайтах
  • 2 weeks later...

Добрий день, ніхто не пересікався з такою проблемою, коли в клієнта все заблоковано ІПТЕЙБЕЛСОМ в пулі без грошей, але відкрито всі дані домени 

 

 

ww.liqpay.com
liqpay
.com
static.liqpay.com
ecommerce
.liqpay.com
fonts
.googleapis.com
ajax
.googleapis.com
themes
.googleusercontent.com
www
.google-analytics.com
google
-analytics.com
ssl
.google-analytics.com
widget
.siteheart.com
client
.siteheart.com
clients
.siteheart.com
static.siteheart.com
seal
.globessl.com
globessl
.com
privat24
.ua
www
.privat24.ua
privat24
.privatbank.ua
privatbank
.ua
qrapi
.privatbank.ua
www
.privat24.ua
api
.privatbank.ua
stats
.g.doubleclick.net
www
.googleadservices.com
fonts
.gstatic.com

то приват 24 відкривається а лікпей біла сторінка.

НАС ДЕБІАН, конф ІПТЕЙБЕЛСА прикріпляю.

https://www.dropbox.com/sh/xrye1geg87yonam/AABUxUfFFs-TI4oR1fgS1Dm7a?dl=0

І в чому вся загадка що після ребуду наса ЛІКПЕЙ працює 2-3 дня потім біла сторінка.

По дебагу вискакує ajax.googleapis.com але він прописаний в ІПТЕЙБЕЛСІ.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 months later...

для линукса

 

#!/bin/bash


DIG=`which dig`
IPSET=`which ipset`
IPSETNAME="paysystem"


SRCDATA=`cat /opt/firewall/paysystem.txt`
RESULT="/opt/firewall/ipaysys.txt"

$DIG +short $SRCDATA > $RESULT
$IPSET -N $IPSETNAME iphash -exist
for i in `cat $RESULT`;
do
$IPSET add $IPSETNAME $i -exist 2>/dev/null;
done

результат попадает в ipset paysystem

 

на выходе 

http://joxi.ru/E2pBeovfByed5r?d=1

Відредаговано ldemiurg
Ссылка на сообщение
Поделиться на других сайтах
  • 6 months later...

спрашивали про список, на данный момент он самый актуальный

Ссылка на сообщение
Поделиться на других сайтах

Ага, спасибо!  ^_^

Непонятно зачем coub.com, наверное что бы хомяки не скучали при отрицательном  :D

api.privatbank.ua
login.privatbank.ua
privat24.privatbank.ua
www.privat24.ua
privat24.ua
liqpay.com
www.liqpay.com
static.liqpay.com
ecommerce.liqpay.com
fonts.googleapis.com
ajax.googleapis.com
my-payments-p24.privatbank.ua
themes.googleusercontent.com
www.google-analytics.com
google-analytics.com
ssl.google-analytics.com
widget.siteheart.com
static.siteheart.com
www.googleadservices.com
stats.g.doubleclick.net
googleads.g.doubleclick.net
qrapi.privatbank.ua
coub.com
js.honeybadger.io
coubsecureassets-a.akamaihd.net
ces.coub.com
coubsecure-a.akamaihd.net
socauth.privatbank.ua
www.googletagmanager.com
st.privatbank.ua
services.privatbank.ua
mypayments.privatbank.ua
client.siteheart.com
fonts.gstatic.com
esapi.siteheart.com
crm.privatbank.ua
Відредаговано -VaSaK-
Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від ADimka
      Здам в оренду  IP v4 (PA, /24 - /21).
      Безготівка з ПДВ.
      /24 - 4000 гривень на місяць,
      /22 - 15000 гривень на місяць.
    • Від TRB
      Купимо IP-адреси /23 - /24 PA або PI.
      Деталі в осибистих повідомленнях. 
    • Від alexeya
      Сдам в аренду 2 блока /24. Цена за один блок 750$ в год.
    • Від VAndrey
      Доброго дня!
      Порадьте альтернативу -  порядного LIRa. І чи варто міняти?
      Багато років обслуговувався в LIRa НетАссіст. Ніколи нічого поганого не можу за них сказати. Тільки респект. Завжди все якісно, швидко і порядно. Тільки найкращі відгуки. Всім їх радив!
      Але окрім якісного обслуговування є ще й ціна.
      Вчора прийшов лист від них про підняття цін вдвіччі!?!? Ціна при цьому ж звісно в євро і разом із курсом також зростала щороку.
      Обгрунтування, бо за багато років зросла ціна на електроненергію,  зарплата  (так і курс евро зріс,  відповідно і відрахування LIRу).
      Ну і ще зросли відрахування в RIPE і та й комісія (15%) за перерахування коштів RIPE, бо типу тепер потрібно перераховувати виключно з українських рахунків. Тут можна десь з чимось погодитися напевно. Але знову ж таки підняття вдвіччі в Євро,  то якось,  як на мене занадто.
      Розумію, що все дорожчає. Спробував переговорити,  бо менш стрімке підняття,  але безрезультатно.
       
      Хотів почути думки колег. Варто міняти LIRa? Якщо так,  то на кого?
    • Від YuriyH
      Продам енкодер 8 HDMI в IP , 1U
      Ціна 1400 дол з ПДВ , оплата в грн. по курсу , безготівка.

×
×
  • Створити нове...