Свободная литература или сказ про дружбу CoolReader c Tor

Картинка для привлечения внимания

Живет у меня в доме соседка: очень хорошая женщина, пенсионерка, ветеран труда, бывший медицинский работник, отработавший всю жизнь медсестрой в больнице. В настоящее время на пенсии. Я ей помогаю, чем могу, но сказ не про соседку, а про то, что подарила ей дирекция больницы, где она раньше работала планшет. Все бы ничего в этом планшете (WIFI есть, 3G нету, диагональ экрана 7 дюймов, на алиэкспрессе такие по 45 долларов с доставкой), но вот что делать с этим планшетом, естественно, не объяснили. И пришлось мне отвечать на вопрос, что делаю со своим планшетом я, а я на планшете книжки читаю, в основном Ясинского и Эльтерруса.

Естественно я подключил планшет к своему ноутбуку и перекинул апкашку CoolReader, а также свою библиотеку. К сожалению, через два дня выяснилось, что литературные пристрастия у нас разные и мои книжки соседке неинтересны. Пришлось поделиться паролем от своего вайфая и настроить opds «Флибусты», так как что такое Интернет соседка знала весьма приблизительно и ни компьютера, ни интернет-соединения у нее нет и никогда не было.

После выходных меня огорошили тем фактом, что нужные книжки с Флибусты не скачиваются. Сказать, что я был в недоумении — ничего не сказать — вся интересующая меня литература всегда была в свободном доступе, но соседка хотела Дарью Донцову и «50 оттенков серого» и, к моему удивлению, они действительно не скачивались.

Погуглив по сети, я выяснил, что в сети TOR добрые люди сделали зеркало Флибусты, с которого все прекрасно скачивается, однако все попытки объяснить CoolReader, что нужно заходить по .onion адресу, наткнулись на его стойкое нежелание коннектиться по .onion адресам в принципе. Что, в принципе, логично. Попытка объяснить принципы современного копирайта и покупки книг на «Литресе» была мною благополучно провалена: карточки, как и компьютера, у соседки нет, а противостоять наивному «а за что платить-то, если книжки у меня так и не будет?» и «где магазин, в который можно прийти и получить книжку на планшет?» оказалось выше моих скромных сил, поэтому пришлось решать эту проблему методами техническими, ибо не умею я людям говорить «нет», особенно тем, кто нуждается в помощи и защите.

К счастью, у меня уже был VRS (virtual root server), на котором крутился мой маленький проект по управлением Ubuntu и Apache.

Шаг 1. Устанавливаем на Ubuntu tor
apt-get install tor

Настройки «по-умолчанию» меня вполне устроили.

Шаг 2. Пишем скрипт для апача, назвав его, например: /home/user/flibusta/nph-flibusta.pl. Префикс nph- в имени файла очень важен, ибо влияет на то, как скрипт будет обрабатываться апачем.

#!/usr/bin/perl
use warnings;
use HTTP::Proxy;
use LWP::UserAgent;
use LWP::Protocol::socks;
use URI::Escape;
use CGI qw(:standard -nph);

my $q = new CGI;
my $ua = LWP::UserAgent->new(max_redirect => 0, agent => $q->user_agent(),);
$ua->timeout(60);
$ua->proxy([qw/ http https /] => 'socks://127.0.0.1:9050'); # Tor proxy

my $refer = $q->referer();
$refer = "" unless defined($refer);
$refer =~ s/proxy\.flibusta\.net/flibustahezeous3.onion/g; 

#handle extra parameters
my $ep ="";
foreach my $par ($q->param) {$ep .= $par.'='.uri_escape($q->param($par)).'&' unless ($par eq 'url');}
chop $ep;
$ep = '?'.$ep if ($ep ne '');

my $rsp = $ua->get('http://flibustahezeous3.onion'.$q->param('url').$ep, 'Referer'=>$refer, 'Accept'=>$q->http('Accept'), 
          'Accept-Language'=>$q->http('Accept-Language'),
          'Accept-Encoding'=>'identity',
          'Cookie'=>$q->http('Cookie') );
          
my $fstr = $rsp->as_string;

$fstr =~ s/flibustahezeous3\.onion/proxy.flibusta.net/g;

