Как скачать торренты из командной строки в Linux –

Что такой скрытый сервис tor и как его сделать

Если вы уже пользуетесь скрытыми сервисами TOR, убедитесь, что у вас есть адрес и ключи третьей версии. То есть, ранее адреса были примерно такими:

А теперь вот так:

  • hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion

В октябре 2021 года скрытые сервисы TOR Onion версии 2 перестанут работать. В течение некоторого времени TOR Onion v3-vanity использовался для автоматической генерации домена для скрытого сервиса. Однако, если вы все еще используете старую вторую версию, перейдите на версию 3 с новым адресом и используйте старый адрес для информирования ваших посетителей.

С помощью этого руководства вы можете настроить скрытую службу Tor в Kali Linux, но оно будет работать на всех производных Debian, таких как Linux Mint и Ubuntu. Инструкции в разделе “Настройка скрытой службы Tor в Arch Linux / BlackArch” предназначены для всех, кто использует Arch Linux или BlackArch.

Скрытые сервисы Tor имеют доменные имена с расширением .onion

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

Бесплатные доменные имена автоматически выдаются для доменов .onion. Они генерируются случайным образом, и вы не можете их выбрать. Однако в статье “Как получить красивое доменное имя для скрытого сервиса Tor” объясняется, как это можно в некоторой степени обойти.

Как уже говорилось, белый IP не требуется, единственное требование – чтобы компьютер был подключен к сети Tor. Также необходим веб-сервер. Сервер может использовать любую технологию, включая Apache, PHP, системы администрирования баз данных и т.д. – все, что может быть установлено на вашем компьютере или сервере. Для установки веб-сервера рекомендуем статью “Установка LAMP “Основы веб-сервера для пентестеров””.

Предполагается, что вы прочитали статью по ссылке, и что у вас уже установлен веб-сервер:

sudo systemctl start apache2
sudo systemctl start mysql

Выбор ip определённой страны для узлов tor

ExitNodes НОДА,НОДА,...

Список идентификационных отпечатков, кодов стран и шаблонов адресов узлов для использования в качестве узлов выхода, т.е. узла, который доставляет свой трафик за пределы сети Tor.


Пример настройки, которая устанавливает использование только выходные узлы Tor из европейских стран (Германия, Франция, Финляндия, Нидерланды, Новая Зеландия, Норвегия, Швейцария, Швеция, Дания, Эстония):

ExitNodes {de}, {fr}, {fi}, {nl}, {nz}, {no}, {ch}, {se}, {dk}, {ee}

Примечание: Указание здесь слишком малого количества узлов или исключение слишком большого количества выходных узлов с помощью команды ExcludeExitNodes может привести к снижению функциональности. Например, если ни один из указанных узлов выхода не разрешает трафик через порт 80 или 443, вы не сможете просматривать веб-страницы.

Также обратите внимание, что не все каналы используются для доставки трафика за пределы сети Tor. Это нормально, когда неисключенные циклы (например, используемые для подключения к скрытым сервисам, соединения с серверами управления, самопроверки доступности реле и т.д.) оказываются на неисключенном узле. Чтобы полностью исключить узлы на основе определенных характеристик, см. разделы Исключить узлы и Строгие узлы.


Опция ExcludeNodes переопределяет эту опцию: любой узел, указанный одновременно в ExitNodes и ExcludeNodes, рассматривается как исключённый.

Адрес .exit, если он включен через MapAddress, отменяет этот вариант.

Защита от выявления пользователей tor по профилю использования трафика

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


Для защиты от такого рода атак узлы сети Tor могут посылать ненужный трафик — просто чтобы сбить с толку подобные анализаторы профилей трафика. Эти данные называются padding, «заполнение».

ConnectionPadding 0|1|auto

Этот параметр управляет использованием Tor для защиты от определенных форм анализа трафика. Если установлено значение auto, Tor будет отправлять filler, только если клиент и ретранслятор поддерживают его. Если установлено значение 0, Tor не будет отправлять заполняющие ячейки.

Если установлено значение 1, Tor все равно будет отправлять заполнение для клиентских соединений независимо от поддержки повторной передачи. Клиенты могут установить только этот параметр. Пользователям с ограниченной пропускной способностью следует предоставлять эту опцию через пользовательский интерфейс. (По умолчанию: auto)

ReducedConnectionPadding 0|1

В случае 1, соединения OR не будут оставаться открытыми очень долго, и они не будут заполняться так быстро. Эта опция доступна только для клиентов. Пользователям с ограниченной пропускной способностью следует предоставлять эту опцию через пользовательский интерфейс. (По умолчанию: 0)

CircuitPadding 0|1

Если установлено значение 0, Tor не будет заполнять каналы клиентов дополнительным сетевым трафиком. Только клиенты могут установить этот параметр. Эта опция должна быть предложена мобильным пользователям через пользовательский интерфейс, чтобы они могли использовать ее в районах, где пропускная способность может быть высокой.

ReducedCircuitPadding 0|1

Если установлено значение 1, Tor использует только недорогие алгоритмы заполнения. Этот параметр может быть установлен только клиентами. Эта опция должна быть предложена мобильным пользователям через пользовательский интерфейс, чтобы они могли использовать ее в местах, где пропускная способность может быть высокой. (По умолчанию: 0)

Использование строгой политики выхода через tor

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

ReducedExitPolicy 1

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


