Перейти до

UHW


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

 UHW крутая штука. Я все для 172.32.0.1 сделал как в FAQ. Но когда захожу на UHW постоянно резолв на ISP_URL=  указанном ini файле. 

видно что то где то не до крутил или есть какие то нюансы.  

На данном этапе на NAS поднят nginx(хотя лучше squid какие бы посылы не были бы на 80 порт он выдает страничку но я не нашел как отредактировать error станици сквида и потому пришлось перейти на nginx)  и на  (81 порт) резолвяться 172.32.0.0 и клиенты у который отключен интернет или полностью или в по абон плате. На страничка 404 и 403 500 ссылки на кабинет и анкету подключения(они на сервере билинга) вот хочу прикрутить MAC счастье. Это мой последний квест перед тем как нас переместиться в уютную коробку на чердак).  

 

 

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

 

 UHW крутая штука. Я все для 172.32.0.1 сделал как в FAQ. Но когда захожу на UHW постоянно резолв на ISP_URL= указанном ini файле. 
 
Особо UHW не ковырял. Но когда хотел у себя его запустить, тоже случилось такая весщ... Помню, на этом и тормазнулся.... Пока времени не было разбираться...
Ссылка на сообщение
Поделиться на других сайтах

А разрешить трафик по UDP 53 для подсети неизвестных MAC сквозь локальный DNS? Чем они резолвить ISP_URL должны?

Тем более в NAT они не попадают и не надо.

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

хм... почему же он кидает на сайт указанный в  ISP_URL??? 

т.е. абонент, левый допустим, или не левый но с новым MAC (компьютер поменял напр.), открывает например uhw.myisp.com  но редиректиться на сайт указанный в ISP_URL

что то моя твоя не понимать )))

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

хм... почему же он кидает на сайт указанный в ISP_URL???

Эммм... был не прав.... прошу меня извинить - нагрузился, че-то на GOOD_URL/BAD_URL из OpenPayz :facepalm:

 

Редирект на ISP_URL в UHW происходит в случае, если к странице UHW обращается пользователь с уже известным Ubilling и присвоенным кому-то MAC адресом из подсети не принадлежащей к UNKNOWN_MASK. Тоесть поменял себе юзер себе мак, либо нам позвонил и мы ему поменяли "четыре красных буквоцифры", после чего возможны два сценария его последующих действий:

 

1. либо юзер баран и не переполучил по DHCP свои новые настройки

2. либо юзер умный и скажем умеет страшную технологию "вкл-выкл сетевую либо перегрузить компьютер", но у него больной браузер который жестко кеширует страницы (угадайте на какой намекаю?)

 

В любом из этих случаев он остается на странице uhw либо добрый браузер отправит его туда при попытке опять зайти на vk.com или откуда там его редиректнуло на нее. В таком случае происходит следующее:

1. UHW проставит хидеры no-store, no-cache, must-revalidate и прочие теоретически подавляющие кеширование браузером

2. Смотрит, что у пользователя уже известный для Ubilling MAC раз оный не попадает под UNKNOWN_MASK и насильно его перенаправляет на наш сайт чтобы показать этому гаду - что вот он, есть уже твой интернет.

 

Слегка путано получилось но основную мотивацию для вот этих редиректов, вроде как обозрел. Надеюсь. Да и провайдеру должно быть приятно, что пользователь будет хоть иногда попадать на его сайт :)

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

ясно, посомтрим всё это дело... Я всё ни как этот сервис не запущу.... времени катострофически не хватает... (вот почему в сутках всего 24 часа?)

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

Я всё ни как этот сервис не запущу.... времени катострофически не хватает...

Думаю разница должна быть только в реализации заворота фаером. Остальное должно быть полностью переносимо.

И да - вы и так знаете, что я думаю про эти ваши.... iptables ^_^

 

(вот почему в сутках всего 24 часа?)

Поддержка 27-ми часов в сутках запланирована и уже находиться в стадии написания, но в релиз попадет не раньше 0.4.2

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

 

Думаю разница должна быть только в реализации заворота фаером. Остальное должно быть полностью переносимо.
 
Да да, в этом то вся изюменка, т.ё. загвостка.... я в этом (iptables) не силён, но есть некоторые идеи. 
 

 

И да - вы и так знаете, что я думаю про эти ваши.... iptables

надо признать, на мой взгляд, во фре это делается довольно элегантно...

 

 

 

Поддержка 27-ми часов в сутках запланирована и уже находиться в стадии написания, но в релиз попадет не раньше 0.4.2
 
