Як стати піратським архіваріусом (UA)

Як стати піратським архіваріусом

casbt.blogspot.com
17 жовтня 2022 р

китайська [zh] )

Перш ніж ми поглибимося, два оновлення на Pirate Library Mirror (EDIT: перенесено до архіву Анни):
1. Ми отримали надзвичайно щедрі пожертви. Перший — 10 тисяч доларів від аноніма, який також підтримує «bookwarrior», засновника Library Genesis. Особлива подяка bookwarrior за сприяння цій пожертві. Другий – ще 10 тисяч доларів від анонімного донора, який зв’язався з нами після нашого останнього випуску та надихнувся допомогти. У нас також була низка менших пожертв. Велике спасибі за вашу щедру підтримку. У нас є кілька захоплюючих нових проектів у розробці, які це підтримуватиме, тому слідкуйте за оновленнями.
2. У нас виникли деякі технічні труднощі з розміром нашого другого випуску, але наші торренти вже запущені та завантажуються. Ми також отримали щедру пропозицію від аноніма розмістити нашу колекцію на їхніх дуже високошвидкісних серверах, тому ми робимо спеціальне завантаження на їхні машини, після чого всі інші, хто завантажує колекцію, побачать значне покращення швидкість.

Можна писати цілі книги про навіщо цифрового збереження загалом і про піратську архівістику зокрема, але давайте короткий посібник для тих, хто не дуже знайомий. Світ виробляє більше знань і культури, ніж будь-коли раніше, але також більше їх втрачається, ніж будь-коли раніше. Людство значною мірою довіряє цю спадщину таким корпораціям, як академічні видавці, потокові сервіси та компанії соціальних медіа, і вони часто не виявляють себе хорошими розпорядниками. Подивіться документальний фільм «Цифрова амнезія» чи будь-який виступ Джейсона Скотта.

Є інституції, які добре архівують стільки, скільки можуть, але вони зобов’язані дотримуватися закону. Як пірати, ми маємо унікальну можливість архівувати колекції, до яких вони не можуть торкатися через дотримання авторських прав або інші обмеження. Ми також можемо багаторазово віддзеркалювати колекції по всьому світу, тим самим збільшуючи шанси на належне збереження.

Поки що не будемо вдаватися в дискусії про плюси і мінуси інтелектуальної власності, моральність порушення закону, роздуми про цензуру чи питання доступу до знань і культури. Не дивлячись на все це, давайте зануримося в те, як . Ми поділимося тим, як наша команда стала піратським архіваріусом, і уроками, які ми засвоїли на цьому шляху. У цій подорожі постає багато труднощів, і, сподіваюся, ми допоможемо вам подолати деякі з них.

Спільнота

Перший виклик може бути несподіваним. Це не технічна чи юридична проблема. Це психологічна проблема: виконувати цю роботу в тіні може бути неймовірно самотньо. Залежно від того, що ви плануєте зробити, і вашої моделі загроз, можливо, вам доведеться бути дуже обережними. На одному кінці спектру ми маємо таких людей, як Олександра Елбакян*, засновниця Sci-Hub, яка дуже відкрито розповідає про свою діяльність. Але вона піддається високому ризику бути заарештованою, якщо відвідає західну країну в цей момент, і їй можуть загрожувати десятиліття тюремного ув’язнення. Ви готові піти на такий ризик? Ми на іншому кінці спектру; бути дуже обережним, щоб не залишити жодних слідів, і мати сильну оперативну безпеку.

* Як зазначав у HN «ynno», Олександра спочатку не хотіла бути відома: «Її сервери були налаштовані на видачу докладних повідомлень про помилки з PHP, включаючи повний шлях вихідного файлу з помилкою, який знаходився в каталозі /home/ringo -кільце, яке можна було відстежити до імені користувача, яке вона мала в Інтернеті на непов’язаному сайті, доданого до її справжнього імені. До цього відкриття вона була анонімною». Отже, використовуйте випадкові імена користувачів на комп’ютерах, які ви використовуєте для цього, на випадок, якщо ви щось неправильно налаштуєте.

Однак ця секретність має психологічну ціну. Більшість людей люблять, коли їх визнають за роботу, яку вони виконують, і все ж у реальному житті ви не можете вважати це заслугою. Навіть прості речі можуть бути складними, наприклад, друзі запитують вас, що ви робили (у якийсь момент «возитися з моїм NAS/домашньою лабораторією» стає старим).

