- Reddit, Voat, Ruqqus जैसे प्लेटफ़ॉर्म के डेटा को PostgreSQL-आधारित HTML आर्काइव में बदलने वाला एक ओपन सोर्स टूल
- 2.38 अरब Reddit पोस्ट्स (40 हज़ार से अधिक सबरेडिट सहित) को लोकल में प्रोसेस करता है, और मोबाइल-फ्रेंडली डिज़ाइन व JavaScript-रहित इंटरफ़ेस देता है
- ऐसे समय में जब Reddit API तक पहुंच व्यावहारिक रूप से बंद हो चुकी है और थर्ड-पार्टी ऐप्स व डेटा एक्सेस को रोका जा रहा है, यह मौजूदा Pushshift डेटासेट का उपयोग करके पूरा Reddit आर्काइव व्यक्तिगत स्वामित्व में बदलने की कोशिश है
- JavaScript, बाहरी रिक्वेस्ट और ट्रैकिंग के बिना static HTML पर चलता है, और ऑफलाइन, air-gapped environment, USB, Raspberry Pi, LAN server जैसी कई परिस्थितियों में चलाया जा सकता है
- PostgreSQL full-text search (FTS) और 30 से अधिक REST API के साथ, AI टूल इंटीग्रेशन के लिए MCP server (29 tools) भी देता है, जिससे बड़े पैमाने पर विश्लेषण और क्वेरी संभव होती है
Reddit डेटा एक्सेस माहौल में बदलाव
- Reddit API अब आर्काइविंग उपयोग के लिए व्यावहारिक रूप से अनुपयोगी हो चुकी है
- थर्ड-पार्टी ऐप इकोसिस्टम का पतन और Pushshift डेटासेट तक पहुंच पर बार-बार मंडराता अवरोध
- Pushshift डेटासेट Reddit की सार्वजनिक पोस्ट और टिप्पणियों को लंबे समय तक इकट्ठा करके बनाया गया एक विशाल आर्काइव है, जिसमें अरबों टेक्स्ट रिकॉर्ड शामिल हैं
- यह Reddit के आधिकारिक API के जरिए पहले एकत्र किए गए पुराने समय के snapshot data पर आधारित है, इसलिए वर्तमान Reddit सर्वर या API तक पहुंच के बिना भी इसका उपयोग संभव है
- API नीतियों में बदलाव और डेटा पहुंच प्रतिबंधों के बाद, यह Reddit के इतिहास संरक्षण और बड़े पैमाने के विश्लेषण के लिए व्यावहारिक रूप से आखिरी सार्वजनिक डेटा संसाधन के रूप में उपयोग हो रहा है
- Pushshift के माध्यम से Reddit के पूरे पुराने रिकॉर्ड पहले ही torrent के रूप में सार्वजनिक किए जा चुके हैं
- Subreddit Comments/Submissions 2005-06 to 2024-12
- Reddit के इतिहास के सबसे लोकप्रिय 40 हज़ार सबरेडिट को अलग-अलग फ़ाइलों में संकलित किया गया है
- torrent client का उपयोग करके मनचाहे सबरेडिट ही डाउनलोड किए जा सकते हैं
Redd-Archiver प्रोजेक्ट का अवलोकन
- Redd-Archiver v1.0 Reddit, Voat और Ruqqus के सार्वजनिक डेटा डंप को बदलकर ब्राउज़ किए जा सकने वाले HTML आर्काइव बनाता है
- Reddit: Pushshift
.zstफ़ॉर्मैट, 2.38B पोस्ट्स / 40,029 सबरेडिट / 3.28 TB / Academic Torrents magnet - Voat: SQL dump, 3.81M पोस्ट्स / 24.1M टिप्पणियां / 15GB / Archive.org से डाउनलोड
- Ruqqus:
.7zJSON Lines, 500K पोस्ट्स / 752MB / Archive.org से डाउनलोड
- Reddit: Pushshift
- PostgreSQL backend का उपयोग करके बड़े डेटासेट को निश्चित मेमोरी (4GB) में प्रोसेस करता है, और GIN indexing-आधारित FTS से तेज़ खोज देता है
- HTML output ऑफलाइन होने पर भी sorting, pagination और comment tree navigation की सुविधा देता है
Redd-Archiver आर्काइविंग टूल की मुख्य संरचना
- Reddit (.zst), Voat (SQL), Ruqqus (.7z) डंप को इनपुट के रूप में उपयोग करता है
- मल्टी-प्लेटफ़ॉर्म एकीकरण: 3 प्लेटफ़ॉर्म को एक ही आर्काइव में जोड़ता है; प्लेटफ़ॉर्म ऑटो-डिटेक्शन और एकीकृत खोज सपोर्ट
- CLI flags और URL prefix के साथ
/r/,/v/,/g/path structure प्रदान करता है
- static HTML फ़ाइल निर्माण के जरिए server dependency हटाता है
- केवल
index.htmlखोलकर ब्राउज़ किया जा सकता है, बाहरी नेटवर्क की ज़रूरत नहीं- mobile-first responsive layout और touch-friendly navigation
- score, comments, date sorting index और pagination
- JavaScript-रहित CSS-आधारित interaction
- PostgreSQL FTS कॉन्फ़िगरेशन के साथ प्लेटफ़ॉर्म-एकीकृत full-text search सपोर्ट
- keyword, author, date, score आदि से फ़िल्टरिंग
- पोस्ट, टिप्पणियां, user, subreddit और aggregate queries सहित REST API उपलब्ध
- AI टूल्स से सीधे आर्काइव को query करने के लिए MCP server शामिल
- Claude Desktop या Claude Code में पोस्ट, टिप्पणियां, user और search query संभव
- प्रति instance करोड़ों पोस्ट्स प्रोसेस किए जा सकते हैं
- PostgreSQL संरचना के कारण डेटा आकार से अलग मेमोरी उपयोग स्थिर रहता है
- पूरे 2.38B पोस्ट्स के लिए विषय-आधारित कई instances में वितरित संचालन की सिफारिश
- Python, PostgreSQL, Jinja2, Docker आधारित इम्प्लीमेंटेशन (Claude Code का उपयोग समग्र विकास सहायता के रूप में किया गया)
डिप्लॉयमेंट और संचालन परिदृश्य
- USB drive या local folder आधारित ऑफलाइन ब्राउज़िंग सपोर्ट
- local/homelab: एक ही कमांड से HTTP या Tor वातावरण में चलाया जा सकता है
- production HTTPS: Let’s Encrypt certificate का ऑटो सेटअप (लगभग 5 मिनट)
- Tor hidden service: port forwarding के बिना
.onionपते से पहुंच - static hosting: GitHub Pages या Codeberg Pages पर अपलोड संभव (search feature छोड़कर)
- Docker-आधारित deployment: PostgreSQL सहित पूरी तरह स्वचालित कॉन्फ़िगरेशन
- ऑफलाइन ब्राउज़िंग, local search server, Tor/HTTPS simultaneous mode सपोर्ट
सार्वजनिक जानकारी
- live demo: https://online-archives.github.io/redd-archiver-example/
- GitHub repository: https://github.com/19-84/redd-archiver
- लाइसेंस: - Unlicense (public domain) के तहत जारी, इसलिए commercial और non-commercial उपयोग, modification और redistribution सभी स्वतंत्र हैं
1 टिप्पणियां
Hacker News की राय
आर्काइव को self-host करने का यह शानदार तरीका है
निजी तौर पर मुझे अच्छा लगेगा अगर कोई plugin हो जो हटाए गए comments या bots द्वारा overwrite किए गए comments को अपने-आप मूल रूप में restore कर दे
आजकल Reddit इस्तेमाल करना मुश्किल होने की एक वजह यह है कि पुराने links में से आधे protest के तौर पर overwrite होने के कारण बेकार comments में बदल चुके हैं
विडंबना यह है कि मूल सामग्री AI training archives में तो बची रहती है, लेकिन आम user के लिए 2 साल पहले के printer driver fix जैसी चीज़ें ढूँढना मुश्किल हो जाता है
साइट को कम उपयोगी बनाना ही उनका मकसद था, और users को छोड़कर जाने पर मजबूर करना ही protest का मूल बिंदु था
मैं archive खंगालकर उस निर्णय को निष्प्रभावी करने की कोशिश नहीं करता। बस आगे बढ़ जाता हूँ
डेटा torrent के ज़रिए मिल सकता है
लिंक: redd-archiver repository
इससे यह तय करने में मदद मिलती है कि किन communities को पहले preserve करना चाहिए
यह वाकई शानदार project है
PushShift के अलावा दूसरे archives भी हैं — जैसे Arctic Shift और PullPush, जो अलग-अलग datasets देते हैं
deletion request scope के आधार पर शामिल posts या comments अलग हो सकते हैं
मेरा ख्याल है कि इस डेटा के आधार पर decentralized social media को फिर से seed किया जा सकता है
बिल्कुल किसी project को fork करने जैसा
API भी इसे support करता है, इसलिए archive को decentralized तरीके से मिलकर host किया जा सकता है
यह सचमुच दिलचस्प project है
मेरी जिज्ञासा यह है कि Pushshift dataset नियमित रूप से update होता है या यह किसी खास समय का snapshot है
अगर self-host किया जाए, तो क्या नया डेटा लेने के लिए समय-समय पर फिर से डाउनलोड करना पड़ेगा?
watchful1 अभी डेटा को split और reprocess कर रहा है, और आगे चलकर Arctic Shift dumps लाकर monthly updates support करने की योजना है
संबंधित links:
मैं भी इसी तरह के एक project पर काम कर रहा हूँ, और Pushshift Reddit डेटा को Hugging Face Datasets पर upload किया है
जब torrent seed कमज़ोर हो, तब huggingface.co/datasets/nick007x/pushshift-reddit से सीधे individual files ली जा सकती हैं
यह उन लोगों के लिए उपयोगी है जो monthly data या सिर्फ किसी खास subreddit को test करना चाहते हैं
मैंने Docker Compose से local environment उठाने की कोशिश की, लेकिन असफल रहा
.env.exampleफ़ाइल नहीं है, और manually environment variables सेट करने पर भी volume path issue आता हैलगता है इसे थोड़ा और polish करने की ज़रूरत है
mkdirstep भी update किया गयासंबंधित commits: 0bb1039, c3754ea
क्या इसे बंद हो चुके Apollo app के साथ जोड़कर पुराने Reddit के किसी समय-बिंदु को फिर से बनाया जा सकता है?
मैं पूरा Reddit अपने कंप्यूटर पर store नहीं करना चाहता
अच्छा होगा अगर सिर्फ कुछ खास subreddit चुने जा सकें
watchful1 ने डेटा को subreddit के हिसाब से split किया है, इसलिए मनचाहा हिस्सा ही डाउनलोड किया जा सकता है
मैं जानना चाहता हूँ कि 2~3 साल पहले private किए गए subreddit data dump में शामिल हैं या नहीं, इसे जाँचने का कोई तरीका है?
status field में private होने की जानकारी देखी जा सकती है, और काफी विस्तृत विवरण भी उपलब्ध है