4Pda linux: तपाईँलाई अस्थायी रूपमा ब्लक गरिएको छ

Содержание

Бомжебук и Linux | Кое-Что О Слонах

В предыдущей части я всё-таки успешно водрузил штатную, “некастомную” винду и смог воспользоваться некоторыми благами цивилизации благодаря механизму Portable Apps.

В заключительной части расскажу про мытарства с Linux. На этом сага о бомжебуке будет закончена. Хотя, может быть, получится “запилить” какой-нибудь аппаратный “мод” охлаждения, ибо соответствующий тред на 4pda весьма вдохновляет.

Как всё начиналось

Однако, винда-виндой, но хотелось большего. А именно – полноценного Linux на “уродце”. Зачем он там вообще – вопрос открытый. Из серии “потому что можем”.

На самом деле довольно мобильный терминал ещё никому не вредил, да и мои давние приседания с Debian на легендарном EEE PC покоя не дают. Как давно это было :). Из очевидных плюсов – 64 битная система, возможность запускать Docker, и даже, если тянет на приключения – Qemu KVM.

Исследование показало, что для Irbis TW52 вполне себе существует вполне настроенный и летучий дистрибутив Xubuntu 19. 04 (там же в треде на 4PDA). И уже проведена фактически вся работа по преднастройке, бери да пользуйся. Более того – все шаги по его подготовке тоже опубликованы, что, в целом, редкость для подобных поделий.

Итак, отправная точка есть.

Окей, Линукс

Хорошие новости. Дистрибутив имеет место быть – бери, да пользуйся. Плохие – дистрибутив всего один, методика “изготовления” флешки довольно сложная, а ещё я не фанат Xubuntu, да и обои там скучные.

Нет, серьезно. Обычный “кейс”, как говорят пидорасы-маркетологи – берём ISO файл, переносим его посекторно на флешку. Так работает у всех. Здесь же требуется какой-то стороннний софт, какие-то приблуды, какое-то вуду. Внешний вид системы довольно чудовищен, хотя и вполне годен для работы.

Что не работает

Сразу о том, что не работает:

  • Камера. Их там две, подтыкание модуля video4linux ничем не помогает. Не знаю, может там в конфигурации XOrg накосячено, может быть ещё что-то, ну да бог с ним.
  • Звук. Давайте честно – то, как он работает, лучше бы он так не работал. Нет, какое-то плюмканье из динамиков будет, в наушниках даже сносно, но два момента. Во-первых звук не отключается в динамике при включении наушников. Во-вторых он ещё тише, чем в Windows. Злые языки утверждают, что нужно колдунство с GPIO. Но с какими и в какую сторону – история умалчивает. В теории – можно поиграть с параметрами Alsa Mixer, но проще перегрузиться в Windows для просмотра кинохи.

See the future, study the past

Проблему с Linux@AtomZ решали уже несколько лет назад на опять-таки легендарном Asus Transformer. И, надо сказать в массе своей пришли к успеху. А значит, надо обратиться к тем “наработками” и делать не просто ISO-файл, а генератор ISO файлов, который бы позволил шлёпать ISO-файлы на базе Ubuntu (простите, фанаты Arch и Gentoo – вам придётся испытать карусель боли самостоятельно, хотя вы это любите).

Linuxium isorespin

Скромные парни из Австралии запилили шелл-скрипт на 500+ килобайт (!), которому вы можете скормить на вход ubuntu-based исошник, а на выходе получить другой ISO, который уже “заряжен” для работы на “атомном” чипсете.

В ситуации с бомжебуком нам надо сделать несколько ключевых вещей:

  • Установить 32бит-версию Grub. Она сможет стартовать 64 битное ядро.
  • Доставить пакеты, например для калибровки тач-скрина.
  • Доложить несколько файлов – те же настройки поворота экрана и firmware для Silead Touch

И таки да, оно всё это умеет. Плюс к этому оно в силах доставить туда обновленное ядро (на момент написания — 5.5), которое, походу улучшает ситуацию.

mint-tw52