Ось чому так важливо знайти якусь спільноту. Ви можете відмовитися від певної оперативної безпеки, довірившись дуже близьким друзям, яким, як ви знаєте, можете глибоко довіряти. Навіть тоді будьте обережні, щоб нічого не писати в письмовій формі, на випадок, якщо їм доведеться передати свої електронні листи владі або якщо їхні пристрої зламано якимось іншим чином.

Ще краще знайти друзів-піратів. Якщо ваші близькі друзі зацікавлені приєднатися до вас, чудово! Інакше ви зможете знайти інших в Інтернеті. На жаль, це все ще нішева спільнота. Наразі ми знайшли лише кілька інших, які активно працюють у цьому просторі. Хорошим стартовим місцем, здається, є форуми Library Genesis і r/DataHoarder. Команда архіву також має однодумців, хоча вони діють у рамках закону (навіть якщо в деяких сірих сферах закону). Традиційні «варез» і піратські сцени також мають людей, які думають подібним чином.

Ми відкриті для ідей щодо розвитку спільноти та досліджуємо ідеї. Не соромтеся написати нам у Twitter або Reddit. Можливо, ми могли б організувати якийсь форум чи чат-групу. Однією з проблем є те, що це може бути легко піддано цензурі під час використання звичайних платформ, тому нам доведеться розміщувати його самостійно. Існує також компроміс між тим, щоб ці обговорення були повністю публічними (більша потенційна залученість) проти того, щоб зробити їх приватними (не даючи потенційним «цілям» знати, що ми збираємося їх вилучити). Нам доведеться подумати про це. Дайте нам знати, якщо ви зацікавлені в цьому!

Проекти

Коли ми робимо проект, він має кілька етапів:

  1. Вибір/філософія домену: на чому ви приблизно хочете зосередитися і чому? Які ваші унікальні пристрасті, навички та обставини ви можете використати собі на користь?
  2. Цільовий вибір: яку конкретну колекцію ви будете віддзеркалювати?
  3. Копіювання метаданих: каталогізація інформації про файли без фактичного завантаження самих (часто набагато більших) файлів.
  4. Вибір даних: на основі метаданих звужується список даних, які зараз є найбільш актуальними для архівування. Може бути все, але часто є розумний спосіб заощадити простір і пропускну здатність.
  5. Збирання даних: фактичне отримання даних.
  6. Розповсюдження: розгортання в торрентах, анонсування десь, спонукання людей поширювати це.

Це не зовсім незалежні фази, і часто ідеї з наступної фази повертають вас до попередньої фази. Наприклад, під час збирання метаданих ви можете зрозуміти, що вибрана вами ціль має захисні механізми, які перевищують ваш рівень навичок (наприклад, блокування IP-адрес), тому ви повертаєтесь і знаходите іншу ціль.

1. Вибір домену / філософія

Немає браку в знаннях і культурній спадщині, яку потрібно зберегти, і це може бути величезним. Ось чому часто корисно взяти хвилинку і подумати про те, яким може бути ваш внесок.

Кожен думає про це по-різному, але ось кілька запитань, які ви можете поставити собі:

  • Чому вас це цікавить? Чим ви захоплюєтеся? Якщо ми зможемо отримати групу людей, які архівують ті речі, які їх особливо цікавлять, це охопить багато! Ви знатимете набагато більше, ніж звичайна людина, про своє захоплення, наприклад, які важливі дані потрібно зберігати, які найкращі колекції та онлайн-спільноти тощо.
  • Які у вас є навички, які ви можете використати собі на користь? Наприклад, якщо ви фахівець з онлайн-безпеки, ви можете знайти способи подолати IP-блокування безпечних цілей. Якщо ви чудово вмієте організовувати спільноти, то, можливо, ви зможете об’єднати людей навколо мети. Корисно знати деякі програми, хоча б лише для підтримки належної операційної безпеки протягом цього процесу.
  • Скільки у вас є для цього часу? Наша порада полягає в тому, щоб починати з малого і робити більші проекти, коли ви навчитеся, але це може стати всепоглинаючим.
  • На чому варто зосередитися у сфері високого левериджу? Якщо ви збираєтеся витратити Х годин на піратське архівування, то як отримати найбільшу віддачу від своїх грошей?
  • Якими унікальними способами ви думаєте про це? Можливо, у вас є цікаві ідеї чи підходи, які інші могли пропустити.

