Find Docs in Sci-Hub RU : Поиск статей на Sci-Hub
Опубликовано: Бармалей · 04.12.2017 · 00:01 ••• Обновление: 08.11.2021 · 18:36 0

Find Docs in Sci‑Hub RU : Поиск статей на Sci‑Hub – поиск полных версий научных статей на сервисе Sci-Hub по цифровому идентификатору объекта (DOI), идентификационному номеру публикации (PMID или PMCID), по URL статьи или ссылки на неё или по её тексту. Настраиваемый авторедирект по URL/DOI. Прямой просмотр и загрузка файлов в формате PDF.

Предоставляется по лицензии GPL v.3, бесплатно для частного некоммерческого использования.


В этой статье:


Дополнительные материалы для изучения (в отдельных статьях):


Общее назначение и краткая история создания

Find Docs in Sci‑Hub RU – расширение для браузеров семейства Chromium, производит поиск и редирект на полные версии научных статей в сервисе Sci‑Hub.

Основное назначение – обеспечить реализацию пожеланий* пользователей сервиса. Главная цель – повышение комфорта и удобства использование сервиса непрофессиональными пользователями браузера, простота и компактность решения и работоспособность на любых версиях браузеров.

* Решпекты и пиво камраду Огневу за "руководящую и направляющую роль" при создании этого форка.)

2017: Базовая разработка проекта

Расширение создано под эти задачи на базе специализированного поискового редиректора Find DOI in Sci‑Hub. В форке доработаны и улучшены базовые функции, в соответствии с "техзаданием" добавлены дополнительные возможности, полностью русифицирован интерфейс.

Кроме того, на этапе разработки русского форка также рассматривалось официальное* расширение проекта Sci‑Hub. Однако, по причине общей "некрасивости" решения и "тяжёлого" исходного кода, какие‑либо части кода из этого аддона или принципы его работы в русском форке не использовались.

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

При выпуске начальной версии в декабре 2017 года расширение "брэндировано" как "Поиск статей на Sci‑Hub", а его англоязычное название получило приставку RU, символизирующую "заточенность" решения на русскоязычную аудиторию пользователей. Это также указывало на отсутствие у аддона других локализаций, кроме русской.

2021: Ребрэндинг и новые подходы

После длительного перерыва в разработке, в сентябре 2021 года в аддон была добавлена полноценная вторая локаль (английская), а англоязычный вариант названия изменён на "Find Docs in Sci‑Hub RU", что связано со значительными* изменениями в коде и с тем, что отныне расширение может искать статьи по всем идентификаторам, а также по прямым ссылкам на документы. Более "универсальное" русское название оставлено без изменений. На текущий момент аддон распространяется под обеими "торговыми марками".

* Кроме стандартных функций поиска в аддоне теперь имеется функция прямого просмотра документов в браузере (формат PDF) и отдельный режим загрузки без предпросмотра, позволяющий сохранять найденные статьи сразу в виде файлов, без необходимости какого‑либо ручного взаимодействия с сервисом.

Помимо изменения англоязычного названия, при "сентябрьском ребрэндинге" также была изменена иконка аддона. Сделано это по причине "невыразительности старой вороны" при отображении логотипа в контекстном меню страниц и на кнопке тулбара.

Для сравнения – старая и новая (примерный размер в интерфейсе браузера). Разница в визуальном восприятии, думаю, явно заметна и, соответственно, новую легче найти и в меню и на тулбаре.

Если что – более крупный логотип сервиса (верхняя часть "вороны" с ключом) тоже рассматривался, "не покатил" по той же причине. В общем, интерфейс – наше всё, новой иконке – быть и решение автора обжалованию не подлежит. :)

В результате всех "доработок напильником" Find Docs in Sci‑Hub RU стал отличной альтернативой аналогам, не только не уступая им по качеству решения главной задачи, но и превосходя их по общей "лёгкости" и функционалу.

Авторская гарантия

Следует особо отметить, что в отличие от многих других современных аддонов, в Find Docs in Sci‑Hub RU нет (и никогда не будет) никакой "допустимой" или скрытой рекламы, это расширение не является предметом монетизации.

Автор гарантирует отсутствие в этом расширении каких‑либо следящих, "стучащих" и иных "статистических" механизмов, а также любых других средств, направленных на "персонализацию" конечного пользователя с целью получения какой‑то коммерческой выгоды.


Основные возможности и способ применения

Find Docs in Sci‑Hub RU производит редирект текущего URL страницы, ссылки под курсором мыши или выделенного блока текста на поиск по базе данных сервиса Sci‑Hub (указана ссылка на текущий рабочий домен сервиса, она же заложена и в текущей версии расширения в качестве URL по умолчанию).

