Come creare la tua app Read-It-Later privata con hosting autonomo

creare-readlater-apps

Internet è un vasto scrigno di conoscenze. Ma è fugace e non ci sono garanzie che il contenuto che ti piace sarà lì in futuro. Se non puoi permetterti di perdere quel contenuto, puoi utilizzare uno strumento di archiviazione web per archiviare una copia della pagina web.

Molte persone utilizzano i servizi di lettura successiva per il salvataggio di articoli Web. Queste app funzionano al meglio con contenuti basati su testo e non gestiscono in modo appropriato progetti di pagine Web o supporti complessi. Vuoi un po 'più di controllo?

Vediamo come è possibile creare un clone di Instapaper o Pocket nel computer senza perdere alcuna risorsa della pagina Web.

Presentazione di ArchiveBox

ArchiveBox è una soluzione Open Source che può aiutarti a ospitare la tua alternativa a un servizio di archiviazione come Wayback Machine. Non rinunciare alla tua privacy o rimani bloccato in un servizio che non puoi controllare.

Prende l'elenco degli URL che si desidera archiviare e crea un clone HTML locale e navigabile del contenuto in più formati. Include copie locali in HTML, uno screenshot della pagina, un file PDF e WARC (Web ARChive).

Queste copie rimangono con te anche se la pagina web originale scompare in futuro.

ArchiveBox è scritto in Python 3. Utilizza anche dipendenze come Wget , Headless Chrome , Youtube-dl e altri strumenti Unix per salvare la pagina web. Non è necessario un server back-end costantemente in esecuzione. Basta eseguirlo ogni volta che si desidera importare nuovi collegamenti e aggiornare l'output statico.

Una volta completata l'archiviazione, è possibile aprire l'output / index.html generato nel browser per visualizzare l'archivio.

ArchiveBox

Vantaggi di ArchiveBox

  • Archivia i collegamenti in diversi formati di file che funzionano come backup.
  • Cerca di conservare la pagina Web originale utilizzando sofisticati metodi di acquisizione.
  • Ha la capacità di estrarre automaticamente il contenuto e salvarlo in una singola cartella.
  • Fornisce inoltre una semplice interfaccia da riga di comando per gestire più collegamenti, feed e segnalibri. Devi impostarlo una volta ed eseguirlo secondo una pianificazione per archiviare i collegamenti più recenti.

Svantaggi di ArchiveBox

  • ArchiveBox estrae tutti gli asset dalla pagina Web. Consuma notevole spazio su disco e richiede molta CPU.
  • L'app richiede tre o più dipendenze oltre Python 3.5. Sono necessari tentativi ed errori per far funzionare insieme questi componenti.
  • L'app non supporta completamente il sistema operativo Windows. Devi installare Docker o abilitare il sottosistema Windows per Linux (WSL) . Anche allora alcune funzionalità potrebbero non funzionare.

Sistemi operativi supportati

ArchiveBox supporta ufficialmente i seguenti sistemi operativi:

  • macOS: 10.12 Sierra con Homebrew.
  • Linux: Ubuntu, Debian (con APT). L'app potrebbe (o meno) funzionare in distro come Fedora, CentOS, SUSE, Arch e altro.
  • BSD: FreeBSD, OpenBSD, NetBSD (con pkg).

dipendenze

ArchiveBox è uno strumento di archiviazione web flessibile. È necessario installare le seguenti dipendenze e soddisfare i requisiti minimi.

  • Python 3. Non utilizzare Python 2.0 predefinito fornito con macOS.
  • Wget 1.16
  • Chromium 59. Se usi già Google Chrome, non installare Chromium.
  • Youtube-dl (Opzionale): le risorse multimediali richiedono molto spazio di archiviazione. Dagli un'idea dettagliata prima di archiviare i tuoi segnalibri.

Installa ArchiveBox

Esistono due modi per configurare ArchiveBox: automatico e manuale .

Nel metodo automatico, uno script di supporto installerà l'app e le relative dipendenze. Ma non sarai in grado di risolvere il problema in caso di errore. È meglio installare l'app manualmente.

Ai fini della dimostrazione, useremo macOS 10.14.6.

Installazione delle dipendenze

Il modo migliore per installare le dipendenze è tramite un gestore di pacchetti chiamato Homebrew. Per capirne le basi, consulta questo articolo su come installare le app Mac con Homebrew .

Apri Terminale e digita

 brew install python3 git wget curl youtube-dl 
 brew cask install chromium 

(Salta se hai già installato Google Chrome / Chromium in Applicazioni)

Controllare il numero di versione di tutte le dipendenze

Per verificare il numero di versione di tutte le dipendenze, digitare

 dependency app --version 