вот нравится мне Ваш юмор ))))

 

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

 

 

Думаю разница должна быть только в реализации заворота фаером. Остальное должно быть полностью переносимо.
 
Да да, в этом то вся изюменка, т.ё. загвостка.... я в этом (iptables) не силён, но есть некоторые идеи. 

ну по iptables один из вариантов

$IPTABLES -t nat -A PREROUTING --src 10.90.90.0/24 --dst 0.0.0.0/0 -p tcp --dport 80 -j DNAT --to-destination 10.90.90.1:80

только есть один нюанс пока не придумал как решить. Если у клиента в браузере написано чтото типа  http://local.com.ua/forum то естественно клиент пытается зайти на 10.90.90.1/forum а uhw там естесно нету в остальном работает без проблем

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

 

Да да, в этом то вся изюменка, т.ё. загвостка.... я в этом (iptables) не силён, но есть некоторые идеи.

Ну вот - сами сознались :)

 

Как не сложно заметить у меня "к этим вашим линуксам" встроенная нелюбовь, только по трем причинам:

1. зубодробительный синтаксис iptables (без комментариев)

2. отсутствие нормального шейпера (ни слова о tc/htb - это полисер а не шейпер по факту. Шейпить им это точно такой же онанизм как полисить при помощи dummynet или шейпить при помощи altq)

3. их много разных

 

И если вопрос с п.1. хоть как-то пытаются решить ребята из Uncomplicated Firewall который ufw, глядишь чего-то и получится такое что не стремно ставить в продакшн.

С п.2. на сегодняшний день все довольно печально. Судя по всему, Луиджи Риццо и Марта Карбоне забили на дальнейшее поддержание порта dummynet под linux. Очевидно сей проект имел для них какой-то чисто академический интерес, хотя судя по ихним же бенчмаркам показывал отличную продуктивность. По п.3. думаю коментарии излишни - это просто какой-то адов зоопарк, в котором никогда нельзя быть уверенным что что-то где-то лежит в конкретном месте, что-то запущено под конкретным пользователем, и где-то к чему-то в очередной раз не приложил руку очередной Леннарт Поттеринг сломав нафиг все что могло и не могло сломаться.

 

 

вот нравится мне Ваш юмор ))))

Да какой там юмор. Это все наркотики :D

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

Огромно спасибо за ответы. Хочу добавить что 53 был открыт.  Я полностью открыл на 8.8.8.8 для всех, и на айпишник веб сервера. не жалко.  Вообще то все что я задумывал все получилось неделю сижу точу зубы. Осталось только OpenPayz прикрутить.

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

allow_url_fopen On On

 

;self activating enabled?
SELFACT_ENABLED=1
 
кнопки нет. (возможно это связанно из за того что dhcp.log я просто слил с nas на веб сервер и там нету никаких данный о айпишнике совпадающей с маской.)
Ссылка на сообщение
Поделиться на других сайтах

Хеее так и есть. Нужно будет dhcp.log как то затянуть на сервак ).  

 

Вопрос по ходу

;путь к RC скрипту isc-dhcpd

RC_DHCPD=/usr/local/etc/rc.d/isc-dhcpd  -- эта штука дергаеться системой при смене MAC адреса?? 

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

