Есть ли какая-либо командная строка, универсальный Прокси HTTP (как Сквид)?

Вот некоторые мои предложения:

  • Вы включили unicode useflag? Без него zsh не будет скомпилирован с поддержкой Unicode. Если Вы используете bash, это должно иметь поддержку Unicode через libreadline. Кроме того, ksh и tcsh не поддерживайте Unicode вообще.
  • Это могла также быть Ваша локаль или выборы шрифта, но они выглядят хорошо от того, что я могу собрать. Просто удостоверьтесь, что перечислили свою локаль в /etc/locale.gen и генерируйте его с locale-gen на командной строке.

Кроме того, смотрите на Использование UTF-8 с хинду руководством из хинду документации.

9
17.05.2012, 15:57
3 ответа

И Perl и Python (и вероятно Ruby также) имеют простые наборы, которые можно использовать для быстрого создания простых Прокси HTTP.

В Perl используйте HTTP::Proxy. Вот пример с 3 строками из документации. Добавьте фильтры, чтобы отфильтровать, зарегистрировать или переписать запросы или ответы; см. документацию для примеров.

use HTTP::Proxy;
my $proxy = HTTP::Proxy->new( port => 3128 );
$proxy->start;

В Python используйте SimpleHTTPServer. Вот некоторый пример кода, слегка адаптированный от effbot. Адаптируйтесь do_GET метод (или другие) для фильтрации зарегистрируйте или перепишите запросы или ответы.

import SocketServer
import SimpleHTTPServer
import urllib
class Proxy(SimpleHTTPServer.SimpleHTTPRequestHandler):
    def do_GET(self):
        self.copyfile(urllib.urlopen(self.path), self.wfile)
httpd = SocketServer.ForkingTCPServer(('', 3128), Proxy)
httpd.serve_forever()
8
27.01.2020, 20:06

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

Самый легкий способ сделать это могло бы быть должно использовать любой случайный прокси anonymization там и просто канал весь трафик через netcat. (Т.е. набор Ваш браузер проксирует к localhost:port и затем передайте данные к реальному прокси.)

Если Вы хотите иметь локальный прокси затем, SOCKS5 проксирует с ssh -D <port> localhost вероятно, Ваша самая легкая опция. Очевидно, необходимо сказать браузеру использовать прокси "носков", а не прокси "http".

Так, что-то вроде этого (принятие Вашей локальной машины принимает входящие соединения SSH):

ssh -fN -D 8000 localhost
nc -l 8080 | tee capturefile | nc localhost 8000

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

6
27.01.2020, 20:06
  • 1
    Спасибо. У Вас есть какие-либо предложения имени для прокси anonymization для Linux? Я предпочел бы, которые не так тяжелы как Сквид (с точки зрения размера, памяти, скорости запуска), startable не -root пользователь, и т.д. –  Harry 17.05.2012, 17:52
  • 2
    Кроме того, я не последовал Вашему примеру прокси SOCKS5. Вы могли объяснить, что продолжает эти 2 вызова выше? Я, например, знают это ssh -fN -D ... запускает прокси SOCKS5 на localhost порт 8000, но что делает nc -l ... ? И, к который порт должен я высказывать свое мнение браузера к: 8000 или 8080? –  Harry 17.05.2012, 18:37
  • 3
    @harry для прокси anomyzation взглянул на privoxy –  Ulrich Dangel 17.05.2012, 20:17
  • 4
    Когда я говорю "anonymization прокси", я не имею в виду что-то, что Вы настраиваете сами: Я имею в виду существующий прокси там в сети. @UlrichDangel предлагает privoxy, и я уверен, что также существуют другие. –  ams 18.05.2012, 11:04
  • 5
    nc команды принимают весь трафик от порта 8080 и передают его 8 000. Я не обеспечил полное netcat решение, потому что Ваше сообщение предложило Вас уже, знало, как внести свой вклад. –  ams 18.05.2012, 11:06

https://mitmproxy.org/

Пример:

mitmdump  --ssl-insecure --mode reverse:google.com
1
26.09.2020, 11:38

Теги

Похожие вопросы