
स्क्रिप्ट्स का एक संग्रह जो आपकी स्वतंत्रता सेनानी गतिविधियों के दौरान काम आ सकता है।
इस रिपॉजिटरी में स्क्रिप्ट्स हैं जो आपकी स्वतंत्रता सेनानी गतिविधियों के दौरान काम आ सकती हैं। इसे समय-समय पर अपडेट किया जाएगा, जब मुझे किसी ऐसी चीज़ की आवश्यकता होगी जो मुझे ऑनलाइन नहीं मिलती। यहाँ सब कुछ GPL v3 लाइसेंस की शर्तों के तहत वितरित किया जाता है।
योगदान और पुल रिक्वेस्ट का स्वागत है।
एक लॉग क्लीनर जो आपत्तिजनक प्रविष्टियों को हटाता है:
/var/run/utmp, /var/log/wtmp, /var/log/btmp (who, w और last कमांड्स के आउटपुट को नियंत्रित करता है)/var/log/lastlog (lastlog कमांड के आउटपुट को नियंत्रित करता है)/var/**/*.log (.log.1, .log.2.gz, आदि शामिल)प्रविष्टियाँ एक IP पते और/या संबद्ध होस्टनेम के आधार पर हटा दी जाती हैं।
लॉग के साथ छेड़छाड़ करते समय फ़ाइल डिस्क्रिप्टर को तोड़ने से बचने के लिए विशेष ध्यान रखा जाता है। इसका मतलब है कि छेड़छाड़ के बाद भी लॉग में लिखना जारी रहता है, जिससे सफाई बहुत कम ध्यान देने योग्य होती है। सारा काम tmpfs ड्राइव में होता है और बनाई गई कोई भी फ़ाइल सुरक्षित रूप से मिटा दी जाती है।
चेतावनी: स्क्रिप्ट केवल Linux पर परीक्षण की गई है और अन्य Unix स्वादों पर UTMP प्रविष्टियों को साफ़ करने में सक्षम नहीं होगी।
usage: nojail.py [-h] [--user USER] [--ip IP] [--hostname HOSTNAME] [--verbose] [--check] [log_files [log_files ...]]
Stealthy log file cleaner.
positional arguments: log_files Specify any log files to clean in addition to /var/**/*.log.
optional arguments: -h, --help show this help message and exit --user USER, -u USER The username to remove from the connexion logs. --ip IP, -i IP The IP address to remove from the logs. --hostname HOSTNAME The hostname of the user to wipe. Defaults to the rDNS of the IP. --regexp REGEXP, -r REGEXP A regular expression to select log lines to delete (optional)
--verbose, -v Print debug messages.
--check, -c If present, the user will be asked to confirm each
deletion from the logs.
--daemonize, -d Start in the background and delete logs when the
current session terminates. Implies --self-delete.
--self-delete, -s Automatically delete the script after its execution.
डिफ़ॉल्ट रूप से, यदि कोई तर्क नहीं दिया गया है, तो स्क्रिप्ट `SSH_CONNECTION` एनवायरनमेंट वेरिएबल के आधार पर साफ़ करने के लिए आईपी पता निर्धारित करने का प्रयास करेगी। उस आईपी के रिवर्स DNS से मेल खाने वाली कोई भी प्रविष्टि भी हटा दी जाएगी।
#### मूल उदाहरण:```
./nojail.py --user root --ip 151.80.119.32 /etc/app/logs/access.log --check
...उपयोगकर्ता root के लिए सभी प्रविष्टियाँ हटा देंगे जहाँ IP पता 151.80.119.32 है या hostame manalyzer.org है।
--check विकल्प के कारण प्रत्येक रिकॉर्ड को हटाने से पहले उपयोगकर्ता से पुष्टि भी माँगी जाएगी। अंत में, फ़ाइल
/etc/app/logs/access.log को सभी डिफ़ॉल्ट फ़ाइलों के अतिरिक्त संसाधित किया जाएगा।
यदि फ़ोल्डरों को स्थितिगत तर्कों के रूप में दिया जाता है (उदाहरण के लिए /etc/app/logs/), तो स्क्रिप्ट उन्हें रिकर्सिव रूप से क्रॉल करेगी और
.log एक्सटेंशन वाली किसी भी फ़ाइल (*.log.1, *.log.2.gz, आदि सहित) को साफ करेगी।
आप लॉग फ़ाइल से मनमानी पंक्तियों को भी हटाना चाह सकते हैं। ऐसा करने के लिए, --regexp विकल्प का उपयोग करें। उदाहरण के लिए,
निम्नलिखित कमांड लाइन निर्दिष्ट IP से PHP फ़ाइलों के लिए सभी POST अनुरोधों को खोजेगी:```
./nojail.py --ip 151.80.119.32 --regexp "POST /.*?.php"
#### स्क्रिप्ट को डेमॉन बनाना```
./nojail.py --daemonize
यह मानते हुए कि यह SSH कनेक्शन से चलाया जा रहा है, यह कमांड कनेक्शन बंद होने के तुरंत बाद वर्तमान उपयोगकर्ता की गतिविधि से संबंधित सभी लॉग को पता लगाए गए IP पते और होस्टनाम के साथ हटा देगा। यह स्क्रिप्ट बाद में स्वचालित रूप से स्वयं को हटा लेगी।
कृपया ध्यान रखें कि आपको एप्लिकेशन से त्रुटि संदेश प्राप्त करने का कोई अवसर नहीं मिलेगा। आपको सलाह दी जाती है कि डेमॉन को चालू करने से पहले एक बार लॉग को हटाने का प्रयास करें ताकि यह सुनिश्चित हो सके कि आपके द्वारा निर्दिष्ट तर्क सही हैं।
यदि आप बिना TTY वाले शेल में हैं, तो स्क्रिप्ट सेशन समाप्त होने का पता नहीं लगा पाएगी। आपको सूचित किया जाएगा कि लॉग 60 सेकंड में हटा दिए जाएंगे, और आपको उससे पहले लॉग आउट कर लेना चाहिए (अन्यथा स्क्रिप्ट चलने के बाद अधिक प्रविष्टियाँ बनने का जोखिम है)।
root@proxy:~# ./nojail.py [ ] Cleaning logs for root (XXX.XXX.XXX.XXX - domain.com). [] 2 entries removed from /var/run/utmp! [] 4 entries removed from /var/log/wtmp! [ ] No entries to remove from /var/log/btmp. [] Lastlog set to 2017-01-09 17:12:49 from pts/0 at lns-bzn-XXX-XXX-XXX-XXX-XXX.adsl.proxad.net [] 4 lines removed from /var/log/nginx/error.log! [] 11 lines removed from /var/log/nginx/access.log! [] 4 lines removed from /var/log/auth.log!
### अस्वीकरण
यह स्क्रिप्ट बिना किसी गारंटी के प्रदान की गई है।
मुझे दोष न दें कि यह उस चीज़ के सभी निशान नहीं मिटाता जो आपको पहले स्थान पर नहीं करनी चाहिए थी।
## share.sh
एक पोर्टेबल और सुरक्षित फ़ाइल साझाकरण स्क्रिप्ट। स्वतंत्रता की लड़ाई के दौरान, आमतौर पर समझौता की गई मशीनों में scp के माध्यम से फ़ाइलें स्थानांतरित करना संभव नहीं होता है। फ़ाइलें अपलोड करने के वैकल्पिक तरीकों की आवश्यकता है, लेकिन अधिकांश साझाकरण सेवाएं या तो बहुत प्रतिबंधात्मक हैं या कमांड लाइन से आसानी से फ़ाइलें प्राप्त करने का कोई तरीका प्रदान नहीं करती हैं। सुरक्षा संबंधी विचार भी लोगों को क्लाउड प्रदाताओं के पास संवेदनशील फ़ाइलें अपलोड करने से रोक सकते हैं, इस डर से कि वे इसकी एक प्रति हमेशा के लिए रख लेंगे।
यह छोटी और पोर्टेबल bash स्क्रिप्ट उस समस्या को हल करने के लिए [transfer.sh](https://transfer.sh) पर निर्भर करती है। यह...
* फ़ाइलों को अपलोड करने से पहले एन्क्रिप्ट करता है (सममित AES-256-CBC)।
* बढ़ी हुई गुमनामी के लिए सिस्टम पर मौजूद होने पर स्वचालित रूप से `torify` का उपयोग करता है।
केवल आवश्यक निर्भरताएँ `openssl` और या तो `curl` या `wget` हैं।
### उपयोग```
root@proxy:~# ./share.sh ~/file_to_share "My_Secure_Encryption_Key!"
Success! Retrieval command: ./share.sh -r file_to_share "My_Secure_Encryption_Key!" https://transfer.sh/BQPFz/28239
root@proxy:~# ./share.sh -r file_to_share "My_Secure_Encryption_Key!" https://transfer.sh/BQPFz/28239
File retrieved successfully!
अपलोड के दौरान अतिरिक्त आर्गुमेंट्स आपको फ़ाइल के लिए अनुमत डाउनलोड की अधिकतम संख्या (-m) और transfer.sh इसे कितने दिनों तक रखेगा (-d) को नियंत्रित करने की अनुमति देते हैं। इन दोनों विकल्पों के लिए डिफ़ॉल्ट मान 1 है।
चेतावनी: एन्क्रिप्शन कुंजी में स्पेस का उपयोग न करें, अन्यथा आपके पासफ्रेज़ का केवल पहला शब्द ही माना जाएगा। ऐसा getopts द्वारा आर्गुमेंट्स को संभालने के तरीके के कारण है (मुझे लगता है)। यदि कोई इसे ठीक करने में रुचि रखता है तो पुल रिक्वेस्ट का स्वागत है।