Darknet ru: Что такое даркнет простыми словами, как попасть и чем он опасен

Содержание

Интернет: Интернет и СМИ: Lenta.ru

Есть что скрывать. Что на самом деле происходит в даркнете — неизвестном простым россиянам интернете?: Интернет: Интернет и СМИ: Lenta.ru

Цикл

Для большинства россиян даркнет — параллельная вселенная, в которой вместо темных подворотен собирается цифровая шпана XXI века. Многие считают, что нормальному человеку там делать нечего, а у случайных прохожих моментально воруют все данные, деньги с карточек и цифровые личности. Но при этом альтернативный сегмент интернета давно говорит преимущественно на русском языке, а сотни тысяч, а то и миллионы жителей страны ежедневно открывают браузер Tor и его аналоги, чтобы купить наркотики, скачать детское порно или обсудить детали хакерских атак на западные компании. Какие стереотипы о даркнете — правда и почему он привлекает не только преступников — в цикле материалов «Ленты.ру».

  • ФБР объявило награду в 10 миллионов долларов за голову русского хакера. Кто он такой и почему не прячет лицо?

  • В даркнете продолжается жестокая война за рынок наркотиков.

    Чем это опасно для обычных россиян?

  • Наркотики теперь рекламируют в метро и на улицах Москвы.

    Как война за наркорынок России вышла за пределы даркнета?

  • В 2022 году хакеры стали еще опаснее и хитрее.

    Чем это грозит простым россиянам?

  • Обойти мобилизацию — 50 тысяч, новая личность — полтора миллиона.

    Как спецоперация на Украине изменила российский даркнет

  • «Как только наладят контакт с Калининградом, мы остановимся!»

    Как хакеры из Killnet попытались отрезать Литву от мира

  • Набор кладмена.

    Какими приложениями пользуются наркоторговцы и почему эти сервисы подозревают в связях со спецслужбами?

  • В России развернулась война за рынок наркотиков.

    Кто пытается заменить «Гидру» в борьбе за миллиарды криминальных доходов

  • «Не хочется сесть на швабру»

    Как крах крупнейшей в мире площадки по продаже наркотиков скажется на простых россиянах?

  • «В даркнете истерика»

    Как крах «Гидры» полностью изменил многомиллиардный рынок торговли наркотиками в России

  • «Россию объявили законной целью хакеров»

    Как атака на Rutube стала эпизодом самой большой кибервойны в истории

  • «Произошла настоящая революция»

    В России происходит передел рынка наркотиков в даркнете. Чем это грозит жителям страны?

  • «На хвосте не только копы, но и весь мир»

    Как в даркнете начался передел рынка наркотиков после падения «Гидры»

  • «Не надо было угрожать моей стране»

    Хакеры Killnet защищают Россию, сражаясь с Anonymous и НАТО. Кто за ними стоит?

  • Крупнейший в мире магазин наркотиков закрыт.

    Что стоит за отключением «Гидры» и как теперь без нее живет даркнет?

  • Немецкая полиция отключила «Гидру».

    Что будет дальше с крупнейшим в мире магазином наркотиков?

  • «Anonymous, иди учи уроки»

    Как самых могущественных хакеров мира, объявивших войну России, перестали воспринимать всерьез

  • России объявили кибервойну из-за спецоперации на Украине.

    Чем это грозит стране и какова опасность для пользователей?

  • ФСБ объявила о разгроме главной хакерской группировки мира REvil.

    Почему в сети считают, что ее руководство на свободе?

  • ФСБ объявила о разгроме главной хакерской группировки планеты.

    Как «русские хакеры» обманули Трампа, Леди Гагу и Мадонну?

  • В России решили заблокировать Tor.

    Почему власти ополчились на анонимный браузер?

  • «У нас были цели в России»

    Хакеры из Ирана слили данные сотен тысяч россиян. Кто они и почему их ненавидят США?

  • «Ты все время боишься»

    Хакер из России о жизни в постоянном страхе и связи со спецслужбами

  • «Русские хакеры» действительно существуют.

    Откуда они появились, как стали звездами и почему их боится Запад?

  • Раздвоение личностей.

    Хакеры взяли на вооружение системы распознавания лиц. Чем это опасно для миллионов людей?