На момент начала разработки сервис уверенно "понимал" только авторедирект по URL и DOI. Поиск по PMID или PMCID производился только вручную на сайте сервиса. На текущий момент, исходя из развития сервиса, возможен автопоиск по всем идентификаторам (естественно, с учётом наличия сохранённых копий статей в базе сервиса).

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


Быстрый старт: поиск в один клик

Запуск поиска – щелчком по кнопке на тулбаре, по горячей клавише либо из контекстного меню страницы.

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

Наиболее универсальным является запуск поиска через контекстное меню страницы, позволяющий достаточно гибко выбрать контекст для выдачи поискового запроса. Вы можете выделить любой из идентификаторов (DOI, PMID, PMCID), представленный в виде ссылки или текста, выбрать любую из ссылок на странице (например, в аннотациях к статье), либо, как и в случае щелчка по кнопке на тулбаре (или по нажатию хоткея), отправить запрос по URL текущей страницы.

Обработка контекстного меню на странице идёт в следующем порядке (приоритетность): поиск по выделенному тексту, если его нет – поиск по URL ссылки под курсором, иначе – поиск по URL текущей страницы.

Пример вызова контекстного меню на ссылке (текст пункта зависит от текущего режима работы):


Щёлкните по изображению, чтобы просмотреть скриншот для другого режима.

В текстовых документах (в том числе – и в локальных файлах) достаточно выделить требуемый идентификатор и затем выбрать в меню страницы соответствующий пункт для поиска требуемой статьи:

При щелчке по кнопке на тулбаре или по хоткею поиск производится только по URL текущей страницы.

Функционально запуск поиска по горячей клавише полностью аналогичен запуску по щелчку на кнопке на тулбаре и предназначен для тех, кто привык больше работать с клавиатурой, чем с мышью. Комбинация по умолчанию – Ctrl+Shift+F, её можно изменить в настройках "Быстрых клавиш" браузера.

В расширении заложена автопроверка URL на "допустимость", работает и при просмотре и при загрузке. В общем случае перехватывается запрос поиска на страницах самого сервиса Sci-Hub, а также на вкладках со служебными страницами или локальными файлами (определяется по URL вкладок или поисковых запросов). Сделано во избежание "дурацких" ошибок рекурсивного поиска, а также для защиты от случайного запуска поиска с предсказуемой ошибкой "не найдено".

В дальнейшем логика перехвата и блокировки стала более гибкой:

1. Начиная с версии 2021.9.18 для решения любых проблем с меню в аддон добавлена функция "Волшебной Кнопки" – ручного принудительного перестроения меню. Вызывается при попытке запуска поиска на любой служебной странице браузера или на любой локальной странице из меню, щелчком по кнопке на тулбаре или по горячей клавише.

2. Начиная с версии 2021.11.5 логика обработки вызова аддона на страницах сайтов Sci-Hub также изменена – теперь при этом предпринимается попытка загрузки файла вместо прямой блокировки.

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

Сообщение о "недопустимом URL" выдаётся при этом только для страниц с явно отсутвующими статьями:

Для визуального отслеживания процесса поиска используется анимация – на бэджике у значка расширения на тулбаре отображаются бегущие точки на синем фоне  · · · . При успешном получении результата на бэджике отображается  OK! . Если же конкретный документ не найден в базе сервиса, аддон при этом индицирует ошибку  ERR! :

В случае успешного поиска (документ присутствует в базе сервиса), будет произведён автоматический редирект на страницу просмотра и загрузки найденного материала:

Начиная с версии 2021.9.8 при этом сразу же производится второй автоматический редирект, уже непосредственно на сам конечный документ (в формате PDF), который и будет отображён во вкладке браузера. Для удобства пользователя все процессы переходов в этой (и последующих) версиях производятся в фоновой вкладке, которая автоматически активируется* по завершению запроса.

* В случае использования режима прямой загрузки вместо активации вкладки автоматически выдаётся стандартный диалог сохранения файла, а временная фоновая вкладка будет автоматически закрыта по истечению таймаута (для "классического" режима загрузки таймаут по умолчанию – 10 секунд, по желанию может быть изменено в Настройках, при выборе метода "автоклика" время ожидания равно нулю и временная вкладка загрузчика закрывается сразу же после получения прямого URL на файл).

Следует понимать, что режим прямой загрузки всегда имеет более высокий приоритет, чем режим прямого просмотра, поэтому он и будет определять необходимость автоматического закрытие вкладки в соответствии с текущими настройками загрузчика.

Начиная с версии 2021.9.14 режим прямого просмотра сделан опциональным, его можно отключить в Настройках. При отключении последний редирект (непосредственно на файл) не производится, открывается и активизируется страница сервиса Sci‑Hub с открытым во фрейме документом (аналогично результату поиска вручную).


Подробное описание всех настроек приведено в статье Find Docs in Sci-Hub RU : Настройки и действия.