Содержание строкой политики такое:

               accept *:20-21
               accept *:22
               accept *:23
               accept *:43
               accept *:53
               accept *:79
               accept *:80-81
               accept *:88
               accept *:110
               accept *:143
               accept *:194
               accept *:220
               accept *:389
               accept *:443
               accept *:464
               accept *:465
               accept *:531
               accept *:543-544
               accept *:554
               accept *:563
               accept *:587
               accept *:636
               accept *:706
               accept *:749
               accept *:873
               accept *:902-904
               accept *:981
               accept *:989-990
               accept *:991
               accept *:992
               accept *:993
               accept *:994
               accept *:995
               accept *:1194
               accept *:1220
               accept *:1293
               accept *:1500
               accept *:1533
               accept *:1677
               accept *:1723
               accept *:1755
               accept *:1863
               accept *:2082
               accept *:2083
               accept *:2086-2087
               accept *:2095-2096
               accept *:2102-2104
               accept *:3128
               accept *:3389
               accept *:3690
               accept *:4321
               accept *:4643
               accept *:5050
               accept *:5190
               accept *:5222-5223
               accept *:5228
               accept *:5900
               accept *:6660-6669
               accept *:6679
               accept *:6697
               accept *:8000
               accept *:8008
               accept *:8074
               accept *:8080
               accept *:8082
               accept *:8087-8088
               accept *:8232-8233
               accept *:8332-8333
               accept *:8443
               accept *:8888
               accept *:9418
               accept *:9999
               accept *:10000
               accept *:11371
               accept *:19294
               accept *:19638
               accept *:50002
               accept *:64738
               reject *:*

Как заблокировать доступ к определённым диапазонам ip и портам через tor

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

Синтаксис этой директивы выглядит следующим образом

ExitPolicy ПОЛИТИКА АДРЕС[/СЕТЬ][:ПОРТ]

Одним из ключевых слов может быть слово ПОЛИТИКА:

  • Принять – разрешить трафик IPv4 и IPv6
  • Принять6 – разрешить трафик IPv6
  • Отклонить – отклонить трафик IPv4 и IPv6
  • Отклонить6 – отклонить трафик IPv6


После политики должен следовать АДРЕС. Дополнительно можно указать длину МАСКИ, чтобы правило распространялось на диапазон IP адресов. Также при желании можно указать ПОРТ.

Вместо указания адреса или подсети можно использовать “*”. Обратите внимание, что “*” означает (0.0.0.0.0/0 и ::/0). Если вы хотите, чтобы правило применялось ко всем адресам IPv4, но только к этим, вы должны использовать *4. Если вы хотите, чтобы правило применялось ко всем адресам IPv6, но только к этим, используйте *6.

PORT может быть одним номером порта или диапазоном “PORT TO PORT”. Звездочка “*” может быть указана вместо порта, чтобы указать, что правило применяется ко всем портам на данном IP или подсети. Если порт не указан, это эквивалентно указанию “*”.


Можно использовать несколько директив ExitPolicy, либо указать несколько политик через запятую при одной директиве ExitPolicy.

Директивы обрабатываются, начиная с первой. Побеждает первое совпадение. Политики по умолчанию обрабатываются первыми, даже если их нет в конфигурационном файле!

Примеры, когда доступ к портам irc разрешен, а все остальное заблокировано:

ExitPolicy accept *:6660-6667,reject *:*


Разрешить также доступ к nntp (по умолчанию доступ к порту 119 заблокирован):

ExitPolicy accept *:119

Заблокировав все, доступ в Интернет через Tor будет невозможен:

ExitPolicy reject *:*

Слово “private” можно использовать как псевдоним для локальных сетей, хотя частные IP-диапазоны уже заблокированы по умолчанию. Даже если применяются политики accept6/reject6, “private” всегда создает правила как для IPv4, так и для IPv6.

Как запустить службу tor без перевода в фон


Показанные выше способы запуска tor превращают его в демона — то есть процесс, который работает в фоне и отсоединён от консоли.

Чтобы запустить службу Tor в фоновом режиме, например, для отладки, чтобы можно было закрыть ее с помощью CTRL c, запустите службу Tor следующим образом в Debian и производных:

sudo -u debian-tor tor

В Arch Linux, BlackArch и его производных выполнение происходит следующим образом:

sudo -u tor tor

На самом деле, tor не требует привилегий суперпользователя. Но для работы сервиса требуются файлы и каталоги (/var/lib/tor), которые ограничены для всех пользователей (даже для root) и принадлежат пользователю debian-tor или tor (имя пользователя зависит от дистрибутива).

Пример работы тор без демонетизации:

Подключение к Tor отображается в строках, содержащих слово Bootstrapped. Когда все будет готово для обмена информацией с Интернетом через сеть Tor, появится этот экран:

Bootstrapped 100% (done): Done

Как использовать сгенерированные ключи


Если удалось сгенерировать подходящий по фильтры ключ, то будет создана одна или несколько папок, например: hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion

В каждой папке есть три файла:

  • hostname
  • hs_ed25519_public_key
  • hs_ed25519_secret_key

Как вы можете видеть, и в имени папки, и в файле имени хоста видно имя домена.

Технически, нужен только ключ hs_ed25519_secret_key, но вы можете скопировать всю папку, в которой хотите хранить ключи. Например, по умолчанию они размещаются в /var/lib/tor/hidden_service/


В следующем примере я перемещаю папку с ключами в директорию /var/lib/tor/hackware:

sudo mv /media/sf_Share/hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion /var/lib/tor/hackware

Установите нужного владельца и права доступа.

В Debian, Kali Linux, Linux Mint, Ubuntu и их производных:

sudo chown -R debian-tor: /var/lib/tor/hackware
sudo chmod -R u rwX,og-rwx /var/lib/tor/hackware

На Arch Linux хорошо себя проявили Manjaro и BlackArch:

sudo chown -R tor: /var/lib/tor/hackware
sudo chmod -R u rwX,og-rwx /var/lib/tor/hackware