Я тут решил сохранить все приседания в виде репозитария на github. Теперь желающие могут создать свой собственный образ по крайней мере на базе Linux Mint (он мне более по нраву из-за наличия кучи проприетарных драйверов-кодеков, поборники чистоты кода идут нахуй стройными рядами). Там есть README на английском, однако ниже вольный перевод, для тех кто не в силах.

Что с ним делать

Решаем задачу – нам нужно создать загрузочный образ Linux Mint, для того, чтобы хотя бы попробовать всё это на нашем горе-планшете.

Что понадобится
  • Виртуальная машина с Ubuntu или не очень виртуальная
  • Возможность доставлять пакеты (читай – права root или sudo)
  • Гигабайт 10 места на диске, ибо придётся качать туда-сюда ISO-файлы
  • git
Подготовка

Клонируем репозитарий

1
git clone https://github.com/znoxx/mint-tw52

Читаем документацию на isorespin и доставляем туда нужные пакеты – утилиты работы с ISO и squashfs

Качаем оригинальный ISO и подкладываем в папку mint-tw52. Открываем mint-tw52.sh и редактируем строчку:

1
ISO=linuxmint-19.3-cinnamon-64bit.iso

Очевидно, меняем этот ISO на скачаный. Дальше нужно убедиться, что у нас последняя версия isorespin.sh, для этого запускам:

1
./isorespin.sh --check

Если обругало, что мол версия не последняя – идем сюда и как-то выкачиваем обновленную версию.

Тут придется проявить смекалку. Я не знаю почему авторы выкладывают код на гуглодиск.

Генерация
1
sudo ./mint-tw52.sh

Ждём, возможно даже не требуется sudo, но я запускал в контейнере от root, так что пусть будет для опредленности. Поглядываем на ошибки – их не должно быть. Если они есть, скорее всего где-то не установлен тот или иной пакет, его нужно доставить.

Запись на USB flash

В отличие от версии с 4PDA для записи достаточно команды dd, как и в оригинальном дистрибутиве. В принципе, можно втыкать в планшет и грузиться. У меня лично загрузка работала через microUSB OTG гнездо.

После загрузки

Вполне вероятно, что после загрузки вы увидите повернутый экран – я столкнулся с этим только на Mint Cinnamon edition и Elementary OS. В циннамоне – нужно просто изловчиться и вызвать настройки дисплея. Там, очевидно, нужно порвернуть. В Elementary у меня что-то не заладилось, поэтому оставлю это просто на суд истории. В MATE и LXDE – всё ок.

Дальше нужно проверить авторотацию и подкрутить звук.

Ротация

В терминале запускаем:

1
sudo /usr/share/autorotate/rotate.sh

Дальше вертим планшетом, ротация должна работать. Скрипт можно остановить командой Ctrl-C. После инсталляции с флешки сие нужно добавить в автозагрузку после старта GUI, это уже гуглим сами.

Звук

Тут всё сложнее. Оригинальный скрипт для включения звука найден в глубинах испаноязычных (?) форумов. Изначально он подразумевал скачивание неких патченных исходников и сборку модуля ядра.

Но во-первых модули в ядре 5.5 уже есть, во-вторых это надо было делать через DKMS, а не тяп-ляп один раз, ибо с обновлением ядра всё это нужно “намылить-смыть-повторить”. Поэтому эта часть была безжалостно вымарана.

Итак, чтоб услышать хоть что-то делаем следующие приседания:

Остановим PulseAudio – pulseaudio -k

Перейдем в папку со скриптом – cd /usr/share/es8316

Запускаем sudo . /es8316.sh – но перед этим нужно убедиться, что доступ в интернет имеется в наличии. Скрипт выкачает UCM файлы и установит их, куда следует.

Дальше нужно запустить обратно PulseAudio – pulseaudio -D.

Если не стартует – нужно выгрузить (а после установки системы отключить перманентно) модуль snd_hdmi_lpe_audio.

Звук можно проверять. Возможно потребуетя изменить default output device.

Установка на планшет

Есть проблема – загрузчик Grub не видит вашу microSD (очевидно, что если хочется Dual Boot, а места мало, то ставиться лучше на microSD). Это можно исправить, отрезав около 512 мб от внутреннего SSD планшета. Там будет расположена партиция /boot. rootfs же можно расположить на microSD.

