Been a while, people may wonder what is next for this project, so here is an update.
Thank you for being patient. Feel free to reach out to me if you are interested in helping with any of this.
After years, we are now in a position where PWA reader of ZIM archives (kiwix-js)
is able to read ZIMs from IPFS in a way that operates without dependency on centralized infrastructure:
/webtransport is enabled by defaullt in Kubo which is ~>80% of the public swarm
js-ipfs got replaced by Helia, which supports delegated routing and bitswap over /webtransport
kiwix-js has been improving all the time ❤️ and seems to be a fully functional PWA now
only downside it has is that it requires user to prefetch entire ZIM before use
adding IPFS support enables users to access Wikipedia without having to fetch the entire thing
Future of this Distributed Wikimedia Mirror
All languages available.
With search.
With regular web browser.
Focus on ZIMs
With these building blocks, we can start working towards reimagining this project to be focused on putting ZIMs on IPFS and ensuring they are pinned in multiple places.
We can put all ZIMs for all languages on IPFS, and these ZIMs are not onl yuseful for this project, but also acts as additional mirrors for https://download.kiwix.org/zim/wikipedia/
Leverage kiwix-js
The browser would still be enough for accessing Wikipedia, but we no longer need to unpack ZIMs and modify HTML/JS.
All the operational cost here is gone anc can be contributed elsewhere.
An instance of kiwix-js would load specific ZIM by its CID.
Focus on censorship-avoidance and resiliency
Resiliency can be facilitated by using the best IPFS provider available and use:
local gateway when present (http://127.0.0.1:8080/ipfs/cid IPFS Desktop, Kubo, or :48080 Brave)
fetch blocks and CARs from hardcoded list of public gateways as a fallback
leverage /routing/v1 for finding additional providers and gateways
leverage local IPFS node in JS running in-memory as the ultimate fallback
p2p retrieval and routing when all gateways are censored (webrtc signaling, relays)
After years, we are now in a position where PWA reader of ZIM archives (kiwix-js) is able to read ZIMs from IPFS in a way that operates without dependency on centralized infrastructure:
New IPFS tools and protocols
GET /routing/v1
server for delegated routing lookups/https
and/http/tls
multiaddrs)/webtransport
which allows for peer to peer connectivity in web browser without mixed-content warnings (https://connectivity.libp2p.io/#webtransport)/webtransport
is enabled by defaullt in Kubo which is ~>80% of the public swarm/webtransport
Future of this Distributed Wikimedia Mirror
All languages available.
With search.
With regular web browser.
Focus on ZIMs
With these building blocks, we can start working towards reimagining this project to be focused on putting ZIMs on IPFS and ensuring they are pinned in multiple places.
We can put all ZIMs for all languages on IPFS, and these ZIMs are not onl yuseful for this project, but also acts as additional mirrors for https://download.kiwix.org/zim/wikipedia/
Leverage kiwix-js
The browser would still be enough for accessing Wikipedia, but we no longer need to unpack ZIMs and modify HTML/JS. All the operational cost here is gone anc can be contributed elsewhere.
An instance of kiwix-js would load specific ZIM by its CID.
Focus on censorship-avoidance and resiliency
Resiliency can be facilitated by using the best IPFS provider available and use:
http://127.0.0.1:8080/ipfs/cid
IPFS Desktop, Kubo, or:48080
Brave)