Вот некоторые мои предложения:
unicode
useflag? Без него zsh
не будет скомпилирован с поддержкой Unicode. Если Вы используете bash
, это должно иметь поддержку Unicode через libreadline. Кроме того, ksh
и tcsh
не поддерживайте Unicode вообще. /etc/locale.gen
и генерируйте его с locale-gen
на командной строке.Кроме того, смотрите на Использование UTF-8 с хинду руководством из хинду документации.
И 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()
Это не может быть лучшим решением, но если Вы будете использовать прокси затем, то это будет иметь определенное 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
решение.
root
пользователь, и т.д.
– Harry
17.05.2012, 17:52
ssh -fN -D ...
запускает прокси SOCKS5 на localhost
порт 8000
, но что делает nc -l ...
? И, к который порт должен я высказывать свое мнение браузера к: 8000
или 8080
?
– Harry
17.05.2012, 18:37
nc
команды принимают весь трафик от порта 8080 и передают его 8 000. Я не обеспечил полное netcat
решение, потому что Ваше сообщение предложило Вас уже, знало, как внести свой вклад.
– ams
18.05.2012, 11:06