Включите эти ключи в файле /etc/tor/torrc:

sudo gedit /etc/tor/torrc

Например:

HiddenServiceDir /var/lib/tor/hackware/
HiddenServicePort 80 127.0.0.1:80

Перезапустите службу и проверьте ее статус:

sudo systemctl restart tor
systemctl status tor

Как получить красивое имя tor onion v2 (инструкция по scallion)

Внимание! Scallion поддерживает только TOR Onion service version 2 и, видимо, никогда не будет поддерживать третью версию, поскольку авторы объявили о том, что они забросили проект.

Программа работает в Linux и Windows. Я покажу вам, как пользоваться программой на примере Windows.

Исходный код программы можно найти на этой странице. Вы также можете найти ссылку для загрузки исполняемого файла для Windows, в настоящее время последняя версия – 2.1, ссылка на нее.

Распакуйте загруженный архив. Программу следует запускать из командной строки. Откройте командную строку Widnows (Win x) и перетащите туда файл scallion.exe.


Через пробел запишите интересующую вас фразу и нажмите Enter. При каждом запуске проводится быстрый тест SHA-1 и после этого начинается перебор. Если слово короткое, то результат будет найден быстро.

Ещё про Yota:  Обзор услуг Локатор и Радар от МегаФон - что лучше для слежения?

Используя примитивный синтаксис регулярных выражений, Scallion позволяет искать один или несколько шаблонов одновременно. Поддерживаются только классы символов (например, [abcd]). Символ . означает любой символ. Введенное выражение по умолчанию считается началом доменного имени.

Если вы ищете конец имени, добавьте $ в конец фразы (например, DEAD$). Кроме того, символы pipe (например, pattern1 и pattern2) позволяют искать по нескольким шаблонам одновременно. При добавлении большого количества регулярных выражений разница в производительности практически отсутствует.

Маршруты tor: исключение стран для всех узлов

ExcludeNodes НОДА,НОДА,...

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


Пример исключения узлов Tor из стран РФ, Беларусь, Украина и Казахстан:

ExcludeNodes {ru}, {by}, {ua}, {kz}

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

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

Также обратите внимание, что если вы являетесь ретранслятором, это (и другие варианты выбора узла ниже) влияет только на ваши собственные петли, которые Tor создает для вас. Клиент по-прежнему может построить через вас канал к любому узлу. Контроллеры могут указать Tor строить контуры через любой узел.


Коды стран не чувствительны к регистру. Код «{??}» относится к узлам, страну которых невозможно идентифицировать. Никакой код страны, включая {??}, не работает, если нельзя загрузить GeoIPFile.

Настройка журналов tor

В конфигурационном файле директива Log настраивает журналы Tor. Эта директива состоит из трех компонентов:

Log УРОВЕНЬ_СЕРЬЁЗНОСТИ ИСТОЧНИК_ВЫВОДА

Ошибка может быть классифицирована как debug, info, notice, warn или err. Вы можете указать диапазоны в форме:

Log МИНИМАЛЬНАЯ_СЕРЬЁЗНОСТЬ-МАКСИМАЛЬНАЯ_СЕРЬЁЗНОСТЬ ИСТОЧНИК_ВЫВОДА


В качестве ИСТОЧНИК_ВЫВОДА могут быть:

  • Stderr – стандартный вывод ошибок
  • Stdout – стандартный вывод
  • Syslog – системный журнал (только Unix)
  • File filename – сохранение журнала в файл.

Например, чтобы вывести предупреждающие сообщения на стандартный вывод, я напишу следующим образом

Log notice stdout

Чтобы файл tor.log отображал сообщения от info до уровня err, в конфигурационном файле должна быть записана следующая директива:

Log info-err file /var/lib/tor/tor.log


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

Настройка торрент-клиента на работу через tor

Вот к такой схеме нам нужно прийти

Как скачать торренты из командной строки в Linux -

Прямые соединения с трекерами блокируются по протоколу HTTP, но мы обойдем его и подключимся напрямую. Торрент-клиент будет иметь доступ к прокси-серверу, который работает на компьютере, это Privoxy, и общается с ним по протоколу HTTP, отправляя статистику раздачи трекера и получая списки участников этой раздачи. Прокси-сервер решает, что все запросы, адресованные трекерам (например, bt*.rutracker.cc и bt*.t-ru.org), будут перенаправлены на клиент Tor, запущенный на том же компьютере, через SOCKS, в то время как другие запросы (например, технические от торрент-клиента; на рисунке не показаны) пойдут непосредственно на их адреса. Когда эти запросы поступают в Tor, они проходят через его сеть из нескольких узлов Tor, в результате чего попадают к трекерам. В свою очередь, клиент получает от трекеров данные в обратном направлении, что необходимо для быстрой работы: скачивания и поиска раздач.

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

Первая трасса

Запустите Tor и Privoxy по очереди. Окно активного прокси-сервера. Оно позволяет видеть все запросы, которые ваш торрент-клиент делает к серверам трекера. При возникновении ошибок соединения они будут выделены синим цветом.

Теперь запустите свой торрент-клиент и зайдите в его настройки. Здесь дано изображение окна сетевых настроек клиента µTorrent версии 3.4.2; если у вас другой клиент, найдите в нём соответствующее место, где устанавливаются параметры сетевого соединения, в частности, тип и адрес/порт прокси-сервера.
Итак, выбирайте здесь тип прокси «HTTP», вводите ваш локальный адрес 127.0.0.1, а порт 8118. Это тот порт, на котором работает и ожидает входящие соединения ваш прокси-сервер Privoxy. Также, убедитесь, что выключена настройка «Use proxy for peer-to-peer connection».

Нажмите “ОК” и закройте окно настроек.

