No Image

Aladdin diagnostix как пользоваться

СОДЕРЖАНИЕ
16 просмотров
04 мая 2020

Последние версии aksusbd, включающие в себя hasplm — не работают с 1С. Всё ставится на ура, но монитор не видит в сети ни лицензий, ни сервера. Единственно нормально заработавшей версией NetHASP оказалась 8.30…
После 2х дней шаманских плясок с бубном, перебором версий разных хаспов, курения тонн форумов и мануалов родилась эта статья. Выглядит как изобретение велосипеда, но на фоне леса различных версий софта и комбинаций вариантов конфигурации, думется целесообразным написать это:
Изначально нужно понимать, что мониторинг сети — дело не быстрое и нужно запастись терпением, ожидая результатов работы монитора «Aladdin AKS monitor».

Скачать с ftp.aladdin.com/pub/hasp/hl/linux соответствующие драйверы и скрипты:

ftp.aladdin.com/pub/hasp/hl/linux/hasplm_linux_8.30.tgz
ftp.aladdin.com/pub/hasp/hl/linux/HDD_Linux_dinst.tar.gz
ftp.aladdin.com/pub/hasp/hl/linux/HDD_RPM_RedHat_i386.tar.gz
всё распаковать и поставить:
1. распаковать и поставить aksusbd HDD_RPM_RedHat_i386.tar.gz, внутри папка HDD_RPM_RedHat_i386, в ней RPM — aksusbd-redhat-1.10-1.i386.rpm
выполняем от пользователя root:
#yum install ./aksusbd-redhat-1.10-1.i386.rpm
потом распаковываем HDD_Linux_dinst.tar.gz
заходим в папку HDD_Linux_dinst запускаем скрипт (с точкой в конце)
#./dinst.
Драйвер HASP ключа установлен.

HASPLM — менеджер лицензий:
распаковывать RPM, установить:

#yum install ./hasplm-redhat-8.30-1.i386.rpm
создаем файл /etc/hasplm/nethasp.ini
зайти в гноме Система->Администрирование->Cлужбы и включить/запустить
aksusbd и
если через 10-15 минут Aladdin AKS монитор не видит сервера лицензий нужно проверить наличи компонентов hasplm в etc/rc.d/init.d /usr/sbin
если сервер есть но в нем нет ключей HASP, то не подцепился aksusbd
вынуть ключ, подождать 15 сек, вставить обратно и дать команду:
#service aksusbd restart
#service hasplm restart
если не помогает — то нужно сделать следующее:
#yum remove ./aksusbd-redhat-1.10-1.i386.rpm
#yum install ./aksusbd-redhat-1.10-1.i386.rpm
зайти в папку HDD_Linux_dinst и запустить скрипт (с точкой в конце)
#./dinst.

вообще, когда менеджер лицензий работает, то диагностика выглядит так:
#cat /var/log/syslog/messages | grep aks
aksusbd[11111]: loaded, daemon version: 1.8.1, key API (USB) version: 3.85 (parallel driver not available)
# netstat -anp | grep aks
unix 2 [ ACC ] STREAM LISTENING 12239 2050/aksusbd /tmp/.aksusb
unix 3 [ ] STREAM CONNECTED 120221 2050/aksusbd /tmp/.aksusb
unix 3 [ ] STREAM CONNECTED 99401 2050/aksusbd /tmp/.aksusb
unix 3 [ ] STREAM CONNECTED 19200 2050/aksusbd /tmp/.aksusb
unix 2 [ ] DGRAM 12238 2050/aksusbd

# netstat -anp | grep hasp
udp 0 0 0.0.0.0:475 0.0.0.0:* 2082/hasplm
unix 3 [ ] STREAM CONNECTED 120220 2082/hasplm
unix 2 [ ] DGRAM 12315 2082/hasplm

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

HASP4 – надежная защита от пиратов

Пожалуй, самым надежным способом защиты программного обеспечения от пиратов на сегодняшний день являются аппаратные ключи. А самыми известными среди них – HASP4 от компании Aladdin Software Security R.D. Сами разработчики определяют HASP4 как мультиплатформенную аппаратно-программную инструментальную систему для защиты программ и данных от нелегального использования и несанкционированного распространения. Сегодня мы с вами, уважаемые читатели, подробно рассмотрим этот комплекс с точки зрения разработчика.

