86 lines
3.0 KiB
Markdown
86 lines
3.0 KiB
Markdown
# Millelibri
|
|
|
|
![Logo Millelibri](frontend/src/assets/logo/logo_256px.png?raw=true)
|
|
|
|
Un motore di ricerca libri basato su protocollo IPFS.
|
|
|
|
Una versione funzionante si trova [qui](https://millelibri.lamacchinadesiderante.org).
|
|
|
|
Il progetto è partito come un fork di [Book Searcher](https://github.com/book-searcher-org/book-searcher).
|
|
|
|
L'obiettivo è trasformarlo in una piattaforma partecipativa: gli utenti avranno la possibilità di richiedere l'aggiunta di libri, oltre a fare ricerche.
|
|
|
|
## Copyright e pirateria
|
|
|
|
Nessun materiale protetto da copyright è ospitato su questo repo.
|
|
|
|
Nessun link a materiale protetto da copyright è ospitato su questo repo.
|
|
|
|
Il motore fa ricerche su degli indici, e fornisce dei risultati.
|
|
|
|
Non abbiamo nulla contro la pirateria, ma vogliamo evitare di trovarci in situazioni spiacevoli.
|
|
|
|
Non riusciamo a capire in quali occasioni la condivisione di link esterni a materiale protetto da copyright sia reato e in quali no. Quindi, per tutelarci, abbiamo disabilitato la generazione automatica di link IPFS alle risorse. Tuttavia è possibile riabilitarla modificando il codice sorgente (spiegato sotto).
|
|
|
|
Viene fornita solo un'informazione parziale. Sta all'utente mettere insieme i pezzi.
|
|
|
|
## Installazione rapida
|
|
|
|
E' possibile buildare il progetto via Docker. Occorre avere prima installato e configurato sia Docker che il tool `docker-compose`.
|
|
|
|
Occorre clonare il repo e il file contenente gli indici dei libri:
|
|
|
|
```
|
|
git clone https://git.lamacchinadesiderante.org/lamacchinadesiderante/millelibri && cd millelibri
|
|
wget https://github.com/zlib-searcher/index/releases/download/0.8.0/index_0.8.0.zip && unzip index_0.8.0.zip
|
|
docker-compose up -d
|
|
```
|
|
|
|
Il progetto sarà attivo all'indirizzo `localhost:7070`.
|
|
|
|
## Sviluppo frontend
|
|
|
|
Per modificare la parte frontend (React) del progetto, posizionarsi nella cartella `frontend` e lanciare i comandi:
|
|
|
|
```
|
|
npm install
|
|
npm run build
|
|
npm run dev
|
|
```
|
|
|
|
## Riabilitare la generazione dei link IPFS
|
|
|
|
Per riabilitare i bottoni/link ai Gateway IPFS, aprire il file `frontend/src/components/BooksDetailsCard.tsx` e de-commentare le seguenti linee di codice:
|
|
|
|
(da riga 22)
|
|
|
|
```
|
|
// const downloadLinkFromIPFS = (gateway: string, book: Book) => {
|
|
// return (
|
|
// `https://${gateway}/ipfs/${book.ipfs_cid}?filename=` +
|
|
// encodeURIComponent(`${book.title}_${book.author}.${book.extension}`)
|
|
// );
|
|
// }
|
|
```
|
|
|
|
(da riga 91)
|
|
|
|
```
|
|
{/* <SimpleGrid columns={{ sm: 2, md: 3, lg: 4, xl: 5 }} spacing={{ base: 2, md: 4 }}>
|
|
{ipfsGateways.map((gateway) => (
|
|
<Button
|
|
as={ExternalLink}
|
|
href={downloadLinkFromIPFS(gateway, row.original)}
|
|
key={gateway}
|
|
variant="outline"
|
|
>
|
|
{gateway}
|
|
</Button>
|
|
))}
|
|
|
|
</SimpleGrid> */}
|
|
```
|
|
|
|
## Licenza
|
|
|
|
Book Searcher è rilasciato sotto licenza [BSD-3-Clause](https://github.com/book-searcher-org/book-searcher/blob/master/LICENSE). Millelibri eredita la licenza da Book Searcher. |