Маршрутизация портов / DNS для отдельной программы

Задний план

Flickr закрыл свой http api, оставив https только api. Мой любимый загрузчик (официальная версия Flickr Uploadr версии 2.5 работает под вином) больше не поддерживается, поэтому это изменение нарушило его.

Моим текущим решением для этого является создание обратного прокси-сервера для перевода http://www.flickr.com на https://www.flickr.com и исправления моего DNS, чтобы трафик www.flickr.com перенаправлен на этот прокси-сервер.

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

Вопрос

Могу ли я отправить трафик из этого приложения, направленного на www.flickr.com, в мой обратный прокси?

Дополнительный вопрос

Есть ли более простой способ достичь этого? например, переслать http://www.flickr.com прямо на https://www.flickr.com без прокси-сервера.

Решение

Смутно, что приложение имеет настройку прокси-сервера, поэтому все, что мне нужно было сделать, это указать на мой прокси-сервер. В качестве альтернативы, приведенный ниже ответ Giles показывает, как вы можете установить прокси для отдельного приложения Unix и всех приложений Wine.

Только DNS не поможет вам: он может указывать ваш клиент на другую машину, но эта машина должна будет обслуживать ожидаемое содержимое Flickr на порту 80.

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

Apache с mod_proxy и mod_ssl – это простой, если в супертяжелом, такой прокси. Сейчас я не могу придумать готовое решение с более легким весом. Модификация SimpleHTTPServer Python может быть другим решением.

Чтобы указать приложение Wine на прокси-сервер, см. Раздел « Часто задаваемые вопросы по вину» §7.18 «Как настроить прокси?». Существует два решения:

  • Обычное решение unix: установите переменную окружения http_proxy , например (если ваш прокси-сервер прослушивает порт 8070):

     export http_proxy=http://localhost:8070/ wine 'c:/Program Files/Flickr Uploader/Flickr Uploader.exe' 
  • Метод Wine: установите ключ реестра [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] ProxyEnable (см. [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings] ProxyEnable «Часто задаваемые вопросы по вину для синтаксиса»).

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

 ssh -L 80:www.flickr.com:443 user@localhost 

Направьте загрузчика на localhost:80 и порт переместит трафик на www.flickr.com:443