Добрый вечер. Бьюсь с редиректом на uhw. Уже не знаю куда смотреть. Может намудрил сильно. Ни как не хочет работать(

 

/etc/firewall.conf: 

# firewall command
/usr/local/sbin/softflowd -i em0 -n 178.214.xxx.xxx:42111
/usr/local/sbin/softflowd -i vlan4000 -n 178.214.xxx.xxx:42111
FwCMD="/sbin/ipfw -q"
 
${FwCMD} -f flush
 
# Networks define
${FwCMD} table 2 add 192.168.100.0/24
${FwCMD} table 2 add 192.168.200.0/24
${FwCMD} table 9 add 178.214.xxx.xxx
 
 
#NAT
${FwCMD} add 00001 pass all from any to any via lo0
${FwCMD} nat 1 config log if bge1 reset same_ports
${FwCMD} add 6000 nat 1 ip from table\(2\) to not table\(9\) via bge1
${FwCMD} add 6001 nat 1 ip from any to 178.214.xxx.xxx via bge1
 
#Shaper - table 4 download speed, table 3 - upload speed
${FwCMD} add 12001 pipe tablearg ip from any to table\(4\)
${FwCMD} add 12000 pipe tablearg ip from table\(3\) to any
 
# default block policy
${FwCMD} add 7101 allow ip from table\(47\) to table\(2\)
${FwCMD} add 7102 allow ip from table\(2\) to table\(47\)
${FwCMD} add 65533 deny all from table\(2\) to any via bge1
${FwCMD} add 65534 deny all from any to table\(2\) via bge1
${FwCMD} add 65535 allow all from any to any
 
# default block policy
#${FwCMD} add 10 deny all from table\(100\) to any
${FwCMD} add 3 allow ip from any to me dst-port 22
${FwCMD} add 7001 allow ip from any to me
${FwCMD} add 7002 allow ip from me to any
${FwCMD} add 7003 allow ip from any to 193.200.84.0/24
${FwCMD} add 7004 allow ip from 193.200.84.0/24 to any
 
# user redirect
${FwCMD} add 7000 fwd 127.0.0.1,80 tcp from not table\(3\) to any dst-port 1-65535
${FwCMD} add 100 fwd 127.0.0.1,81 tcp from 172.16.0.0/16 to any dst-port 80

 

 

/etc/rc.conf:

 

gateway_enable="YES"
ifconfig_em0="inet 192.168.100.1  netmask 255.255.255.0"
ifconfig_bge1="inet 178.214.xxx.xxx  netmask 255.255.255.224"
defaultrouter="178.214.xxx.xxx"
hostname="biiling"
cloned_interfaces="vlan4000"
ifconfig_vlan4000="inet 192.168.200.1 netmask 255.255.255.0 vlan 4000 vlandev em0"
ifconfig_vlan4000_alias0="inet 172.16.2.1 netmask 255.255.255.0"
#ifconfig_rl0_alias2="inet 10.10.0.1 netmask 255.255.255.0"
inetd_enable="YES"
keymap="ru.koi8-r"
sshd_enable="YES"
snmpd_enable="YES"
#named_enable="YES"
 
#########BILLING##########
#all needed services
mysql_enable="YES"
apache22_enable="YES"
dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_conf="/usr/local/etc/multinet/dhcpd.conf"
dhcpd_ifaces="em0 vlan4000"
firewall_enable="YES"
firewall_nat_enable="YES"
dummynet_enable="YES"
firewall_script="/etc/firewall.conf"
 
В личный кабинет при отрицательном балансе уводит, а с неизвестным маком не хочет.
 
И попутно вопрос в отчете по трафику появляется только один NAS а тот который я поднимаю для vlan4000 не видно, или его принципе не должно быть?
Ссылка на сообщение
Поделиться на других сайтах

Как же я этот поток сознания то пропустил без едких камментов? *Рука-лицо*

nightfly, on 22 Мар 2013 - 01:08, said:

Как не сложно заметить у меня "к этим вашим линуксам" встроенная нелюбовь, только по трем причинам:

1. зубодробительный синтаксис iptables (без комментариев)

2. отсутствие нормального шейпера (ни слова о tc/htb - это полисер а не шейпер по факту. Шейпить им это точно такой же онанизм как полисить при помощи dummynet или шейпить при помощи altq)

3. их много разных

 

И если вопрос с п.1. хоть как-то пытаются решить ребята из Uncomplicated Firewall который ufw, глядишь чего-то и получится такое что не стремно ставить в продакшн.

С п.2. на сегодняшний день все довольно печально. Судя по всему, Луиджи Риццо и Марта Карбоне забили на дальнейшее поддержание порта dummynet под linux.

1. Синтаксис прост и лаконичен, любой школьник по хендбуку разберется за 3 минуты.

2. Это вообще перл. Не ожидал что вы занимаясь биллингописательством не понимаете в принципе что есть шейпер, а что пилисер. И эти люди запрещают нам ковыряться в носу...

TC в linux умеет все, htb не более чем одна из дисциплин шейпинга коих поддерживается несколько десятков. И полисером он быть тоже умеет, в этом случае конфигурация вообще примитивной становится.

 

Про попытки приклеить яйца бегемота страусу(dummynet под linux) и использовать это в продакшене вообще нет слов. Каждый извращается как умеет.

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

1. Синтаксис прост и лаконичен, любой школьник по хендбуку разберется за 3 минуты.

К сожалению я не школьник и у меня нету времени читать документацию по не нужных мне вещах.

 

2. Это вообще перл. Не ожидал что вы занимаясь биллингописательством не

понимаете в принципе что есть шейпер, а что пилисер. И эти люди

запрещают нам ковыряться в носу...

Да - вот такое я быдло. Что еще?

 

 

 

TC в linux умеет все,

 

Ок. Пошли все дружно мастурбировать на него в присядку.

 

Про попытки приклеить яйца бегемота страусу(dummynet под linux) и использовать это в продакшене вообще нет слов.

Можете процитировать где я предлагаю использовать эти все полуфабрикаты в продакшне?

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

2 oberon85

 

Уже не знаю куда смотреть.

ipfw show посмотреть не судьба?

 

 

И попутно вопрос в отчете по трафику появляется только один NAS а
тот который я поднимаю для vlan4000 не видно, или его принципе не должно
быть?

NAS с одинаковыми Bandwidthd URL "клеятся" в один.

 

В любом случае bandwidhtd довольно сильно привирает в силу использования bpf, и я бы сильно на него не надеялся.

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

Ок. Пошли все дружно мастурбировать на него в присядку.

Это вовсе не обязательно. Мне просто интересно, откуда данный перл растет? "ни слова о tc/htb - это полисер а не шейпер по факту".
Ссылка на сообщение
Поделиться на других сайтах

Это вовсе не обязательно.

Да нет, почему же?  Ведь:

 

TC в linux умеет все

Давайте все вместе встанем в круг и забрызгаем tc своей радостью.

 

Мне просто интересно, откуда данный перл растет?

 

 

Думаю ход мысли самоочевиден если обратить внимание на ваше же

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

Что как-бы намекает на сущность и ориентацию tc.

 

Окей, а  можно полисить при помощи dummynet (наличие wfq/red/gred никто не отрицает?) или шейпить при помощи altq (обожаю самоцитирование).... а еще можно на камазе баб катать и цемент на стройку в матизе возить...

Есть такие понятия как "целесообразность" и "удобство" произрастающие из конкретного юзкейза. Возможно кому-то они и чужды.

А так да - можно и сексом с табуреткой заниматься. Не отрицаю.

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

а еще можно на камазе баб катать и цемент на стройку в матизе возить...

Нельзя.

1) Бабы в камаз не лезут, разве что 5ти рублевые. Нам таких ненужно.