У нашому випадку ми дбали, зокрема, про тривале збереження науки. Ми знали про Library Genesis і про те, як його багато разів було повністю віддзеркалено за допомогою торрентів. Нам сподобалася ця ідея. Потім одного разу один із нас спробував знайти кілька наукових підручників із Бібліотеки Буття, але не зміг їх знайти, що поставило під сумнів, наскільки вони повні. Потім ми шукали ці підручники в Інтернеті та знайшли їх в інших місцях, що поклало початок нашому проекту. Ще до того, як ми дізналися про Z-Library, у нас виникла ідея не намагатися збирати всі ці книги вручну, а зосередитися на віддзеркаленні існуючих колекцій і додавати їх назад до Library Genesis.

2. Цільовий вибір

Отже, у нас є наша область, яку ми розглядаємо, тепер яку конкретну колекцію ми віддзеркалюємо? Є кілька речей, які роблять гарну ціль:

  • Великий
  • Унікальний: ще не добре охоплений іншими проектами.
  • Доступність: не використовує безліч рівнів захисту, щоб запобігти зчищенню їхніх метаданих і даних.
  • Спеціальна інформація: у вас є якась особлива інформація про цю ціль, наприклад, ви якимось чином маєте особливий доступ до цієї колекції або ви зрозуміли, як перемогти їхній захист. Це не обов’язково (наш майбутній проект не робить нічого особливого), але це, звичайно, допомагає!

Коли ми знайшли наші наукові підручники на веб-сайтах, відмінних від Library Genesis, ми спробували з’ясувати, як вони потрапили в Інтернет. Потім ми знайшли Z-Library і зрозуміли, що хоча більшість книг не з’являються там спочатку, вони зрештою туди потрапляють. Ми дізналися про його зв’язок із Library Genesis, а також про (фінансову) структуру стимулів і чудовий користувальницький інтерфейс, які зробили його набагато повнішою колекцією. Потім ми зробили кілька попередніх аналізів метаданих і даних і зрозуміли, що можемо обійти їхні обмеження на завантаження IP-адрес, скориставшись спеціальним доступом одного з наших учасників до багатьох проксі-серверів.

Коли ви досліджуєте різні цілі, уже важливо приховувати свої сліди за допомогою VPN і одноразових адрес електронної пошти, про які ми поговоримо пізніше.

3. Збирання метаданих

Давайте трохи технічніше. Для фактичного збирання метаданих із веб-сайтів ми зробили все досить простим. Ми використовуємо сценарії Python, інколи curl, і базу даних MySQL для зберігання результатів. Ми не використовували жодного модного програмного забезпечення для копіювання, яке може відображати складні веб-сайти, оскільки досі нам потрібно було лише скребкувати один або два типи сторінок, просто перераховуючи через ідентифікатори та розбір HTML. Якщо немає сторінок, які легко перерахувати, можливо, вам знадобиться відповідний сканер, який намагатиметься знайти всі сторінки.

Перш ніж почати копіювання цілого веб-сайту, спробуйте трохи зробити це вручну. Перегляньте кілька десятків сторінок самостійно, щоб зрозуміти, як це працює. Іноді ви вже стикаєтеся з блокуванням IP-адреси або іншою цікавою поведінкою таким чином. Те саме стосується збирання даних: перш ніж заглиблюватися в цю ціль, переконайтеся, що ви дійсно можете ефективно завантажити її дані.

Щоб обійти обмеження, ви можете спробувати кілька речей. Чи існують інші IP-адреси чи сервери, на яких розміщуються ті самі дані, але не мають таких самих обмежень? Чи є якісь кінцеві точки API, які не мають обмежень, а інші мають? З якою швидкістю завантаження ваш IP блокується та як довго? Або вас не заблокували, а придушили? Що зміниться, якщо ви створите обліковий запис користувача? Чи можете ви використовувати HTTP/2, щоб підтримувати з’єднання відкритими, і чи збільшує це швидкість, з якою ви можете запитувати сторінки? Чи існують сторінки, на яких перелічено кілька файлів одночасно, і чи достатньо інформації, яка там міститься?

Можливо, ви захочете зберегти:

  • Назва
  • Ім'я файлу / розташування
  • Ідентифікатор: може бути внутрішнім ідентифікатором, але такі ідентифікатори, як ISBN або DOI, також корисні.
  • Розмір: для розрахунку необхідного обсягу дискового простору.
  • Хеш (md5, sha1): для підтвердження правильності завантаження файлу.
  • Дата додавання/зміни: щоб ви могли повернутися пізніше та завантажити файли, які ви не завантажували раніше (хоча для цього часто також можна використовувати ідентифікатор або хеш).
  • Опис, категорія, теги, автори, мова тощо.