Убедитесь, что вы видите запросы от торрент-клиента в окне Proxy – пример показан на скриншоте выше. Убедитесь, что в клиенте нет ошибок при подключении к трекерам, и что статусы закачек показывают, что трекеры доступны.

Второй способ

Ваш торрент-клиент просто должен быть настроен на использование другого типа прокси и номера порта (см. первый способ). Вы можете настроить параметры прокси в Torrent (или другом вашем клиенте), выбрав “SOCKS4”, оставив адрес 127.0.0.1 и установив порт 9050. Вы должны указать порт, на котором работает ваш узел клиента Tor и ожидает соединений. Пожалуйста, снимите флажок “Использовать прокси для однорангового соединения”, поскольку он не требуется, и его установка повредит как вашей скорости, так и другим пользователям сети Tor.

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

Возможные проблемы и решения

Если время от времени ваши закачки становятся “красными” (в интерфейсе вашего торрент-клиента), а статус трекеров показывает сообщение об ошибках соединения с ними (невозможность соединения с трекерами или ошибки типа 503), попробуйте отключить (лучше закомментировать) параметр TrackHostExits в конфигурационном файле Tor. Инструкции смотрите в соответствующей статье.

Параметр TrackHostExits указывает Tor: по возможности, пока текущее соединение с таким доменом активно, продолжать использовать это соединение для подключения к нему, а не периодически создавать новые. Это снижает анонимность: чем больше вы используете одну и ту же строку между вами и узлом назначения, тем легче вас воспринимать как анонимного пользователя. С другой стороны, постоянное изменение адреса источника пакетов, которые вы отправляете на трекер, препятствует учету вашей рассылки: трекер запрограммирован отбрасывать данные из таких “прыгающих” источников как попытки фальсифицировать его статистику и по другим причинам. И если узел в существующей цепочке торов выходит из строя (это всегда случается, поскольку многие узлы обслуживаются энтузиастами на своих машинах), но вы намеренно продолжаете его использовать (в этом смысл TrackHostExits), то, естественно, возникнут всевозможные ошибки.

Если руки не видны в профиле и/или руки не подсчитаны

Ситуация противоположна предыдущей. Активируйте параметр TrackHostExits, введите домены трекера (примерную конфигурацию смотрите в соответствующей статье), и убедитесь, что раздачи появились в профиле, а закачки начали подсчитываться.

Разумный баланс между полным отключением TrackHostExits и его постоянным использованием можно выбрать самостоятельно с помощью параметра TrackHostExitsExpire – периода в секундах, по истечении которого таблица сопоставления доменов↔chain будет принудительно удалена.

Обход ограничений операторов на торрент

– Сынок, купи яблоки, свои собственные, домашние, не посыпанные.

Услышав слова “не кропить”, Александра остановилась и обернулась. Как всегда говорила ее бабушка в далеком детстве: не сыпать, а посыпать.

– Не распыляли, говорите, – подошел он к стойке.

Женщина с грудой яблок вскочила и проговорила:

– Без пыли, без спрея, с моего собственного дерева в саду, в этом году яблоня дала больше, чем когда-либо. Он не такой большой, как те, что вы покупаете, они импортируются Бог знает откуда, в них больше яда, чем в яблоке. А это наши, местные, – его руки быстро пробежались по яблокам, показывая покупателю товар со всех сторон. – Они пахнут яблоками, они вкусные, вы должны их попробовать. Смотрите, смотрите, смотрите, смотрите, – продолжал он со смаком, протягивая яблоко с маленьким коричневым пятном, – видите, даже червяк может их съесть, потому что они не опрысканы.

Александр при этих словах невольно рассмеялся:

– Это все жучки?

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

Возвращаясь домой с вечернего рынка, Александр срезал угол и набрал яблок без особой надобности. Но что-то во внешности этой бабушки, в ее манере говорить, в ее открытом бесхитростном взгляде, в ее манере убеждать его с червячком в правдивости ее слов, напомнило ему его собственную бабушку. Старческое чувство наполнило его грудь, и Саша почувствовал необходимость сделать что-то хорошее для этой пожилой женщины, торгующей на базаре. Поэтому, не торгуясь, он купил два килограмма яблок, упомянув, что дома заболел его сын (он вообще часто болеет), кашляет, и что его жена беременна, поэтому им, наверное, лучше не есть моченые яблоки. Он поделился с этим незнакомцем, сам не зная почему, самым сокровенным, что тревожило его душу.

Старуха застонала, вздохнула, покачала головой и сказала, что сегодня старики здоровее молодых, потому что откуда в городах сегодня может быть еда? Он был полон химикатов, а воздух был тяжелым и тошнотворным. Он кивнул и согласился. Когда он уходил, бабушка вдруг взяла его за руку:

– Слушай, приходи сюда завтра, я принесу тебе сушеный лайм и банку малины, перетертой с сахаром, это первое, что нужно при простуде. Я принесу их, а вы приходите завтра.

Александр пришел домой с яблоками и улыбнулся, ему было так хорошо, как в детстве, когда бабушка гладила его по голове своей грубой, трудолюбивой рукой и говорила: “Все хорошо, Сашок, все хорошо”.

***

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

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

– Не плачь, бабушка. Когда я вырасту, я останусь с тобой навсегда. Ты веришь мне?

– Да я, Сашок, да я, – улыбнулась сквозь слезы бабушка.

Бабушка Сашки умерла, когда ему было 12 лет. Из-за этого он оказался в интернате. Выясняется, что какие-то родственники продали дом бабушки Сашки (когда они с бабушкой жили вместе, Сашка считал, что они одни на свете, но после вступления в наследство на него появилось много претендентов).