Итак, с предназначением системы HASP4 мы уже разобрались. Она защищает интеллектуальную собственность разработчиков и поставщиков программного обеспечения. Основой системы является аппаратный ключ, который присоединяется к компьютеру. Без этого небольшого устройства защищаемое программное обеспечение либо вообще не будет работать, либо будет иметь заданные разработчиками функциональные ограничения. На сегодняшний день компания выпускает три типа ключей – USB-брелок, LPT-ключ, PCMCIA-карта. В принципе, этот набор позволяет разработчикам программного обеспечения охватить всех потенциальных клиентов вне зависимости от используемых ими компьютеров.

В общем, принцип действия системы HASP4 таков. Аппаратный ключ присоединяется к определенному порту компьютера. Далее защищенная программа через специальный драйвер отправляет ему информацию, которая обрабатывается в соответствии с заданным алгоритмом и возвращается обратно. Если ответ ключа правильный, то программа продолжает свою работу. В противном случае она может выполнять любые действия, заданные разработчиками – например, переключаться в демонстрационный режим, блокируя доступ к определенным функциям.

У системы HASP4, в отличие от многих других комплексов защиты с помощью аппаратных ключей, есть ряд преимуществ. Вот они:

  • новейший ASIC-чип (для ключей LPT) или микроконтроллер (для ключей USB), выполненный по 1,2-микронной технологии и содержащий 2800 вентилей на кристалле;
  • встроенный криптопроцессор, который позволяет шифровать и дешифровать данные в режиме реального времени, причем ключ шифрования никогда не передается на выход ключа, что исключает возможность его перехвата;
  • возможность использования собственных функций обработки входной информации;
  • до 512 байт EEPROM-памяти, доступной как для чтения, так и для записи (из них 16 байт – управляющая память);
  • неизменяемый уникальный код разработчика, который обеспечивает использование каждого ключа только с продуктами определенной компании;
  • отсутствие элементов питания (за исключением HASP4 Time), что обеспечивает практически бесконечную работу ключа;
  • возможность каскадного подключения LPT-ключей друг на друга;
  • возможность подключения нескольких USB-ключей одновременно к одному компьютеру.

Линейка ключей HASP4

На сегодняшний день в линейке аппаратных ключей HASP4 присутствуют шесть моделей. Давайте кратко рассмотрим каждую из них.
HASP4 Standart – простые ключи. Они не имеют собственного уникального ID-номера и встроенной памяти. HASP4 Standart – самые дешевые ключи в линейке, а поэтому их можно использовать для защиты недорогих программ. Кроме того, эти ключи не требуют предварительного программирования и сразу готовы к поставке в составе защищенного программного обеспечения.

HASP4 M1 – ключи с уникальным ID-номером и защищенной перезаписываемой памятью объемом 112 байт. С помощью одного ключа этого типа можно защитить до 16 различных приложений. Кроме того, устройства HASP4 M1 имеют функцию дистанционного перепрограммирования Remote Update System (подробно на ней мы остановимся позже).
HASP4 M4 – в принципе, эти ключи отличаются от HASP4 M1 только б о льшим объемом памяти EEPROM (496 байт) и б о льшим числом программ, которые можно защитить с помощью одного устройства (до 112 приложений).
HASP4 Time – ключи со встроенными часами реального времени, показывающими текущую дату и время. Это предоставляет разработчикам программ дополнительные возможности по распространению своих продуктов. Так, например, с помощью устройств HASP4 Time можно обеспечить передачу программы на определенный срок (демоверсия), сдачу ее в аренду или лизинг с периодической оплатой за пользование и так далее. Кроме того, эти ключи содержат 496 байт защищенной перезаписываемой памяти, а также поддерживают функции Full Authorization System (управление доступом для нескольких приложений) и Remote Update System.
HASP4 Net – главной особенностью ключей этого типа является возможность защиты приложений в сети (доступные протоколы – IPX/SPX, NetBIOS, NetBEUI и TCP/IP). Достаточно только подключить ключ на любом компьютере (не обязательно на сервере), чтобы он начал свою работу. Устройства HASP4 Net могут ограничивать число пользователей, одновременно работающих с защищенной программой. Кроме того, эти ключи имеют память EEPROM объемом 496 байт и могут одновременно работать со 112 приложениями, а также поддерживают функции Full Authorization System и Remote Update System.
HASP4 PC-Card – модель ключа, предназначенная для портативных компьютеров, которую можно подключать к слоту PCMCIA. Вообще-то, возможности устройства этого типа практически идентичны возможностям ключей HASP4 M4.