Зазвичай ми робимо це в два етапи. Спочатку ми завантажуємо необроблені файли HTML, як правило, безпосередньо в MySQL (щоб уникнути великої кількості маленьких файлів, про які ми докладніше поговоримо нижче). Потім на окремому кроці ми переглядаємо ці HTML-файли та розбираємо їх у фактичні таблиці MySQL. Таким чином вам не доведеться повторно завантажувати все з нуля, якщо ви виявите помилку в коді аналізу, оскільки ви можете просто повторно обробити HTML-файли з новим кодом. Також часто простіше розпаралелювати крок обробки, заощаджуючи таким чином деякий час (і ви можете писати код обробки під час циклювання, замість того, щоб писати обидва кроки одночасно).

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

4. Вибір даних

Часто ви можете використовувати метадані, щоб визначити розумну підмножину даних для завантаження. Навіть якщо ви врешті-решт захочете завантажити всі дані, може бути корисно спочатку визначити пріоритетність найважливіших елементів на випадок, якщо вас виявлять і захист покращиться, або тому, що вам потрібно буде купити більше дисків, або просто тому, що з’явиться щось інше у вашому житті, перш ніж ви зможете завантажити все.

Наприклад, колекція може мати кілька видань одного базового ресурсу (наприклад, книги чи фільму), де одне позначено як найкраще. Спершу було б доцільно зберегти ці видання. Можливо, згодом ви захочете зберегти всі видання, оскільки в деяких випадках метадані можуть бути позначені неправильно або можуть існувати невідомі компроміси між виданнями (наприклад, «найкраще видання» може бути найкращим у багатьох відношеннях, але гіршим в інших, наприклад фільм із вищою роздільною здатністю, але без субтитрів).

Ви також можете шукати в своїй базі даних метаданих, щоб знайти цікаві речі. Який найбільший файл, який розміщується, і чому він такий великий? Який найменший файл? Чи є цікаві або несподівані закономірності, коли йдеться про певні категорії, мови тощо? Чи є дублікати або дуже схожі назви? Чи існують закономірності додавання даних, як-от один день, коли одночасно було додано багато файлів? Часто можна багато чому навчитися, переглядаючи набір даних різними способами.

У нашому випадку ми дедуплікували книги Z-Library у порівнянні з хешами md5 у Library Genesis, тим самим заощадивши багато часу на завантаження та місця на диску. Хоча це досить унікальна ситуація. У більшості випадків немає вичерпних баз даних про те, які файли вже належним чином зберігаються іншими піратами. Це саме по собі величезна можливість для когось там. Було б чудово мати регулярно оновлюваний огляд таких речей, як музика та фільми, які вже широко розповсюджені на торрент-сайтах, і тому мають менший пріоритет для включення в піратські дзеркала.

5. Збирання даних

Тепер ви готові фактично завантажувати дані масово. Як згадувалося раніше, на цьому етапі ви вже повинні вручну завантажити купу файлів, щоб краще зрозуміти поведінку та обмеження цілі. Однак вас все одно чекають сюрпризи, коли ви справді зможете завантажувати багато файлів одночасно.

Наша порада полягає в тому, щоб це було просто. Почніть із простого завантаження купи файлів. Ви можете використовувати Python, а потім розширити до кількох потоків. Але іноді ще простіше створити Bash-файли безпосередньо з бази даних, а потім запустити кілька з них у кількох вікнах терміналу для збільшення масштабу. Швидкий технічний трюк, про який варто згадати, — це використання OUTFILE у MySQL, який можна записати будь-де, якщо вимкнути «secure_file_priv» у mysqld.cnf (і обов’язково вимкнути/замінити AppArmor, якщо ви користуєтеся Linux).

Ми зберігаємо дані на простих жорстких дисках. Почніть із того, що у вас є, і повільно розширюйте. Думати про зберігання сотень ТБ даних може бути надзвичайно важко. Якщо ви зіткнулися з такою ситуацією, просто спочатку опублікуйте хорошу підмножину, а в своєму оголошенні попросіть допомоги у збереженні решти. Якщо ви хочете самостійно отримати більше жорстких дисків, тоді r/DataHoarder має хороші ресурси для отримання вигідних пропозицій.

Намагайтеся не надто турбуватися про модні файлові системи. Легко потрапити в кролячу нору, налаштовуючи такі речі, як ZFS. Одна технічна деталь, про яку слід знати, полягає в тому, що багато файлових систем погано справляються з великою кількістю файлів. Ми виявили, що простим обхідним шляхом є створення кількох каталогів, наприклад, для різних діапазонів ідентифікаторів або хеш-префіксів.

