- Little Rat एक छोटा Chrome एक्सटेंशन है जो दूसरे Chrome एक्सटेंशन प्रोग्रामों के नेटवर्क कॉल मॉनिटर करता है और ज़रूरत पड़ने पर उन्हें ब्लॉक भी कर सकता है
- दूसरे एक्सटेंशन प्रोग्रामों के ट्रैफ़िक को detect और block करने के लिए
chrome://flags/#extensions-on-chrome-urlsमें extensions-on-chrome-urls फ्लैग को enable करना होगा, या Chrome को--extensions-on-chrome-urlsके साथ चलाना होगा - मैन्युअल इंस्टॉलेशन के लिए GitHub ZIP डाउनलोड करें, उसे unzip करें, Chromium/Chrome Extensions में Developer mode enable करें, और
little-rat-mainडायरेक्टरी से Load unpacked extension प्रक्रिया का उपयोग करें
1 टिप्पणियां
Hacker News टिप्पणियां
यह third-party extension के बजाय Firefox या Chrome की built-in feature हो तो बेहतर होगा। तभी adoption rate इतना होगा कि बाकी browsers भी ध्यान देंगे। मैं चाहूंगा कि किसी खास extension को headers बदले बिना सिर्फ तय static URLs पर GET requests की अनुमति मिले
इससे data updates संभव रहेंगे और leak का जोखिम कम होगा। कुछ extensions तो local browser के अंदर ही काम करते हैं, इसलिए उन्हें network access की बिल्कुल जरूरत नहीं होती। हालांकि अगर page source में बदलाव किया जा सकता है, तो data transfer को bypass किया जा सकता है, इसलिए शायद browsers ऐसा नहीं करते। फिर भी, हार मानकर इसे Chrome extension पर छोड़ देने से बेहतर है कि कोशिश की जाए
UI inspection जैसी ही प्रक्रिया से remote debugging चालू करें और फिर Browser Toolbox चलाएं: https://superuser.com/questions/1608096/how-to-inspect-firef...
जब tabs की display को theme से ज्यादा बदलना हो, तो user-chrome CSS file में क्या चाहिए यह पता लगाने के लिए भी यह अच्छा है। हालांकि user-chrome CSS इस्तेमाल करना अपने-आप में थोड़ा झंझट वाला है
extension network requests दिखाने के लिए मुझे multi-process mode पर switch करना पड़ा, और कुल मिलाकर यह behaviour समझ में आता है
उदाहरण के लिए, test में क्लिक की गई किसी random block list को uBlock द्वारा fetch करते हुए: https://i.imgur.com/wBYbBM2.png
Firefox खुद background में safe-browsing list update करते हुए: https://i.imgur.com/JYxWwjW.png
अच्छी तरह बने extensions में notifications कभी-कभार ही आएंगी, और जिन extensions को server चाहिए वे उस समय pop up होंगी जब user server से communication की उम्मीद करता है। Keystrokes या संदिग्ध data भेजने वाला extension बहुत आसानी से पकड़ में आ जाएगा
हालांकि URL में wildcards डाले जा सकते हैं, और शायद सभी URLs के लिए कोई special value भी थी। फिर भी ऐसे permission की जरूरत वाले extensions ज्यादा नहीं होने चाहिए
उदाहरण के लिए, भले ही extension खुद request न बना सके, अगर उसे webpage DOM modify करने का अधिकार है, तो webpage से उसकी तरफ से request भिजवाने के कई तरीके हैं
यह extension install करना बहुत आसान नहीं है, इसलिए असल में capture किए गए network events दिखाने वाले screenshots जोड़ना अच्छा होगा। मौजूदा screenshot सबसे दिलचस्प feature को छिपा रहा है
इसके बाद सामान्य browser screen पर लौटें, address bar के दाईं ओर puzzle-piece extension icon दबाएं, और Little Rat के पास छोटे pin icon को दबाएं; यह install होकर extension icon list में दिखने लगेगा
बढ़िया। सच कहूं तो हैरानी है कि यह संभव है
मुझे ठीक-ठीक नहीं पता कि ये APIs कौन सा data provide करती हैं, लेकिन अगर एक extension दूसरे extension की requests access कर सकता है, तो क्या password manager extensions या authentication tokens इस्तेमाल करने वाले extensions के लिए security concern नहीं बन सकता?
अच्छा है। लगता है ऐसी चीज chrome:// URL के रूप में होनी चाहिए
अच्छा लग रहा है, लेकिन जानना चाहूंगा कि Firefox port का कोई plan है क्या
किसी को पता है कि Firefox में यही काम करने वाला कोई alternative है?
यह देखकर आप हैरान होंगे कि Mozilla “recommended” extensions में कितनी स्पष्ट extension policy violations को यूं ही जाने दे रहा है
[1]: https://firefox-source-docs.mozilla.org/devtools-user/browse...
[2]: https://firefox-source-docs.mozilla.org/networking/http/logg...
[3]: https://firefox-source-docs.mozilla.org/devtools-user/about_...
var chrome = browser;जोड़ देने से यह Firefox में काम कर सकता है। Firefox extension API थोड़े differences के साथ Chrome Extension APIs की copy के काफी करीब हैChrome Store पर आ जाए तो इस्तेमाल करके देखूंगा
declarativeNetRequest.onRuleMatchedDebug[0] इस्तेमाल कर रहा है, और यह debug-only लगता है, इसलिए पता नहीं Chrome Web Store में allow होगा या नहीं0: https://github.com/dnakov/little-rat/blob/f0b9b6be39af9fe7f4...
Chrome Store में क्यों नहीं है?
chrome.declarativeNetRequestइस्तेमाल करता है, और यह वही API है जो uBlock भी इस्तेमाल करता हैसाफ-सुथरा है, लेकिन इस हिस्से को और सावधानी से handle करना चाहिए: https://github.com/dnakov/little-rat/blob/main/popup.js#L36
मैं यह चिंता नहीं करना चाहता कि कोई दूसरा extension crafted request, ID या name के जरिए यहां XSS inject कर सकता है
unsafe-inlineको allow नहीं करती और extension ID Chrome खुद automatically generate करता हैसिर्फ यह fact कि network calls नहीं हैं, यह साबित नहीं करता कि extension safe है। वह private रखना चाहा गया data cache कर सकता है और बाद में periodic तरीके से भेज सकता है