Тем, кто жил в детском доме, не нужно рассказывать обо всех “прелестях” жизни в таких учреждениях, а те, кто там не жил, не поймут до конца. Но Саша не сломался и пошел не в ту сторону. Он отслужил в армии и получил профессию. Но с девушками ему не везло. Хотя сам Саша был высоким, спортивным и красивым мальчиком, все его подружки быстро исчезли с его горизонта, когда он узнал, что он сирота. Поэтому, когда пять лет назад он случайно встретил Свету (они выросли в одном детском доме) в супермаркете, он был так счастлив, как будто она была его родным и близким человеком. Света тоже была очень рада встрече с ним. Через шесть месяцев они поженились, родился сын, а теперь они ждут дочь. И, в общем и целом, жизнь вернулась в нормальное русло.

Ещё про Yota:  Йота тарифы череповец

***

– Рождество, я купил на рынке яблоки для тебя и Дениса, домашние, не посыпанные” – Он протянул жене пакет.

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

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

– Домашние, не посыпанные…

В этом сне Александру приснилась его бабушка. Улыбка расплылась по ее лицу, когда она погладила его по голове. Шайе было не важно, что он не мог разобрать слов, ведь он и так знал, что бабушка говорит что-то хорошее, доброе, ласковое. Мир и счастье наполнили воздух, забытая детская радость.

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

Весь день на работе Александр был сам не свой. Что-то не давало ему покоя, странная тоска грызла его душу, в горле периодически вставал комок. По дороге домой он думал о том, как ему хочется снова увидеть ту бабушку с яблоками на рынке.

***

Евдокия Степановна (так звали бабушку, продававшую яблоки) вышагивала по двору, тяжело вздыхая и вытирая слезы, которые то и дело наворачивались на глаза. Давным-давно ее старший сын погиб при исполнении служебных обязанностей (он был пожарным), он даже не успел жениться перед смертью. Пока она училась в столице, ее младшая дочь, красавица и умница, вышла замуж за африканца и уехала в жаркую страну, где растут бананы и ананасы. А ее покойный муж долго плевался и бушевал по этому поводу. А что же она? Только слезы текли у нее, предвидя, что она больше никогда не увидит свою маленькую дочку. Так и случилось. Пока был жив ее муж, жива была и она. Что же ей оставалось делать, если мир таков? Чуть больше двух лет назад, когда мужа не стало, свет Евдокии Степановны померк. Она жила больше по привычке, прося Бога поскорее забрать ее в Царство мира.

Молодой человек, который вчера купил для нее яблоки, испортил ей настроение. Совершенно незнакомый человек, но то, как хорошо он с ней разговаривал, не оттолкнуло ее. Что-то было в его глазах. Какая-то скрытая грусть, боль, она сразу почувствовала это. Материнский инстинкт прорвался в ее словах: “Приходи завтра сюда, я принесу тебе сушеной липы и банку малины с сахаром, первое дело при простуде. Вот я принесу, а ты завтра заберешь.

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

***

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

Люди толпами возвращались с работы. К этому времени Евдокия Степановна начала нервничать. “Какая же она старая дура, придумывает истории для себя! почему она должна слушать и верить чужой бабушке”. – в отчаянии подумала она, а глаза все искали и искали знакомый силуэт в толпе.

Александр не заметил, что она вчера говорила о лайме и малиновом варенье. “Эти базарные мамаши скажут что угодно, лишь бы продать свой товар”, – подумал он. – А что, если она действительно придет? Она не выглядела как опытная, энергичная покупательница. Она показала ему worm…. Какая идея…” – он улыбнулся, вспомнив выражение лица своей бабушки, когда она с большой серьезностью говорила о червяке – “Не бери в голову, я все равно пройдусь по рынку, посмотрю, нет ли там червей”.

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

– Я здесь, я здесь, подожди, – раздался громкий крик, и Александр увидел, что к нему бежит бабушка, которая была у него накануне.

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

– Место было занято; я села рядом, боясь пропустить его; я гадала, придешь ли ты. Все, что я принесла с собой, и я начала задаваться вопросом, не неправильно ли я поняла свою бабушку.

Бабушка все “говорила” и “говорила”, но Александр не слушал эти слова, на мгновение он перенес свою душу обратно в детство. То, как она говорила, отдельные слова, выражение ее лица, движения рук, взгляд, в котором читалось желание доставить мужчине удовольствие своими действиями, так сильно напомнило ему его собственную бабушку.

Он спросил, сколько он должен, а Евдокия Степановна развела руками, сказав, что готовит это для себя, и что это объедение. Еще она сказала, что малина у нее не ее сорта, а более старая, которая мельче и не такая красивая, но очень ароматная и полезная. Саша вспомнил бабушкину малину, ее аромат и вкус, а еще он почему-то вспомнил ее картошку. Желтые внутри, они так аппетитно выглядели на тарелке, и были такими вкусными. После смерти бабушки он никогда не ел такой картошки.

– Есть ли у вас внутри желтая картошка? – перебил он старуху.

– Есть желтая и белая, та, что хорошо разваривается, и твердая – для супа.

– Я люблю желтый цвет; моя бабушка всегда готовила его, когда я был ребенком”, – мечтательно говорит Александр.

– Дорогая, завтра суббота, у меня выходной. А вы приезжайте в мою деревню и сами посмотрите, сколько у меня картошки, у меня ее гораздо больше… Я уже стар, с трудом могу таскать сумки, а вы молоды, это недалеко, всего сорок минут на электричке. Ну же, я не причиню тебе вреда…

И Сашка поехал. Не за картошкой, а за потерянным теплом своего детства.

***

Прошло уже два года”.