Больше подробностей в этом (моем) посте

Как это все выглядит

Выбор ОС для загрузки

Linux Mint LXDE


На корм коту
В массы
В трубу
  • ← Следующий
  • Предыдущий →

9 мобильных приложений для изучения программирования

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

Start Android — уроки программирования

Это приложение для изучения программирования на Android. Вы научитесь создавать Android-приложения с использованием Android Studio. В программе есть много примеров кода на языке Java, разные темы оформления и возможность изменять шрифт. В последней версии также добавлен офлайн-режим, так что отключение интернета обучению не грозит.

  • Скачать Start Android.
  • Язык учебника — русский.
  • Приложение бесплатное, можно заплатить за отключение рекламы.

Программирование игр, создание с нуля (Python 3)

Это приложение для изучения Python рассчитано на новичков. В нём простыми словами объясняются основы программирования: алгоритмы, работа процессора, архитектура игр. Вы научитесь писать простые игры и изучите кроссплатформенную библиотеку Tkinter.

  • Скачать приложение в Google Play.
  • Язык учебника — русский.
  • Для доступа ко всем главам нужно купить приложение.

Encode: Learn to code

Данное Android-приложение позволяет изучить основы программирования на Python, JavaScript, HTML и CSS. Программа содержит много простых текстовых уроков для начинающих. Особенностью приложения является офлайн-режим, который позволяет изучать программирование без интернета.

  • Скачать Encode.
  • Язык учебника — английский.
  • Приложение платное.

Grasshopper: learn to code

Ещё одно мобильное приложение, но теперь для изучения программирования на языке JavaScript, разработанное Google. В 2018 году организация Common Sense Education включила Grasshopper в число лучших обучающих программ.

Уроки представлены в лёгкой игровой форме. Приложение как для детей, так и для тех, кто впервые решил заняться программированием.

  • Grasshopper доступен для iOS и Android устройств.
  • Обучение на английском языке.
  • Приложение полностью бесплатное.

Enki

С Enki можно изучать не только программирование, но и Data Science, блокчейн, кибербезопасность, Git, Linux и многое другое. В этом приложении много контента по разным направлениям. Есть уроки как для начинающих, так и для более опытных пользователей.

Ежедневно программа предлагает проходить пятиминутные тренировки для закрепления информации.

  • Enki доступен для iOS и Android устройств.
  • Язык учебника — английский.
  • Приложение условно бесплатное: для открытия всех курсов и отключения рекламы нужно оформить подписку.

Codeacademy Go

Мобильное приложение для начинающих программистов, с помощью которого можно изучать веб-разработку, Data Science, Python, SQL, HTML & CSS, Java и многое другое.

Codeacademy Go предлагает не только обучение конкретным языкам программирования, но и Skill Paths — роадмапы по нескольким направлениям. Любой урок курса можно пройти в любой момент, не проходя предыдущие.

  • Codeacademy Go доступен для  iOS и Android устройств.
  • Язык учебника — английский.
  • Приложение бесплатное, но можно оформить подписку для доступа ко всем курсам и роадмапам.

DataCamp

DataCamp — это сайт и мобильные программы для разработчиков, ориентированные на изучение Data Science.

С его помощью вы узнаете, как учёные по данным собирают информацию, после чего анализируют и визуализируют её.

Обучение проходит по трём направлениям: Python, R и SQL. Есть удобный редактор кода с автодополнением.

  • DataCamp доступен для Android и iOS.
  • Приложение бесплатное, но доступ ко всем курсам только по подписке.

Programming Hero

Мобильное приложение, которое позволяет изучить программирование на Python, HTML, CSS и JavaScript. Программа включает в себя Playground, в котором можно запускать любой код.

Кроме изучения языков программирования в приложении есть курсы по алгоритмам, базам данных, разработке игр, веб-разработке и не только. В процессе обучения вы напишете небольшую игру.

  • Мобильное приложение доступно на Android и iOS.
  • Обучение на английском языке.
  • Приложение бесплатное, но полный доступ к курсам доступен по подписке.

Dcoder, code compiler ID‪E