#define templates
my $nbl = <<DATA1;
 <link href="/b/BOOOOOOOK/fb2" rel="http://opds-spec.org/acquisition/open-access" type="application/fb2+zip" />
 <link href="/b/BOOOOOOOK/html" rel="http://opds-spec.org/acquisition/open-access" type="application/html+zip" />
 <link href="/b/BOOOOOOOK/txt" rel="http://opds-spec.org/acquisition/open-access" type="application/txt+zip" />
 <link href="/b/BOOOOOOOK/rtf" rel="http://opds-spec.org/acquisition/open-access" type="application/rtf+zip" />
 <link href="/b/BOOOOOOOK/epub" rel="http://opds-spec.org/acquisition/open-access" type="application/epub+zip" />
 <link href="/b/BOOOOOOOK/mobi" rel="http://opds-spec.org/acquisition/open-access" type="application/x-mobipocket-ebook" />
DATA1
my $olb = quotemeta <<DATA2;
 <link href="/b/BOOOOOOOK/download" rel="http://opds-spec.org/acquisition/disabled" type="disabled/fb2+zip" />
DATA2
#get all book IDs
my @IDs = $fstr =~ /\/b\/(\d+)\/download/g;
foreach my $id (@IDs)
{
  # prepare search and replace strings
  my $ao = $olb;
  $ao =~ s/BOOOOOOOK/$id/g;
  my $an= $nbl;
  $an =~ s/BOOOOOOOK/$id/g;
   # do replace to fix format for cool reader
  $fstr =~ s/$ao/$an/g;
}

print $fstr;


Что делает скрипт: получает параметр скрипт $url, переделывает имя хоста на торовское, отправляет запрос через TOR и подправляет пришедший ответ в ту форму, в какой его хочет видеть CoolReader.

Шаг 3. Настраиваем апач.
Создаем файл /etc/apache2/sites-available/proxy.flibusta.net с примерно таким содержимым:

<VirtualHost *:80>
  ServerAdmin webmaster@flibusta.net
  ServerName proxy.flibusta.net

  DirectoryIndex /home/user/flibusta/nph-flibusta.pl
  DocumentRoot /home/user/flibusta/
  <Directory /home/user/flibusta/ >
    AllowOverride None
    Options -Indexes +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>
   RewriteEngine On
   RewriteCond %{HTTP_HOST} =proxy.flibusta.net
   RewriteRule ^(.*)$ /nph-flibusta.pl?url=$1 [H=cgi-script,QSA,L]
   LogLevel warn
   CustomLog /var/log/apache2/access.log combined
 </VirtualHost>


И даем команду:

a2ensite proxy.flibusta.net

Перезапуская попутно апач:

service apache2 restart

Что тут происходит: все запросы к сайту proxy.flibusta.net отправляются на наш магический скрипт.

Шаг 4. Исправляем конфигурацию DNS на роутере.
У меня роутер ASUS RT-N66U, поэтому для того, чтобы была возможность провести необходимую модификацию, была проставлена прошивка MerlinWRT, использующая DNSmasq, c сайта разработчика. Включен раздел JFFS и в файл /jffs/configs/dnsmasq.conf.add была внесена строка:

address=/proxy.flibusta.net/99.99.99.99

Где 99.99.99.99 — IP-адрес моей VRSки (специально изменен во избежание хабраэфффекта) с учетом того факта, что адрес у меня динамический и никакой фильтрации IP-адресов на сервере при обращении к скрипту у меня нет. Очевидно, что для другой модели роутера шаг 4 будет иным, но аналогичным.

Шаг последний. Добавляем адрес proxy.flibusta.net/opds в список электронных библиотек в программе CoolReader. Тут ничего пояснять, думаю, не надо. Просто используем соответствующее меню в интрефейсе CoolReader~а.

Надеюсь, мой опыт пригодится другим людям и поможет сделать не только мою соседку счастливей, но и кого-либо еще в этом мире. Отдельное спасибо человеку, который сделал возможность скачивания книг через сеть Тor и автору программы CoolReader, которой пользуются «и пионеры и пенсионеры».