– Наташа, а печенье свежее? – Наташа забеспокоилась во второй раз, когда Евдокия Степановна спросила.

Я уже говорил об этом вчера. Как вы выглядите, ей-богу, ребенок? – ответила продавщица.

Завтра ко мне в гости приедут дети с внуками, поэтому я и спрашиваю. Дайте мне один на пробу.

– “Слушай, Степановна с ума сошла, – шептались люди из очереди, – она нашла каких-то бедных свиней, которых пустила в дом, прошлым летом Светка с детьми все лето жила у нее на шее. Думаю, им понравилось, и они придут еще.

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

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

– Ну, наконец-то”, – выдохнули женщины позади меня. – Вы не тех людей кормите, Степановна.

Евдокия Степановна медленно шла домой, улыбаясь на ходу. О чем ей говорить? Одни сплетни. Какая разница, есть у тебя родственники или нет? И где эти родственники? Столько лет о ней не вспоминали. Тем не менее, Саша и Света ей помогают, и дело не в помощи.

Саша, почему мы должны ждать до завтра? Уже собрав все мои вещи и подарки, мы успеем на последнюю электричку в нужное время. Давай поедем? – обратилась Светлана к пришедшему с работы мужу.

– Папа, пойдем к бабушке, пойдем, – сказал Дениска, – там курица, пирожки, вареники с вишнями… там хорошо.

– Баба”, – прыгал двухлетний Лено, – “Я хочу пойти с Бабой”.

Александр взглянул на свою семью, улыбнулся, помахал рукой:

– И тогда мы готовы.

Они сидели в поезде, дети смотрели в окно и изредка кричали: “Смотри, смотри, смотри! Саша и Света просто улыбались и не думали ни о чем конкретном. Замечательно иметь бабушку, которая всегда ждет!

Переход от tor onion service version 2 к onion 3

В октябре 2021 года скрытые сервисы TOR Onion версии 2 перестанут работать. Посмотрите на журналы Tor, чтобы выяснить, какую версию вы используете. Если вы увидите там следующую строку, это означает, что вы используете версию 2 и вам необходимо перейти на версию 3:

Jan 23 09:28:09.671 [warn] DEPRECATED: Onion service version 2 are deprecated. Please use version 3 which is the default now. Currently, version 2 is planned to be obsolete in the Tor version 0.4.6 stable series.

Если вам интересно, вы можете прочитать “Спецификацию Tor Rendezvous – версия 3”. Посмотрим, что этот переход означает на практике.


На практике это означает:

  • Изменить программное обеспечение для генерации красивых имен для скрытой службы
  • Сообщить посетителям новый адрес сервера

Меня больше всего беспокоит тот факт, что я не смог найти программу, которая генерировала бы красивые имена для скрытых служб Tor на моей видеокарте. Можно найти программы, которые работают только на центральном процессоре. Как выяснилось, Scallion поддерживает только вторую версию лукового сервиса TOR, и, очевидно, никогда не будет поддерживать третью версию, так как ее авторы объявили о своем отказе от проекта.

Подключение локального веб-сервера к сети tor в качестве скрытого сервиса tor

Для начала вам необходимо установить Tor:

sudo apt install apache2 tor

Открытие файла

sudo gedit /etc/tor/torrc


Найдите там строки:

#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80

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

HiddenServiceDir /var/lib/tor/hidden_service/

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

HiddenServicePort 80 127.0.0.1:80


Запустите (или перезапустите, если она была установлена ранее) службу Tor:

sudo systemctl restart tor

Проверить ее состояние:

systemctl status tor

Добавьте службу в список автозапуска (необязательно):

sudo systemctl enable tor

Доменное имя вашего сайта таково:

sudo cat /var/lib/tor/hidden_service/hostname


Теперь это доменное имя сообщайте клиентам вашего скрытого сервиса Tor. Эти сайты можно открыть только через сеть Tor. В обычном Интернете они недоступны.

Если вам нужно более одной скрытой службы Tor, то создайте необходимое количество виртуальных хостов на веб-сервере и воспользуйтесь параметром

HiddenServiceDir /var/lib/tor/other_hidden_service/
HiddenServicePort 80 127.0.0.1:80
HiddenServicePort 22 127.0.0.1:22

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

Мой скрытый сервис Tor: hacking5xcj4mtc63mfjqbshn3c5oa2ns7xgpiyrg2fenl2jd4lgooad.onion


При каждом изменении настроек Tor не забывайте перезапускать службу:

sudo systemctl restart tor

Связанные статьи:

Справка по scallion

Используйте:.

scallion [ОПЦИИ]  regex [regex] 

Возможность:

  -k, --keysize=VALUE        Указать размер ключа для ключа RSA
  -n, --nonoptimized         Запускает не-оптимизированное ядро
  -l, --listdevices          Вывести список устройств, которые могут использоваться
  -h, -?, --help             Показать справку
      --gpg                  Режим GPG vanitygen
  -d, --device=VALUE         Показывает устройство opencl, которое следует использовать.
  -g, --groupsize=VALUE      Определяет количество потоков в рабочей группе
  -w, --worksize=VALUE       Определяет количество хешей, выполняемое
                               за один раз.
  -t, --cputhreads=VALUE     Определяет количество потоков CPU для использования
                               во время работы создания. (ЭКСПЕРИМЕНТАЛЬНАЯ - OpenSSL не
                               является потокобезопасной)
      --pidfile=VALUE        Определяет файл, куда будет записан id
                               процесса; файл будет удалён при выходе
  -m, --modulifile=VALUE     Указывает файл, содержащий moduli открытых ключей
  -s, --write-moduli         Записывает moduli и приватные ключа для данного шаблона
                               в указанный с -m файл
  -r, --read-results=VALUE   Считывает файл результатов (сгенерированный удалённым майнером)
                               и выводит победившие ключи (должна быть определена опция -m)
  -p, --save-kernel=VALUE    Сохранить сгенерированное ядро по этому пути.
  -o, --output=VALUE         Сохранить сгенерированный ключ(и) и адрес(а)
                               по этому пути.
      --skip-sha-test        Пропустить при запуске тест SHA-1.
      --quit-after=VALUE     Выйти после нахождения этого числа ключей. 
      --timestamp=VALUE      Использовать это значение в качестве временной метки для ключа RSA.
  -c, --continue             Когда найден ключ, продолжить поиск, 
                               а не выйти из программы.