2) Как обладатель свифта скажу - цемент в матизе возить нельзя. Ибо он еще меньше, а в свифте его возить тупо негде :)

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

Могу опровергнуть оба пункта основываясь на личном опыте :)

 

Что не исключает того факта что нецелевое использование конкретных инструментов само по себе является мудацтвом.

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

Добрый вечер! Устанавливал даный модуль, делал все по мануалу http://wiki.ubilling.net.ua/doku.php?id=uhw. В итоге при подключении  хоста с неизвестным МАС к сети не удается, даже получить айпишник, хотя в логах dhcp, даный МАС есть:

Sep  1 23:23:55  dhcpd: DHCPDISCOVER from 08:00:27:ea:42:7b via em1: network ourisp: no free leases

 

Если на хост с неизвестным МАС прописать вручную сетевые настройки из диапазона неизвестных, то шлюз пингуется 10.10.1.1

 

Подскажите пож, в чем может быть проблема. Спасибо.

 

/global.template

 

option domain-name "ourisp";
option domain-name-servers 8.8.8.8;
default-lease-time 3600;
max-lease-time 43200;
authoritative;
ddns-update-style none;
log-facility local7;
one-lease-per-client true;
deny duplicates;
 
shared-network ourisp {
 
{SUBNETS}
 
}
 
subnet 10.10.1.0 netmask 255.255.255.0 {
  default-lease-time 3600;
  option domain-name "isp";
  option subnet-mask 255.255.255.0;
  option domain-name-servers 10.10.1.1;
  option routers 10.10.1.1;
  range 10.10.1.100 10.10.1.254;
  }
 
 
 
 
rc.conf
ifconfig_em1="inet 172.16.32.1 netmask 255.255.224.0"
ifconfig_em1_alias0="inet 10.10.1.1 netmask 255.255.255.0"
 
ifconfig:
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
ether 08:00:27:31:11:f6
inet 172.16.32.1 netmask 0xffffe000 broadcast 172.16.63.255
inet 10.10.1.1 netmask 0xffffff00 broadcast 10.10.1.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
 