Читайте также:  Как пишется слово виндовс по английски

HASP для разработчика

Для начала работы с системой компания, занимающаяся созданием программного обеспечения, должна приобрести HASP Developer’s Kit, то есть специальный набор разработчика. Он состоит из полной технической документации, утилит, необходимых для работы и демонстрационного ключа. Все это позволяет защитить как создаваемую, так и уже готовую программу.

Кстати, система HASP4 позволяет защищать ПО двумя способами. Первый из них – это HASP Envelope. Он применяется для уже готовых программ. Причем для его использования не обязательно даже иметь исходные коды продукта и разбираться в программировании. Эта схема защиты не представляет абсолютно никаких сложностей. Достаточно запустить специальную утилиту HASP Envelope, входящую в комплект разработчика, выбрать нужные исполняемые файлы (exe, dll, ocx), настроить параметры защиты (ограничение количества лицензий, времени использования или количества запусков, привязка к конкретному ключу, фоновые проверки наличия ключа во время работы программы и тому подобное), после чего нажать на кнопку Protect. Собственно, это все. Далее утилита обработает указанные файлы, закодирует их и встроит специальные антиотладочные и антитрассировочные средства. Естественно, что после этого запустить программу просто так уже нельзя – ее код зашифрован. Если же во время запуска приложения к компьютеру подключен нужный ключ, расшифровка файлов происходит автоматически.

Второй механизм защиты – HASP API. Суть его заключается в том, что разработчики в любом месте своего приложения могут обращаться к ключу с помощью специальных функций API. Результаты этих обращений маскируются в теле программы или библиотеке DLL. Таким образом можно реализовать полный цикл работы с ключом – например, проверить его наличие, прочитать или изменить содержимое памяти EEPROM, получить его ID-номер, просмотреть значение таймера (если он есть в ключе) и так далее. Конечно, использование этого механизма защиты требует внесения изменений в исходный код программы. А значит, удобнее всего его использовать в момент создания продукта, заранее определившись со способом защиты от пиратов. Кроме того, надежность защиты в этом случае во многом зависит от качества работы разработчиков приложения.

Кстати, специалисты компании Aladdin советуют комбинировать оба способа защиты программы с помощью системы HASP4. Осуществляется это следующим образом. Сначала в код разрабатываемого приложения встраиваются вызовы функций API, работающих с ключом. Ну, а после завершения работы над продуктом скомпилированные исполняемые файлы обрабатываются утилитой HASP Envelope. Таким образом, у нас получается двухуровневая защита, сломать которую очень и очень непросто.

После того как программный продукт полностью готов, его разработчики заказывают у Aladdin комплект ключей для реализации вместе с ним. При этом компании присваивается уникальный код, который в будущем будет "зашиваться" во все устройства для всех программ этой фирмы. Кстати, обратите внимание, что необходимо вернуть демонстрационный ключ, входящий в комплект разработчика, при получении первого же комплекта нормальных ключей. Ну, а дальше все уже просто. Полученные ключи при необходимости программируются, после чего можно приступать к реализации программного продукта.

Утилиты системы HASP4

В системе HASP4 предусмотрено несколько утилит для работы с аппаратными ключами. Они могут существенно облегчить жизнь как разработчиков защищаемого программного обеспечения, так и его пользователей. А поэтому давайте, хоть и кратко, рассмотрим наиболее полезные из них.

Aladdin DiagnostiX. Эта утилита фактически реализует механизм обратной связи. Ее главная задача – диагностика работоспособности всех ключей (в том числе и сетевых), работающих в системе. Кроме того, она позволяет устанавливать новые драйверы, а также настраивать конфигурацию для HASP4 Net. В дополнение к этому, DiagnostiX может генерировать отчеты, включающие всю информацию, связанную с устройствами Aladdin.