Три способа установки браузера tor в linux

При закрытии Tor Browser автоматически запускаются фоновые процессы Tor, а сетевой трафик Tor направляется через Tor; конфиденциальные данные, такие как cookies, удаляются при закрытии браузера.

Ещё про Yota:  Как узнать тариф на Йоте: команда и смс

Его основная цель – обойти цензуру, скрыв личность пользователя и его активность в Интернете от наблюдения и анализа трафика. Используя тысячи серверов (ретрансляторов Tor), многоуровневое шифрование и изолируя каждый посещаемый вами сайт, чтобы сторонние трекеры не могли следить за ним, он не позволяет никому увидеть ваше соединение или узнать, какие сайты вы посещаете.

Используйте его для доступа к сайтам, которые могут быть заблокированы в вашей стране или регионе, или для того, чтобы кто-то, следящий за вашим интернет-соединением, не мог узнать, какие сайты вы посещаете, но помните, что нет ничего безопасного! Любой наблюдатель может увидеть, что вы пользуетесь сетью Tor, поэтому имейте это в виду, прежде чем начать ее использовать.

Вариант 1: Установите браузер Tor из репозитариев Linux

Tor Browser Launcher загружает и устанавливает последнюю стабильную версию Tor Browser на вашем языке и для вашей архитектуры компьютера, проверяет подпись браузера, чтобы убедиться, что загруженная версия была криптографически подписана разработчиками Tor и не была подделана, добавляет настройки Tor Browser и Tor Browser Launcher в меню приложений, включая профили AppArmor для Tor Browser.

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

Установка Tor Browser (с помощью Tor Browser Launcher) из репозиториев:

Debian, Ubuntu, Linux Mint, Pop! _OS и другие дистрибутивы Linux на основе Debian или Ubuntu:

sudo apt install torbrowser-launcher

Fedora:

sudo dnf install torbrowser-launcher

openSUSE:

sudo zypper install torbrowser-launcher

Solus OS:

sudo eopkg install torbrowser-launcher

Ищите “tor browser” или “tor browser launcher” в репозиториях, если вы используете другие дистрибутивы Linux.

После установки Tor Browser Launcher откройте меню приложения/пусковой панели и запустите Tor Browser. При первом запуске программы она автоматически загрузит и распакует последнюю версию Tor Browser для вашего языка, а затем запустит Tor Browser. Последующие запуски будут запускать Tor Browser напрямую.

Tor Browser автоматически предлагает обновить программное обеспечение при появлении новой версии. Когда это происходит, на значке Torbutton появляется маленький желтый треугольник.

