
स्वचालित Tor-आधारित साझा वेब होस्टिंग सर्वर जिसमें PHP मल्टी-वर्जन सपोर्ट, ईमेल रूटिंग, ऑटो-स्केलिंग Tor इंस्टेंस, और अंतर्निहित सुरक्षा सुदृढ़ीकरण जैसे CSRF सुरक्षा, CSP, और एन्क्रिप्टेड ओनियन कुंजियाँ शामिल हैं।
यह एक Tor आधारित साझा होस्टिंग सर्वर के लिए सेटअप है। इसे जैसा है वैसा प्रदान किया गया है और इसे उत्पादन में डालने से पहले आपको अपनी आवश्यकताओं के अनुसार परिवर्तन करने चाहिए। यह एक कार्य प्रगति पर है और आपको अद्यतन करने से पहले परिवर्तनों के लिए कमिट इतिहास की सावधानीपूर्वक जांच करनी चाहिए। उत्पादन सर्वर के लिए, कम से कम 1TB SSD डिस्क स्थान, 32GB RAM और 8 CPU कोर अनुशंसित है। एक छोटे परीक्षण/व्यक्तिगत सर्वर के लिए, 4GB RAM और 1 CPU कोर पर्याप्त है।
अनुवाद Weblate में प्रबंधित किए जाते हैं।
यदि आप मैन्युअल रूप से अनुवाद सबमिट करना पसंद करते हैं, तो स्क्रिप्ट update-translations.sh का उपयोग स्रोत से भाषा टेम्पलेट और अनुवाद फ़ाइलों को अद्यतन करने के लिए किया जा सकता है।
यह फ़ाइल var/www/locale/hosting.pot उत्पन्न करेगा जिसे आप फिर var/www/YOUR_LANG_CODE/LC_MESSAGES/hosting.po में एक नई भाषा फ़ाइल बनाने के आधार के रूप में उपयोग कर सकते हैं और Poedit जैसे अनुवाद प्रोग्राम से संपादित कर सकते हैं।
एक बार समाप्त होने पर, आप अनुवाद शामिल करने के लिए एक पुल अनुरोध खोल सकते हैं, या मुझे ईमेल करें।
यह कॉन्फ़िगरेशन Debian 13 (Trixie) और Ubuntu 24.04 LTS के साथ परीक्षण किया गया था। आपके सर्वर पर Debian 13 या Ubuntu 24.04 स्थापित करने की सिफारिश की जाती है, लेकिन थोड़ी ट्वीकिंग के साथ आप इसे अन्य वितरणों और/या संस्करणों पर भी काम करवा सकते हैं। यदि आप इसे रास्पबेरी पाई पर बनाना चाहते हैं, तो कृपया रास्पियन छवियों का उपयोग न करें क्योंकि कई चीजें टूट जाएंगी। इसके बजाय अपने पाई मॉडल के लिए https://raspi.debian.net/daily-images/ से एक छवि डाउनलोड करें।
स्थापित करने का सबसे आसान तरीका स्वचालित इंस्टॉलर के साथ है:
apt update && apt install git && git clone https://github.com/DanWin/hosting && cd hosting
./install.sh
इंस्टॉलर सब कुछ संभालता है: पैकेज स्थापना, PHP/ImageMagick संकलन, Tor कॉन्फ़िगरेशन, MySQL सेटअप, और सेवा प्रावधान। यह पासवर्ड के लिए संकेत देगा या स्वचालित रूप से उत्पन्न करेगा।
विकल्प:
./install.sh --non-interactive # प्रॉम्प्ट छोड़ें, यादृच्छिक पासवर्ड उत्पन्न करें
./install.sh --vanity <prefix> # एक वैनिटी .onion पता उत्पन्न करें
./install.sh --skip-binaries # संकलन छोड़ें (यदि पहले से बनाया गया हो तो उपयोग करें)
./install.sh --db-pass <pass> # होस्टिंग MySQL पासवर्ड सेट करें
./install.sh --pma-pass <pass> # phpMyAdmin MySQL पासवर्ड सेट करें
./install.sh --admin-pass <pass> # एडमिन पैनल पासवर्ड सेट करें
वैनिटी .onion जनरेशन mkp224o का उपयोग करता है (स्वचालित रूप से संकलित)। केवल a-z और 2-7 वर्ण मान्य हैं। 4-वर्ण उपसर्ग में मिनट लगते हैं, 5 वर्णों में 10-30 मिनट, 6+ वर्णों में घंटे लगते हैं।
क्रेडेंशियल /root/hosting-credentials.txt में सहेजे जाते हैं।
cd hosting
./update.sh # कोड अपडेट करें, कॉन्फ़िगरेशन सुरक्षित रखें
./update.sh --rebuild # PHP/ImageMagick भी पुनर्निर्माण करें
./update.sh --code-only # केवल PHP फ़ाइलें अपडेट करें
अद्यतन स्क्रिप्ट आपके कॉन्फ़िगरेशन का बैकअप लेती है, नवीनतम कोड खींचती है, पासवर्ड और ओनियन पता पुनर्स्थापित करती है, और सेवाओं को पुनरारंभ करती है। यह पता लगाती है कि install_binaries.sh बदला है या नहीं और पुनर्निर्माण के लिए चेतावनी देती है।
यदि आप मैन्युअल रूप से स्थापित करना पसंद करते हैं, तो नीचे दिए गए चरणों का पालन करें।
ऐसे पैकेज अनइंस्टॉल करें जो इस सेटअप में हस्तक्षेप कर सकते हैं:
DEBIAN_FRONTEND=noninteractive apt purge -y apache2* dnsmasq* eatmydata exim4* imagemagick-6-common mysql-client* mysql-server* nginx* libnginx-mod* php7* resolvconf && systemctl disable systemd-resolved.service && systemctl stop systemd-resolved.service
यदि आपको इस चरण के बाद होस्टनाम हल करने में समस्या होती है, तो अस्थायी रूप से 1.1.1.1 (CloudFlare से) या 8.8.8.8 (Google से) जैसे सार्वजनिक नेमसर्वर पर स्विच करें
rm /etc/resolv.conf && echo "nameserver 1.1.1.1" > /etc/resolv.conf
अतिरिक्त रिपॉजिटरी जोड़ें (केवल Debian — Ubuntu में nginx और brotli मूल रूप से हैं):
apt update && apt install git apt-transport-tor curl lsb-release
curl -sSL https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc > /etc/apt/trusted.gpg.d/torproject.asc
curl -sSL https://packages.sury.org/nginx/apt.gpg > /etc/apt/trusted.gpg.d/sury.gpg
echo "deb tor://apow7mjfryruh65chtdydfmqfpj5btws7nbocgtaovhvezgccyjazpqd.onion/torproject.org/ `lsb_release -cs` main" >> /etc/apt/sources.list
echo "deb https://packages.sury.org/nginx/ `lsb_release -cs` main" >> /etc/apt/sources.list
apt update && apt upgrade
गिट स्थापित करें और इस रिपॉजिटरी को क्लोन करें
apt update && apt install git && git clone https://github.com/DanWin/hosting && cd hosting
कस्टम अनुकूलित बायनेरिज़ स्थापित करें
./install_binaries.sh
ध्यान दें कि डेबियन में एक ओनियन सेवा पैकेज संग्रह भी है, इसलिए आप /etc/apt/sources.list को संपादित करके वहां से लोड करना चाह सकते हैं:
deb tor://2s4yqjx5ul6okpp3f2gaunr2syex5jgbfpfvhxxbbjwnrsvbk5v3qbid.onion/debian `lsb_release -cs` main
स्थापना समाप्त होने के बाद var/www में साइट फ़ाइलों को /var/www में और etc में कॉन्फ़िगरेशन फ़ाइलों को /etc में कॉपी करें (और अपनी आवश्यकताओं के अनुसार संशोधित करें)। फिर कुछ सेवाएं पुनरारंभ करें:
systemctl daemon-reload && systemctl restart bind9.service && systemctl restart [email protected]
डिफ़ॉल्ट .onion डोमेन को अपने डोमेन से बदलें:
sed -i "s/dhosting4xxoydyaivckq7tsmtgi4wfs3flpeyitekkmqwu4v4r46syd.onion/`cat /var/lib/tor/hidden_service/hostname`/g" /etc/postfix/sql/alias.cf /etc/postfix/sender_login_maps /etc/postfix/main.cf /var/www/skel/www/index.hosting.html /var/www/common.php /etc/postfix/canonical /etc/postfix-clearnet/canonical /var/www/html/squirrelmail/config/config.php
अपने क्लियरनेट डोमेन के लिए, आपको इसे /etc/postfix/main.cf में relay_domains में जोड़ना होगा और निम्नलिखित फ़ाइलों में डिफ़ॉल्ट डोमेन संपादित करना होगा:
/var/www/common.php
/etc/postfix/canonical
/etc/postfix-clearnet/canonical
इस सेटअप में दो पोस्टफिक्स इंस्टेंस हैं, एक अन्य .onion सेवाओं से मेल प्राप्त करने और भेजने के लिए और एक पतों को फिर से लिखने के लिए ताकि उन्हें क्लियरनेट फेसिंग मेल रिले पर भेजा जा सके। आप निम्न चलाकर दूसरा इंस्टेंस बनाना चाहें या नहीं चाहें:
postmulti -e init
postmulti -I postfix-clearnet -e create
postmulti -i clearnet -e enable
postmulti -i clearnet -p start
यदि आपने एक इंस्टेंस बनाया है, तो etc/postfix/main.cf में क्लियरनेट रिले संबंधित कॉन्फ़िगरेशन को अनकमेंट करें और etc/postfix-clearnet से कॉन्फ़िगरेशन फ़ाइलों को भी कॉपी और संशोधित करना सुनिश्चित करें
यदि आपको निम्न समस्या मिली: postfix: fatal: chdir(/var/spool/postfix-clearnet): No such file or directory तो आप डिफ़ॉल्ट पोस्टफिक्स इंस्टेंस से chroot को इस प्रकार कॉपी कर सकते हैं cd /var/spool/ && cp -a postfix/ postfix-clearnet/
पोस्टफिक्स कॉन्फ़िगरेशन की प्रतिलिपि बनाने (और संशोधित करने) के बाद, आपको मैपिंग फ़ाइलों (और हर बार जब आप उन फ़ाइलों को अपडेट करते हैं) से डेटाबेस बनाने की आवश्यकता है:
postalias /etc/aliases
postmap /etc/postfix/canonical /etc/postfix/sender_login_maps /etc/postfix/transport
postmap /etc/postfix-clearnet/canonical /etc/postfix-clearnet/sasl_password /etc/postfix-clearnet/transport #only if you have a second instance
अस्थायी फ़ाइलों को मेमोरी में सहेजने के लिए, /etc/fstab में निम्न जोड़ें:
tmpfs /tmp tmpfs defaults,noatime 0 0
tmpfs /var/log/nginx tmpfs rw,user,noatime 0 0
सिस्टम को सख्त करने और गैर-रूट उपयोगकर्ताओं से pids छिपाने के लिए, निम्न भी जोड़ें:
proc /proc proc defaults,hidepid=2 0 0