Депутат предложил признать использование даркнета незаконным

https://ria. ru/20230512/darknet-1871303256.html

Депутат предложил признать использование даркнета незаконным

Депутат предложил признать использование даркнета незаконным — РИА Новости, 12.05.2023

Депутат предложил признать использование даркнета незаконным

Депутат Госдумы Антон Горелкин сообщил, что в настоящее время обсуждает с юристами возможность признания пользования даркнетом незаконной деятельностью. РИА Новости, 12.05.2023

2023-05-12T14:14

2023-05-12T14:14

2023-05-12T14:14

антон горелкин

госдума рф

технологии

безопасность

/html/head/meta[@name=’og:title’]/@content

/html/head/meta[@name=’og:description’]/@content

https://cdnn21.img.ria.ru/images/07e5/07/10/1741540813_0:0:3384:1904_1920x0_80_0_0_e80119f89170f561e6777fe745c097c0.jpg

МОСКВА, 12 мая — РИА Новости. Депутат Госдумы Антон Горелкин сообщил, что в настоящее время обсуждает с юристами возможность признания пользования даркнетом незаконной деятельностью. «Я обсуждаю с юристами, как один из вариантов, признать использование даркнета незаконной деятельностью», — сказал он на видео, которое опубликовал в своём телеграм-канале. По мнению Горелкина, на сегодняшний день даркнет — «прибежище анонимных негодяев». «Законопослушному гражданину там делать нечего», — пояснил депутат.

https://ria.ru/20230210/khakery-1851185516.html

РИА Новости

1

5

4.7

96

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

2023

Кирилл Волков

Кирилл Волков

Новости

ru-RU

https://ria.ru/docs/about/copyright.html

https://xn--c1acbl2abdlkab1og.xn--p1ai/

РИА Новости

1

5

4.7

96

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

1920

1080

true

1920

1440

true

https://cdnn21. img.ria.ru/images/07e5/07/10/1741540813_823:126:3384:2047_1920x0_80_0_0_f27d35eec63cd930cf5ec9a02a71c9aa.jpg

1920

1920

true

РИА Новости

1

5

4.7

96

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

Кирилл Волков

антон горелкин, госдума рф, технологии, безопасность

Антон Горелкин, Госдума РФ, Технологии, Безопасность

МОСКВА, 12 мая — РИА Новости. Депутат Госдумы Антон Горелкин сообщил, что в настоящее время обсуждает с юристами возможность признания пользования даркнетом незаконной деятельностью.

«Я обсуждаю с юристами, как один из вариантов, признать использование даркнета незаконной деятельностью», — сказал он на видео, которое опубликовал в своём телеграм-канале.

По мнению Горелкина, на сегодняшний день даркнет — «прибежище анонимных негодяев». «Законопослушному гражданину там делать нечего», — пояснил депутат.

Суд рассмотрит дело хакеров, продававших данные россиян в даркнете

10 февраля, 15:12

Установка даркнета

Darknet легко установить всего с двумя необязательными зависимостями:

  • OpenCV, если вам нужен более широкий выбор поддерживаемых типов изображений.
  • CUDA, если вам нужны вычисления на GPU.

Оба являются необязательными, поэтому давайте начнем с простой установки базовой системы. Я тестировал это только на компьютерах с Linux и Mac. Если это не работает для вас, напишите мне или что-то?

Установка базовой системы

Сначала клонируйте git-репозиторий Darknet здесь. Это можно сделать с помощью:

 git clone https://github.com/pjreddie/darknet.git
компакт-диск даркнет
делать
 

Если это сработает, вы должны увидеть целую кучу информации о компиляции:

 mkdir -p obj
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors -Ofast....
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors -Ofast. ...
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors -Ofast....
.....
gcc -I/usr/local/cuda/include/ -Wall -Wfatal-errors -Ofast -lm....
 