Dcoder — это мобильное приложение-компилятор для программистов. Среда разработки поддерживает больше 30 языков программирования.

Основные возможности:

  • синхронизация с GitHub и Bitbucket;
  • подсветка синтаксиса;
  • работа с целыми проектами из нескольких файлов;
  • отладка кода;
  • лаконичный дизайн.

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

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

***

Для тех, кому не хватило, есть предыдущая статья про 10 приложений для изучения программирования.

Реклама на Tproger: найдем для вас разработчиков нужного стека и уровня.

Подробнее

Реклама на tproger.ru

Загрузка

Как использовать команду Linux BIND для установки и настройки DNS

Опубликовано: 30 августа 2021 г. | | на Ашиш Бхарадвадж Мадабхушана (Красная шляпа)

Изображение

Фото Александра Эндрюса на Unsplash

Система доменных имен (DNS) используется для разрешения (преобразования) имен хостов в адреса интернет-протокола (IP) и наоборот. DNS-сервер, также известный как сервер имен 9.0004 сопоставляет IP-адреса с именами хостов или доменными именами.

В этой статье вы изучите основы DNS, от того, как DNS получает IP-адрес и имя хоста, до концепций зон прямого и обратного просмотра. Он также покажет вам, как установить и настроить DNS, определить и отредактировать файлы зон и проверить, может ли DNS разрешить правильный адрес с помощью команд. Если вы новичок в DNS, эта статья поможет вам поиграть с ним в вашей системе, используя базовые конфигурации.

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

Когда клиент запрашивает информацию у сервера имен, он обычно подключается к порту 53, после чего сервер имен разрешает запрошенное имя.

Изображение

(Ашиш Бхарадвадж, CC BY-SA 4.0)

Откуда DNS получает IP-адреса?

Вы можете задаться вопросом, как DNS получает IP-адрес соответствующего имени хоста или доменного имени. Как DNS выполняет поиск среди разных IP-адресов и правильно связывает ваше доменное имя? Кто хранит эти сопоставления между доменными именами и IP-адресами?

Рабочий процесс DNS иллюстрирует, как происходит обмен данными в DNS и как он разрешает адреса.

Изображение

(Ашиш Бхарадвадж, CC BY-SA 4.0)
  • Когда клиент ищет домен www.example.com , запрос сначала направляется к распознавателю интернет-провайдера (ISP). Он ответит на запрос пользователя о разрешении доменного имени.
  • Если IP-адрес не найден на преобразователе, запрос перенаправляется на корневой DNS-сервер, а затем на серверы домена верхнего уровня (TLD).
  • Серверы TLD
  • хранят информацию для доменов верхнего уровня, таких как .com или . net .
  • Запросы перенаправляются на серверы имен, которым известна подробная информация о доменах и IP-адресах.
  • Серверы имен отвечают распознавателю интернет-провайдера, а затем распознаватель отвечает клиенту с запрошенным IP-адресом.
  • Если преобразователь не знает IP-адрес, он сохраняет IP-адрес и его домен в кэше для обслуживания будущих запросов.

[ Загрузить сейчас: Руководство системного администратора по автоматизации ИТ. ]

Прямой и обратный поиск

Зона прямого просмотра использует имя домена для поиска IP-адресов, тогда как зона обратного просмотра использует IP-адреса для поиска имени домена.

Изображение

(Ашиш Бхарадвадж, CC BY-SA 4.0)

Установка и настройка DNS

BIND — это служба сервера имен, отвечающая за преобразование доменного имени в IP на DNS-серверах на базе Linux.

 [root@servera ~] # yum install bind 

Пакет BIND предоставляет службу с именем . Он считывает конфигурацию из файлов /etc/named и /etc/named.conf . После установки этого пакета вы можете приступить к настройке DNS.

Настройте файл /etc/named.conf

Сначала добавьте или измените два значения в поле options . Один — это адрес DNS-сервера, а другой — запрос разрешения от до любых .

 [root@servera ~] # vim /etc/named.conf
порт прослушивания 53 { 127.0.0.1; 192.168.25.132; };
разрешить запрос { локальный; Любые; }; 

Вот значения из вышеуказанного файла:

  • 192.168.25.132 — адрес DNS-сервера
  • любой — соответствует каждому IP-адресу