В некоторых случаях программа запуска Tor Browser может не загрузить Tor Browser или не проверить вашу подпись (ошибка “signature verification failure”). В этих случаях у вас есть возможность использовать программу запуска Tor Browser от Flathub (вариант #2 ниже) или загрузить и установить двоичный файл Tor Browser вручную (см. вариант #3 ниже). Например, я попытался установить Tor Browser через Tor Browser Launcher на Ubuntu 16.04, и это не удалось с ошибкой “signature verification failed”, но пакет Flathub Tor Browser работал нормально.

Вариант 2. Установка Tor Browser из Flathub

Flathub добавил Tor Browser Launcher в свой постоянно растущий репозиторий на прошлой неделе, упростив его установку в любом дистрибутиве Linux, поддерживающем Flatpak. Преимущество его заключается в поддержке большого количества дистрибутивов Linux, а также в предложении актуальной версии Tor Browser Launcher для дистрибутивов Linux, у которых есть старые версии в репозиториях, в которых есть ошибки или они больше не работают. Я уже рассмотрел Tor Browser Launcher выше, поэтому, пожалуйста, прочитайте это, чтобы понять, что он делает.
Перед установкой Tor Browser через Flathub вам необходимо настроить Flatpak и Flathub в вашей системе, если вы этого еще не сделали. Есть страница быстрой настройки, которая содержит инструкции для многих дистрибутивов Linux, включая Ubuntu (и Kubuntu, Pop! _OS или Elementary OS), Fedora, RHEL, openSUSE, Arch Linux, Debian, CentOS, Gentoo, Mageia и других. В Linux Mint 19 и новее Flathub включен по умолчанию.

Установите Tor Browser Launcher с помощью менеджера программ. Не все магазины программного обеспечения поддерживают установку приложений Flatpak, в этом случае вы можете просто использовать эту команду для установки Tor Browser Launcher из Flathub (для этого требуется, чтобы Flatpak и Flathub были установлены в вашей системе, как я уже говорил! ):

flatpak install flathub com.github.micahflee.torbrowser-launcher

Tor Browser можно запустить из меню приложений или панели запуска после установки Tor Browser Launcher с Flathub. При первом запуске вам будет предложено загрузить последнюю версию Tor Browser для вашего языка, и он автоматически распакует ее. Запуск Tor Browser непосредственно после первого приведет к запуску Tor Browser.

Вариант 3: Загрузить и установить двоичный файл Tor Browser вручную

Распакуйте архив, загруженный с сайта Tor Project, и скопируйте распакованную папку tor-browser_en-US (где en-US – язык браузера Tor, поэтому он может отличаться в зависимости от вашего языка; папка должна содержать файл start-tor-browser.desktop и подпапку Browser) в то место, где вы хотите запустить браузер Tor. Я рекомендую скопировать его в папку, где у пользователя есть права на чтение и запись, чтобы Tor Browser мог обновляться автоматически. Например, вы можете скопировать его в папку “Apps” в вашей домашней папке

Теперь вы можете автоматически добавить Tor Browser в меню приложений. Откройте терминал, перейдите в папку, куда вы скопировали Tor Browser, создайте исполняемый файл start-tor-browser.desktop и запустите его с опцией –register-app, чтобы добавить пункты меню для Tor Browser в меню вашего приложения:

cd /path/to/tor-browser_en-US
./start-tor-browser.desktop --register-app

Вы должны заменить /path/to /tor-browser_en-US на путь к вашей папке Tor Browser (которая содержит файл start-tor-browser.desktop и подпапку Browser). Обратите внимание, что вы не можете запустить start-tor-browser.desktop напрямую с его полным путем, для его запуска необходимо находиться в родительской папке этого файла.

В качестве примера, если папка Tor Browser имеет имя tor-browser_en-US и находится в папке Apps вашего домашнего каталога, вам необходимо выполнить следующие команды, чтобы сделать start-tor-browser.desktop исполняемым файлом и включить Tor Browser в меню Applications:

cd ~/Apps/tor-browser_en-US/
./start-tor-browser.desktop --register-app

После этого Tor Browser появится в меню ваших приложений, и вы сможете запускать его оттуда простым щелчком мыши.

Фильтрации узлов tor


При своей работе служба Tor составляет временные пути (контуры) по которым проходит трафик. Этот путь включает в себя 3 произвольных узла сети Tor:

  • Входящий узел (знает ваш IP и знает, что вы используете Tor)
  • Промежуточный узел (отправляет зашифрованный трафик в обоих направлениях, знает IP-адреса входящего и исходящего узлов)
  • Исходящий узел (видит ваш трафик, но не знает вашего IP)

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

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

Фильтры могут использоваться как:

  • Идентификация узлов по отпечаткам пальцев
  • Код страны
  • Шаблоны адресов.

Код страны представляет собой двухбуквенное обозначение кодов ISO3166. Они должны быть помещены в фигурные скобки.

Перед словом “nodeprint” может стоять знак “доллар”.

Данный адрес может быть конкретным адресом или подсетью.


Пример:

ExcludeNodes ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, {cc}, 255.254.0.0/8

Флаги socksport

SocksPort признает следующие индикаторы:

NoIPv4Traffic

Указывает узлам выхода не подключаться к адресам IPv4 в ответ на запросы SOCKS по этому соединению.

IPv6Traffic

Если используется SOCKS5, выходным узлам сообщается о необходимости разрешить адреса IPv6 в ответ на запросы SOCKS через соединение. (SOCKS4 не может обрабатывать IPv6).

Предпочесть IPv6.


Говорит узлам выхода, что если хост имеет как IPv4, так и IPv6-адрес, мы бы предпочли подключиться к нему через IPv6. (по умолчанию используется IPv4).

NoDNSRequest

Не просите узлы выхода разрешать адреса DNS в запросах SOCKS5. Tor будет подключаться к адресам IPv4, IPv6 (если настроен трафик IPv6) и .onion.

НетОнионТраффик :

Не подключаться к .onion адресам в SOCKS5 запросах.

OnionTrafficOnly

Это указывает клиенту tor подключаться только к адресам .onion в ответ на запросы SOCKS5-соединений для данного соединения. Другими словами, NoDNSRequest, NoIPv4Traffic и NoIPv6Traffic. Этот флаг не поддерживается.

CacheIPv4DNS

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

CacheIPv6DNS


Говорит клиенту помнить IPv6 DNS ответы которые получены от выходных нод во время этого подключения.

Письменная группа

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

Пишущий мир


Только для доменных сокетов Unix: делает сокет доступным для записи кем угодно.

Скрытые DNS .

Приказывает клиенту запомнить все DNS-ответы, полученные от выходных узлов по этому соединению.

UseIPv4Cache

Когда мы делаем запросы через это соединение, мы инструктируем клиента использовать все кэшированные ответы DNS IPv4. (ПРИМЕЧАНИЕ. Вы, скорее всего, получите худшую производительность, если будете использовать опции UseIPv6Cache или UseDNSCache. Используйте их на свой страх и риск. Используйте с осторожностью!)

Круглый IPv6Cache

Указывает клиенту использовать доступные нам кэшированные ответы IPv6 DNS при выполнении запросов по данному соединению.

UseDNSCache


Сообщает клиенту использовать любые кэшированные ответы DNS, которые мы имеем при выполнении запросов через это соединение.

Предпочитать IPv6Automap

При обработке запроса поиска имени хоста на этом порту для автоматического сопоставления (согласно AutomapHostsOnResolve), если мы можем вернуть ответ IPv4 или IPv6, предпочтителен ответ IPv6. (По умолчанию включено.)

PreferujSOCKSNoAuth (Предпочтительно).

Обычно, когда приложение предлагает как “аутентификацию по имени пользователя/паролю”, так и “без аутентификации” через SOCKS5, Tor выбирает аутентификацию по имени пользователя/паролю, так что IsolateSOCKSAuth будет работать. Это может запутать некоторые приложения, если они предлагают комбинацию имени пользователя/пароля, а затем путаются при повторном запросе.

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

Ваш адрес email не будет опубликован.

Adblock
detector