Если у вас есть ошибки, попробуйте их исправить? Если кажется, что все скомпилировано правильно, попробуйте запустить его!

 ./ даркнет
 

Вы должны получить вывод:

 использование: ./darknet <функция>
 

Отлично! Теперь посмотрите, какие интересные вещи вы можете сделать с даркнетом здесь.

Компиляция с помощью CUDA

Даркнет на процессоре работает быстро, но на GPU примерно в 500 раз быстрее! У вас должен быть графический процессор Nvidia, и вам нужно будет установить CUDA. Я не буду вдаваться в подробности установки CUDA, потому что это ужасно.

После установки CUDA измените первую строку Makefile в базовом каталоге на:

 GPU=1
 

Теперь вы можете сделать проект и CUDA будет включен. По умолчанию он будет запускать сеть на 0-й видеокарте в вашей системе (если вы правильно установили CUDA, вы можете перечислить свои видеокарты, используя

nvidia-smi ). Если вы хотите изменить карту, которую использует Darknet, вы можете указать необязательный флаг командной строки -i , например:

 ./darknet -i 1 imagenet test cfg/alexnet.cfg alexnet.weights
 

Если вы скомпилировали с использованием CUDA, но по какой-либо причине хотите выполнять вычисления ЦП, вы можете использовать -nogpu вместо использования ЦП:

 ./darknet -nogpu imagenet test cfg/alexnet.cfg alexnet.weights
 

Наслаждайтесь новыми сверхбыстрыми нейронными сетями!

Компиляция с OpenCV

По умолчанию Даркнет использует stb_image.h для загрузки изображения. Если вам нужна дополнительная поддержка странных форматов (например, CMYK jpeg, спасибо Обаме), вы можете вместо этого использовать OpenCV! OpenCV также позволяет просматривать изображения и обнаружения без необходимости сохранять их на диск.

Сначала установите OpenCV. Если вы делаете это из исходного кода, это будет долго и сложно, поэтому попытайтесь заставить менеджера пакетов сделать это за вас.

Затем измените вторую строку Makefile на:

 OPENCV=1
 

Готово! Чтобы попробовать, сначала заново создайте проект . Затем используйте процедуру imtest для проверки загрузки и отображения изображения:

 ./darknet imtest data/eagle.jpg
 

Если у вас есть несколько окон с орлами, вы добились успеха! Они могут выглядеть так:

YOLO: обнаружение объектов в реальном времени

You only look Once (YOLO) — это современная система обнаружения объектов в реальном времени. На Pascal Titan X он обрабатывает изображения со скоростью 30 кадров в секунду и имеет mAP 57,9% на тест-разработчике COCO.

Сравнение с другими детекторами

YOLOv3 чрезвычайно быстр и точен. В mAP, измеренном при 0,5 IOU, YOLOv3 находится на одном уровне с Focal Loss, но примерно в 4 раза быстрее. Более того, вы можете легко найти компромисс между скоростью и точностью, просто изменив размер модели, не требуя переобучения!

Производительность набора данных COCO

Модель Поезд Тест карта ФЛОПС кадров в секунду Конфигурация Гири
SSD300 Кокосовый поезд тест-разработчик 41,2 46 ссылка
SSD500 Кокосовый поезд тест-разработчик 46,5 19 ссылка
YOLOv2 608×608 Кокосовый поезд тест-разработчик 48,1 62,94 млрд 40 конфиг гири
Маленький YOLO Кокосовый поезд тест-разработчик 23,7 5,41 млрд 244 конфиг гири