Определение прямой и обратной зон

Определение прямой и обратной зон в /etc/named.conf или /etc/named.rfc1912.zones (вы можете определить зоны в любом из этих файлов). В этом примере я добавляю сведения об определении зоны в файл /etc/named. rfc1912.zones .

 [root@servera ~] # vim /etc/named.rfc1912.zones
зона "example.com" IN { type master;
  файл "example.forward.zone";
  разрешить обновление {нет; };
};
  зона "25.168.192.in-addr.arpa" IN {
   тип мастер;
   файл "example.reverse.zone";
   разрешить обновление {нет; };
};
 

Создать файлы прямой и обратной зоны

Вам также необходимо создать файлы прямой и обратной зоны в /var/имя каталога .

Примечание : По умолчанию файл named.conf включает каталог /var/named для проверки файлов зоны. Примеры файлов зон named.localhost и named.loopback создаются во время установки пакета BIND.

 [root@servera ~] # vim /var/named/example.forward.zone 

Изображение

(Ашиш Бхарадвадж, CC BY-SA 4.0)
 [root@servera ~] # vim /var/named/example.reverse.zone 

Изображение

(Ашиш Бхарадвадж, CC BY-SA 4.0)

Добавьте IP-адрес сервера имен в /etc/resolv.

conf

Во-первых, вы должны отключить обработку DNS с помощью NetworkManager, поскольку он динамически обновляет файл /etc/resolv.conf с настройками DNS. из его активных профилей подключения. Чтобы отключить это и разрешить ручное редактирование /etc/resolv.conf , вы должны создать файл (например, 90-dns-none.conf ) от имени пользователя root в /etc/NetworkManager/conf.d / каталог, который содержит следующее:

 [основной]
dns=none 

Сохраните файл и перезагрузите (перезапустите) NetworkManager.

 # systemctl reload NetworkManager 

После перезагрузки NetworkManager он не будет обновлять /etc/resolv.conf . Теперь вы можете вручную добавить IP-адрес сервера имен в файл /etc/resolv.conf .

 [root@servera ~] # vim /etc/resolv.conf
# Генерируется NetworkManager
поиск localdomain example.com
nameserver 192.168.25.132 

[ Будьте готовы на случай, если что-то пойдет не так. Прочтите Введение в устранение неполадок DNS. ]

Запуск/перезапуск и включение именованной службы

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

 [root@servera ~] # статус systemctl named.service
[root@servera ~] # запуск systemctl named.service
[root@servera ~] # systemctl включить named.service
[root@servera ~] # перезапуск systemctl named.service
 

Проверьте разрешение имен DNS

Вы установили пакет BIND, настроили файлов с именами , создали зоны поиска и перезапустили службу, чтобы настройки вступили в силу. Теперь используйте команды nslookup и dig , чтобы проверить, правильно ли работает DNS, и убедиться, что вы получаете ожидаемые результаты.

  • nslookup — это программа для запроса серверов доменных имен в Интернете.
  • копать — это инструмент для опроса DNS-серверов. Он выполняет поиск DNS и отображает ответы, возвращаемые сервером имен.

Запрос с помощью nslookup

 [root@servera ~] # nslookup servera.example.com
Сервер: 192.168.25.132
  Адрес: 192.168.25.132#53
  Имя: servera.example.com
  Адрес: 192.168.25.132
[root@servera ~] # nslookup 192.168.25.132
   132.25.168.192.in-addr.arpa name = servera.example.com. 

Запрос с помощью dig

Вот прямой поиск, где DNS отвечает 192.168.11.132 в качестве IP-адреса для servera.example.com :

 [root@servera ~] # dig servera.example.com
...вывод усечен...
;; РАЗДЕЛ ОТВЕТОВ:
servera.example.com. 86400 В А 192.168.25.132
;; ОТДЕЛ ПОЛНОМОЧИЙ:
пример.com. 86400 В NS servera.example.com.
...вывод усечен...
 

В этом примере показан обратный поиск, где DNS-сервер отвечает servera.example.com в качестве доменного имени для 192. 168.25.132 :

 [root@servera ~] # dig -x 192.168.25.132
