@hirthwork

Тег i2p в блоге hirthwork

hirthwork

В кои-то веки на почтальоне выложили реально полезный торрент в категории religious content: The Satanic Bible by Anton LaVey

hirthwork

I need "Cheburashka" to not be ashamed for being same nationality as some other russians:

Hello, just sorry for my English language skills, the friends I have a question - I myself from the Ukraine, but I have many friends in Russia, and Russia is known to want to deny access to the Internet, some out there out of the situation for ordinary users who do not want that to ihnem communication tinkering of all kinds interested in and employees of any services which equipment necessary for its complete Internet not be visible to all and not be afraid of them. Thank you .

© http://zzz.i2p/topics/2228-problem-rus

hirthwork

deepdankmemes.i2p проёбывает картинки. дно. хоть у себя картинкохостинг поднимай. с шифрованием (не могу вспомнить аналог в большом вебе), чтобы не загребли если кто чего не того на мою впс зааплоадит

hirthwork

Ух-ты, оказывается «Человеческая многоножка 3» вышла! http://diftracker.i2p/torre...details.php?id=10260

hirthwork

yay! "Отряд самоубийц" в русском переводе на diftracker.i2p! скрытносеть стала более оперативно доставлять

hirthwork

hirthwork

Описание раздачи на трекере:

(Young) dogs and puppies are shown in various scenes: Sleeping, eating,learning, tussling, playing chess...
No humans were harmed by the production of this film, although some shoes were gnawed on.

© http://tracker2.postman.i2p...rrentDetail&id=37215

hirthwork

