Добрый день уважаемые хабраюзеры.
Сегодня я вам предлагаю обсудить создание единого прокси сервера способного в пургу, жару и блокировку оставаться не преклонным и свято блюсти принципы свободы информации, единения и мира во всём мире. Да, да речь пойдет опять об i2p, но уже с позиции серверных настроек.
Представим, что существует добрый самаритянин за границей у которого постоянно включен i2p роутер и он готов нести радость людям создав нам proxy.antizapret.i2p
Данная статья написана пользователем torna он попросил опубликовать, так что все плюсы прошу направить ему.
На удивление создать туннель подобного рода оказалось элементарно. Для этого нам понадобится:
- squid — прокси сервер
- i2p router
Добавляем в squid.conf
acl block_ip dst 93.158.134.198 # Если пользователь хочет попасть на этот ip используем прокси (можно создать отдельным файлом где будет весь список забаненых адресов)
http_access allow block_ip # разрешаем только нужные ip адреса
http_access deny all # всем остальным запрещаем
http_port 3128 # Устанавливает порт для i2p роутера
Загружаем i2p и начинаем настройку туннеля:
- на странице http://127.0.0.1:7657/i2ptunnel/wizard выбираем серверный туннель
- тип туннеля стандартный
- Описание и название на ваше усмотрение
- Адрес: 127.0.0.1
- Порт: 3128
- Автозапуску ставим галочку
Теперь прокси сервер вещающий в i2p создаст через пару минут b32 адрес подобного типа zrucncbt6qlocnzqobb7nddtp2kexwlkfabgvqlhizxcnp4qdv6q.b32.i2p. Чтобы придать ссылки удобочитаемый формат её нужно внести в адресную книги и подождать недельку пока в сети большинство роутеров не внесут изменения. После этого можно начинать рекламировать ваш прокси.
Пользовательские настройки.
Что бы пользователь смог пользоваться прокси сервером его нужно прописать на той же странице http://127.0.0.1:7657/i2ptunnel/wizard только в этот раз выбрать клиентский туннель:
- Тип туннеля HTTP
- Название и описание зависит от фантазии
- Адрес назначения туннеля: zrucncbt6qlocnzqobb7nddtp2kexwlkfabgvqlhizxcnp4qdv6q.b32.i2p или имя из адресной книги
- Порт: 3123
- Если у ваш компьютер один одинёшенек, выбирайте адрес сетевого интерфейса начинающийся с 127.0.0.1, если нет 192.хх.хх.хх
- Автозапуску ставим галочку
Так как прокси и vpn в ближайшем будущем запретят, постоянно шифрованный трафик с определенного ip будет выглядеть нелепо, трафику нужна автоматизация. Создадим клиентский pac файл.
Исходники данного .pac файла я подсмотрел на http://antizapret.prostovpn.org/ за что владельцу приношу благодарности, так же питаю надежды, что владелец данного ресурса и станет добрым самаритянином.
function FindProxyForURL(url, host) {
blockedarray = [
"93.158.134.198",
];
if (blockedarray.indexOf(dnsResolve(host)) != -1) {
return "PROXY 127.0.0.1:3123";
}
return "DIRECT";
}
PS. Заранее извиняюсь за шуточный стиль оформления статьи, тема достаточно щепетильная с правовой точки зрения и печальная одновременно. Спасибо за внимание.