opolyx को फ़ोन पर इंस्टॉल करें — और बिना पासवर्ड साइन इन करें
opolyx अब सचमुच इंस्टॉल होने वाला ऐप है, और अंदर आने के चार रास्ते हैं: मैजिक लिंक, ईमेल कोड, Google या Apple। कोड वह रास्ता है जो हर जगह काम करता है।

आसान शब्दों में
आप opolyx को अपनी होम स्क्रीन पर जोड़कर किसी भी दूसरे ऐप की तरह खोल सकते हैं: अपना आइकन, कोई ब्राउज़र पट्टी नहीं, और सीधे लॉबी में। यह आज Android और iOS दोनों पर ब्राउज़र मेन्यू से काम करता है, और यह वही बिल्ड है जिसे हम ऐप स्टोर के लिए पैकेज कर रहे हैं।
- मार्केटिंग पेज के बजाय सीधे लॉबी में पूरी स्क्रीन पर खुलता है;
- ब्राउज़र शॉर्टकट के बजाय अपना आइकन और स्प्लैश स्क्रीन रखता है;
- ऑफ़लाइन होने पर ब्राउज़र की त्रुटि के बजाय ढंग का opolyx पेज दिखाता है;
- चल रहे गेम का कुछ भी कैश नहीं करता, इसलिए इंस्टॉल किया ऐप साइट जितना ही ताज़ा रहता है।
साइन इन के अब चार रास्ते हैं, और आप वही चुन सकते हैं जो आपके डिवाइस पर सबसे सुविधाजनक हो:
| तरीक़ा | यह कैसे काम करता है |
|---|---|
| मैजिक लिंक | आपके ईमेल में एक लिंक — एक टैप, कोई पासवर्ड नहीं |
| ईमेल कोड | 8 अक्षरों का कोड जिसे आप साइन-इन पेज पर टाइप करते हैं |
| सामान्य खाता चयन विंडो | |
| Apple | Hide My Email सहित, जिसके पीछे हमें कभी कुछ नहीं दिखता |
ईमेल से भेजा गया कोड वह रास्ता है जो हर हाल में काम करता है — ऐप रैपर के भीतर भी, जहाँ लिंक किसी अलग ब्राउज़र में खुलता है और सत्र वापस नहीं सौंप सकता।
तकनीकी जानकारी
सर्विस वर्कर जान-बूझकर सीमित रखा गया है। यह अनुमति-सूची है, सब कुछ पकड़ने वाला जाल नहीं: नेविगेशन पहले नेटवर्क से होते हैं और विफल होने पर ऑफ़लाइन पेज दिखता है, हैश वाले स्थिर संसाधन stale-while-revalidate से आते हैं, और बाक़ी सब कुछ — डेटाबेस, गेम सर्वर, रीयलटाइम, प्रमाणीकरण, सर्वर-रेंडर पेलोड — पूरी तरह बायपास होता है, इसलिए यह न तो पुराना बोर्ड परोस सकता है और न ही चल रहे मैच को तोड़ सकता है।
// public/sw.js — allow-list, not catch-all
self.addEventListener('fetch', (event) => {
const url = new URL(event.request.url);
if (url.origin !== self.location.origin) return; // Supabase, daemon: untouched
if (BYPASS.some((p) => url.pathname.startsWith(p))) return; // /auth, /api, RSC
if (event.request.mode === 'navigate') return event.respondWith(networkFirst(event));
if (HASHED.test(url.pathname)) return event.respondWith(staleWhileRevalidate(event));
});सबसे दिलचस्प हिस्सा रैप किया गया iOS बिल्ड था, जहाँ साइन इन का कोई भी तरीक़ा पूरा नहीं होता था, जबकि हर ब्राउज़र में सब ठीक चलता था। कारण था WebKit की एक सेटिंग जिसे पैकेजिंग टूल आपकी ओर से लिख देता है: ऐप-बाउंड डोमेन चालू होने पर WebKit सूची से बाहर के किसी भी होस्ट पर होने वाले टॉप-लेवल नेविगेशन को चुपचाप रद्द कर देता है — और OAuth प्रवाह की पहली छलाँग ठीक ऐसा ही नेविगेशन है। इसके अलावा Google नीति के तहत एम्बेडेड वेबव्यू को अस्वीकार करता है, जिसे कोई कॉन्फ़िगरेशन ठीक नहीं कर सकता।
मैजिक लिंक वहाँ कभी काम कर ही नहीं सकता था: वह सिस्टम ब्राउज़र में खुलता है, जिसकी कुकी जार को ऐप का वेबव्यू देख नहीं सकता। इसीलिए टाइप किया जाने वाला कोड ही एकमात्र समान-मूल वाला ईमेल रास्ता है — यह उसी वेबव्यू में पूरा होता है जिसने इसे माँगा था।
Google के लिए स्वीकृत रास्ता यह है कि प्रवाह सिस्टम ब्राउज़र में चलाया जाए और सत्र वापस सौंप दिया जाए। यह ब्रिज प्राधिकरण URL जान-बूझकर PKCE के बिना बनाता है, ताकि प्रवाह टोकन कॉलबैक फ़्रैगमेंट में लौटाए जिसे शेल पढ़ सके — प्राधिकरण कोड को केवल वही ब्राउज़र भुना सकता जिसके पास वेरिफ़ायर है, और वह ग़लत ब्राउज़र होता।