Трезворк репортинг. В прошлой серии (#iprfw) я писал о том как автоматически ходить в i2p из браузера при помощи WPAD. У описанного метода есть некоторые недостатки:

  • Не работает в легковесных браузерах типа w3m, dillo, curl, wget и fetch
  • Не работает в громоздких поделиях типа Google Chrome и Yandex.Browser
  • На айфоне networkd запрашивает WPAD по настроению, иногда запрашивает, а иногда говорит что в i2p не пойдёт

Сегодня поговорим о железобетонном решении, у которого есть ровно один недостаток: оно не работает с i2p-сайтами висящими на нестандартном порту. Я таких пока ещё не встречал.

Итак, нам всё так же нужен openvpn.conf, который прокидывает собственный DNS: push "dhcp-option DNS 10.100.0.1"
Так же нам нужен dnsmasq.conf, который резолвит все i2p хосты в адрес нашей впски: address=/.i2p/10.100.0.1
Далее, нужно заставить nginx слушать 10.100.0.1:80 и заворачивать все запросы в прокси. Опытный админ nginx скажет, что это невозможно, nginx этого не умеет и официальный ответ Сысоева был "используйте squid". Поэтому нам придётся использовать баги о которых Сысоев не в курсе:

server {
    listen 10.100.0.1;
    server_name *.i2p;
    location / {
        rewrite ^(.*)$ "HTTP://$host$1" break;
        proxy_read_timeout 5m;
        proxy_set_header Host $host;
        proxy_pass http://10.100.0.1:4444;
    }
}

Обратите внимание, что в пятой строке написано HTTP://, а не http://. Не смотря на https://tools.ietf.org/html/rfc2616#section-3.2.3, nginx сравнивает схему case-sensitive, что позволяет обмануть его парсер.
Всё, теперь при подключении к openvpn все клиенты за i2p ходят в 10.100.0.1:80 откуда их перенаправляют на 10.100.0.1:4444

hirthwork

Сон — для девочек, а красноглазие — для Трезворка.
Пришло время научиться агрегировать в одном tt-rss фиды от большого интернета и от даркнета.
Допустим, что с большим интернетом проблем не возникло и https://tt-rss.org/ уже развёрнут.
Теперь нам нужно для всех i2p-сайтов завернуть трафик через 10.100.0.1:4444. Возможности для тонкой кастомизации этого разработчики нам не оставили, поэтому придётся подойти к задаче творчески. Итак:

  • Ставим pecl-runkit

  • В конец php.ini добавляем:

    [runkit]
    runkit.internal_override = 1

  • В tt-rss/config.php, рядом с выставлением основных настроек, типа используемой БД, добавляем щепотку магии сдобренной костылями:

    !php

    runkit_function_rename('curl_init', 'old_curl_init');
    runkit_function_add(
    'curl_init',
    'string $url = NULL',
    '$ch = old_curl_init($url);'
    . 'if (preg_match("/[.]i2p$/", parse_url($url, PHP_URL_HOST)) == 1) {'
    . 'curl_setopt($ch, CURLOPT_PROXY, "10.100.0.1:4444");}return $ch;');

Всё! Перезапускаем php и ttrss и добавляем http://diftracker.i2p/rss.php в свои подписки.

hirthwork

Пойнт засыпает, просыпается Трезворк.
Итак, в начале этой эпопеи я поставил перед собой следующие цели:

  • Избавиться от наколенной прокси на php + libcurl
  • Иметь возможность обходить блокировки РКН по конкретным сайтам
  • Иметь возможность ходить в i2p с телефона и десктопа без каких-либо дополнительных настроек

Возникшие по ходу дела проблемы:

  • Я ничего не понимаю в сетях, масках, таблицах роутинга и прочем
  • Вместо телефона у меня ипхон, а вместо операционной системы — гента, в первом не работает WPAD, во втором не цепляется автоматически PAC.
  • В tt-rss не поддерживает ни WPAD, ни PAC (решение этой проблемы описано отдельно в #iprdr)

В итоге получилось с некоторой избыточностью, но всё равно не очень громоздко.
Итак, создаём скрипт, который генерит общую таблицу роутинга для всех клиентов, но имеет разную прелюдию для айфона и компов (особо упоротые могут выкачивать список айпишников с http://reestr.rublacklist.net/api/ips):

#!/bin/sh
set -e
default=$(mktemp --suffix=.routes)
trap "rm -f $default" EXIT
iphone=$(mktemp --suffix=.routes.iphone)
trap "rm -f $default $iphone" EXIT

echo 'push "dhcp-option DOMAIN i2p"' > $default
echo 'push "dhcp-option PROXY_AUTO_CONFIG_URL http://wpad/wpad.dat"' > $iphone

for host in grani.ru lurkmore.to rutracker.org lj.rossia.org kasparov.ru zapretno.info
do
    getent ahostsv4 $host|cut -d' ' -f1|sort -u|while read ip
    do
        echo 'push "route '$ip' 255.255.255.255"' >> $default
        echo 'push "route '$ip' 255.255.255.255"' >> $iphone
    done
done

if ! (diff -q $default /etc/openvpn/routes/DEFAULT && diff -q $iphone /etc/openvpn/routes/iphone)
then
    install -m0444 $default /etc/openvpn/routes/DEFAULT
    install -m0444 $iphone /etc/openvpn/routes/iphone
fi

Правильные dhcp-option для компа и телефона мы прокинули, теперь нужно для компа ещё пушнуть wpad. В dnsmasq.conf:

address=/wpad/10.100.0.1
dhcp-option=252,"http://wpad/wpad.dat"

И раздать файл и для компа и для телефона. В nginx.conf:

server {
    listen 10.100.0.1;
    server_name wpad;

    root /var/www/localhost/htdocs;

    location /wpad.dat {
        default_type application/x-ns-proxy-autoconfig;
    }
}

После этого непосредственно в /var/www/localhost/htdocs/wpad.dat пишем уже описанное нами правило:

function FindProxyForURL(url, host) {
    if (dnsDomainIs(host, ".i2p")) {
        if (url.substring(0, 6) == 'https:') {
            return "PROXY 10.100.0.1:4445";
        } else {
            return "PROXY 10.100.0.1:4444";
        }
    }

    return "DIRECT";
}

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

hirthwork

Продолжая серию бесполезных советов. Во вчерашнем посте я давал ссылку на бнв, где описывался php-скриптик для хождения в i2p с телефона.
Времена меняются и пришло время предложить менее наркоманское решение на более алкогольном ресурсе.
Итак, в openvpn.conf пишем: push "dhcp-option PROXY_AUTO_CONFIG_URL http://myprivateserver.com/proxy.pac"
А в самом файлике, который вы будете отдавать статикой через nginx пишем дословно следующее:

function FindProxyForURL(url, host) {
    if (dnsDomainIs(host, ".i2p")) {
        if (url.substring(0, 6) == 'https:') {
            return "PROXY 10.100.0.1:4445";
        } else {
            return "PROXY 10.100.0.1:4444";
        }
    }

    return "DIRECT";
}

Теперь, при подключении к vpn телефон получает proxy auto config, выкачивает его и при попытке захода на i2p-шный ресурс детектит, что нужно использовать i2p-проксю от ноды, которая крутится на впске.
Всё, больше не требуется никакой наколеночной прокси на php (на самом деле всё ещё требуется для rss в i2p)

hirthwork

YAY! Они изобрели Толоку! http://microjobs.i2p/

hirthwork

Пришло время закрыть вкладку с lifebox.i2p
Я устал охуевать

hirthwork

кто-нибудь уже пробовал http://lifebox.i2p/ ? у меня как-то ломается шаблон при мысле о социалочке в скрытносети

hirthwork

ничоси, торадиция в i2p появилась

hirthwork

в i2p появился http://islamicstateoffical.i2p/ который не открывается

hirthwork

Нашёл ещё один сайт с торрентами (которых нет на почтальоне и diftracker) и прочим контентом: http://yadfo.i2p/ и ещё один: http://btdigg.i2p/

hirthwork

S10E01 magnet:?xt=urn:btih:99a555a22f6da87ef3f1194c381ae2ffe824151c спасибо доброму анону с бнв

hirthwork

это постыдное чувство, когда на англоязычном форуме встречаешь соотечественника:

hi. i'm from russia and i want supported this project(i2p). who is users from russia supported it. write me!!!
sorry, i don't speak english well.

© http://zzz.i2p/topics/2012-help-me

hirthwork

бля, кремлеботы даже до id3nt.i2p добрались. пиздец, дайте мне другой интернет

Добавить пост

Вы можете выбрать до 10 файлов общим размером не более 10 МБ.
Для форматирования текста используется Markdown.