SSD321 Кокосовый поезд тест-разработчик 45,4 16 ссылка
ДССД321 Кокосовый поезд тест-разработчик 46,1 12 ссылка
R-FCN Кокосовый поезд тест-разработчик 51,9 12 ссылка
SSD513 КОКО трейнвал тест-разработчик 50,4 8 ссылка
ДССД513 Кокосовый поезд тест-разработчик 53,3 6 ссылка
ФПН ФРЦН Кокосовый поезд тест-разработчик 59,1 6 ссылка
Ретинанет-50-500 COCO трейнвал тест-разработчик 50,9 14 ссылка
Ретинанет-101-500 Кокосовый поезд тест-разработчик 53,1 11 ссылка
Ретинанет-101-800 Кокосовый поезд тест-разработчик 57,5 ​​ 5 ссылка
ЁЛОв3-320 Кокосовый поезд тест-разработчик 51,5 38,97 млрд 45 конфиг гири
ЁЛОв3-416 Кокосовый поезд
тест-разработчик
55,3 65,86 млрд 35 конфиг гири
YOLOv3-608 Кокосовый поезд тест-разработчик 57,9 140,69 млрд 20 конфиг гири
YOLOv3-маленький Кокосовый поезд тест-разработчик 33,1 5,56 млрд 220 конфиг гири
YOLOv3-spp Кокосовый поезд тест-разработчик 60,6 141,45 млрд 20 конфиг гири

Как это работает

Системы предварительного обнаружения переназначают классификаторы или локализаторы для выполнения обнаружения. Они применяют модель к изображению в различных местах и ​​масштабах. Области изображения с высокой оценкой считаются обнаружениями.

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

Наша модель имеет ряд преимуществ по сравнению с системами на основе классификаторов. Он просматривает все изображение во время тестирования, поэтому его прогнозы основаны на глобальном контексте изображения. Он также делает прогнозы с помощью одной оценки сети, в отличие от таких систем, как R-CNN, которым требуются тысячи для одного изображения. Это делает его чрезвычайно быстрым, более чем в 1000 раз быстрее, чем R-CNN, и в 100 раз быстрее, чем Fast R-CNN. См. нашу статью для более подробной информации о полной системе.

Что нового в версии 3?

YOLOv3 использует несколько приемов для улучшения обучения и повышения производительности, в том числе: многомасштабные прогнозы, улучшенный базовый классификатор и многое другое. Все подробности в нашей статье!

Обнаружение с использованием предварительно обученной модели

Этот пост расскажет вам об обнаружении объектов с помощью системы YOLO с использованием предварительно обученной модели. Если у вас еще не установлен Darknet, сделайте это в первую очередь. Или вместо того, чтобы читать все, что просто запустить:

 гит-клон https://github.com/pjreddie/darknet
компакт-диск даркнет
делать
 

Легко!

У вас уже есть файл конфигурации для YOLO в подкаталоге cfg/. Вам нужно будет загрузить предварительно обученный файл веса здесь (237 МБ). Или просто запустите это:

 wget https://pjreddie.com/media/files/yolov3.weights
 

Тогда запусти детектор!

 ./darknet обнаружить cfg/yolov3.cfg yolov3.weights data/dog.jpg
 

Вы увидите что-то вроде этого:

 слой фильтрует размер ввода-вывода
    0 конв. 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0,299 BFLOPs
    1 конв. 64 3 x 3 / 2 416 x 416 x 32 -> 208 x 208 x 64 1,595 млрд флопс
    . ......
  105 конв. 255 1 x 1 / 1 52 x 52 x 256 -> 52 x 52 x 255 0,353 млрд флопс
  106 обнаружение
true_thresh: используется значение по умолчанию «1.000000».
Загрузка весов из yolov3.weights... Готово!
data/dog.jpg: предсказано за 0,029329 секунды.
собака: 99%
грузовик: 93%
велосипед: 99%
 

Даркнет распечатывает обнаруженные объекты, их достоверность и время, затраченное на их поиск. Мы не компилировали Darknet с OpenCV , поэтому он не может напрямую отображать обнаружения. Вместо этого он сохраняет их в Predictions.png . Вы можете открыть его, чтобы увидеть обнаруженные объекты. Поскольку мы используем Darknet на процессоре, на одно изображение уходит около 6-12 секунд. Если бы мы использовали версию с графическим процессором, это было бы намного быстрее.

Я включил несколько примеров изображений, чтобы попробовать, если вам нужно вдохновение. Попробуйте data/eagle.jpg , data/dog.jpg , data/person. jpg , или data/horses.jpg !