HASP Edit. Эта утилита предназначена для перепрограммирования ключей. Предназначена она только для разработчиков. HASP Edit позволяет узнать ID-номера ключа, изменить содержимое его памяти EEPROM, установить различные параметры защиты, настроить часы реального времени (только для HASP4 Time). Кроме того, эта утилита может шифровать блоки данных для включения их в исходный код при защите приложения. Все эти функции особенно важны, когда используется механизм защиты HASP API, или программа подготавливается для распространения нестандартным способом (аренда, лизинг, демоверсия).

Читайте также:  Mtk usb port появляется и пропадает

Remote Update System (RUS) – система дистанционного перепрограммирования. Она предназначена для удаленного изменения памяти аппаратных ключей. Система позволяет добавлять или удалять лицензии, а также изменять содержимое EEPROM. Все это нужно, когда разработчикам требуется перепрограммирование ключей, уже переданных клиентам. Принцип работы RUS таков. Разработчик запускает специальную программу, которая генерирует зашифрованный блок информации, привязанный к ID-номеру ключа клиента. Эти данные любым доступным способом отправляются пользователю, который запускает свою утилиту RUS, автоматически расшифровывающую информацию и обновляющую память ключа.

Full Authorization System (FAS) – система полного управления доступом. Она предназначена для автоматического лицензирования нескольких программ с помощью одного ключа. Обычно FAS работает совместно со схемой защиты HASP Envelope. Она позволяет настроить параметры и условия, при которых будет исполняться каждое приложение. В частности, можно ограничить число запусков программы, количество лицензий (для сетевых версий) и время окончания лицензии (для демоверсий). Также нужно отметить, что FAS является обязательной частью сетевой защиты с использованием ключа HASP4 Net.

Рассмотрев подробно систему защиты программ от пиратов HASP4, можно с уверенностью сказать, что на сегодняшний день она является одной из самых надежных на российском рынке. Кроме того, ее использование не доставит разработчикам ПО никаких сложностей, даже в том случае если программный код по каким-либо причинам недоступен. В принципе, и цену комплекта HASP Developer’s Kit (от 25 до 55 долларов в зависимости от модели ключа) нельзя назвать высокой. Правда, несколько огорчает стоимость ключей для пользователей. Согласитесь, что вряд ли кто-то согласится заплатить 15 долларов за ключ в дополнение к программе ценой в 20 долларов. Но зато для разработчиков серьезного (например, для бизнеса) программного обеспечения использование системы HASP4 является, пожалуй, наилучшим решением в области защиты своих разработок от пиратов.

Это все было касаемо серверной части, т.е. применяется на том компе куда воткнут ключик HASP4, на клиенте же, нужно в папке \192.168.1.103c$Program Files (x86)1cv82conf поправить файл nethasp.ini

Сделать запись
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.103, 192.168.1.3, 192.168.1.250, 192.168.1.99
NH_TCPIP_METHOD = TCP
NH_SERVER_NAME = admiral, it_progr, srvprss, it

тут указаны имена серваков и их ipадреса. Имена с учетом того как они описывались в файлах nhsrv.ini на серверах (см. выше).

Для защиты своих продуктов фирма «1C» использует аппаратный ключ защиты HASP4, присоединяемый к USB или LPT-порту компьютера. Для установки ключа HASP4 на операционные системы Microsoft Windows 98, ME, NT4, 2000, XP(x86/x64), 2003 Server(x86/x64), 2008 Server(x86/x64) или Vista (x86/x64) вам необходимо скачать и установить драйвер версии 4.116. Если вы планируете работать под управлением Windows 7(x86/x64), то рекомендуется использовать драйвер 5.90. Для успешной установки драйвера вам потребуются привилегии локального администратора, рекомендуется отключить любое защитное ПО (антивирус, брандмауэр).

Драйверы устанавливаются в консольном режиме, для этого необходимо запустить драйвер с параметром «-i». В случае, если на этом компьютере уже использовались ключи HASP, рекомендуется удалить предыдущую версию драйвера, запустив инсталляцию с ключом «-r».

Ключи защиты для 1С подразделяются на:

1. Однопользовательские (обязательно должны физически быть подключены к компьютеру, на котором запускается 1С)

