Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/kachkaev/special-internet-archive
Tooling to archive web pages
https://github.com/kachkaev/special-internet-archive
playwright wayback-machine
Last synced: 4 months ago
JSON representation
Tooling to archive web pages
- Host: GitHub
- URL: https://github.com/kachkaev/special-internet-archive
- Owner: kachkaev
- License: bsd-3-clause
- Created: 2022-04-05T22:59:04.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-07-11T00:15:29.000Z (7 months ago)
- Last Synced: 2024-07-11T02:42:57.487Z (7 months ago)
- Topics: playwright, wayback-machine
- Language: TypeScript
- Homepage:
- Size: 3.22 MB
- Stars: 5
- Watchers: 8
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Special Internet Archive π Π‘ΠΏΠ΅ΡΠ°ΡΡ ΠΈΠ²
This project was created in response to a [βspecial military operationβ](https://en.wikipedia.org/wiki/2022_Russian_invasion_of_Ukraine), which Russian army started against Ukraine in February 2022.
βSpecial Internet Archiveβ aims to automate the preservation of related online content, thus providing future researchers with historic data to analyse.Wars of the 20th century left physical artefacts like newspapers, letters, diaries and films.
Some of these objects were studied only decades later and became crucial for shedding some light on the tragic past.
When a war takes place in the digital-first era, people are surrounded by vast streams of online content, but they rarely think about how fragile this information is.
A website is only available while a server is running and a social media post is βeverywhereβ only until it is deleted by the author or a moderator.
Thus, if we donβt proactively preserve the present, future generations wonβt be able to study the past.This repository helps archive public web pages before they are removed or edited.
It contains software that produces structured archive collections and orchestrates snapshot capturing.
The shape of the harvested data is compatible with git repositories or cloud storages like S3.
Code architecture supports various web page sources (websites) as well as multiple snapshot generators, both local and third-party.The initial version of the tooling only works with public VK communities.
It relies on [web.archive.org](https://web.archive.org) as a third-party snapshot generator and supplements it with local [Playwright](https://playwright.dev) snapshots.
Although local snapshots are less accessible, they may contain content that third-party tools are unable to collect.βSpecial Internet Archiveβ does not aim to βcapture the whole internetβ.
However, those modest datasets it helps collect might useful for the researches of the future.Based on the initial scope of the project, the instructions below are in Russian.
The software is written in TypeScript and its output uses English.
This repository can be used globally to create structured archive collections with any web pages.π [English version via Google Translate](https://translate.google.com/translate?sl=ru&tl=en&u=https://github.com/kachkaev/special-internet-archive/blob/main/README.md)
## ΠΠ± Π°ΡΡ ΠΈΠ²Π΅
### ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ
ΠΡΡ ΠΈΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ _ΡΠ½ΠΈΠΌΠΊΠΈ_ (πΈ) ΠΈ _Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ_ (π·) Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ (π Π°Π΄ΡΠ΅ΡΠΎΠ² Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅).
```txt
π Π°Π΄ΡΠ΅Ρ 1 π Π°Π΄ΡΠ΅Ρ 2 π Π°Π΄ΡΠ΅Ρ 3 ... π Π°Π΄ΡΠ΅Ρ N
πΈ πΈ πΈ πΈ πΈ πΈ πΈ πΈ πΈ πΈ πΈ πΈ
π· π· π·
```πΈ **Π‘Π½ΠΈΠΌΠΎΠΊ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ** β ΡΡΠΎ ΠΊΠΎΠΏΠΈΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ Π²ΡΠ΄Π°Π²Π°Π» ΡΠ΅ΡΠ²Π΅Ρ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ Π°Π΄ΡΠ΅ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΌΠΊΠΎΠ².
ΠΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΊΠ°ΠΊ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, ΡΠ°ΠΊ ΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ.
Π‘Π½ΠΈΠΌΠΊΠΈ Π±ΡΠ²Π°ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ (ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ»ΠΎΠ½ΡΡΡΠΎΠΌ Ρ ΡΠ΅Π±Ρ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅) ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΌΠΈ (ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ ΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ).ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΡΠ°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ Π΄Π»Ρ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ.
Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ ΡΡΠΈΡΠ°ΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄ΡΠΆΠ½ΡΠΌΠΈ.
Π§ΠΈΡΡΠΎ Π² ΡΠ΅ΠΎΡΠΈΠΈ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΎΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ² β ΡΡΠΎ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΡΠ°ΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°Π²Π΅ΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ.
ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Π΅ΡΡ Π½Π°Ρ Π°ΡΡ ΠΈΠ² Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΡΠ½ΠΈΡΡΠΎΠΆΠΈΡΡ, ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π²ΡΡ ΡΠ°Π²Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π½Ρ Π΄ΠΎΠΆΠΈΡΡ Π΄ΠΎ ΠΏΠΎΡΠΎΠΌΠΊΠΎΠ².π· **ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ** β ΡΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΠΈ.
Π§Π°ΡΡΠ½ΡΠΉ ΡΠ»ΡΡΠ°ΠΉ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ β ΠΌΠ΅ΡΠΊΠΈ (ΡΠ΅Π³ΠΈ).
ΠΠ½Π½ΠΎΡΠ°ΡΠΈΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡΡ ΡΠΎΠ±ΠΈΡΠ°ΡΡ, ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ²Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΈ ΡΡΠΎΠΌ Ρ ΡΠ°Π½ΡΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ ΠΎΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ.### Π‘ΡΡΡΠΊΡΡΡΠ° Π°ΡΡ ΠΈΠ²Π°
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π°ΡΡ ΠΈΠ²Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΎ Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° ΡΠΎΠΊΡΡΠΈΡΡΠ΅ΡΡΡ Π½Π° ΡΡΠΌ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠΌ: Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, _ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°Ρ ΠΠ Π² ΠΠ½ΡΠΊΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ_.
Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°ΡΡ ΠΈΠ²Π° Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΉ ΡΠ±ΠΎΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈ Π°Π½Π°Π»ΠΈΠ·.```txt
π π π π π π π π π π π π π π π
π ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ 1 π ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ 2 π ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ 3 ... π ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ N
β β β β
π€ π€π€π€ π€ π€π€
```ΠΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° β ΡΡΠΎ ΠΎΠ±ΡΡΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ.
ΠΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈΠ»ΠΈ Π·Π°ΠΊΡΡΡΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΡΠΎΠ±Ρ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡ Π°ΡΡ ΠΈΠ²Π° ΠΎΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠΎΡΠΌΠ°ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ β [JSON](https://ru.wikipedia.org/wiki/JSON) ΠΈ [ZIP](https://ru.wikipedia.org/wiki/ZIP).ΠΠ»Ρ ΠΎΠ±ΠΌΠ΅Π½Π° ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ [Π³ΠΈΡ](https://ru.wikipedia.org/wiki/Git) (ΡΠΈΡΡΠ΅ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ).
ΠΡΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΡ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Π°ΡΡ ΠΈΠ²Π° ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π΄Π΅Π»Π°ΡΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΡ ΡΠ±ΠΎΡΠ°.
Π‘ΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ Π΄Π»Ρ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π°ΡΡ ΠΈΠ²Π°.ΠΠΎΠ΄ Π² ΡΡΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π°ΡΡ ΠΈΠ²Π°.
Π‘ΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΡΠ΅ΡΡΡΡ ΡΠ΅Π½Π½ΠΎΡΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΡΠ΅ΡΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΠΎΠΌΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ².### Π‘ΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π°ΡΡ ΠΈΠ²Π°
π ΠΏΠ°ΠΏΠΊΠ° Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ Π°ΡΡ ΠΈΠ²Π°
π ΠΏΠ°ΠΏΠΊΠ° Ρ Π°ΡΡ ΠΈΠ²ΠΎΠΌ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ (Π°Π΄ΡΠ΅ΡΠ° Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅)
πΈ ΠΏΠ°ΠΏΠΊΠ° cΠΎ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ
π Π»ΡΠ±Π°Ρ Π΄ΡΡΠ³Π°Ρ ΠΏΠ°ΠΏΠΊΠ°π ΡΠ°ΠΉΠ» Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ (Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ)
β³ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» (Π½Π΅ Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ)
π ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°ΠΉΠ» (Π²ΠΊΠ»ΡΡΠ΅Π½ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π½Π½ΠΎΡΡΠΈ)ΠΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅: ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Ρ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ, Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ.```txt
π [collection-dir-path]/π snapshot-queues/
β³ some-third-party-generator.json
β³ some-local-generator.json
β³ some-other-third-party-generator.jsonπ web-pages/
π some/
π path/
π to/
π some-web-page/
π some-other-web-page/π some-other-path/
π another-web-page/
π different-web-page/π .gitattributes
π .gitignore
π .prettierrc
π README.md
β³ url-inbox.txt
```ΠΠ°ΠΏΠΊΠ° `π web-pages` ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
Π‘ΡΡΡΠΊΡΡΡΠ° ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π°Π΄ΡΠ΅ΡΠΎΠ².
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, `https://vk.com/wall-54321_111` ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΏΠ°ΠΏΠΊΠ΅ `π web-pages/vk/posts/-54321/111`.ΠΠ°ΠΏΠΊΠ° `π snapshot-queues` ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ [ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ½ΠΈΠΌΠΊΠΎΠ²](#ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅-ΡΠ½ΠΈΠΌΠΊΠΎΠ²).
Π€Π°ΠΉΠ» `β³ url-inbox.txt` Π½ΡΠΆΠ΅Π½ [Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ](#ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ-Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ).ΠΠ°ΠΏΠΊΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΡΡ ΡΡΡΡΠΊΡΡΡΡ:
```txt
π some/path/to/some-web-page/πΈ snapshots/
π 2022-03-10-011223z-some-local-generator.zip
β³ 2022-03-10-011223z-some-local-generator.zip.summary.jsonβ³ 2022-04-05-124312z-some-third-party-generator.zip
β³ 2022-04-05-124312z-some-third-party-generator.zip.summary.jsonβ³ 2022-04-27-071231z-some-other-third-party-generator.zip
β³ 2022-04-27-071231z-some-other-third-party-generator.zip.summary.jsonπ 2022-05-02-182048z-some-local-generator.zip
β³ 2022-05-02-182048z-some-local-generator.zip.summary.jsonβ³ 2022-05-02-182440z-some-third-party-generator.zip
β³ 2022-05-02-182440z-some-third-party-generator.zip.summary.jsonβ³ snapshot-summary-combination.json
π web-page.json
```Π ΡΠ°ΠΉΠ»Π΅ `π web-page.json` Ρ ΡΠ°Π½ΠΈΡΡΡ Π°Π΄ΡΠ΅Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΏΠΈΡΠΊΠΈ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² (πΈ) ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ (π·).
ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² ΠΏΠ°ΠΏΠΊΠ΅.ΠΠ°ΠΏΠΊΠ° `πΈ snapshots` ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (π).
ΠΠ½Π΅ΡΠ½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ β ΡΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ (β³), ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π·Π°Π½ΠΎΠ²ΠΎ.Π ΡΠ΄ΠΎΠΌ ΡΠΎ ΡΠ½ΠΈΠΌΠΊΠΎΠΌ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΠΎΠ΄ΠΊΠ° ΠΏΠΎ ΡΡΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΡ: `β³ *.summary.json`.
Π‘Π²ΠΎΠ΄ΠΊΠΈ [ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΡΠΊΡΠΈΠΏΡΠ°ΠΌΠΈ](#ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅-ΡΠ²ΠΎΠ΄ΠΎΠΊ-ΠΈΠ·-ΡΠ½ΠΈΠΌΠΊΠΎΠ²) ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΡΠΎΠ² Π² Π»Π΅Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°).
Π€Π°ΠΉΠ»Ρ ΡΠ²ΠΎΠ΄ΠΎΠΊ ΡΡΠΈΡΠ°ΡΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½ΠΈΡ Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΡΠΎΠ·Π΄Π°ΡΡ.
Π€Π°ΠΉΠ» `β³ snapshot-summary-combination.json` ΡΠΎΠΆΠ΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ²ΠΎΠ΄ΠΎΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΡΠΎΠ² Π·Π° Π²ΡΡ Π²ΡΠ΅ΠΌΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΠΈ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°).ΠΡΠ΅ΠΌΠ΅Π½Π½ΡΜΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π² Π½Π°Π·Π²Π°Π½ΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² (`2022-04-05-124312z`) ΠΈ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² (`"2022-04-05T12:43:12Z"`) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ [UTC](https://ru.wikipedia.org/wiki/%D0%92%D1%81%D0%B5%D0%BC%D0%B8%D1%80%D0%BD%D0%BE%D0%B5_%D0%BA%D0%BE%D0%BE%D1%80%D0%B4%D0%B8%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D0%BE%D0%B5_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F) (MSK-03).
[Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ ISO 8601](), UTC ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ Π»ΠΈΡΠ΅ΡΠΎΠΉ `Z` _(βZulu timeβ)_.
ΠΡ Π½Π΅ ΡΠ±ΠΈΡΠ°Π΅ΠΌ ΡΡΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ», ΡΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΡΠ°Π½ΠΈΡΡ Ρ ΠΌΠ΅ΡΡΠ½ΡΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎ ΠΠΎΡΠΊΠ²Π΅.---
Π Π°Π·Π±ΠΈΠ²ΠΊΠ° ΠΏΠ°ΠΏΠΊΠΈ `π web-pages` Π½Π° ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ, Π½ΠΎ Π½Π΅ Π½Π΅ΡΡΡ Π² ΡΠ΅Π±Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠ±Π°Ρ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ `π web-page.json` ΡΡΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ°ΠΏΠΊΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ (π).
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΡ ΠΏΠ°ΠΏΠΎΠΊ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ:```txt
π some/path/to/some-web-page/
π web-page.jsonβ some/path/to/some-web-page/some/subfolder/
β web-page.json
```## ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ±ΡΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π°, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ:
- Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ [ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ](https://ru.wikipedia.org/wiki/ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ_ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ_ΡΡΡΠΎΠΊΠΈ) (ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π°),
- Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ Ρ [Π³ΠΈΡΠΎΠΌ](https://ru.wikipedia.org/wiki/Git) (ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ),
- ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ½ΠΎΠ΅ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²ΠΎ Ρ ΡΠΎΡΠΌΠ°ΡΠΎΠΌ [JSON](https://ru.wikipedia.org/wiki/JSON).Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ [VSCode](https://code.visualstudio.com) Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡΠΌΠΈ
[DotENV](https://marketplace.visualstudio.com/items?itemName=mikestead.dotenv),
[Git Graph](https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph),
[Git Lens](https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens) ΠΈ
[Yaml](https://marketplace.visualstudio.com/items?itemName=redhat.vscode-yaml).Π ΡΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌΡΡ ΠΏΠ°ΠΏΠΊΠ°Ρ ΠΈ ΡΠ°ΠΉΠ»Π°Ρ `[project-dir-path]` ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Π²ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΠΎ `/Users/me/projects/special-internet-archive`, ΡΠΎ `[project-dir-path]/some-folder` Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ `/Users/me/projects/special-internet-archive/some-folder`.### Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ ΡΠΈΡΡΠ΅ΠΌΠ΅
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ Ρ Π»ΡΠ±ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ (Linux, macOS, Windows).
Π₯Π²Π°ΡΠΈΡ 4-8 ΠΠ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΏΠΎΡΡΠ΄ΠΊΠ° 2-5 ΠΠ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ° Π½Π° Π΄ΠΈΡΠΊΠ΅.### ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΊ ΡΠ°Π±ΠΎΡΠ΅
ΠΡΠΈ ΡΠ°Π³ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΠ΅ ΡΠ±ΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π°ΡΡ ΠΈΠ²Π°.
1. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° ΠΌΠ°ΡΠΈΠ½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ [Π³ΠΈΡ](https://git-scm.com) (ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ), [Π³ΠΈΡ-Π»ΡΡ](https://git-lfs.github.com) (ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ) ΠΈ [Π½ΠΎΠ΄Π°](https://nodejs.org/ru) (ΡΡΠ΅Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠΎΠ²).
ΠΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Π½ΠΎΠ΄Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ±ΡΠ°ΡΡ Π²Π΅ΡΡΠΈΡ LTS.ΠΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
```sh
git --version
## ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ β₯ 2.30
git-lfs --version
## ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ β₯ 3.0
node --version
## ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ β₯ 16.14, < 17 ΠΈΠ»ΠΈ β₯ 18.0, < 19
```1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ [ΡΡΠ½Π°](https://yarnpkg.com) (ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ):
```sh
npm install --global yarn
```ΠΠΎΠΌΠ°Π½Π΄Π° Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
```sh
yarn --version
## ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ β₯ 1.22
```1. [ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅](https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository) ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΡ `[project-dir-path]/tooling`.
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π² Π·Π°ΡΠ°Π½Π΅Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠ°ΠΏΠΊΡ `[project-dir-path]`:
```sh
cd "[project-dir-path]"
## ΠΏΡΠΈΠΌΠ΅Ρ:
## cd "/Users/bob/projects/special-internet-archive"
```ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΠ»Π΅Π²Π° ΠΎΡ ΠΌΠ΅ΡΡΠ° Π²Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅:
```sh
git clone https://github.com/kachkaev/special-internet-archive.git tooling
```Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΌΠΎΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ ΡΠ°ΠΉΠ» `[project-dir-path]/tooling/README.md`.
ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΠΎΠΊΠ°Π·Π°Π»ΡΡ Π² Π΄ΡΡΠ³ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `[project-dir-path]/special-archive-tooling` ΠΈΠ»ΠΈ `[project-dir-path]/archive/tooling`, ΡΠΎ ΠΏΠ°ΠΏΠΊΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΡΠΈ.
Π‘Π²ΡΠ·Ρ Ρ Π³ΠΈΡΡ Π°Π±ΠΎΠΌ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΠ΅ΡΡΡ.1. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π», ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ `[project-dir-path]/tooling`:
```sh
cd "[project-dir-path]/tooling"
## ΠΏΡΠΈΠΌΠ΅Ρ:
## cd "/Users/bob/projects/special-internet-archive/tooling"
```1. ΠΡΠ΄ΡΡΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ `[project-dir-path]/tooling`, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
```sh
yarn install
```ΠΡΠΎ Π·Π°ΠΉΠΌΡΡ ΠΏΠ°ΡΡ ΠΌΠΈΠ½ΡΡ.
1. ΠΡΠ΄ΡΡΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ `[project-dir-path]/tooling`, ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ» `.env.local`:
```sh
yarn exe scripts/1-chores/ensure-dot-env-local.script.ts
```ΠΠ°ΠΏΡΡΠΊ ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΠ±ΡΡΡ ΡΠ°Π±ΠΎΡΠΎΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡ ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΡΠ»ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ°, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°Π½ΠΎΠ²ΠΎ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ (Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΡΡΠΎ-ΡΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ).### ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π°ΡΡ ΠΈΠ²Π°
ΠΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π³ΠΎΠ² Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ²ΡΠΆΠΈΡΠ΅ΡΡ Ρ Π°Π²ΡΠΎΡΠΎΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈΠ»ΠΈ ΠΊΠ΅ΠΌ-ΡΠΎ ΠΈΠ· ΡΠ΅Π»Π΅Π³ΡΠ°ΠΌ-ΡΠ°ΡΠ° [@ruarxivechat](https://t.me/ruarxivechat).
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅ ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΡΠ²ΠΎΠΉ Π½ΠΈΠΊ.ΠΠΎΡΠ»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ°:
1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ `[project-dir-path]/data/collections`.
1. ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Π²Π°Ρ Π²Π΅ΡΠΊΡ Π² ΠΏΠ°ΠΏΠΊΡ `π [project-dir-path]/data/collections/[collection-id]`.
Π§ΡΠΎΠ±Ρ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°ΡΡ, Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ `[project-dir-path]/data`:
```sh
git clone https://[github-username]:[personal-access-token]@github.com/[repository].git --branch=collections/[collection-id] --single-branch collections/[collection-id]
## ΠΏΡΠΈΠΌΠ΅Ρ:
## git clone https://bob:[email protected]/example/repo.git --branch=collections/my-collection --single-branch collections/my-collection
```- `[github-username]` β ΡΡΠΎ Π²Π°Ρ Π½ΠΈΠΊ Π½Π° Π³ΠΈΡΡ Π°Π±Π΅.
- `[personal-access-token]` β ΡΡΠΎ Π²Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΡΠΎΠΊΠ΅Π½ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΌΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ([ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)).
- `[repository]` - ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π³Π΄Π΅ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π²Π°ΡΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π°.
- `[collection-id]` β ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `region-ru-pnz` ΠΈΠ»ΠΈ `topic-xyz`).
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½Π°Π·Π²Π°Π½ΠΈΡ Π²Π΅ΡΠΊΠΈ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ (`collections/[collection-id]`).1. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» `[project-dir-path]/tooling/.env.local` ΠΊΠ°ΠΊ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΠΈ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π°ΡΡ ΠΈΠ²Π°.
ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ:```ini
COLLECTION_DIR_PATH=[project-dir-path]/data/collections/[collection-id]## ΠΏΡΠΈΠΌΠ΅Ρ:
## COLLECTION_DIR_PATH=/Users/bob/projects/special-internet-archive/data/collections/my-collection
```### Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ Π°ΡΡ ΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° ΠΏΠ΅ΡΠ²ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΎΠΊ.
ΠΠΎΠΊΠ° ΡΡΠΎ ΡΡΠΎ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΠ (`https://vk.com/typical_ensk`).
ΠΈΠ»ΠΈ ΠΏΡΡΠΌΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠΎΡΡΡ (`https://vk.com/wall-123-456`).
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΠΏΠΎΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡΡΡ ΠΈΠ· Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ².Π Π΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° ΠΌΠΎΠΆΠ½ΠΎ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° ΡΡΠΌ-ΡΠΎ ΠΎΠ΄Π½ΠΎΠΌ, ΡΠΎ Π΅ΡΡΡ Π½Π΅ ΡΠ²Π°Π»ΠΈΠ²Π°ΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΠΊΡΡΡ.
ΠΡΠΎ ΡΠΏΡΠΎΡΡΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΡ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΡ Π°Π½Π°Π»ΠΈΠ·.1. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» `β³ [collection-dir-path]/url-inbox.txt`.
ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠΌ:```sh
yarn exe scripts/2-registration/1-ensure-url-inbox-exists.script.ts
```1. ΠΠ°ΠΊΠΈΠ΄Π°ΠΉΡΠ΅ Π² ΡΠ°ΠΉΠ» `β³ [collection-dir-path]/url-inbox.txt` ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΡΠΊΠ° Π² ΡΠ°ΠΉΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠ»ΠΊΡ.
ΠΡΡΡΡΠ΅ ΡΡΡΠΎΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΡΠΎΡΠΊΠΈ Π±Π΅Π· ΡΡΡΠ»ΠΎΠΊ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΡΡΡΡΡ.
ΠΡΠ»ΠΈ Π²Ρ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ, Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΠ΄ΡΡΡΡ Π½ΠΈΡΠ΅Π³ΠΎ ΠΌΠ΅Π½ΡΡΡ.ΠΡΠΈΠΌΠ΅Ρ:
```txt
https://vk.com/id123https://vk.com/group123
https://vk.com/public123
https://vk.com/something
ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ
https://vk.com/wall-123-456
```1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΡΡΠ»ΠΎΠΊ ΠΈΠ· ΡΠ°ΠΉΠ»Π° `β³ [collection-dir-path]/url-inbox.txt`:
```sh
yarn exe scripts/2-registration/2-register-from-url-inbox.script.ts
```ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ»Ρ `π [collection-dir-path]/web-pages/**/web-page.json`.
ΠΠΎΠ²ΡΠΎΡΠ½ΡΠ΅ ΠΏΠΎΠΏΡΡΠΊΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½Ρ ΠΈ ΡΡ ΠΆΠ΅ ΡΡΡΠ»ΠΊΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΎΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½Ρ.
Π£ΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡΡΡ.1. ![][ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ]
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° `β³ [collection-dir-path]/url-inbox.txt`.
ΠΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π·Π³Π»ΡΠ΄Π΅ΡΡ ΡΡΡΠ»ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ.```sh
yarn exe scripts/2-registration/3-clean-up-url-inbox.script.ts
```ΠΡΠΈΠΌΠ΅Ρ:
```txt
https://vk.com/public123
https://vk.com/unsupported/url
ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ
https://vk.com/group123https://vk.com/wall-123-456
Π΅ΡΡ ΡΠ΅ΠΊΡΡ
https://unsupported.example.com
```β
```txt
https://vk.com/unsupported/url
ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈΠ΅ΡΡ ΡΠ΅ΠΊΡΡ
https://unsupported.example.com
```### Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΎΠ²
ΠΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ: ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ², ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ.
ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° ΡΠ½ΠΈΠΌΠΊΠΎΠ².#### Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ: Wayback Machine
[Wayback Machine](https://ru.wikipedia.org/wiki/Wayback_Machine) β ΡΡΠΎ Π½Π΅ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-Π°ΡΡ ΠΈΠ² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°.
ΠΠ½ [Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ Π² Π ΠΎΡΡΠΈΠΈ](https://ru.wikipedia.org/wiki/Wayback_Machine#%D0%91%D0%BB%D0%BE%D0%BA%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B8), ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ Π² ΡΡΠΎΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ [Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ VPN](https://roskomsvoboda.org/cards/card/whydoyouneedVPN/).[web.archive.org](https://web.archive.org) ΠΏΠΎΠΊΠ° ΡΡΠΎ Π²ΡΡΡΡΠΏΠ°Π΅Ρ Π² ΡΠΎΠ»ΠΈ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°.
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΠΌ ΠΈ Π΄ΡΡΠ³ΠΎΠΉ ΠΎΠ½Π»Π°ΠΉΠ½-Π°ΡΡ ΠΈΠ²: [archive.ph](https://archive.ph).
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ Π½Π°Π΄ΡΠΆΠ½ΠΎΡΡΡ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ Π°ΡΡ ΠΈΠ²Π°.1. ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Wayback Machine:
```sh
## π Π΅ΡΠ»ΠΈ Π²Ρ Π² Π ΠΎΡΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ VPN
yarn exe scripts/3-snapshots/wayback-machine/1-update-inventory.script.ts
```ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΡΠΊΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π΄Π»Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈΠ· Π½Π°ΡΠ΅ΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
Π‘ΡΠ΅Π΄ΠΈ Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΊΠ°ΠΊ ΡΠ½ΠΈΠΌΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π»ΠΈ ΡΠ°Π½Π΅Π΅, ΡΠ°ΠΊ ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅Π»Π°Π» ΠΊΡΠΎ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ.Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `snapshotInventoryLookup` ΡΠ°ΠΉΠ»ΠΎΠ² `π web-page.json`.
ΠΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠΏΡΡΡΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ»ΠΈ Π΄ΠΎ 60 ΠΌΠΈΠ½ΡΡ Π½Π°Π·Π°Π΄.
ΠΡΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π» ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ `INVENTORY_DURABILITY_IN_MINUTES`.ΠΡΠ»ΠΈ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π΅ΡΡΡ Π½Π΅Π΄Π°Π²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ½ΠΈΠΌΠΎΠΊ, ΡΠΊΡΠΈΠΏΡ Π΅Ρ ΡΠΎΠΆΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡ.
Π’Π°ΠΊΠΎΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ ΡΡΠΊΠΎΡΡΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΊΡΡΠΏΠ½ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π°ΡΡ ΠΈΠ²Π°.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΠΈ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡ Ρ Π½Π΅Π΄Π°Π²Π½ΠΈΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ, Π·Π°Π΄Π°ΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ `EAGER=true`.1. Π‘ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ:
```sh
yarn exe scripts/3-snapshots/wayback-machine/2-compose-queue.script.ts
```ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠΉΠ΄ΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½Π°ΠΌ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π² Wayback Machine.
ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π»ΠΈΡΡ, Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ.1. ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ:
```sh
## π Π΅ΡΠ»ΠΈ Π²Ρ Π² Π ΠΎΡΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ VPN
yarn exe scripts/3-snapshots/wayback-machine/3-process-queue.script.ts
```Π‘ΠΊΡΠΈΠΏΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡ Π½Π° Π°Π΄ΡΠ΅ΡΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΌΡ https://web.archive.org/save.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ.
Π£ΡΠΏΠ΅ΡΠ½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΡΠ°Π·Ρ Π½Π΅ Π±ΡΠ΄ΡΡ.> π‘ **Wayback Machine ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄ΠΎ 500 Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΠ½ΠΈΠΌΠΊΠΈ Π² Π΄Π΅Π½Ρ**
> ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π²ΡΡΠΈΡΠ΅ ΡΡΠΎΡ Π»ΠΈΠΌΠΈΡ, ΡΠΊΡΠΈΠΏΡ Π²ΡΠ΄Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΡ ΠΈ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ:
>
> ```txt
> API limits reached. Try using another internet connection or continue tomorrow
> ```
>
> ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ ΡΠ΅ΡΠ΅Π· Π΄Π΅Π½Ρ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΊΠ°ΠΊ-ΡΠΎ ΠΏΠΎ-Π΄ΡΡΠ³ΠΎΠΌΡ (ΠΏΠΎΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΠ²ΠΎΠΉ IP-Π°Π΄ΡΠ΅Ρ).#### ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ: Playwright
[Playwright](https://playwright.dev) β ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠΎ ΡΡΡΠΈ ΡΡΠΎ ΠΎΠ±ΡΡΡΠΊΠ° Π²ΠΎΠΊΡΡΠ³ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΡΠ°ΠΉΡΠ°ΠΌΠΈ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π°ΠΆΠΈΠΌΠ°ΡΡ Π½Π° ΡΡΡΠ»ΠΊΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΏΡΠΎΠΌΠ°ΡΡΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΠΊΡΡ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
Playwright ΡΠΌΠ΅Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠ°ΠΊΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΡΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ ΠΎΡΠ΅Π½Ρ Π΄Π΅ΡΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΎΠ² ([traces](https://playwright.dev/docs/trace-viewer)).
ΠΡΠΏΠ΅ΡΠ°ΡΠΎΠΊ Playwright β ΡΡΠΎ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΠ»Π°ΠΉΠ΄ΠΎΠ² Π² ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ `zip`.
ΠΠ½ΡΡΡΠΈ Π°ΡΡ ΠΈΠ²Π° Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Β«ΡΠ»Π°ΠΉΠ΄ΠΎΠ²Β»: ΡΠ°Π·ΠΌΠ΅ΡΠΊΠ°, ΡΡΠΈΠ»ΠΈ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.
ΠΠ°ΠΆΠ΄ΡΠΉ Β«ΡΠ»Π°ΠΉΠ΄Β» ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΠΊΡΡΡΠΊΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π²Π½ΠΈΠ·).ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Playwright ΠΈΠΌΠ΅Π΅Ρ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ.
Π€ΠΎΡΠΌΠ°Ρ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΎΠ² ΡΠΎΠΆΠ΅ ΠΎΡΠΊΡΡΡ ΠΈ ΠΏΠΎΡΡΠΎΠΌΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΠΈΡΠ°ΡΡΡΡ Π΄Π°ΠΆΠ΅ Π² Π΄Π°Π»ΡΠΊΠΎΠΌ Π±ΡΠ΄ΡΡΠ΅ΠΌ.
ΠΡΠΈΠΌΠ΅Ρ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠ° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Π² Playwright [Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π½Π° ΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°](https://trace.playwright.dev/?trace=https://demo.playwright.dev/reports/todomvc/data/cb0fa77ebd9487a5c899f3ae65a7ffdbac681182.zip).ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²ΡΠΈΠΊΠΎΠ² Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΈ Playwright β ΡΡΠΎ ΡΡΠ΅Π΄ΡΡΠ²ΠΎ ΠΎΡΠ»Π°Π΄ΠΊΠΈ ΠΊΠΎΠ΄Π°.
ΠΠ»Ρ Π½Π°Ρ ΠΎΡΠΏΠ΅ΡΠ°ΡΠΊΠΈ Playwright β ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΡΠ΅, Π½ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ.1. ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Playwright:
```sh
yarn exe scripts/3-snapshots/playwright/1-update-inventory.script.ts
```Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `snapshotInventoryLookup` ΡΠ°ΠΉΠ»ΠΎΠ² `π web-page.json`.
1. Π‘ΠΎΡΡΠ°Π²ΡΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ:
```sh
yarn exe scripts/3-snapshots/playwright/2-compose-queue.script.ts
```ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΠΉΠ΄ΡΡΡΡ ΠΏΠΎ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡ Π½Π° Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΡ Π½Π°ΠΌ ΡΠ½ΠΈΠΌΠΊΠΎΠ² Π² Playwright.
ΠΠ΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π»ΠΈΡΡ, Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π² ΠΎΡΠ΅ΡΠ΅Π΄Ρ.
ΠΠ½ΡΠ΅ΡΠ²Π°Π» ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΌΠΈ ΡΠ½ΠΈΠΌΠΊΠ°ΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΈ Π²ΠΎΠ·ΡΠ°ΡΡΠ° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΡΡΡΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π½Π΅Π»ΡΠ·Ρ.Π ΠΎΡΠ΅ΡΠ΅Π΄Ρ ΠΏΠΎΠΊΠ° ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ², ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ΅Π½Π½ΠΎΡΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ² ΠΏΠΎΡΡΠΎΠ² ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅, ΠΊΠ°ΠΊ Ρ Wayback Machine.
1. ΠΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΡΠ²ΠΎΠΊ Π½Π° Π½ΠΎΠ²ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ:
```sh
yarn exe scripts/3-snapshots/playwright/3-process-queue.script.ts
```ΠΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ ΠΈ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ.
Π£ΡΠΏΠ΅ΡΠ½ΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎ Π²ΡΠΎΡΠΎΠΌΡ ΡΠ°Π·Ρ Π½Π΅ Π±ΡΠ΄ΡΡ.### ΠΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²ΠΎΠ΄ΠΎΠΊ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠΎΠ²
Π‘Π½ΠΈΠΌΠΊΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ Β«ΡΡΡΡΠ΅Β» Π΄Π°Π½Π½ΡΠ΅: ΡΠ°Π·ΠΌΠ΅ΡΠΊΡ, ΡΡΠΈΠ»ΠΈ ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.
ΠΡ Π·Π°ΡΠ°Π½Π΅Π΅ Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ΅Π½Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌ ΡΠ±ΠΎΡ Β«ΡΡΡΡΡ Β» Π΄Π°Π½Π½ΡΡ ΠΈ ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ.Π§ΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΡ ΠΈΠ²Π°ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² ΠΠ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Β«ΠΏΡΠΎΡΠΈΡΠ°ΡΡΒ» Π»Π΅Π½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ² ΠΈ Π½Π°ΠΉΡΠΈ Π² Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ ΡΠΈΠΏΠ° `https://vk.com/wall-123-456`.
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΡΠ²ΠΎΠ΄ΠΊΡ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Π½ΠΈΡ .
Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΌΠΊΠΎΠ², ΠΌΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ²ΠΎΠ΄ΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠΊΡΠΈΠΏΡΠΎΠΌ.#### Π‘ΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ: Wayback Machine
> π§ ΡΡΠ° ΡΠ΅ΠΊΡΠΈΡ β Π·Π°Π΄Π΅Π» Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅; Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ
1. ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΡΡ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ².
Π‘Π΅ΡΠ²ΠΈΡΡ [web.archive.org](https://web.archive.org) Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°ΡΡ ΠΌΠΈΠ½ΡΡ 10-30 Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π·Π°ΡΠ²ΠΎΠΊ.```sh
## π Π΅ΡΠ»ΠΈ Π²Ρ Π² Π ΠΎΡΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ VPN
yarn exe scripts/4-snapshot-summaries/wayback-machine/1-update-inventory.script.ts
```Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `snapshotInventoryLookup` ΡΠ°ΠΉΠ»ΠΎΠ² `π web-page.json`.
1. ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠ²ΠΎΠ΄ΠΊΠΈ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠΎΠ²:
```sh
## π§ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ
yarn exe scripts/4-snapshot-summaries/wayback-machine/2-extract-summaries.script.ts
```ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΡΠΊΠ°ΡΠ°Π΅Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ Π½Π°ΠΌ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈΠ· [web.archive.org](https://web.archive.org) Π² `β³ [web-page-dir-path]/snapshots/*-wayback-machine.zip` ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» `β³ [web-page-dir-path]/snapshots/*-wayback-machine.zip.summary.json` Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΌΠΊΠ°.
#### ΠΠΎΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ: Playwright
1. ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ½ΠΈΠΌΠΊΠΎΠ²:
```sh
yarn exe scripts/4-snapshot-summaries/playwright/1-update-inventory.script.ts
```Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `snapshotInventoryLookup` ΡΠ°ΠΉΠ»ΠΎΠ² `π web-page.json`.
1. ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ ΡΠ²ΠΎΠ΄ΠΊΠΈ ΠΈΠ· ΡΠ½ΠΈΠΌΠΊΠΎΠ²:
```sh
yarn exe scripts/4-snapshot-summaries/playwright/2-extract-summaries.script.ts
```ΠΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» `β³ [web-page-dir-path]/snapshots/*-playwright.zip.summary.json` Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° `π [web-page-dir-path]/snapshots/*-playwright.zip`.
ΠΠΎΠΊΠ° ΡΡΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΡΡΠΎΠ² Π² Π»Π΅Π½ΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ².
#### ΠΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ²ΠΎΠ΄ΠΎΠΊ
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠ²ΠΎΠ΄ΠΊΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΡΠ½ΠΈΠΌΠΊΡ: `β³ [web-page-dir-path]/snapshots/*.summary.json`.
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°Ρ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΠ΅ΠΌ ΡΠ²ΠΎΠ΄ΠΊΠΈ Π² ΡΠ°ΠΉΠ»Ρ `β³ [web-page-dir-path]/snapshot-summary-combination.json`:```sh
yarn exe scripts/4-snapshot-summaries/extract-summary-combinations.script.ts
```### ΠΠ½Π½ΠΎΡΠ°ΡΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ
> π§ ΡΡΠ° ΡΠ΅ΠΊΡΠΈΡ β Π·Π°Π΄Π΅Π» Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅; Π΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ
ΠΠΌΠ΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΡΠ²ΠΎΠ΄ΠΎΠΊ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π°Π½Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ: Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΌΠ΅ΡΠΊΠΈ, ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅.
ΠΠΎ Π·Π°Π΄ΡΠΌΠΊΠ΅ ΡΡΠ° Π·Π°Π΄Π°ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ _Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠΉ Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ_ ([visual analytics](https://en.wikipedia.org/wiki/Visual_analytics)).
ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ Π°ΡΡ ΠΈΠ²Π° ΠΎΡΠΊΡΠΎΠ΅Ρ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `yarn dev`, ΡΠ²ΠΈΠ΄ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π°ΡΡ ΠΈΠ²Π° ΠΈ ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π°Π½Π½ΠΎΡΠ°ΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.ΠΠΎΠΊΠ° Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π΅Ρ, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π°Π²ΡΠΎ-Π°Π½Π½ΠΎΡΠ°ΡΠΈΠ΅ΠΉ:
```sh
## π§ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠΊΠ° Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΡΠ΅Ρ ΡΠ±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ
yarn exe scripts/5-annotations/extract-from-snapshot-summary-combinations.script.ts
```Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΊΡΠΈΠΏΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ `annotation` ΡΠ°ΠΉΠ»ΠΎΠ² `π web-page.json`.
### Π Π°Π±ΠΎΡΠ° Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ
#### Π Π΅Π·Π΅ΡΠ²Π½Π°Ρ ΠΊΠΎΠΏΠΈΡ Π΄Π°Π½Π½ΡΡ
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠ°ΠΏΠΊΠΈ `π [project-dir-path]/data/collections/[collection-id]`.
Π§ΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ ΡΠ΅Π½Π½ΡΠ΅ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π²Π°ΠΆΠ½ΠΎ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° Ρ Π³ΠΈΡΡ Π°Π±ΠΎΠΌ.Π‘ΠΊΡΠΈΠΏΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ.
Π§ΡΠΎΠ±Ρ ΡΡΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ `AUTO_SYNC_COLLECTION=false`.
ΠΠ»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ Π°ΡΡ ΠΈΠ²Π° Π²ΡΡΡΠ½ΡΡ Π΅ΡΡΡ ΡΠΊΡΠΈΠΏΡ:```sh
yarn exe scripts/6-results/sync-collection.script.ts
```ΠΠ½ΠΈ ΡΠ°Π²Π½ΠΎΡΠΈΠ»Π΅Π½ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄:
```sh
cd "[project-dir-path]/data/collections/[collection-id]"
git add --all
git commit --message "Update collection"
git push
```### Π Π°Π·Π²ΠΈΡΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ
#### Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ½Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ
ΠΠ°ΠΊΠΎΠΏΠ»Π΅Π½Π½ΡΠ΅ ΡΠ½ΠΈΠΌΠΊΠΈ ΠΈ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ β ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π½ΠΎΠ²ΡΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π»Π΅Π½ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π° ΠΠ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΡΡΡ, Π° ΡΡΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΈΡΠ°ΡΡΡΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠΌΠΈ.
ΠΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠΆΠ΅ ΡΠΎΠ±ΡΠ°Π½Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΡΡΠΈΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° Π±Π΅Π· ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΎΡΠ° ΡΡΡΠ»ΠΎΠΊ.1. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΉΠ΄ΡΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π² ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ ΠΈΡ Π² ΡΠ°ΠΉΠ» `β³ [collection-dir-path]/url-inbox.txt`.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½ΡΠΌΠΈ ΡΡΠ°Π½ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΠ±ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π·Π½Π°ΡΠΈΠΌΡΠ΅ ΠΏΠΎΡΡΡ Π² Π»Π΅Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ².
Π Π΅Π»Π΅Π²Π°Π½ΡΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΠΎ Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌ ΡΠ»ΠΎΠ²Π°ΠΌ, Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΡΡΠΎ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡΡΡ.```sh
yarn exe scripts/2-registration/1-auto-populate-url-inbox-with-relevant-urls.script.ts
```1. ![][ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ]
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» `β³ [collection-dir-path]/url-inbox.txt` Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΈΠ»ΠΈ ΡΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.1. ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π² ΡΠ°Π·Π΄Π΅Π» [Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ](#ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ-Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ) ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅ Ρ ΡΡΠ΅ΡΡΠ΅Π³ΠΎ ΠΏΡΠ½ΠΊΡΠ°.
Π§ΡΠΎΠ±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π² ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ½Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡ ΡΠ°Π· Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ.
Π‘Π°ΠΌΡΠΉ Π»ΡΠ³ΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π°ΡΡ ΠΈΠ²Π° ΠΎΠΏΠΈΡΠ°Π½ Π½ΠΈΠΆΠ΅.#### ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π·Π°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ²
ΠΠ°ΠΏΡΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π°ΡΡ ΠΈΠ²Π°ΡΠΎΡΠ°ΠΌ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΡΠ±ΠΎΡΠ° Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ β ΡΠ»ΡΡΡΠ°ΡΡ ΠΊΠΎΠ΄.
Π§ΡΠΎΠ±Ρ Π΄Π΅ΡΠΆΠ°ΡΡ Π°ΡΡ ΠΈΠ² Π² Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡΡ ΡΠ°Π· Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄Π½Π΅ΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΠΎΠΌΠΈΡΠ΅Π»ΡΠ½ΡΠΌ.ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠ±ΠΎΡΠ° ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ:
```sh
## π Π΅ΡΠ»ΠΈ Π²Ρ Π² Π ΠΎΡΡΠΈΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅ VPN
yarn exe scripts/1-chores/evolve-collection.script.ts
```Π‘ΠΌΡΡΠ» ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° β Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
ΠΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΠΊΠ°ΠΊ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ Π°ΡΡ ΠΈΠ²Π°.
ΠΡΠ»ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ Π½ΠΎΠ²Π°Ρ, ΠΊΠΈΠ½ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ»ΠΎΠΊ Π² ΡΠ°ΠΉΠ» `β³ [collection-dir-path]/url-inbox.txt` ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΊΡΠΈΠΏΡ.
Π‘ΡΡΠ»ΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΊΠΈΠ΄ΡΠ²Π°ΡΡ Π² Π»ΡΠ±ΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ β ΡΡΠΎ ΡΠ°ΡΡΠΈΡΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ.### Π Π°Π±ΠΎΡΠ° Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ
ΠΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ Π°ΡΡ ΠΈΠ²Π° Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
Π‘ΡΡΡΠΊΡΡΡΠ° ΠΏΠ°ΠΏΠΎΠΊ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:```txt
π [project-dir-path]/π tooling/
π data/
π collections/
π [collection-id-1]/
π [collection-id-2]/
...
π [collection-id-n]/
```ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡΠΌΠΈ, ΠΌΠ΅Π½ΡΠΉΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ `COLLECTION_DIR_PATH` ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΡΡΠΊΠ°ΠΌΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ `[project-dir-path]/tooling/.env.local`.[ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ]: https://img.shields.io/badge/-ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ-white.svg