Россия. Работа в JOSM со спутниковыми снимками Maxar Premium через Tor Browser
Posted by _PG_ on 29 November 2022 in Russian (Русский). Last updated on 8 February 2023.Напомню суть проблемы. 11 ноября Максар заблокировал на своих серверах доступ с российских IP-адресов. Вместо тайлов он возвращает HTML с ошибкой “403 Forbidden”. Это ограничение очень легко обойти, если подключаться через Tor, через прокси-сервер или через VPN. Проблема в том, что при этом весь трафик идет через VPN/Прокси/Tor, а значит будет работать медленнее. А нам не надо заворачивать в Tor всё, нужно только запросы к серверам Максара.
И вот, у меня получилось. Я настроил проброс JOSM-запросов к слою Maxar Premium через Tor Browser. Все прочие запросы идут напрямую.
Описание схемы тезисно:
-
Ставим Tor Browser. Он интегрирован с клиентским ПО Tor, оно запускается и закрывается синхронно с браузером и работает как локальный socks5-прокси, к которому может подключаться абсолютно любое ПО на компьютере.
-
Ставим локальный http-прокси Privoxy. Указываем ему в конфиге “запросы к серверам Maxar заворачивать в прокси Tor, остальное качать напрямую”.
-
Настраиваем JOSM чтобы он работал с интернетом через http-прокси Privoxy
1) Установите Tor Browser. Для работы вам понадобится чтобы он был запущен и подключен к сети Tor. https://www.torproject.org/download/ Как вы будете его скачивать - без понятия, в России этот сайт заблокирован. Любой способ обхода блокировок в помощь. Простейший вариант - на время скачивания добавить в браузер плагин Browsec, но вообще мне этот плагин не нравится назойливостью рекламы, поэтому я отключаю его сразу после завершения использования. Если вы не пользовались Tor раньше, учтите, что в России он работает только через мосты (bridges), причём только через те, которые ещё не успел выявить и задавить РКН. После установки и запуска вам потребуется войти в настройки и запросить три случайных моста из списка тех, которые ещё работают:
Settings->Connection->Add New Bridge->Request a bridge from torproject.org
После этого Tor Browser начнёт успешно подключаться к сети Tor по нажатию соответствующей кнопки на стартовом экране. Чтобы отключиться от сети Tor, надо просто закрыть Tor Browser.
2) Скачайте локальный http-прокси сервер Privoxy http://www.privoxy.org/sf-download-mirror/Win32/3.0.29%20%28stable%29/privoxy_3.0.29.zip Распакуйте содержимое архива в любую папку, которая не требует админских прав для записи. Добавьте в конец файла config.txt строчку
forward-socks5t services.digitalglobe.com/ 127.0.0.1:9150 .
и добавьте пустую строку после неё. Обращаю внимание на пробел и точку в конце строки, они обязательны.
Для запуска прокси-сервера нужно запускать файл privoxy.exe, он добавляет значок в трей и закрывается через меню в трее. Админские права не нужны.
3) Настройте в JOSM работу через http proxy:
Правка->Настройки->Прокси-сервер->Собственная конфигурация прокси-> Сервер 127.0.0.1 Порт 8118
4) Добавьте в списке слоёв новый TMS-слой Maxar Premium со следующими настройками:
Правка->Настройки->Слои-> + TMS
Введите URL: [CENSORED]
Введите TMS URL:
Маскимальный масштаб: 22
Название: Maxar Premium
Всё, можно работать. Все запросы Privoxy будет отправлять напрямую, а запросы к слою Maxar - в Tor.
Примечания:
-
Обращаю внимание, что без запущенного Privoxy JOSM вообще не будет работать, либо надо ему в настройках указать “подключение к интернету без прокси”.
-
В принципе, слой Maxar Premium уже встроен в JOSM, но, похоже, при блокировке доступа к тайлам, поломался и механизм обновления токена (то что выше названо connectId), поэтому встроенный в JOSM слой не работает, приходится создавать кастомный, указывая туда этот токен напрямую. Вероятно в будущем придётся как-то вручную обновлять этот токен, выдирая его из онлайн-редактора iD сниффером. К счастью, он исключительно редко меняется, за последние четыре года такое было лишь однажды.
-
Если у вас есть хороший VPN, который предоставляет возможности локального прокси-сервера, вы можете вместо Tor использовать VPN. Всё, что вам нужно будет сделать - это изменить строчку в файле настроек Privoxy. Номер порта - тот, который нужен для подключения к ПО вашего VPN.
Для http-прокси надо указать:
forward services.digitalglobe.com/ 127.0.0.1:НОМЕР_ПОРТА .
Для socks5-прокси надо указать:
forward-socks5 services.digitalglobe.com/ 127.0.0.1:НОМЕР_ПОРТА .
Обращаю внимание на пробел и точку в конце строки, они обязательны. http://www.privoxy.org/user-manual/config.html#FORWARDING
-
При подключении через сеть Tor вы начинаете видеть интернет от имени выходного узла. Конкретный выходной узел выбирается при каждом подключении к сети Tor случайным образом. Чтобы заставить тор каждый раз выбирать выходные узлы, находящиеся в определённой стране, вам нужно воспользоваться инструкцией по нижеприведённой ссылке (хотя сам я этим не заморачивался, благо и без этого всё работает): https://www.wikihow.com/Set-a-Specific-Country-in-a-Tor-Browser
-
Если вы хотите в качестве редактора карты OSM использовать не JOSM, а онлайн-редактор iD, вы можете использовать любой желаемый браузер, выбрав в его настройках в качестве прокси-сервера этот самый Privoxy. Укажите в качестве http и https-сервера 127.0.0.1 с портом 8118, все запросы будут уходить в интернет напрямую, а запросы к снимкам Максара - через Tor. Минусы такого решения - что в России вообще не очень хорошая идея слать запросы в интернет напрямую и у вас наверняка на браузер уже навешано какое-то решение для обхода блокировок, очень вероятно, что оно будет конфликтовать с работой через Privoxy.
Discussion
Comment from KofDim on 12 December 2022 at 20:27
Спасибо