модель HASP HL Basic (синего цвета), данный ключ имеет маркировку H4 M1 ORGL8, не имеет встроенной памяти и персонального ID, не хранит в себе никаких параметров и настроек. Поставляется продуктами имеющими лицензию на одно рабочее место.

2. Многопользовательские (ключ находится в сети, 1С может запускаться на любых компьютера в пределах локальной сети или домена)

Сетевые клиентские ключи включают серию HASP HL Net (красного цвета). Имеют внутреннюю память, в которой хранится количество лицензий, и уникальный ID. Существуют разновидности на 5, 10, 20, 50 и 100 пользователей. Имеет маркировку NETXX ORGL8, где ХX — количество лицензий (например NET5 ORGL8). Существуют также ключи на 300 и 500 пользователей которые имеют маркировку NET250+ ORG8A и NET250+ ORG8B. Поставляются с продуктами имеющими лицензию на 5 рабочих мест, а также отдельно, в виде дополнительных клиентских лицензий.

3. Серверные (обязательно должны физически быть подключены локально к компьютеру, на котором установлен и работает сервер агента 1С Предприятие)

Ключи для сервера 1С Предприятие бывают только локальные. 32-битная версия имеет ключ защиты HASP HL Pro (фиолетового цвета), который имеет внутреннюю память и уникальный ID. Имеет маркировку ENSR8, поставляется вместе с лицензией на сервер 1С Предприятие.

! Для 64-битного сервера используется ключ HASP HL Max (зеленого цвета) с внутренней памятью и уникальным ID. Имеет маркировку EN8SA и поддерживает также 32-битный сервер. Т.е. имея лицензию на 64-битный сервер можно, не меняя ключа, использовать 32-битную версию, но не наоборот.

Для работы однопользовательского и серверного ключа достаточно установить драйвер ключа защиты на локальной машине и вставить ключ защиты в локальный USB порт.

Для многопользовательского (сетевого) ключа защиты необходимо:

1. Установить драйвер ключа защиты на одну из машины в сети, которая будет являться сервером ключа — HASP4_driver_setup.zip

Читайте также:  Без доступа к интернету через роутер

2. Установить сервер (службу) ключа защиты на эту же машину — HASP_LM_setup.zip

3. Вставить ключ защиты в сервер в USB порт

4. Установить 1С на клиентские машины

Если во время установки драйверов возникли проблемы, выполните следующую последовательность действий.

• Удалите все компоненты HASP через «Панель управления — Установка/удаление программ».

• Остановите все службы, которые содержат в названии «Hasp» или «HLServer».

• Удалите все файлы aks*.*, «hardlock.sys» и «haspnt.sys» из папки c:windowssystem32drivers» (если они не используются другими приложениями).

• Изменение драйверов в «Диспетчере устройств»:

зайдите в «Панель управления» «Система»;

перейдите на вкладку «Оборудование» и откройте «Диспетчер устройств»;

выберите в меню «Показать скрытые устройства»;

раскройте пункт «Драйверы устройств не Plug and Play»;

удалите каждый из следующих пунктов, если они присутствуют: «Hardlock», « Haspnt», «HASP fridge.

• Попробуйте еще раз удалить драйверы с помощью команды «haspdinst –purge», а затем установить с помощью «haspdinst –i».

При включении / перезагрузке компьютера под управлением Windows XP из автозагрузки не загружается Сервер защиты с сообщением об ошибке: HASP Device Driver not installed (-100).

Возможная причина: Драйвер защиты загружается медленнее, чем Сервер защиты из автозагрузки. Решение: Вместо Сервера защиты (NHSRVW32.EXE) использовать Менеджер лицензий LMSETUP, устанавливаемый в качестве службы (Service) Windows. Менеджер лицензий LMSETUP доступен по адресу: http://www.aladdin.com/support/hasp/enduser.asp Подробности установки можно найти по адресу: http://v8.1c.ru/overview/release_13/

Работа с ключами по сети

Для работы с сетевыми ключами, помимо установки драйверов, вам еще потребуется установить License Manager (Менеджер лицензий) для каждого сетевого ключа. Менеджер лицензий — это утилита, которая служит связующим звеном между сетевым ключом и «1C», запускаемой на удаленной машине.