Команда обнаружить является сокращением для более общей версии команды. Это эквивалентно команде:

 ./darknetDetector test cfg/coco.data cfg/yolov3.cfg yolov3.weights data/dog.jpg
 

Вам не нужно знать это, если все, что вы хотите сделать, это запустить обнаружение на одном изображении, но полезно знать, хотите ли вы делать другие вещи, такие как запуск на веб-камере (что вы увидите позже).

Несколько изображений

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

 ./darknet detect cfg/yolov3.cfg yolov3.weights
слой фильтрует размер ввода-вывода
    0 конв. 32 3 x 3 / 1 416 x 416 x 3 -> 416 x 416 x 32 0,299 BFLOPs
    1 конв. 64 3 x 3 / 2 416 x 416 x 32 -> 208 x 208 x 64 1,595 миллиардов флопов
    .......
  104 конв.  256 3 x 3 / 1 52 x 52 x 128 -> 52 x 52 x 256 1,595 млрд флопс
  105 конв. 255 1 x 1 / 1 52 x 52 x 256 ->
52 x 52 x 255 0,353 млрд флопс 106 обнаружение Загрузка весов из yolov3.weights... Готово! Введите путь к изображению:

Введите путь к изображению, например data/horses.jpg , чтобы он предсказывал блоки для этого изображения.

Как только это будет сделано, вам будет предложено указать дополнительные пути, чтобы попробовать разные образы. Используйте Ctrl-C , чтобы выйти из программы, как только вы закончите.

Изменение порога обнаружения

По умолчанию YOLO отображает только объекты, обнаруженные с достоверностью 0,25 или выше. Вы можете изменить это, передав флаг -thresh команде yolo . Например, для отображения всех обнаружений можно установить пороговое значение 0:

 ./darknetDetect cfg/yolov3.cfg yolov3.weights data/dog.jpg -thresh 0
 

Что производит:

![][all]

Так что это, очевидно, не очень полезно, но вы можете установить разные значения, чтобы контролировать пороговое значение модели.

Tiny YOLOv3

У нас также есть очень маленькая модель для ограниченных сред, yolov3-tiny . Чтобы использовать эту модель, сначала загрузите веса:

 wget https://pjreddie.com/media/files/yolov3-tiny.weights
 

Затем запустите детектор с крошечным файлом конфигурации и весами:

 ./darknet detect cfg/yolov3-tiny.cfg yolov3-tiny.weights data/dog.jpg
 

Обнаружение в реальном времени на веб-камере

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

Для запуска этой демонстрации вам потребуется скомпилировать Darknet с помощью CUDA и OpenCV. Затем выполните команду:

 ./darknetDetector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
 

YOLO отобразит текущий FPS и прогнозируемые классы, а также изображение с ограничивающими прямоугольниками, нарисованными поверх него.

Вам понадобится веб-камера, подключенная к компьютеру, к которому может подключиться OpenCV, иначе она не будет работать. Если у вас подключено несколько веб-камер и вы хотите выбрать, какую из них использовать, вы можете передать флаг -c для выбора (по умолчанию OpenCV использует веб-камеру 0 ).

Вы также можете запустить его в видеофайле, если OpenCV может прочитать видео:

 ./darknetDetector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights <видеофайл>
 

Вот как мы сделали видео на YouTube выше.

Обучение YOLO на VOC

Вы можете обучать YOLO с нуля, если хотите поиграть с различными режимами обучения, гиперпараметрами или наборами данных. Вот как заставить его работать с набором данных Pascal VOC.

Получить данные VOC Pascal

Для обучения YOLO вам потребуются все данные VOC с 2007 по 2012 год. Вы можете найти ссылки на данные здесь. Чтобы получить все данные, создайте каталог для их хранения и из этого каталога запустите:

 wget https://pjreddie. com/media/files/VOCtrainval_11-May-2012.tar.
wget https://pjreddie.com/media/files/VOCtrainval_06-Nov-2007.tar
wget https://pjreddie.com/media/files/VOCtest_06-Nov-2007.tar
tar xf VOCtrainval_11-May-2012.tar
tar xf VOCtrainval_06-ноябрь-2007.tar
tar xf VOCtest_06-ноябрь-2007.tar
 