...вывод усечен...
;; РАЗДЕЛ ОТВЕТОВ:
132.25.168.192.in-addr.arpa. 86400 В PTR servera.example.com.
;; ОТДЕЛ ПОЛНОМОЧИЙ:
25.168.192.in-addr.arpa. 86400 В NS servera.example.com.
;; ДОПОЛНИТЕЛЬНЫЙ РАЗДЕЛ:
servera.example.com. 86400 В А 192.168.25.132
...вывод усечен... 

[ Сеть выходит из-под контроля? Ознакомьтесь с бесплатной книгой «Сетевая автоматизация для всех» от Red Hat. ]

Подведение итогов

В этой статье вы узнали, что такое DNS и как он работает. Кроме того, теперь вы знаете, что такое зоны прямого и обратного просмотра и как они работают. Вы также узнали, как установить пакет BIND, который отвечает за настройку DNS в системе и настройку назвал файлов и зон поиска. Наконец, вы выучили две команды, nslookup и dig , для запроса разрешений DNS.

Ознакомьтесь со статьями по теме Включить системного администратора

Изображение

Настройка DNS с помощью Ansible

Самый простой способ научиться автоматизации Ansible — погрузиться и попробовать.

Изображение

Введение в устранение неполадок DNS

В этой первой части двухчастного введения в устранение неполадок DNS вы узнаете, как найти проблему.

Изображение

Устранение неполадок DNS с проверкой записей

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

Темы: Сеть DNS  

Как найти IP-адрес моего DNS-сервера в Linux

DNS ( Система доменных имен ) является основным помощником нескольких сетевых технологий, таких как почтовые серверы, просмотр Интернета и потоковые службы, например. Netflix и Spotify среди прочих.

Он работает на специальном компьютере, называемом DNS-сервером, который хранит в базе данных запись нескольких общедоступных IP-адресов вместе с соответствующими им именами хостов, чтобы разрешать или преобразовывать имена хостов в IP-адреса по запросу пользователя.

Читайте также : 4 способа найти общедоступный IP-адрес сервера в терминале Linux

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

Хотя есть несколько вещей, которые мы можем обсудить на DNS-серверах, таких как перенаправление и предотвращение атак вредоносных программ, сегодня мы сосредоточимся на том, как узнать IP-адрес вашего собственного DNS-сервера.

Существует несколько способов проверить это в зависимости от используемой операционной системы, но Linux, BSD и Unix-подобные системы используют один и тот же метод, поэтому давайте начнем с них.

Как найти IP-адрес моего DNS-сервера

1. Чтобы узнать IP-адрес вашего DNS-сервера, используйте следующую команду cat или команду less.

 $ кошка /etc/resolv.conf
ИЛИ ЖЕ
$ меньше /etc/resolv.conf
 

2. Другой способ — использовать следующую команду grep.

  $ grep "сервер имен" /etc/resolv.conf 

сервер имен 109.78.164.20
 

Здесь сервер имен 109.78.164.20 — это IP-адрес сервера имен в так называемой точечной нотации — формате, который приложения на вашей рабочей станции используют для маршрутизации DNS.

Как найти IP-адрес DNS-сервера моего веб-сайта

3. Чтобы узнать IP-адрес DNS-сервера веб-сайта, вы можете использовать следующую команду dig.

 $ копать tecmint.com
 
Пример вывода
 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.68.rc1.el6_10.1 <<>> tecmint.com
;; глобальные параметры: +cmd
;; Получил ответ:
;; ->>HEADER<<- код операции: QUERY, статус: NOERROR, id: 30412
;; флаги: qr rd ra; ЗАПРОС: 1, ОТВЕТ: 2, АВТОРИЗАЦИЯ: 0, ДОПОЛНИТЕЛЬНО: 0  ;; РАЗДЕЛ ВОПРОСОВ:
;tecmint.com. В  ;; РАЗДЕЛ ОТВЕТОВ:
tecmint.com. 21 В А 204.45.67.203
tecmint.com. 21 В А 204.45.68.203  ;; Время запроса: 0 мс
;; СЕРВЕР: 209.74.194.

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

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