Для работы защищенного приложения на удаленной рабочей станции необходимо обеспечить беспрепятственный проход UDP- и TCP-пакетов по 475 порту в обе стороны. Также должны проходить и broadcast-пакеты. Если последнее требование по каким-либо причинам не выполняется, необходима настройка приложения через файл nethasp.ini (должен находиться в одной директории с исполняемым файлом) с целью отключения broadcast-механизма поиска ключа и явного указания

IP-адреса машины, обслуживающей ключ.

Пример файла nethasp.ini:

NH_SERVER_ADDR = 168.192.1.10 // ip-адрес компьютера, где расположен Менеджер лицензий.

Если часть маршрута между запускаемой программой и ключами HASP проходит через Интернет или на ключе более 100 лицензий, могут возникнуть проблемы с тайм-аутами при доставке пакетов. Время ожидания ответа можно регулировать с помощью параметров NH_SESSION и NH_SEND_RCV. По умолчанию они закомментированы, и их значение составляет 30 и 5 секунд соответственно. Таким образом, делается 6 попыток найти ключ по 5 секунд каждая. При необходимости вы можете увеличить эти параметры.

Менеджер лицензий не рекомендуется устанавливать его на компьютер с 2-мя и более сетевыми интерфейсами, так как это может вызвать некорректное функционирование Менеджера. Для решения данной проблемы следует:

• Перенести Менеджер лицензий на другую машину в сети.

• Отключить остальные сетевые интерфейсы.

• Также можно попробовать изменить метрики в свойствах протокола TCP/IP (первым будет использован интерфейс с меньшей метрикой), но результат в данном случае гарантировать нельзя.

Два и более менеджеров лицензий (License Manager) в сети

При наличии двух и более сетевых ключей не всегда достаточно разнести их по разным компьютерам. Следует выполнить настройку менеджеров лицензий. Каждый менеджер лицензий должен иметь уникальное имя, которое следует явным образом сообщить защищаемой программе. Рекомендуется выполнить аналогичную настройку и в случае использования сервера терминалов, даже при одном сетевом ключе.

На машине где установлен ключ находим файл nhsrv.ini в папке с менеджером лицензий. За имя сервера лицензий отвечает параметр NHS_SERVERNAMES, оно может состоять из латинских букв и цифр и содержать не более 7 символов.

После чего на клиентских машинах желательно отредактировать файл nethasp.ini, явным образом указав адреса и имена менеджеров лицензий:

NH_SERVER_ADDR = 192.168.0.10, 192.168.0.11

NH_SERVER_NAME = NAME1, NAME2

Утилита Aladdin Monitor разработана для осуществления централизованного администрирования приложений HASP License Manager и ключей сетевых ключей HASP.

Aladdin Monitor позволяет:

• Проверять наличие и свойства ключей HASP4 Net в сети.

• Отслеживать наличие и свойства Менеджеров лицензий в сети.

• Останавливать и запускать локальный Менеджер лицензий.

• Отслеживать лицензии, которые используются в данный момент.

Стоит учитывать, что сам по себе Aladdin Monitor может показать только наличие Менеджера лицензий на том или ином адресе. Ключ он сможет увидеть только после того, как защищенное приложение успешно откроет хотя бы одну сессию с ключом. Кроме того, Aladdin Monitor работает только по протоколу UDP, порт 475. Таким образом, отсутствие данных о ключе в мониторе еще не означает, что ключ недоступен для приложения.

Утилита HASP Admin Control Center (устанавливается вместе с драйверами ключей Sentinel HASP v.5.*) не предназначена для работы с ключами, которые использует «1С», поэтому они ей в ней отображаться не будут – воспользуйтесь утилитой Aladdin Monitor.

Утилита Aladdin DiagnostiX реализует механизм обратной связи. Ее главная задача — диагностика работоспособности локальных и сетевых ключей, работающих в системе. Кроме того, она позволяет настраивать конфигурацию для сетевых ключей HASP и генерировать отчеты, включающие всю информацию, связанную с устройствами Aladdin. При обращении в службу технической поддержки рекомендуется прикреплять подобный отчет, это поможет сформировать более полную картину сложившийся проблемы.

Комментировать
16 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
No Image Компьютеры
0 комментариев
Adblock
detector