
Fresh Onions एक ओपन सोर्स TOR spider / hidden service onion crawler है जो zlal32teyptf4tvi.onion पर होस्ट किया गया है।
यह http://zlal32teyptf4tvi.onion हिडन सर्विस के स्रोत की एक प्रतिलिपि है, जो एक TOR हिडन सर्विस क्रॉलर / स्पाइडर और वेब साइट को कार्यान्वित करता है।
यह सॉफ्टवेयर GNU Affero GPL 3 लाइसेंस के तहत उपलब्ध कराया गया है.. इसका अर्थ यह है कि यदि आप इस सॉफ्टवेयर को नेटवर्क वाले सॉफ्टवेयर के भाग के रूप में तैनात करते हैं जो जनता के लिए उपलब्ध है, तो आपको स्रोत कोड (और किसी भी संशोधन) को उपलब्ध कराना होगा।
GNU साइट से:
GNU Affero General Public License सामान्य GNU GPL संस्करण 3 का एक संशोधित संस्करण है। इसमें एक अतिरिक्त आवश्यकता है: यदि आप किसी सर्वर पर एक संशोधित प्रोग्राम चलाते हैं और अन्य उपयोगकर्ताओं को वहां उसके साथ संवाद करने देते हैं, तो आपके सर्वर को उन्हें वहां चल रहे संशोधित संस्करण के अनुरूप स्रोत कोड डाउनलोड करने की भी अनुमति देनी होगी।
pip install -r requirements.txt
Create mysql db from schema.sql
अपने डेटाबेस सेटअप के लिए etc/database संपादित करें
अपने TOR सेटअप के लिए etc/proxy संपादित करें
script/push.sh someoniondirectory.onion
script/push.sh anotheroniondirectory.onion
etc/uwsgi_only संपादित करें और BASEDIR को वहाँ सेट करें जहाँ torscraper स्थापित है (जैसे /home/user/torscraper)
चलाएँ:
init/scraper_service.sh # to start crawling
init/isup_service.sh # to keep site status up to date
torscraper वैकल्पिक elasticsearch क्षमता के साथ आता है (डिफ़ॉल्ट रूप से सक्षम)। etc/elasticsearch संपादित करें और वेरिएबल सेट करें या अक्षम करने के लिए ELASTICSEARCH_ENABLED=false सेट करें। कॉन्फ़िगरेशन के बाद प्रारंभिक सेटअप करने के लिए scripts/elasticsearch_migrate.sh चलाएँ।
यदि elasticsearch अक्षम है तो कोई फुलटेक्स्ट खोज नहीं होगी, हालाँकि क्रॉलिंग और नई साइटों की खोज अभी भी काम करेगी।
# harvest onions from various sources
1 18 * * * /home/scraper/torscraper/scripts/harvest.sh
# get ssh fingerprints for new sites
1 4,16 * * * /home/scraper/torscraper/scripts/update_fingerprints.sh
# mark sites as genuine / fake from the /r/darknetmarkets superlist
1 9 * * 1 /home/scraper/torscraper/scripts/get_valid.sh
# scrape pastebin for onions (needs paid account / IP whitelisting)
*/5 * * * * /home/scraper/torscraper/scripts/pastebin.sh
# portscan new onions
1 */6 * * * /home/scraper/torscraper/scripts/portscan_up.sh
# scrape stronghold paste
32 */2 * * * /home/scraper/torscraper/scripts/stronghold_paste_rip.sh
# detect clones
16 3 * * * /home/scraper/torscraper/scripts/detect_clones.sh
फ्रेश ओनियंस दो सर्वरों पर चलता है, एक फ्रंटएंड होस्ट जो डेटाबेस और हिडन सर्विस वेब साइट चलाता है, और एक बैकएंड होस्ट जो क्रॉलर चलाता है। संभवतः पाठक के लिए सबसे दिलचस्प बैकएंड का सेटअप है। TOR एक क्लाइंट के रूप में पूरी तरह से SINGLETHREADED है। मुझे पता है! यह 2017 है, और उड़ने वाली कारों की पूर्ण कमी के साथ, TOR एक एकल थ्रेड में चलता है। इसका अर्थ यह है कि यदि आप एक ही TOR इंस्टेंस पर क्रॉलर चलाने का प्रयास करते हैं तो आप जल्दी ही पाएंगे कि आप अपने CPU को 100% पर अधिकतम कर रहे हैं।
इस समस्या का समाधान कई TOR इंस्टेंस चलाना और उन्हें किसी प्रकार के फ्रंटएंड के माध्यम से जोड़ना है जो आपके अनुरोधों को राउंड-रॉबिन करेगा। फ्रेश ओनियंस क्रॉलर आठ Tor इंस्टेंस चलाता है।
डेबियन (और उबंटू) TOR के कई इंस्टेंस जल्दी से बनाने के लिए एक उपयोगी प्रोग्राम "tor-instance-create" के साथ आता है। मैंने अपने फ्रंटएंड प्रॉक्सी के रूप में Squid का उपयोग किया, लेकिन दुर्भाग्य से यह सीधे SOCKS से कनेक्ट नहीं हो सकता, इसलिए मैंने एक मध्यवर्ती प्रॉक्सी के रूप में "privoxy" का उपयोग किया। आपको प्रत्येक TOR इंस्टेंस के लिए एक privoxy इंस्टेंस की आवश्यकता होगी। डेबियन सिस्टम पर privoxy इंस्टेंस बनाने में मदद करने के लिए "scripts/create_privoxy.sh" में एक स्क्रिप्ट है। यह /etc/privoxy/default.filter को एक खाली फ़ाइल से बदलने में भी मदद करता है, अनावश्यक regexes को हटाकर CPU लोड को कम करने के लिए।
इसके अतिरिक्त, यह संसाधन https://www.howtoforge.com/ultimate-security-proxy-with-tor Squid सेट करने में उपयोगी हो सकता है। यदि आप केवल क्रॉलिंग कर रहे हैं और गुमनामी की परवाह नहीं करते हैं, तो मैं बढ़ी हुई गति के लिए TOR को tor2web मोड (पुनर्संकलन की आवश्यकता) में चलाने की भी सलाह देता हूँ।