С дополнительными техническими сведениями по настройке и работе расширения можно ознакомиться в материале Find Docs in Sci-Hub RU : "Что под капотом". В этой же статье даны некоторые пояснения по исходному коду, представляющие интерес для подготовленных пользователей и технических специалистов.


Важное примечание по работе с сервисом Sci-Hub

Расширение Find Docs in Sci‑Hub RU использует для поиска специально сформированный редиректор на внешний сервис Sci-Hub. Результаты этого поиска полностью зависят от работоспособности этого сервиса, их отсутствие при отдельных запросах не является следствием некорректной работы расширения. Соответственно, никакие претензии в связи с отсутствием каких-либо конкретных данных в базе данных сервиса автором не рассматриваются.

Следует понимать, что работоспособность поиска напрямую зависит от текущего доменного имени сервиса Sci-Hub. Как уже сказано, это доменное имя периодически может изменяться. Автоматическое отслеживание таких изменений в аддоне не предусмотрено и должно выполняться пользователем самостоятельно, с соответствующим изменением настроек расширения. Актуальные сведения о состоянии сервиса и о его текущем доменном имени можно найти по ссылкам, приведённым в статье Find Docs in Sci-Hub RU : Ресурсы и ссылки.

Для удобства пользователей в меню общих параметров поиска добавлен ссылочный переход на страницу с автоматически обновляющимся списком текущих рабочих доменов сервиса.


Roadmap aka ToDo или Планы на будущее

Вкратце так – разработка "Find Docs in Sci‑Hub RU" будет поддерживаться и развиваться, есть некоторые задумки на предмет дополнительных функций (некритичных, но повышающих комфорт работы с аддоном).

Несмотря на определённую специфичность этого расширения, задача достаточно интересна автору, а необходимость поиска научных работ была, есть и будет. Поэтому, в любом случае, несмотря на длительность* "подмораживания", этот проект будет жить и дальше, потребность в улучшении функциональности расширения и упрощении его применения конечными пользователями остаётся и сегодня…

* Первичные базовые версии были выпущены в декабре 2017 года и успешно применялись пользователями с этого момента. Спустя почти 4 года, в августе 2021 проект перезапущен под новым брэндом, опубликованы новые версии, расширены возможности аддона. На текущий момент проект находится в стадии активной разработки и полной авторской поддержки.

Основная часть полезного функционала в какой‑то степени уже реализована. В дальнейшем, возможно, что-то будет сделано в плане автоматического поиска рабочих доменов сервиса Sci‑Hub, часть функций будет "заимствована" из других авторских аддонов в рамках этого же расширения.

Желающие лично поучаствовать в развитии этого проекта могут обсудить имеющиеся и предложить какие‑то другие полезные и нужные функции для этого аддона в комментариях к специально созданной для этого статье:
Find Docs in Sci‑Hub RU : Планы на будущее


Загрузка и установка расширения

Расширение не имеет практических ограничений по версии браузера, может использоваться на любых хром‑браузерах версий 19+ (рекомендуется 31+). Однако, с учётом различных "новшеств", вводимых производителями браузеров, желательно ознакомиться с документацией на конкретный билд, который планируется установить – могут быть, так сказать, "некоторые нюансики" и их необходимо учитывать.)

Можно загрузить любую из версий Find Docs in Sci-Hub RU на следующих ресурсах:

Настоятельно рекомендуется использовать текущую стабильную версию расширения.
Более ранние выпуски можно устанавливать только в исследовательских целях для сравнительного анализа функций и возможностей аддона. Авторская поддержка устаревших версий не осуществляется, претензии по возможным проблемам их эксплуатации не рассматриваются.

При возникновении сложностей с установкой читаем этот совет.

Для работы в режиме "инкогнито" в блоке аддона на странице chrome://extensions включаем опцию:
[читать матчасть]

Для работы с локальными* файлами в блоке аддона на странице chrome://extensions включаем опцию:

* В версиях 2021.11.5+ включение этой опции является обязательным условием беспроблемной работы функции восстановления настроек из локальных файлов резервных копий. В противном случае при попытке восстановления будет выдано сообщение об ошибке доступа к файлу бэкапа.



Описание и инструкции Бармалей

Смотрим также:

Бармалей 04.12.2017 08.11.2021 325 0.0

Общие технические сведения о разработке
Статус разработки:Активная, поддерживается автором
Язык интерфейса:Русский, Английский
Версия браузера:19+ (рекомендуется 31+)
Протестировано в:SRWare Iron 29/31/36/49 + 360 Extreme Explorer 9/11/12/13 (CR63/69/78/86) + Chromium 87
Технологии и API:Чистый JavaScript (ES5), API: tabs, contextMenus, commands, browserAction

Поделиться

Всего комментариев: 0
close