ipfw show
00005    0      0 fwd 127.0.0.1,80 ip from 10.10.1.0/24 to not me dst-port 80
06000    0      0 nat 1 ip from table(2) to not table(9) via em0
06001 1558 121757 nat 1 ip from any to 192.168.1.105 via em0
12000   52   6693 pipe tablearg ip from table(3) to any via em1 in
12001    0      0 pipe tablearg ip from any to table(4) via em1 out
65533    0      0 deny ip from table(2) to any via em1
65534    0      0 deny ip from any to table(2) via em1
65535 1380 330580 allow ip from any to any
 
 
 

 

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

 

Добрый вечер! Устанавливал даный модуль, делал все по мануалу http://wiki.ubilling...doku.php?id=uhw.

Не совсем.

 

Почему ваша сеть для неизвестного оборудования вылезла за shared-network?

 

 

Sep  1 23:23:55  dhcpd: DHCPDISCOVER from 08:00:27:ea:42:7b via em1: network ourisp: no free leases

Хорошим тоном было бы еще так сделать: http://wiki.ubilling.net.ua/doku.php?id=bsddhcpd

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

 

 

Добрый вечер! Устанавливал даный модуль, делал все по мануалу http://wiki.ubilling...doku.php?id=uhw.

Не совсем.

 

Почему ваша сеть для неизвестного оборудования вылезла за shared-network?

 

 

Sep  1 23:23:55  dhcpd: DHCPDISCOVER from 08:00:27:ea:42:7b via em1: network ourisp: no free leases

Хорошим тоном было бы еще так сделать: http://wiki.ubilling.net.ua/doku.php?id=bsddhcpd

 

Прошу прощения, это я под вечер уже тупить начал, изначально правильно было, сеть для неизвестных была в блоке shared-network под {SUBNETS}, исправил

Логгинг dhcp прописан как в доках 

Sep  2 09:51:59  dhcpd: DHCPDISCOVER from 08:00:27:ea:42:7b via em1: network ourisp: no free leases

