Как построить прокси шлюз? - PullRequest
4 голосов
/ 27 декабря 2010

У меня отличный IM, что для работы нужен прокси типа (SOCKS4, SOCKS4A, SOCKS5), однако моя компания использует Http Proxy.

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

Ответы [ 5 ]

3 голосов
/ 31 декабря 2010

Если компания так ограничена в отношении доступа в Интернет, прокси-сервер, вероятно, настроен только как шлюз HTTP (s), команды порта недоступны, поэтому прямой интернет-трафик находится вне диапазона, если в сети нет настраиваемого ящика.

Пользовательский ящик может быть вашим интернет-маршрутизатором дома с установленным DD-WRT или OpenWRT . Единственное, что вам нужно сделать, это настроить ее консоль ssh на порт 443 (HTTPS) - и все это с помощью симпатичной веб-панели администратора (DD-WRT имеет преимущество, учитывая простоту использования). Альтернативой является использование linux-бокса друга, некоторого выделенного сервера или дешевого виртуального сервера, поскольку единственная функциональность, которая вам понадобится, - запуск ssh-сервера на порту 443.

Если у вас есть linux-бокс с ssh на порту 22 или другой, не по умолчанию, просто добавьте следующие строки в /etc/init.d/local (или /etc/conf.d/local.start):

iptables -A PREROUTING -t nat -p tcp --dport 443 -j REDIRECT --to-port 22
iptables -I INPUT -j ACCEPT -p tcp --dport 443
iptables -I INPUT -j ACCEPT -p tcp --dport 22

Теперь вам нужно подключиться к своему ящику с работы, вы можете использовать швейцарский армейский нож - замазку. Здесь - хорошая статья о том, как обойти прокси, а здесь - статья о том, как настроить локальный SOCKS-прокси на машине с клиентом-замазкой. Объедините обе статьи, чтобы получить ожидаемый результат - настройку прокси-сервера SOCKS при подключении из-за HTTP-прокси.

Удачи, свобода победит.

3 голосов
/ 30 декабря 2010

Если вам нужно программное обеспечение для прокси, зачем изобретать велосипед? Просто используйте то, что уже написано (например, jsocks ). Должна быть возможность добавить аутентификацию, если вам это нужно.

Если прокси-сервер вашей компании работает только по протоколу HTTP, я сомневаюсь, что простая переадресация будет работать только для программного обеспечения SOCKS.

0 голосов
/ 30 декабря 2010

Вам понадобятся два прокси, один перед HTTP-прокси, а другой за ним.Проще просто установить один новый прокси SOCKS.

Instant Messenger --> IM Proxy 1 --> HTTP Proxy --> IM Proxy 2 --> Internets
                  IM            HTTP           HTTP            IM
               protocol                                      protocol

против.

Instance Messenger --> SOCKS Proxy --> Internets
                   SOCKS           IM
                   protocol     protocol
0 голосов
/ 30 декабря 2010

Мне не кажется, что вопрос?

Вы хотите написать Java-компонент, который на одном конце имеет SOCKS API, а на другом HTTP?Какой протокол использует ваше приложение для обмена мгновенными сообщениями?Как подсказывает «mindas», вам может понадобиться гораздо больше, чем просто переадресация.

Если вы просто ищете программное обеспечение Java, которое обрабатывает механику HTTP, включая проверку подлинности прокси, перейдите к Apache httpcomponents http://hc.apache.org/

0 голосов
/ 29 декабря 2010

HTTP-прокси настроен в интернет-настройках Windows? Если это так, вы можете указать Java использовать системный прокси следующим образом:


System.setProperty("java.net.useSystemProxies", "true");

...