Google पहले से ही WEI को Chromium में ला रहा है
(github.com/chromium)- Chromium कमिट
6f47a22ने Web Environment Integrity को Origin Trial के रूप में चालू करने पर पूरे web API तक access मिल सके, इसके लिए feature संरचना को adjust किया - मुख्य बदलाव यह है कि
base::Featureकोcontent_features.hसे हटाकरruntime_enabled_features.json5आधारित generated feature में ले जाया गया, जिससे feature flag और web API exposure control अलग हो गए - web API को
RuntimeFeatureही control करता रहेगा और यह default रूप से disabled रहेगा, लेकिन Origin Trial इसे चालू करे तो API access संभव हो जाएगा - Finch के जरिए
base::Featureको बंद करने पर यह पूरी functionality के लिए kill-switch बन जाता है, जिससे Origin Trial द्वारा feature activate करने को भी रोका जा सकता है - बदलाव 15 files में 173 lines added और 18 lines deleted से बना है, और WebView में एक test जोड़ा गया है जो known origin से response spoof कर सकने की बात का उपयोग करता है
Origin Trial के जरिए WEI API access खोलने वाला संरचनात्मक बदलाव
- commit title
[wei] Ensure Origin Trial enables full featureहै, और target Chromium repository का commit6f47a22है - बदलाव का केंद्र Web Environment Integrity को Origin Trial से activate करने पर API तक पूरा access संभव बनाना है
base::Featureकी locationcontent_features.hसे हटकरruntime_enabled_features.json5से generated feature में चली गई है- इस structure में
base::Featuredefault रूप से active हो सकता है, लेकिन web API exposureRuntimeFeatureसंभालता है और default state में off रहता है
Origin Trial, RuntimeFeature और kill-switch का संबंध
- Origin Trial
RuntimeFeatureको activate करके API access खोल सकता है - पूरे API access के लिए सिर्फ
RuntimeFeatureही नहीं, बल्किbase::Featureभी active होना चाहिए, और संबंधित conditionorigin_trial_context.ccबदलाव में reflect की गई है - अगर
base::Featureको Finch के जरिए disable किया जाता है, तो यह पूरी functionality के लिए kill-switch की तरह काम करता है- इस स्थिति में Origin Trial द्वारा feature चालू करना भी block हो जाता है
WebView test से verify किया गया behavior
- WebView test इसलिए जोड़ा गया क्योंकि known origin से response को आसानी से spoof किया जा सकता है
AwWebEnvironmentIntegrityTest.javaमें निम्न behavior verify करने वाले tests शामिल हैं- default state में
navigatorमेंgetEnvironmentIntegrityनहीं होता BlinkFeatures.WEB_ENVIRONMENT_INTEGRITYचालू करने पर API इस्तेमाल किया जा सकता है- उस feature को disable करने पर API फिर से unavailable हो जाता है
- Origin Trial header और token के साथ
getEnvironmentIntegrity('contentBinding')call औरencode()result को check किया जाता है
- default state में
- test में
https://example.com/origin,Origin-Trialheader, Origin Trial token, औरTOKEN_BASE64valueAQIDBA==आदि इस्तेमाल होते हैं
code paths और feature reference का migration
- कई जगहों पर existing
features::kWebEnvironmentIntegrityreferences कोblink::features::kWebEnvironmentIntegrityमें बदला गया - बदली गई मुख्य files ये हैं
- Android WebView की production flag list भी
ContentFeatures.WEB_ENVIRONMENT_INTEGRITYसेBlinkFeatures.WEB_ENVIRONMENT_INTEGRITYमें बदली गई
बदलाव का दायरा और commit जानकारी
- commit ने 15 files बदलीं, और बदलाव का आकार 173 lines added और 18 lines deleted है
- संबंधित bug items
1439945,b/278701736हैं - review target link
chromium-review.googlesource.com/c/chromium/src/+/4681552है - commit location
refs/heads/main@{#1173344}के रूप में दिखाई गई है
1 टिप्पणियां
Hacker News राय
स्थिति समझने के लिए शुरुआती सामग्री के तौर पर Vivaldi का सारांश ठीक लगा
https://vivaldi.com/blog/googles-new-dangerous-web-environme...
ऑपरेटिंग सिस्टम का default browser Firefox सेट था और बाकी सभी apps उसी का पालन करते थे, लेकिन installation के दौरान privacy policy जैसे links खोलने के लिए इसने Microsoft Edge इस्तेमाल किया। ऊपर से कोई containerization feature बिल्कुल नहीं था, इसलिए एक tab के Google cookies को दूसरे tab में पढ़े जाने से रोकना हो तो नया private window इस्तेमाल करना पड़ता था। uninstall करते ही यह पूछने वाला page भी Edge में खुला कि मैं इसे क्यों हटा रहा हूं
Mozilla को इस Web Environment Integrity implementation के आधार पर Google को W3C से निकालने की मांग करनी चाहिए
लोग कहेंगे, “Chrome की हिस्सेदारी 65% है, तो Google के बिना W3C का क्या मतलब?”, लेकिन अगर Google web के बुनियादी सिद्धांतों को एकतरफा बदल सकता है, तो W3C पहले ही बेकार हो चुका है। अगर Google यह दिखावा बनाए रखना चाहता है कि W3C मायने रखता है, तो उसे यह implementation वापस लेना चाहिए
यकीन नहीं होता कि सिर्फ 3 दिनों में web का संभावित भविष्य इतना खतरनाक हो गया। Private Access Tokens नाम का एक कम समस्याग्रस्त, फिर भी खराब proposal पहले से standards committee में चल रहा है, लेकिन Google ने उसे नज़रअंदाज़ किया। एक personal GitHub account से बेहद संदिग्ध तरीके से proposal डाला, external contributions और comments तुरंत बंद कर दिए, और विरोध के बावजूद Chromium में पूरी implementation ठूंस रहा है
ज़रूरत असली कार्रवाई की है, और Mozilla हमेशा खुद को web आदर्शों की रक्षा करने वाला “असली” neutral guardian बताता आया है। अब साबित करने का समय है। सिर्फ विरोधी रुख जारी करना काफी नहीं है। यह उस बुनियाद पर हमला है जिसने web को सभी closed ecosystems से अलग रखा है। अगर कोई W3C में यह proposal दे कि “सिर्फ मौजूदा browsers को ही web pages render करने की अनुमति होनी चाहिए”, तो सही प्रतिक्रिया “हम इस proposal का विरोध करते हैं” नहीं, बल्कि यह गंभीरता से पूछना होगी कि submitter को उस संगठन में भाग लेने की पात्रता है भी या नहीं। अभी जो हो रहा है, वह ठीक यही है
आम तौर पर यह अच्छी तरह काम करता है, लेकिन अगर standard से पहले की implementation बहुत सफल हो जाए, तो बाद में उसे approved standard का पालन करने वाली implementation में बदलना मुश्किल हो सकता है। क्योंकि standardization process में अक्सर बड़े बदलाव हो जाते हैं
उदाहरण के लिए CSS Grid Layout है। Microsoft ने इसे IE 10 में
-ms-vendor prefix के साथ जोड़ा, और लगभग सभी को पसंद आया, इसलिए यह standardize हुआ, लेकिन यह Microsoft की original implementation से काफी अलग था, इसलिए CSS में सिर्फ-ms-हटाने से standard CSS Grid ठीक से काम नहीं करता थाMicrosoft द्वारा इसे IE 10 में पहली बार deploy करने के बाद दूसरे browsers में default रूप से enabled होने तक 4.5 साल लगे। Chrome ने इसे एक साल के भीतर, और Firefox ने उससे लगभग 2 साल बाद experimental feature के रूप में जोड़ा, लेकिन users को इसे खुद enable करना पड़ता था। उन 4.5 सालों में सिर्फ IE की परवाह करने वाली sites ने
-ms-format इतना ज्यादा इस्तेमाल कर लिया कि Microsoft IE 10 और 11 में standard के बजाय उसी format से बंध गयाInternet standards bodies नहीं, बड़ी कंपनियां बनाती हैं। असली जीवित standards WHATWG में हैं, और असली software Google, Apple, Cloudflare, Amazon बनाते हैं। W3C की कोई परवाह नहीं करता, और Mozilla ने बहुत पहले ही अपनी ताकत खो दी थी
उस समय उसके पास इतना वजन था कि कह सके, “web XHTML2 है, और अगर चाहो तो अपना अलग internet बना लो”, लेकिन अब उसकी bargaining power कहीं कमजोर है
उस समय जिम्मेदारी बड़ी internet companies को सौंपने का फैसला कुछ हद तक reasonable रहा होगा, लेकिन आखिरकार वही वजह है जिसने आज जैसी स्थिति बनाई है, जहां हम व्यवहार में शुरुआती Microsoft Network की ओर लौट रहे हैं
[1]http://www.codersnotes.com/notes/the-microsoft-network/
टिप्पणियों में सिर्फ शिकायत न करें; आज ही antitrust agencies से संपर्क करना चाहिए
US: https://www.ftc.gov/enforcement/report-antitrust-violation / antitrust@ftc.gov
EU: https://competition-policy.ec.europa.eu/antitrust/contact_en / comp-greffe-antitrust@ec.europa.eu
UK: https://www.gov.uk/guidance/tell-the-cma-about-a-competition... / general.enquiries@cma.gov.uk
India: https://www.cci.gov.in/antitrust/ / https://www.cci.gov.in/filing/atd
यहां आप खास तौर पर नई antitrust complaint बना सकते हैं
यह proposal इतना पूरी तरह user-hostile है कि technical आधार पर इसकी आलोचना करना भी मुश्किल है
यह खराब proposal नहीं, बल्कि खतरनाक, दुष्ट और दुर्भावनापूर्ण proposal है, इसलिए detail में आलोचना करना बेकार मेहनत है। पूरा का पूरा ही समस्या है और इसे रद्द किया जाना चाहिए
शांत विरोध इस बार काम नहीं करेगा। लक्ष्य इतना बड़ा मुद्दा बनाना है कि सरकारों और regulators का ध्यान जाए और antitrust proceedings शुरू हों
Google अपनी censorship और “सभ्य रहें” वाली चेतावनियां लेकर दफा हो सकता है। अब उसका असली रंग सामने आ गया है, और code of conduct अच्छे practices व welcoming environment को मजबूत करने के बजाय dissent को दबाने का tool बन गया है
मैंने Firefox पर switch कर लिया है और दूसरों को भी ऐसा करने की सलाह देता हूं
https://github.com/RupertBenWiser/Web-Environment-Integrity/...
यह खुलेआम user-hostile है। यह “user agent” संबंध को उलटने की कोशिश है, ताकि agent screen के पीछे मौजूद इंसान के बजाय advertisers, कंपनियों और governments के लिए काम करे जो उस इंसान पर नजर रखना चाहते हैं। introduction जिस तरह इसे ऐसा दिखाता है मानो users को इसकी जरूरत है या वे इसे चाहते हैं, वह घिनौना है
ईमानदारी से फिर से लिखा जाए तो यह होगा: Google जैसी कंपनियों को चाहिए कि advertisers users के बारे में जितना संभव हो उतना जान सकें। revenue client environment की fingerprinting, behavior और history tracking, और यह साबित करने पर निर्भर हो सकता है कि keyboard के पीछे पर्याप्त disposable income वाला इंसान मौजूद है। ऐसी privacy mining Google के business model की बुनियाद है और web dominance व विशाल profit margins बनाए रखने के लिए जरूरी है
मैंने पहले Chromium team के सदस्यों के साथ काम किया है और आम तौर पर उन्हें सक्षम व नेक-नीयत माना है, लेकिन इस spec proposal में कोई नेकनीयती या क्षमता नहीं दिखती। ऐसा लगता है कि Google ने पहले की तरह धीरे-धीरे सब कुछ absorb करने वाली दिशा से आगे बढ़कर, कहीं ज्यादा direct और authoritarian direction में अपना व्यवहार बदल लिया है
websites को apps के बजाय web पर ज्यादा काम करने देने के वास्तविक फायदे भी हैं। CAPTCHA कम हो सकते हैं, social media bots भी कम हो सकते हैं
जिन platforms को ज्यादातर लोग इस्तेमाल करते हैं, उन्हें फायदा होगा, और लगता है Apple users को पहले से ऐसे benefits मिल रहे हैं
open source environment के खराब होने वाली बात समझता हूं। लेकिन google.com फिर भी काम करेगा। user experience खराब करने वाली दूसरी websites होंगी
इस मुद्दे का विरोध करने की कई वजहें हैं, लेकिन search engine पर पड़ने वाले असर की ज्यादा चर्चा नहीं हुई है
अगर वेबसाइटें इसे लागू करती हैं, तो नए खिलाड़ियों के लिए web search engine बनाना व्यवहार में असंभव हो जाएगा। मौजूदा कंपनियां अपने client को allowlist में डाल सकती हैं या प्रमाणित कर सकती हैं, और बाकी सभी scraping clients को bot के रूप में वर्गीकृत कर सकती हैं
कोई और वजह न भी हो, तो भी समझ नहीं आता कि search company Google को browser जैसे दूसरे क्षेत्रों की अपनी market dominance का इस्तेमाल कर competition को खत्म करने वाली चीज़ आगे बढ़ाने की अनुमति कैसे दी जा सकती है
IE और Edge के दौर में Microsoft browser engine के लिए आभारी होना चाहिए था, क्योंकि IE भले ही बदनाम तौर पर कष्टदायक था, उसने इस क्षेत्र में competition तो दिया। लेकिन अब बस Chrome(Blink), Firefox(Gecko), Safari(WebKit) हैं, और Chrome ने dominant share हासिल करने के बाद क्या किया, यह काफी स्पष्ट है
कुछ Googlers सच में मानते होंगे कि वे web को अधिक सुरक्षित जगह बना रहे हैं, लेकिन एक कदम पीछे हटकर देखें तो असली वजह काफी साफ दिखती है
https://github.com/RupertBenWiser/Web-Environment-Integrity/...
या फिर shared secret key से URL का HMAC रखने वाला request header भेजना भी काफी है
और ज्यादा मूल बात यह है कि अपने ही owned content को आखिर scrape करने की जरूरत क्यों पड़े। Google जब YouTube results को search results page में डालता है, वैसे ही arbitrary backchannel बनाकर data access किया जा सकता है। उपयोगी तरीके से scrape की जा सकने वाली website उपलब्ध कराने की कोई जरूरत ही नहीं
The Register का एक और संयमित article
https://www.theregister.com/2023/07/25/google_web_environmen...
specification अभी आधी-पकी हालत में ही थी, फिर भी पिछले हफ्ते backlash तेज था, WEI GitHub repository में ज्यादातर आलोचनात्मक comments की बाढ़ आ गई, और proposal author की तरफ गालियां भी गईं। Google developers ने comments को केवल उन लोगों तक सीमित कर दिया जिन्होंने पहले repository में contribute किया था, और शिष्टाचार बनाए रखने की याद दिलाते हुए code of conduct document पोस्ट किया
आजकल विरोध से निपटने का यह आम तरीका है
अलग से, जो पत्रकार या लोग specification author से सीधे संपर्क करना चाहते हैं, वे उसकी public website देख सकते हैं। यह उस GitHub profile की दूसरी repositories में से एक में है जहां specification डाली गई है, और private email भी है। उसने 2022 में नीचे वाला वाक्य लिखा था, यह दर्दनाक रूप से absurd है
“आखिर मैंने इसे app बनाने का फैसला किया। यहीं से खर्च शुरू हुआ। iOS app build करने के लिए मुझे second-hand MacBook Pro खरीदना पड़ा। Apple की strategy स्पष्ट है और सच में काम भी करती है, लेकिन यह बात अब भी बहुत गुस्सा दिलाती है कि सिर्फ Linux laptop से app नहीं बनाया जा सकता। app को एक महीने से ज्यादा बनाए रखने और दोस्तों को आसानी से install करवाने के लिए developer account पर 99 dollars देने पड़े। Apple, मुझे समझ है कि आप चाहते हैं कि लोग App Store इस्तेमाल करें, लेकिन यह कुछ ज्यादा ही क्रूर है। अपने छोटे app को इस्तेमाल करते रहने के लिए अब मुझे प्रभावी रूप से हर साल 99 dollars देने पड़ेंगे।”
[0] https://benwiser.com/blog/I-just-spent-%C2%A3700-to-have-my-...
मानव मन ऐसे internet-scale social internet के लिए बना ही नहीं है, जहां जीवन भर की धड़कनों से भी ज्यादा अलग-अलग आवाजें मौजूद हों
छोटा-सा, लेकिन सच में किया जा सकने वाला एक कदम है। अपनी वेबसाइट पर नरमी से Firefox इस्तेमाल करने की सिफारिश वाला संदेश डालना
यह बहुत उभरकर दिखना ज़रूरी नहीं, छोटी-सी लाइन भी चलेगी। Firefox हो या कोई दूसरा non-Chromium-based ब्राउज़र, उसकी सिफारिश कर सकते हैं
मैंने भी अपनी वेबसाइट पर जोड़ दिया है: https://geeklaunch.io/
इसे केवल Chromium-based ब्राउज़र में दिखने लायक बनाया है। धीरे-धीरे रुझान बदला जा सकता है
यह वेबसाइट आपकी privacy का सम्मान करने वाले web browser Firefox के लिए डिज़ाइन की गई है
.hiddenclass से element को किसी भी तरह छिपा दें; यहाँ इसे.hidden { display: none; }की तरह किया गया हैमैं Firefox user हूँ, फिर भी काफी समय से Mozilla को लेकर मेरी राय सिर्फ अच्छी नहीं रही है। इस तरह प्रचार करने से पहले मैं जानना चाहता हूँ कि Mozilla इस मुद्दे पर सही पक्ष में खड़ा है
फर्क समझा भी दें तो 99% लोग अगले दिन भूल जाएंगे
आखिरकार यह बेकार है। इस तरह के अत्यधिक अधिकार-दुरुपयोग में सिर्फ सरकारी दखल और regulation ही मदद कर सकते हैं। Google ऐसा खिलाड़ी नहीं है जिससे जेब के दम पर मुकाबला किया जा सके; वह बहुत बड़ा है
user agent को साफ तौर पर Firefox या Safari में बदलने पर भी यह लगातार दिखाई देता है
इस सब में मुझे एक उजली बात भी दिखती है। आचार संहिताओं, corporate censorship, विज्ञापनों, witch-hunt और तरह-तरह की पाबंदियों से जैसे-जैसे World Wide Web और ज्यादा साफ-सुथरा और sterile बनाया जा रहा है, उम्मीद है कि जो हिस्से मूल्यवान और दिलचस्प हैं वे वैकल्पिक जगहों में बहने लगेंगे
पुराना internet geeks, अजीबोगरीब लोगों, outsiders और antisocial रुझान वाले लोगों की जगह था। सब कुछ मंजूर था और सब कुछ संभव था। मेरे समेत बहुतों ने चाहा था कि वह दुनिया बदल दे, लेकिन ऐसा नहीं हुआ। जैसा सभी देख रहे हैं, दुनिया फिर जीत रही है। फिर भी उम्मीद है कि web का यह normalization उन लोगों की critical mass बना सकेगा जो corporate-safe zone से ज्यादा कुछ चाहते हैं
मैं सच में ऐसी future चाहता हूँ जहाँ visual noise और “dynamic” features हटाए हुए Gemini जैसे protocols को पर्याप्त users मिलें। ऐसा न भी हो, तो mainstream social media, Google और Microsoft services, LLM और दूसरी आधुनिक, dystopian चीजें इस्तेमाल न करने वाले व्यक्ति के तौर पर मेरे पास खोने के लिए ज्यादा कुछ नहीं है। सौ जिंदगियाँ भर देने लायक शानदार किताबें हैं, चलने के लिए पहाड़ी रास्ते हैं और शराब पीने के लिए दोस्त भी काफी हैं। शायद यह बेहतर ही हो
अब banking काफी हद तक online चली गई है और banks ने बहुत-सी physical branches बंद कर दी हैं। कई देशों में government services तक access का हाल भी ऐसा ही है। यहाँ चिंता की बात यह है कि geeks और outsiders के लिए छोटा hobby internet बच भी जाए, तो supported browser के बिना जरूरी रोजमर्रा के काम करना असंभव हो सकता है
Wikimedia Foundation को इसमें शामिल करना चाहिए, और Wikipedia या दूसरे बड़े MediaWiki hosts को ब्राउज़र में यह feature detect होने पर कोई भी content नहीं दिखाना चाहिए
साथ ही, अगर आप distro maintainer हैं तो Apache और nginx के defaults भी ऐसे ही सेट करने चाहिए
उससे भी आगे, political और technical कारणों की लंबी व्याख्या वाली wall पर redirect करने के बजाय, बेहतर होगा कि एक बड़ा ERROR संदेश दिखाया जाए कि इस module की वजह से browser supported नहीं है, और संभव हो तो
about:configमें इसे disable करने के लिए छोटी-सी instruction दी जाएsystem administrator setting बदल सकता है, लेकिन यहाँ बात defaults की है
हालांकि बाकी सुझाव ठीक लगते हैं। distro maintainers client default settings में WEI बंद कर सकते हैं, या WEI शामिल करने वाले client programs को शामिल न करने का फैसला कर सकते हैं
“don’t be evil” से इस तरह 180-degree पलटी देखना निराशाजनक है
मैं अपने सभी दोस्तों और परिवार वालों को Mozilla Firefox recommend कर रहा हूँ
tech field के दोस्तों में भी कई लोग सिर्फ सुविधा के कारण Chrome इस्तेमाल करते रहते हैं, जबकि Firefox में सच में कुछ न चले तभी Chrome पर लौटना काफी होगा। जो लोग tech नहीं जानते, उन्हें कैसे मनाएँ
अब वह feature-limited न किए गए uBlock Origin के साथ Firefox अच्छे से इस्तेमाल कर रही है
आखिरी बार जब मैंने देखा था, multi-profile support भी कहीं आधा-अधूरा बना हुआ था