Після завантаження даних обов’язково перевірте цілісність файлів за допомогою хешів у метаданих, якщо такі є.

6. Розподіл

У вас є дані, що дає вам перше в світі піратське дзеркало вашої цілі (швидше за все). Багато в чому найважча частина позаду, але найризикованіша частина ще попереду. Зрештою, досі ти був крадькома; летить під радаром. Все, що вам потрібно було зробити, це використовувати хорошу мережу VPN, не заповнювати свої особисті дані в жодних формах (так), і, можливо, використовувати спеціальний сеанс браузера (або навіть інший комп’ютер).

Тепер потрібно розповсюдити дані. У нашому випадку ми спочатку хотіли повернути книги до Library Genesis, але потім швидко виявили труднощі в цьому (сортування художньої літератури проти нехудожньої). Тож ми вирішили розповсюджувати за допомогою торрентів у стилі Library Genesis. Якщо у вас є можливість зробити внесок у існуючий проект, це може заощадити вам багато часу. Однак наразі не так багато добре організованих піратських дзеркал.

Отже, припустимо, ви вирішили самостійно роздавати торренти. Намагайтеся, щоб ці файли були невеликими, щоб їх було легко віддзеркалити на інших веб-сайтах. Потім вам доведеться самостійно завантажувати торренти, залишаючись анонімними. Ви можете використовувати VPN (з перенаправленням портів або без нього) або платити біткойнами за Seedbox. Якщо ви не знаєте, що означають деякі з цих термінів, вам доведеться багато прочитати, оскільки важливо розуміти тут компроміси ризиків.

Ви можете розмістити торрент-файли на існуючих торрент-сайтах. У нашому випадку ми вирішили фактично розмістити веб-сайт, оскільки ми також хотіли чітко поширити нашу філософію. Ви можете зробити це самостійно подібним чином (ми використовуємо Njalla для наших доменів і хостингу, оплачуваних біткойнами), але також можете зв’язатися з нами, щоб ми розмістили ваші торренти. Ми плануємо з часом створити повний індекс піратських дзеркал, якщо ця ідея приживеться.

Що стосується вибору VPN, про це вже багато написано, тому ми просто повторимо загальну пораду щодо вибору за репутацією. Фактично перевірена в суді політика без реєстрації з тривалим досвідом захисту конфіденційності є варіантом із найменшим ризиком, на нашу думку. Зауважте, що навіть якщо ви робите все правильно, ви ніколи не зможете досягти нульового ризику. Наприклад, завантажуючи ваші торренти, високомотивований актор національної держави, ймовірно, може переглянути вхідні та вихідні потоки даних для серверів VPN і зробити висновок, хто ви. А можна просто якось наплутати. Напевно, ми вже мали, і будемо знову. На щастя, національні держави не дуже піклуються про піратство.

Для кожного проекту необхідно прийняти одне рішення: публікувати його з тими самими ідентифікаторами, що й раніше, чи ні. Якщо ви продовжуєте використовувати те саме ім’я, то помилки в операційній безпеці з попередніх проектів можуть повернутися до вас. Але публікація під різними назвами означає, що ви не створите довговічну репутацію. З самого початку ми вирішили забезпечити надійну операційну безпеку, щоб ми могли продовжувати використовувати ту саму особу, але ми без вагань публікуватимемо під іншим іменем, якщо щось зіпсуємо або якщо цього вимагатимуть обставини.

Донести слово може бути складно. Як ми вже говорили, це все ще нішева спільнота. Спочатку ми публікували повідомлення на Reddit, але справді отримали популярність на Hacker News. Наразі ми рекомендуємо опублікувати його в кількох місцях і подивитися, що станеться. І знову зв'яжіться з нами. Ми хотіли б поширити інформацію про більше піратських архівних зусиль.

Висновок

Сподіваюся, це стане в нагоді новачкам-піратам-архівістам. Ми раді вітати вас у цьому світі, тож не соромтеся зв’язуватися. Давайте збережемо якомога більше світових знань і культури та віддзеркалюємо їх далеко й широко.

- Анна та команда ( Twitter , Reddit )

Коментарі

Популярні дописи з цього блогу

«Люди в блакитному» частина 2. Встановили агентів російських спецслужб у залі «Крокус».

«Вилаят Хорасан», подробности биографий подозреваемых и версии теракта

"Men in Blue" part 2 We have identified agents of the Russian secret services in the "Crocus" hall Our editorial staff continues to analyze photos and videos of the terrorist