(Sostituisci l'app per le dipendenze con python3, wget, youtube-dl e altro)

controlla la versione di tutte le dipendenze

Scarica il tuo file di esportazione dei segnalibri

Tutti i servizi di lettura successiva e i browser possono esportare i segnalibri come file HTML. Segui le istruzioni in questo articolo su come esportare i segnalibri dal tuo browser . Puoi anche salvare un singolo link o l'elenco di URL in un file di testo.

Installa ArchiveBox

Clonare il repository da GitHub. Apri Terminale e digita

 git clone https://github.com/pirate/ArchiveBox 

Poi,

 cd ArchiveBox/ 

Quando cloni questo repository, il programma di installazione creerà una cartella ArchiveBox nella directory Home. Questa cartella contiene tutti i principali file dell'applicazione e di configurazione.

installa ArchiveBox

Aggiungi il tuo URL all'archivio

Se si desidera archiviare un singolo collegamento, digitare

 echo 'https://example.com'| ./archive 

archiviazione di un singolo collegamento

Passare alla cartella ArchiveBox per vedere la cartella di output appena creata. Qui vedrai un file index.html.

Cartella di output di ArchiveBox

Aggiunta di più collegamenti all'archivio

Quando si desidera salvare più collegamenti (dozzine o più), è meglio aggiungere i collegamenti a un file di testo. L'app analizzerà gli URL all'interno del file e li archivia. Apri Terminale e digita

 ./archive [Path to Your File.txt] 

Se il file si trova nella cartella Download , apparirà il tuo percorso

 ./archive /Users/(Home directory name)/Downloads/links.txt 

Attendere qualche minuto / ora per completare il processo. Per accedere al tuo archivio, apri output / index.html nel tuo browser. Puoi ordinare per colonna, cercare il titolo usando la casella nella sezione in alto a destra e vedere il numero totale di collegamenti in basso.

collegamenti archiviati tramite ArchiveBox

Fai clic sulla favicon nella colonna File per visitare la pagina dei dettagli. Troverai collegamenti a singoli formati di file come mostrato nello screenshot. Lo stesso link viene anche caricato su archive.org .

pagina dei dettagli di ciascun collegamento archiviato

Allo stesso modo, esporta i tuoi collegamenti Instapaper o Pocket come file HTML. Quindi digitare

 ./archive ~/Downloads/instapaper-export.html 

Puoi anche importare un elenco di collegamenti dall'URL del feed. Ma ricorda che potresti riscontrare troppi errori o timeout della sessione. Se ci sono migliaia di URL, è meglio suddividerli in file più piccoli per aumentare il tasso di successo.

Configura ArchiveBox

Le impostazioni predefinite funzionano nella maggior parte dei casi, ma ci sono alcuni parametri importanti che puoi modificare per ottenere più funzionalità. Il file di configurazione risiede

 ~/ArchiveBox/etc/ArchiveBox.conf.default 

Nota: non modificare questo file, perché verranno cancellati ogni volta che aggiorni l'app. Per creare un file di configurazione persistente, digitare

 cp ~/ArchiveBox/etc/ArchiveBox.conf.default ~/.ArchiveBox.conf 

Il comando cp creerà una copia duplicata del file di configurazione nella tua home directory. Per impostazione predefinita, il file non è visibile nella tua directory. Per scoprire premi Cmd + Maiusc + Periodo . Apri il file di configurazione in TextEdit.

copia del file di configurazione di ArchiveBox

parametri

ArchiveBox ti offre molte opzioni. Eccone alcuni importanti;

  • ONLY_NEW : impostare su True per scaricare l'archivio per i collegamenti appena aggiunti. È utile se aggiungi regolarmente segnalibri ai link.
  • TIMEOUT : i valori possibili sono 60 o 120 secondi. Se vedi frequenti errori di timeout aumentalo a 120 secondi.
  • URL_BLACKLIST : puoi usare l'espressione regex per escludere determinati domini, estensioni o pattern URL dall'archivio.
  • FETCH_MEDIA : recupera tutti i file audio e video utilizzando youtube-dl. Impostare su True solo quando si dispone di memoria sufficiente.
  • WGET_USER_AGENT : utilizzalo per modificare l'agente utente durante l'archiviazione. Se vieni bloccato da alcuni server, questa opzione è utile.

Per saperne di più sui dettagli di configurazione, visitare la Configurazione di ArchiveBox per ulteriori informazioni.

Pubblicazione del tuo archivio

L'archivio prodotto da ArchiveBox è compatibile con qualsiasi provider in grado di ospitare HTML statico. Ad esempio, pagine GitHub.

Puoi anche servirlo da un server principale o VPS caricando direttamente la cartella di output nella tua directory web.

Assicurati di non eseguire alcun contenuto come CGI o PHP, vuoi ospitare solo file HTML statici.

Ospitare il tuo archivio ha sia vantaggi che svantaggi. Quando scarichi collegamenti da siti casuali, devi comprendere i pericoli dell'hosting di file CSS e JS dannosi nel tuo dominio condiviso. Potresti anche voler inserire nella blacklist i tuoi archivi nel file robots.txt per rimanere privati.

Scarica interi siti web offline

L'archiviazione Web ha attirato l'attenzione negli ultimi anni. Registrano l'intero contenuto di una pagina Web, inclusi HTML di origine, immagini incorporate, fogli di stile e codice JavaScript. ArchiveBox si adatta perfettamente all'ampia categoria di strumenti e servizi di archiviazione web.

Se sei frustrato con Instapaper o Pocket, ArchiveBox è un'ottima alternativa. Oltre agli articoli Web, potresti voler archiviare interi siti Web per accedervi offline o per preservarne le conoscenze. Se questo ti interessa, leggi questo articolo su come scaricare qualsiasi sito Web per la lettura offline .

Leggi l'articolo completo: Come creare la tua app di lettura autonoma self-hosted successiva