PS: Через две недели я узнал, что «Донцова отличный писатель, а „50 оттенков серого“ чернуха, которую не стоит читать таким воспитанным и вежливым молодым людям как я.», а также мне почти насильно впихнули шоколадный батончик Аленка вместе с просьбой удалить из меню CoolReader~а Litres, который почему-то «постоянно просит регистрации». Очевидно, что данный метод можно использовать и для организации доступа любого другого программного обеспечения к .onion и .i2p сайтам.
Поделиться публикацией
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 91
  • +2
    Ещё можно скачать архив флибусты с читалкой, и в интернет за книжками вообще не нужно будет ходить.
    • +1
      А где можно скачать?
      • +1
        Раньше я флибусту скачивал по этой ссылке: ipv6.nnm-club.me/forum/viewtopic.php?t=521962. К моему огромному сожалению, сейчас только архивы fb2 превышают 100 Gb. Для тех у кого провайдер не отдает IPv6, надо в ссылке ipv6 заменить на www.
        • 0
          Ого! Серьезный размер. Там втнутри архивы? или… сколко ж сам торрент-файл весит )))
          • +1
            Я тоже как-то подумал о том, что неплохо бы на своей карточке памяти в телефоне (32 Гб) уместить архив флибусты, чтобы, при нахождении ссылки на потенциально интересную книгу, не скачивать её, а просто открыть нужный архив.
            У меня был архив от начала 2010 года.

            Так вот, исследуя содержимое файлов, я понял, что весьма много места в уже сжатых файлах занимают картинки! В отличие от текста, jpg/png весьма плохо сжимается (если сжимается вообще).

            Так что если иллюстрации и обложка не особо важны, вполне можно размер коллекции сократить как минимум на треть.
            (Для этих целей я использую небольшую самописную программку, которая вырезает все картинки из fb2. Пока что вырезание там идёт довольно костыльным способом. Как соберусь оптимизировать её — думаю выложить сырцы в открытый доступ)
        • +6
          flibusta.net/node/64756 — тут найдете официальную ссылку на трекер с архивами флибусты, включая ежедневные и еженедельные обновления
          • +1
            • +1
              Еще есть архив Либрусека на этом форуме: http://torrent.rus.ec/viewtopic.php?p=198
            • 0
              И это самое правильное решение. Нельзя рассчитывать на то что сайт будет жить вечно.
              • +1
                Бюджетный планшет загнётся от такого количества файлов.
                • 0
                  Они в архивах по месяцам, не так и много архивов в итоге.
              • 0
                Я так делал. А потом меня за… о, что при перезагрузке смарта система впадала в долгий ступор, сканируя 64 гига карточки с кучей мелких файлов!
                Итогом стали четыре вы… нных из-за глюков базовых станций, вызывающих перезагрузку раз в минуту, карточек и переход на OPDS…

                С ностальгией вспомнился первый купленный сидюк «Библиотека в кармане»: тогда оно занимало каких-то 700 мегов…
                Потом — два по 700…
                Потом перешли на ДВД…
                Потом через некоторое время библиотека перестала влезать на карточку — пришлось «урезать осетра», выкидывая те разделы, что я 100% читать не буду даже с перепоя…
                На данный момент — по скромным прикидкам на карту не влезет уже даже «только фантастика»!
                • 0
                  Если системой был андроид, то стоило добавить файлик .nomedia в корень с архивом, дабы избежать ненужных сканов.
              • 0
                Идеальное решение — поднять приватное зеркало флибусты…
                Еще-бы кто-то накатал доку как это сделать…
                • +2
                  Копайте в сторону opds, с наскоку попал на такую вещь для создания личного opds сервера на основе Dropbox.
                  • 0
                    Я имел ввиду полноценное зеркало, для себя и близких поднять… Но всеравно огромное спасибо за это решение! Сделаю пока так!
                • +6
                  А я прямо на роутере поднял tor и i2p, теперь хожу из дома с любого устройства.
                  • +7
                    Интересно было бы почитать топик про это.
                    • +1
                      Это довольно просто на самом деле. В случае I2P есть два главных пункта:
                      1. Запустить i2p-роутер (для этого не нужно никаких специальных знаний, только установить Java).
                      2. Создать хост, который будет отдавать .pac файл для автоконфигурации прокси. .pac файл, если что, идёт в комплекте с i2p-роутером.
                      • +6
                        Вот то же самое, но с картинками и статьёй.
                        • +3
                          Думаю, многие под словом «роутер» понимают все ж домашнюю коробочку с блоком питания, которая раздает интернет от провайдера.
                          И вот в этом случае внезапно утверждение, что нужно «только установить java» нарывается на «ой!...»
                          (если вы в самом деле установили java на роутер с *wrt и после запустили там i2p — да, круто, расскажите!)
                          • 0
                            Нет, я установил на домашний сервер. Насиловать маленькую пластиковую коробочку не было желания. На роутер будет сложнее, но принцип не меняется. Думаю, главной проблемой будет поставить java. Впрочем, я не в курсе, может быть, там уже допилили i2p-роутер на C++.
                            • 0
                              Вот хорошо бы написать про выбор подходящего недорогого роутера для такой цели.
                              • 0
                                Достаточно просто.
                                Заходишь в базу данных (поддерживаемых моделей) dd-wrt или open-wrt.
                                Там в базе есть помимо названий ещё и ссылки с характеристиками.
                                Оперативки хватит практически везде.
                                А вот на флеш для tor нужно порядка 1,5Мб свободного места.
                                Например, возможностей Linksys WRT-160N уже достаточно. Можно выбирать и другие с примерно такими же (или более мощными) аппаратными возможностями. Для tor этого хватит.

                                А вот для i2p нужна java. И тут я, честно говоря, не знаю «подходящих недорогих вариантов». Ниже, вон, упомянули N700. Но он весьма слабо подходит под категорию «недорогой».
                                • 0
                                  Поставить RouterOS на какую-нибудь MicroATX плату и собрать свой «роутер» :)
                                  • 0
                                    А разве их не так делают?
                                    • 0
                                      Фабричные на MIPS
                                      • +1
                                        Нашел целых четыре статьи в вики, и это только на русском языке.
                          • 0
                            Какой прокси, вы о чём. Без автоконфигураций прокси, «искаробки», прокси совсем прозрачный.

                            И да, я имел ввиду именно домашнюю коробочку. С Java. Правда у меня она мощная. Netgear N7000
                            • 0
                              Если кому интересно, могу действительно написать пост с некоторыми особенностями, но вообще всё сделано по мотивам этого вот поста:
                              habrahabr.ru/post/122835/
                          • +1
                            У меня такой топик опубликован. Но только про tor.
                            На роутере под dd-wrt (то же на open-wrt и, видимо, вообще на всех *wrt).
                        • +1
                          А не логичнее ли поднять тор-прокси и научить свой днс отдавать .onion-адреса? Кажется, в такой ситуации апач и кастомные скрипты под каждый сайт будут не нужны.
                          • 0
                            Увы, но это было первое решение, которое я попробовал. К сожалению, «оно не прошло» по причине того, что, во-первых, Cool Reader не поддерживает работу с proxy, а proxy droid требует рута на устройстве, а во-вторых, требуется модификация данных отдаваемых сайтом flibustahezeous3.onion. Причем модификация интеллектуальная. Боюсь, что просто тор-прокси в данной ситуации не поможет.
                            • 0
                              Есть безрутовые прокси — они выглядят для системы как VPN и являются обязательными для всех соединений.
                              • 0
                                Очень интересно! Можно парочку названий?
                                • 0
                                  org.sandroproxy.drony навскидку.
                                  • 0
                                    Судя по всему это обычный прокси-сервер. Нужно приложение которое под андроидом пустит приложение которое не умеет и никогда не умело работать через прокси сервер в интернет через внешний прокси-сервер.
                                    Например, скайп который умеет на андроиде работать только напрямую и игнорирует настройки прокси-сервера в текущем WiFi подключении.
                                    • +2
                                      По «чему» всему?

                                      Вот по факу так:

                                      «A: There is no VPN servers. VPN mode is just used to intercept all traffic and direct to Drony app.
                                      Because some apps not respect android OS proxy settings. You can check this if Drony then redirect traffic to other proxy. Squid for example. In squid logs will be just requests to servers that android apps needs.»

                                      «Поскольку некоторые приклады не уважают настройки прокси в системе — включается VPN режим, который и забирает на себя весь трафик. Левых VPN серверов нет, только указанный вами прокси. Можете сами проверить, направив трафик на ваш собственный, например, Squid, и убедитесь, что трафик как раз тот, что генерирует ваш софт».
                                      • 0
                                        Ага, просто не дочитал до конца описание.
                                        • 0
                                          Вобщем, на моём Galaxy Nexus оно не работает, приложение слетает в тот момент когда надо установить подключение.
                            • 0
                              Через Tor2web тоже не завелось?
                              • 0
                                Эта штука работает далеко не всегда стабильно.
                                • 0
                                  Всегда можно поставить своё зеркало.
                                • 0
                                  Необходимость модификации отдаваемого контента, к сожалению, разрушает все стандартные решения.
                                • 0
                                  Неужели такой публичный прокси даст много нагрузки сервер?
                                  • +16
                                    Благодаря этому посту вспомнил, что бережно храню скриншоты в память о том как мы (читатели хабра) за пару суток слили рейтинг у приложения компании, подавший жалобу на CoolReader за его функцию, позволявшую скачивать книги с Флибусты.
                                    через несколько часов после публикации поста:


                                    пару дней спустя:
                                    • 0
                                      «Слушай!» так полностью и не оправились. А «Смс.Книги» вообще удалили из маркета.
                                      • +1
                                        Да, на WOT тоже рейтинг подпорчен и это правильно.
                                      • 0
                                        Жаль, что с тех пор так и не появилось конкурентов с сопоставимым ассортиментом и поддержкой читалок.
                                      • +3
                                        coollib.net/ — насколько я помню в этот opds зазеркалили и флибусту и либрусек.
                                        • +1
                                          К ним тоже уже пришли правообладатели
                                        • 0
                                          Я как-то больше надеялся на решение «всё в планшете» — чаще всего OPDS мне нужен не дома, но статью в избранное добавлю: мало-ли?
                                          • +2
                                            Кстати, а почему работать OPDS перестал? Копирасты загнобили разработчика CoolReader?
                                            • 0
                                              Вроде бы работает флибуста.
                                              • 0
                                                OPDS отлично работает. Это флибуста через клирнет не отдаёт 90% книг. Через TOR или i2p — пожалуйста.
                                                Для себя решил вопрос связкой из Orbot и I2P-роутера, слегка подкрутив privoxy, который приходит с Orbot.
                                                • 0
                                                  HTTP proxy не российский помог бы? Или только tor/i2p поможет?
                                                  • 0
                                                    Они по HTTP теперь просто не отдают палевные части, как я понимаю. Только что пробовал напрямки сунуться, через свой VPN за бугром — та же шляпа.
                                                • –1
                                                  Пользовался CoolReader больше четырех лет — практически каждый день. Следил за разработкой, участвовал в обсуждении на 4pda. И вот месяц назад отказался от него окончательно и бесповоротно, и удалил со всех девайсов. Основные причины: автор пилит новую версию, якобы полностью переработанную и кроссплатформенную, но она настолько сырая, что пользоваться невозможно. На старую версию забил, на 4pda вообще перестал появляться. Обновлений нет уже год. Старые баги не исправляются. OPDS работает через пень-колоду.
                                                  Да, в свое время это была лучшая читалка, даже при наличии багов. Но теперь мой выбор — AlReader.
                                                  • 0
                                                    Поддерживаю.

                                                    А для доступа к OPDS — Orbot+OPDS Browser
                                                • –1
                                                  Может немного не в тему, но я недавно столкнулся с проблемкой — нельзя было скачать книги с флибусты через хром на ipad, при это с сафари все отлично качалось
                                                  • +1
                                                    Всем любителям читать, думать, обучаться и иметь своё критическое мнение — делайте это пока это законно.
                                                    Всем любителям Tor — не испытывайте иллюзий.

                                                    Кстати, добрые люди, на чем из коробки можно организовать свой opds каталог?
                                                  • +2
                                                    Вот такой софт позволяет сделать свой OPDS каталог на домашнем сервере из копии флибусты или либрусека
                                                    tinyopds.codeplex.com/
                                                    • 0
                                                      Это хорошее решение, которым я даже попытался воспользоваться, но у него есть ряд недостатков:
                                                      1. Если размещать дома, то требуется постоянно включенный основной компьютер, а это электричество, шум, да и неудобно
                                                      2. Если размещать в интернете, то VPS такого масштаба стоит уже не копейки и на сервере со 128 мегабайтами оперативной памяти такое уже не поднять: требуется Mono и общие требования к памяти у TinyOPDS весьма значительные.
                                                      3. Весьма неповоротлив на слабом железе, т.к. в качестве структур хранения данных использует класс Dictionary, что, конечно, проигрывает mysql эффективности доступа к данным

                                                      Думаю в сторону решения на perl+mysql.
                                                      • 0
                                                        Ну у каждого свои плюсы и минусы. У меня все равно дома медиасервер стоит постоянно включенный. Так что с читалки и с смартфона все доступно всегда.
                                                        • 0
                                                          Оно без X-ов работает?
                                                          • 0
                                                            Работает только под Windows + .Net
                                                            • 0
                                                              А как же Mono?
                                                              • +1
                                                                Под Mono — работает. Доказано не только мной.
                                                            • +1
                                                              Скажем так, у меня запустить без X не получилось. Если gdm установить, то все работать будет, вот только памяти потеряется…
                                                    • 0
                                                      Хм… А я в свое время просто запустил на роутере вторую точку доступа.
                                                      Которая ВЕСЬ трафик рулила на tor (ну, за исключением, пожалуй, dhcp — чтоб ip-шник подключившимся клиентам выдавал все ж сам роутер, а не tor).
                                                      В итоге с .onion адресами ВООБЩЕ нет никаких проблем (просто ровно такие же адреса, как все остальные).
                                                      Никаких телодвижений с прокси тоже не нужно!
                                                    • 0
                                                      Ясинского читаете? Анджея что ли?
                                                      • +1
                                                        пенсионерка, ветеран труда

                                                        соседка хотела [...] «50 оттенков серого»


                                                        На самом деле
                                                        очень хорошая женщина
                                                        • 0
                                                          miriarder, поиск не работает с таким прокси, если на страницу с браузера заходить.
                                                          куда копать?
                                                          • 0
                                                            Никуда копать не надо. Спасибо за описание проблемы. Задача делалась для CoolReader, а там поиска нет, потому он и не проверялся. В шаг 2 и шаг 3 в статье внесены необходимые изменения. Теперь поиск работает.
                                                            • 0
                                                              Я конечно понимаю, что писалось для CoolReader для «внутреннего» использования, но:
                                                              1. в OPDS не индексируется Донцова)))
                                                              2. с офф. сайта в поиске Донцова ищется
                                                              3. было интересно «копать»
                                                              Большое спасибо Вам за статью, для меня она «академически» очень интересна.
                                                              • 0
                                                                Отвечу по пунктам:
                                                                1. Только у вас не индексируется. У всех остальных в OPDS она прекрасно присуствует: . Версия Сool Reader 3.1.2-39. Скриншот оригинального размера: уменьшен, что б не порвать комментарии
                                                                2. Ищется, но не скачивается, о чем написано в статье
                                                                3. Видимо не в ту сторону копали

                                                                Я все-таки надеялся на практический результат.
                                                                • 0
                                                                  Прошу прощения, я тут всех запутал.
                                                                  Да, на Сool Reader'е всё c OPDS прекрасно.
                                                                  Я же гоняю все это на FBReader'e.
                                                                  Очень хочется «копать»))
                                                                  • 0
                                                                    Поиск в FBR ищет по названию книги, по автору не ищет, походу.
                                                                    CR вообще ищет локально? Простите, если туплю))
                                                                    В индексе «По авторам» автор доступен и FBR и в CR.
                                                                    Хотя, в браузере:
                                                                    /opds/search?searchType=authors&searchTerm=Донцова
                                                                    
                                                                    Отдает
                                                                    <title>Донцова Дарья</title>
                                                                     <content type="text">204 книги</content>
                                                                     <link href="/opds/author/2623" type="application/atom+xml;profile=opds-catalog" />
                                                                     <link href="/sites/default/files/doncova.jpg" rel="http://opds-spec.org/image" type="image/jpeg" />
                                                                     <link href="/sites/default/files/doncova.jpg" rel="x-stanza-cover-image" type="image/jpeg" />
                                                                     <link href="/sites/default/files/doncova.jpg" rel="http://opds-spec.org/image/thumbnail" type="image/jpeg" />
                                                                     <link href="/sites/default/files/doncova.jpg" rel="x-stanza-cover-image-thumbnail" type="image/jpeg" />
                                                                     <link href="/opds/authorsequences/2623" rel="http://www.feedbooks.com/opds/facet" type="application/atom+xml;profile=opds-catalog" title="Книги автора по сериям" />
                                                                     <link href="/opds/authorsequenceless/2623" rel="http://www.feedbooks.com/opds/facet" type="application/atom+xml;profile=opds-catalog" title="Книги автора вне серий" />
                                                                    </entry>
                                                                    
                                                                    • 0
                                                                      Поиск не работает в FBR и для flibusta.net/opds, хотя в браузере все прекрасно отдает для
                                                                      http://flibusta.net/opds/search?searchType=authors&searchTerm=Донцова
                                                                      

                                                                      Таким образом, сей вопрос о поиске к разрабу FBR))
                                                                      Еще раз спасибо miriarder за всё!
                                                          • +1
                                                            Добавил поддержку TOR Proxy — ORobot для доступа к OPDS

                                                            CoolReader-3.1.2-45.apk

                                                            В качестве OPDS URL просто укажите .onion сайт. Например, flibustahezeous3.onion/opds (ORobot должен быть запущен).

                                                            Другие изменения:
                                                            Доступен выбор бОльших размеров шрифта (в зависимости от размера экрана).
                                                            Исправлен размер тулбаров.
                                                            Имя пользователя и пароль, а также поддержка HTTPS для OPDS.
                                                            Исправлена поддержка MOBI.
                                                            • 0
                                                              Не понял. Вы перепаковали чужой apk? А так можно? Спасибо.
                                                              • +1
                                                                Ну вообще-то Buggins, если, конечно, это тот самый Buggins, является автором CoolReader — так что apk как раз его :)
                                                                • 0
                                                                  Оооо… Как круто все-таки быть на хабре.
                                                              • 0
                                                                В таком случае хочу выразить признательность за замечательный софт. С удовольствием использую уже много лет. Взаимодействие с Calibre не планируется?
                                                                • +1
                                                                  Можно в Calibre запустить сервер OPDS. Подключаться кулридером по https с login/password.
                                                                  Получится доступ к коллекции.
                                                                  • 0
                                                                    Попробую, спасибо.
                                                              • 0
                                                                Спасибо автору за скрипт!
                                                                Реализовал себе по схеме автора все тоже самое, только без заморочек с переопределением имени proxy.flibusta.net в DNS, а со своим кастомным именем хоста и портом (доступно только через личный vpn).
                                                                По ходу настройки были некоторые проблемы с запуском cgi-скрипта — выкладываю свои изменения, может быть кому-то это будет полезным.

                                                                Измененный конфиг apache2:
                                                                Listen *:8085
                                                                <VirtualHost *:8085>
                                                                  ServerAdmin webmaster@my.domain.ru
                                                                  ServerName my.domain.ru
                                                                
                                                                  DirectoryIndex /nph-flibusta.pl
                                                                  <Location /nph-flibusta.pl>
                                                                    SetHandler cgi-script
                                                                  </Location>
                                                                  DocumentRoot /home/user/flibusta/
                                                                  <Directory /home/user/flibusta/ >
                                                                    AllowOverride None
                                                                    Options -Indexes +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                                                                    Order allow,deny
                                                                    Allow from all
                                                                  </Directory>
                                                                   RewriteEngine On
                                                                #   RewriteCond %{HTTP_HOST} =proxy.flibusta.net
                                                                   RewriteRule ^(.*)$ /nph-flibusta.pl?url=$1 [H=cgi-script,QSA,L]
                                                                   LogLevel warn
                                                                   CustomLog /var/log/apache2/flibusta-access.log combined
                                                                   ErrorLog /var/log/apache2/flibusta-error.log
                                                                 </VirtualHost>
                                                                


                                                                diff perl-скрипта:
                                                                --- nph-flibusta.pl.orig        2014-10-14 13:58:42.610908292 +0400
                                                                +++ nph-flibusta.pl.new 2014-10-14 16:34:52.395385027 +0400
                                                                @@ -7,13 +7,13 @@
                                                                 use CGI qw(:standard -nph);
                                                                
                                                                 my $q = new CGI;
                                                                -my $ua = LWP::UserAgent->new(max_redirect => 0, agent => $q->user_agent(),);
                                                                +my $ua = LWP::UserAgent->new(max_redirect => 3, agent => $q->user_agent(),);
                                                                 $ua->timeout(60);
                                                                 $ua->proxy([qw/ http https /] => 'socks://127.0.0.1:9050'); # Tor proxy
                                                                
                                                                 my $refer = $q->referer();
                                                                 $refer = "" unless defined($refer);
                                                                -$refer =~ s/proxy\.flibusta\.net/flibustahezeous3.onion/g;
                                                                +$refer =~ s/my\.domain\.ru:8085/flibustahezeous3.onion/g;
                                                                
                                                                 #handle extra parameters
                                                                 my $ep ="";
                                                                


                                                                PS для запуска perl-скрипта в Ubuntu также пришлось доустановить пакеты libhttp-proxy-perl и liblwp-protocol-socks-perl
                                                                • 0
                                                                  Последняя версия CoolReader на маркете уже поддерживает tor proxy для .onion из коробки.

                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                Самое читаемое