Sep  2 09:52:26  last message repeated 3 times
Sep  2 09:52:43  dhcpd: WARNING: Host declarations are global.  They are not limited to the scope you declared them in.
Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Вхід

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

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

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

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

    • Від ppv
      Потрібно було витерти одну мережу, всі абоненти з неї були перенесені в іншу. Але світить що 6 IP зайняті, хоча вона повністю вільна.
       
      ID    Мережа/CID           RВсього IP        Використано IP ▾           Вільно IPСервіс
      6      172.16.70.0/23        506                    6                                       500
       
      Підкажіть як правильно це підчистити щоб видалити мережу.
    • Від sanyadnepr
      Приветствую всех.
      Подскажите пожалуйста где копнуть и нет ли проблемы со стороны протокола взаимодействия сити24 или возможно не учтена необходимая проверка в модуле сити24 в Ubilling, пока писал понял что похоже в проверке payID, но это не точно.  
      Недавно обнаружилось с сити24 начали прилетать дубликаты платежей, в целом платежей мало, два одинаковых запроса Pay с одинаковым transactionID и payID в одну секунду одному платежному ID при этом биллинг "думает" примерно чуть больше минуты и отвечает одним ответом <result>0</result>, сити24 утверждает что ответ они не получили и по протоколу дальше повторяет запросы дублем, биллинг ответ и так по кругу, сити24 спрашивает каким образом с одинаковым payID от сити24 билл продолжает обрабатывать запросы и пополнять абоненту счет раз в 5 минут примерно, на одну и туже сумму, ведь этот payID уже был обработан предполагают сити24 согласно протоколу.
      Конечно есть вопрос к сити24 зачем они дублем присылают два запроса, но они отвечают что эта ситуация учтена в протоколе и проблема на стороне биллинга, потому что он пополняет счет по уже обработанному одинаковому payID.
      При этом transactionID в дублях одинаковый, но с каждым новым дублем разный.
      Если зафаерволить запросы от сити24, но оставить возможность отвечать то после блокировки билл отправляет 2-3 минуты 6 ответов <account>0001</account>  <result>0</result>.
      После снятия блокировки, дубли и платежи нескольких проблемных абонентов прилетают так же по кругу, при этом и с некоторыми новыми пополнениями происходит аналогичная ситуация.
      В openpayz в платежах transactionID и не видно payID.
    • Від nightfly
      Ubilling 1.4.3 rev 9058 The Bladewood Grove
       
      Зміни в структурі БД. alter.ini: нові опції OPHANIMFLOW_ENABLED та OPHANIMFLOW_URLS котрі вмикають та керують інтеграцією з OphanimFlow. alter:ini: нова опція PHOTOSTORAGE_POSTPROCESSING, що вмикає післяобробку зображень при завантаженні в Сховище зображень. alter:ini: нова опція PHOTOSTORAGE_WATERMARK, що вмикає розміщення вотермарки на всіх зображеннях, що завантажуються. alter:ini: нова опція PHOTOSTORAGE_RECOMPRESS, що вмикає зміну компрессії завантажених зображень. alter:ini: нова опція PHOTOSTORAGE_AUTORESIZE, що вмикає автоматичне та лагідне масштабування зображень конячих розмірів. alter:ini: нова опція PHOTOSTORAGE_DRAWIMGINFO, що вмикає вдруковування в зображення відлагоджувальної інформації. alter.ini: нова опція ONDEMAND_CHARTS, що вмикає відкладене завантаження графіків завантаження користувацької смуги. userstats.ini: нова опція OPHANIM_ENABLED, що вмикає інтеграцію OphanimFlow в кабінеті користувача. Модуль Заздрість: тепер авторизаційні дані пристроїв, не відображаються в списку пристроїв. Модуль “Заздрість”: при створенні та редагуванні пристроїв, для полів “пароль” та “enable пароль” тепер використовуються інпути паролів. Модуль “Заздрість”: заздрісним пристроям додано нове поле “Порт”. Тепер в скриптах можна використовувати, відповідний макрос {PORT}. Модуль “Статистика трафіку користувача”: проведено радикальний рефакторинг. Модуль “Статистика трафіку користувача”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Статистика трафіку користувача”: виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Модуль “Статистика трафіку користувача”: додано можливість відображення графіків за останню годину з OphanimFlow. Модуль “Користувачі”: додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Модуль “Сховище зображень”: тепер додатково перевіряє завантажувані зображення на тему їх валідності. Модуль “Фінансові операції”: виправлено відображення суми платежів користувача. Remote API: новий виклик ophanimtraff, який просто бере і синхронізує локальну БД з віддаленими джерелами OphanimFlow. Remote API: виклик userbynum тепер також опційно містить поле з “Платіжним ID” користувача. Глобально: у всіх полях вводу паролів, окрім форми входу, тепер відображається елемент керування “показати/приховати” пароль. Кабінет користувача: в модулі “Трафік” додано опційну можливість, відображення трафіку отриманого з OphanimFlow. Кабінет користувача: в модулі “Трафік” виправлено проблему невірного відображення залишку коштів на кінець місяця, при використанні Ішимури. Кабінет користувача: в модулі “Відеоспостереження” для NVR WolfRecorder замінено розділювач попередньо заповнених даних авторизації. OpenPayz: додано frontend portmonemulti, для отримання платежів від різних контрагентів. Інформацію по контрагентам бере з біллінгу, також використовую розширену інформацію контрагента. Платіжна система в контрагенті мусить бути створена, як PORTMONE 1984tech: додано функціонал генерації RPZ для isc-bind, спасибі @misterromanbush  
      Повний чейнджлог
      Оновлена демка
       

    • Від mac
      Здається, після оновлення PHP 7.4 до PHP 8.2 feesharvester припинив працювати:
       
      /usr/local/bin/curl "http://127.0.0.1/billing/?module=remoteapi&key={SERIAL}&action=feesharvester" <br /> <b>Fatal error</b>: Uncaught TypeError: Unsupported operand types: string - string in {UBPATH}/billing/api/libs/api.fundsflow.php:570 Stack trace: #0 {UBPATH}/billing/modules/remoteapi/feesharvester.php(22): FundsFlow-&gt;harvestFees('2024-01') ...  
      Невеличке розслідування врешті з'ясувало, що це через наявність пробілу у деяких логінах абонентів. Як так сталося? Тому що інколи був неуважно додан трейлінг пробіл до номеру будинка і цей пробіл потрапив до логіну абоненту. Логін абоненту неможливо змінити ніяким чином штатними засобами. Я не розглядаю створення нового абонента для усунення помілки.

      Був обран такий шлях вирішення проблеми. Заміну функції php explode() знайшов у мережі. Мабуть це станеться в нагоді:

       
      diff api.fundsflow.php.bak api.fundsflow.php.new 559c559 < $eachfee = explode(' ', $eachline); --- > $eachfee = preg_split("~(?<!\\\\)(?:\\\\{2})*'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'(*SKIP)(*F)|\s+~s" , $eachline);  
    • Від Dilan
      Собственно ищу кто сделает такую связку с нуля под ключ. Тз высылаю в личку. Заранее спасибо.
×
×
  • Створити нове...