Теперь будет подкаталог VOCdevkit/ со всеми обучающими данными VOC.

Создание меток для VOC

Теперь нам нужно сгенерировать файлы меток, которые использует Darknet. Даркнету нужен файл .txt для каждого изображения со строкой для каждого объекта наземной истины на изображении, который выглядит так:

 <класс-объекта>    
 

Где x , y , ширина и высота относятся к ширине и высоте изображения. Чтобы сгенерировать этот файл, мы запустим скрипт voc_label.py в каталоге Darknet scripts/. Давайте просто скачаем его снова, потому что нам лень.

 wget https://pjreddie.com/media/files/voc_label.py
Python voc_label.py
 

Через несколько минут этот скрипт сгенерирует все необходимые файлы. В основном он генерирует множество файлов этикеток в VOCdevkit/VOC2007/labels/ и .VOCdevkit/VOC2012/этикетки/ . В вашем каталоге вы должны увидеть:

 ls
2007_test.txt VOCdevkit
2007_train.txt voc_label.py
2007_val.txt VOCtest_06-ноябрь-2007.tar
2012_train.txt VOCtrainval_06-ноябрь-2007.tar
2012_val.txt VOCtrainval_11-May-2012.tar
 

В текстовых файлах, таких как 2007_train.txt , перечислены файлы изображений для этого года и набора изображений. Даркнету нужен один текстовый файл со всеми изображениями, на которых вы хотите тренироваться. В этом примере давайте потренируемся со всем, кроме тестового набора 2007 года, чтобы мы могли протестировать нашу модель. Пробег:

 кошка 2007_train.txt 2007_val.txt 2012_*.txt > train.txt
 

Теперь у нас есть все наборы trainval 2007 и 2012 в одном большом списке. Это все, что нам нужно сделать для настройки данных!

Modify Cfg for Pascal Data

Теперь перейдите в каталог Darknet. Мы должны изменить файл конфигурации cfg/voc.data , чтобы он указывал на ваши данные:

 1 классы = 20
  2 train = <путь к voc>/train.txt
  3 действительно = <путь к voc>2007_test.txt
  4 имени = data/voc.names
  5 резервная копия = резервная копия
 

Вы должны заменить каталогом, в который вы помещаете данные VOC.

Загрузить предварительно обученные сверточные веса

Для обучения мы используем сверточные веса, предварительно обученные в Imagenet. Мы используем веса из модели darknet53. Вы можете просто скачать веса сверточных слоев здесь (76 МБ).

 wget https://pjreddie.com/media/files/darknet53.conv.74
 

Тренировка модели

Теперь мы можем тренироваться! Выполните команду:

 ./darknet детектор поезд cfg/voc.data cfg/yolov3-voc.cfg darknet53. conv.74
 

Обучение YOLO на COCO

Вы можете обучать YOLO с нуля, если хотите поиграть с различными режимами обучения, гиперпараметрами или наборами данных. Вот как заставить его работать с набором данных COCO.

Получить данные COCO

Для обучения YOLO вам потребуются все данные COCO и метки. Скрипт scripts/get_coco_dataset.sh сделает это за вас. Выясните, куда вы хотите поместить данные COCO, и загрузите их, например:

 cp-скрипты/get_coco_dataset.sh данные
компакт-диск с данными
bash get_coco_dataset.sh
 

Теперь у вас должны быть сгенерированы все данные и метки для Даркнета.

Изменить cfg для COCO

Теперь перейдите в каталог Darknet. Мы должны изменить файл конфигурации cfg/coco.data , чтобы он указывал на ваши данные:

 1 class= 80
  2 поезд = <путь к кокосу>/trainvalno5k.txt
  3 действительно = <путь к кокосу>/5k.txt
  4 имени = data/coco.names
  5 резервная копия = резервная копия
 

Вы должны заменить каталогом, в который вы помещаете данные COCO.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *