
Specter-FlipperZero v2.3
👻 Specter — Flipper Zero के लिए निष्क्रिय 13.56 MHz NFC रीडर/स्किमर बग-स्वीप। ऑनबोर्ड NFC चिप का उपयोग करने वाला प्रति-निगरानी EMF मीटर। कोई अतिरिक्त हार्डवेयर नहीं।
Specter 👻
उन रीडरों के लिए तलाशी लें जिन्हें आप देख नहीं सकते।
Specter आपके Flipper Zero को सक्रिय 13.56 MHz NFC रीडरों के लिए एक पॉकेट काउंटर-सर्विलांस बग-स्वीप में बदल देता है। यह उस RF क्षेत्र को निष्क्रिय रूप से सुनता है जिसे एक चालू रीडर लगातार उत्सर्जित कर रहा होता है — एक भुगतान टर्मिनल में छिपाया गया कार्ड स्किमर, दरवाज़े के पैनल के पीछे एक गुप्त रीडर, डेस्क के नीचे चिपकाया गया एक दुष्ट लॉगर — फिर आपको बताता है वह कहाँ है, वह किस प्रकार की चीज़ है, क्या कमरा साफ़ है, और — पहरे पर छोड़ देने पर — वह क्षण जब आपके दूर रहते हुए कोई प्रकट होता है। यह कभी ट्रांसमिट नहीं करता।
रीडर अदृश्य हैं। Specter उन्हें दृश्यमान बनाता है।
📟 Flipper पर
Sweep (शांत) · Sweep (रीडर लॉक) · Fingerprint · Survey (चालू) · Survey (निर्णय)
Watch (साफ़) · Watch (रीडर!) · Logbook · Calibrate · Settings
✨ यह क्या करता है
Specter चार अलग-अलग प्रश्नों के उत्तर देता है — यह कहाँ है, यह क्या है, क्या कमरा साफ़ है, और क्या मेरे दूर रहते हुए कोई प्रकट हुआ — और हर एक का अपना स्क्रीन है।
🔍 Sweep — यह कहाँ है?
मुख्य आकर्षण: एक एनालॉग-शैली EMF गेज। सुई वास्तविक समय में FIELD % पर चलती है, एक पीक-होल्ड मार्कर सबसे मज़बूत हिट को याद रखता है, और डायल का ऊपरी हिस्सा एक हॉट ज़ोन है। शांत रहने पर एक लाइव वेवफ़ॉर्म नॉइज़ फ़्लोर को ट्रेस करता है।
जैसे ही किसी रीडर का कैरियर महसूस होता है, स्क्रीन खुद को एक अलार्म बॉर्डर में फ्रेम कर लेती है, डायल के चारों ओर एक थ्रोब रिंग स्पंदित होती है, और स्ट्रिप निकटता रीडआउट (FAINT → NEAR → CLOSE → STRONG) के साथ ● ACTIVE READER में बदल जाती है। वैकल्पिक गीगर क्लिक क्षेत्र के मज़बूत होने के साथ तेज़ होते जाते हैं, ताकि आप Flipper को जेब में रखकर किसी सतह की तलाशी ले सकें और सुनकर जान सकें कि आप लक्ष्य के कितने करीब आ रहे हैं।
OK पीक/संपर्क रीसेट करता है · hold OK रीडिंग लॉग करता है · LEFT उस कमरे के अनुसार अंशांकन करता है जिसमें आप हैं।
🔬 Fingerprint — यह क्या है? 2.0 में नया
कुछ मिला? उस पर स्थिर रहें। Specter निकटता का पीछा करना बंद कर देता है और कैरियर के on/off किनारों का समय नापना शुरू कर देता है, फिर आपको बताता है कि आप किस प्रकार के एमिटर को देख रहे हैं:
| श्रेणी | इसका अर्थ |
|---|---|
| CONTINUOUS | कैरियर स्थायी रूप से चालू रखा गया |
| POLLING | निश्चित पोल चक्र — अवधि ms में दिखाई गई है |
| INTERMITTENT | फट जैसा (bursty) पर अनियमित |
आपको पोलिंग अवधि, बर्स्ट चौड़ाई, जिटर, ड्यूटी-साइकिल और एक कॉन्फिडेंस बार मिलता है — साथ ही नीचे कच्चे कैरियर की एक लॉजिक-एनालाइज़र पल्स ट्रेन भी, ताकि निर्णय को कभी अकेले मानने के लिए न कहा जाए। एक रीडर का पोलिंग लूप क्रिस्टल-समयबद्ध होता है, इसलिए एक वास्तविक पोल एक अचूक स्क्वेयर वेव के रूप में दिखाई देता है।
OK निष्कर्ष को लॉगबुक में सहेजता है · hold OK माप पुनः आरंभ करता है।
🗺️ Site Survey — क्या यह कमरा साफ़ है? 2.0 में नया
पूरे स्थान की एक समयबद्ध तलाशी। इसे शुरू करें, कमरे में टहलें, और पूरे समय सुई देखते रहने के बजाय अंत में एक निर्णय पाएँ:
CLEAN— कुछ भी नॉइज़ फ़्लोर को पार नहीं कियाTRACE— संक्षिप्त या हल्के हिट, दूसरी बार तलाशी के लायकACTIVE READER— कुछ चालू था और वास्तव में उत्सर्जित कर रहा था
…साथ में अधिकतम/औसत क्षेत्र, संपर्क गणना, और सर्वेक्षण के कितने समय तक कैरियर वास्तव में चालू रहा। यह 30 सेकंड, 60 सेकंड या 2 मिनट के लिए चलता है, और परिणाम को स्वतः लॉग कर देता है।
🛰️ Watch Mode — मुझे बताओ अगर कोई दिखे 2.1 में नया
जहाँ Sweep में आप शिकार करते हैं और Survey एक सीमित निर्णय है, वहीं Watch अनिश्चित काल तक पहरा देता है। इसे सक्रिय (arm) करें, Flipper को नीचे रखें, और चले जाएँ। यह एक चलती हुई घड़ी और एक डिटेक्शन गणना रखता है, याद रखता है कि अंतिम संपर्क कब हुआ था, और — यही मुख्य बात है — जिस क्षण कोई रीडर प्रकट होता है, स्क्रीन जगाकर अलार्म बजाता है। हर नया संपर्क उसके टाइमस्टैम्प के साथ स्वतः लॉग हो जाता है।
यह जानबूझकर स्टील्थ को अनदेखा करता है: एक खामोश, अंधेरा पहरेदार जो आपको कभी नहीं बताता कि उसने कुछ देखा, बेकार से भी बदतर होगा। OK इसे पुनः सक्रिय करता है (गणना और घड़ी साफ़ करता है)।
📖 लॉगबुक + लाइव CSV CSV 2.1 में नया
हर निष्कर्ष एक ही क्रिया से दो जगह लिखा जाता है — ताकि यह डिवाइस पर पठनीय हो और पहले से ही एक स्प्रेडशीट हो, बिना किसी एक्सपोर्ट चरण की चिंता के:
logbook.txt — समूहित, ऑन-डिवाइस व्यूअर के लिए | logbook.csv — प्रति प्रविष्टि एक फ्लैट पंक्ति |
|---|---|
|
|
दोनों SD कार्ड पर apps_data/specter/ में रहते हैं। कुछ भी डिवाइस से बाहर नहीं जाता।
🎯 स्वतः-अंशांकन 2.0 में नया
Sweep स्क्रीन पर LEFT दबाएँ और Specter 3 सेकंड के लिए परिवेशी नॉइज़ फ़्लोर को सुनता है, फिर जो कुछ भी उसने मापा उसके ठीक ऊपर डिटेक्शन थ्रेशोल्ड सेट करता है — जो आपकी Custom संवेदनशीलता के रूप में सहेजा जाता है। हर कमरे का RF फ़्लोर अलग होता है; यह बिल्ड के समय डाले गए नंबर के बजाय उस कमरे के अनुसार ट्यून होता है जिसमें आप खड़े हैं।
🕶️ स्टील्थ मोड 2.0 में नया
पूरी तलाशी के दौरान स्क्रीन और LED को अंधेरा रखता है, ताकि जब आप खुद खोज कर रहे हों तो Flipper चमके नहीं। ध्वनि और कंपन काम करते रहते हैं — मकसद उस फीडबैक को बंद करना नहीं है जिसके सहारे आप तलाशी कर रहे हैं। स्टील्थ स्क्रीन से बाहर निकलने पर डिस्प्ले फिर से रोशन हो जाता है, ताकि BACK हमेशा आपको एक रोशन मेनू पर ले जाए (2.2 में ठीक किया गया — पहले यह स्क्रीन को अंधेरा छोड़ देता था, जिससे BACK मृत लगता था)।
📏 मीटर पढ़ना 2.3 में ठीक किया गया
आप जिस रीडर को छू रहे हैं वह 100% समय उत्सर्जित क्यों नहीं करता। डिटेक्टर एक भौतिक चीज़ मापता है: 13.56 MHz कैरियर वास्तव में समय के कितने अंश के लिए चालू रहता है। लेकिन रीडर पोल करते हैं — एक छोटा बर्स्ट, एक विराम, एक और बर्स्ट। एक सामान्य टर्मिनल या एक्सेस रीडर केवल 20–35% समय विकिरण करता है, इसलिए कच्चा ड्यूटी-साइकिल आप चाहे कितना भी करीब जाएँ, लगभग 30% पर संतृप्त हो जाता है।
Specter पहले गेज पर वह कच्चा नंबर छापता था, जिससे एक आदर्श डिटेक्शन उसका एक-तिहाई जैसा दिखता था — और CLOSE/STRONG तथा सर्वेक्षण का पीक टेस्ट हमेशा के लिए पहुँच से बाहर रह जाता था। अब मीटर को उस वास्तविक पोलिंग बैंड के सापेक्ष स्केल किया गया है:
| कच्चा कैरियर ड्यूटी | मीटर | निकटता |
|---|---|---|
| 3% (कमरे का नॉइज़) | 9% | FAINT |
| 12% | 34% | NEAR |
| 20% | 57% | CLOSE |
| 31% (किसी रीडर के ठीक ऊपर) | 89% | STRONG |
| ≥35% / सतत तरंग | 100% | MAX |
MAX का अर्थ है पूरी तरह भर जाना (pegged) — आप उतने करीब हैं जितना यह माप हल कर सकता है, और और पास जाने से इसमें बदलाव नहीं आएगा। इसे छिपाने के बजाय स्पष्ट कहा गया है, ताकि एक अटकी हुई सुई कभी टूटी हुई न लगे।
कच्चा ड्यूटी कभी खोता नहीं: नॉइज़ फ़्लोर, स्वतः-अंशांकन और Fingerprint स्क्रीन का DUTY — सभी वास्तविक ड्यूटी-साइकिल में काम करते हैं, क्योंकि वे सिग्नल का वर्णन करते हैं, न कि उससे आपकी दूरी का। कच्चा नंबर चाहिए? Settings → Meter → Raw।
💾 सब कुछ स्थायी रहता है 2.0 में नया
संवेदनशीलता, सर्वेक्षण लंबाई, ध्वनि, कंपन, LED, स्टील्थ, लॉगिंग और मीटर मोड — जैसे ही आप उन्हें बदलते हैं, SD कार्ड में सहेज लिए जाते हैं। एक तलाशी किट जो अपनी सेटिंग भूल जाती है, बिल्कुल भी स्थायित्व न होने से बदतर है।
🧠 यह कैसे काम करता है
हर चालू NFC रीडर लगातार 13.56 MHz कैरियर से हवा में पिंग करता रहता है, किसी कार्ड के जागने की प्रतीक्षा में। आप इसे देख नहीं सकते, लेकिन Flipper की NFC चिप देख सकती है: ST25R3916 में एक हार्डवेयर बाह्य-क्षेत्र डिटेक्टर है (वही सर्किट जो Flipper को कार्ड अनुकरण करने और यह जानने में सक्षम बनाता है कि कोई रीडर उससे बात कर रहा है)। Specter चिप को केवल-डिटेक्ट मोड में रखता है और उस "फ़ील्ड मौजूद?" बिट को लगभग 500 बार प्रति सेकंड सैंपल करता है — बिना कभी अपना कैरियर चालू किए।
वह एकल बिट, पर्याप्त तेज़ी से सैंपल किए जाने पर, दो स्वतंत्र सिग्नल वहन करता है:
flowchart LR
R["🔍 Hidden 13.56 MHz reader / skimmer<br/>(constantly polling its field)"] -- "RF carrier" --> A
subgraph FLIP["Flipper Zero — Specter.fap"]
A["ST25R3916 NFC chip<br/>external-field detector"] --> S["Sampler thread<br/>~500 samples/s"]
S --> M["<b>How much?</b><br/>carrier duty-cycle<br/>peak · average · contacts"]
S --> C["<b>What rhythm?</b><br/>burst / gap edge timing<br/>period · jitter"]
M --> G["EMF gauge · waveform<br/>geiger clicks · LED · vibe"]
M --> V["Survey verdict<br/>CLEAN / TRACE / ACTIVE"]
C --> K["Emitter class<br/>CONTINUOUS / POLLING /<br/>INTERMITTENT + pulse train"]
V --> L["📖 SD logbook"]
K --> L
end
कितना अधिक → ताकत। एक छोटी अवधि में Specter मापता है कि समय का कितना अंश कैरियर मौजूद है और उसे FIELD % में स्मूथ करता है। Flipper के ठीक ऊपर बैठा रीडर मीटर को पेग कर देता है; कमज़ोर या दूर वाला उसे हल्का हिलाता है। यही सुई, निकटता शब्द और क्लिक दर को चलाता है।
कौन-सी लय → पहचान। अलग से, उस बिट का हर संक्रमण समयबद्ध किया जाता है। एक रीडर जो हर 200 ms में 20 ms के लिए जागता है, लगभग बिना जिटर के एक बर्स्ट/गैप पैटर्न उत्पन्न करता है, क्योंकि उसका पोलिंग लूप एक क्रिस्टल-समयबद्ध स्टेट मशीन द्वारा संचालित होता है। हाथ की हरकत और RF नॉइज़ इतने स्थिर नहीं होते। यही अंतर POLLING को INTERMITTENT से अलग करता है।
निर्णय परतें एक वास्तविक कंप्यूटर पर परीक्षित हैं
जहाँ Specter संख्याओं को एक दावे में बदलता है — "यह एक पोलिंग रीडर है", "यह कमरा साफ़ है", "सुई को यही पढ़ना चाहिए" — वे बिना किसी हार्डवेयर निर्भरता के शुद्ध C हैं, और उन्हें डिवाइस पर खोजे जाने के बजाय होस्ट टेस्ट द्वारा पुख्ता किया गया है:
make -C test # 284 checks: classifier, survey verdict, meter scaling
🚀 इंस्टॉल
कोई डेवबोर्ड नहीं, फ्लैश करने के लिए कोई फर्मवेयर नहीं — यह एक अकेला .fap है।
विकल्प A — पहले से बना हुआ .fap (सबसे आसान)
- Releases पृष्ठ से
specter.fapलें। - qFlipper खोलें, फ़ाइल को
SD Card / apps / NFC /पर खींचें। - Flipper पर: Apps → NFC → Specter।
विकल्प B — इसे स्वयं ufbt से बनाएँ
# one-time
python3 -m pip install --upgrade ufbt
# from the repo root, with your Flipper plugged in over USB:
ufbt # build specter.fap into ./dist
ufbt launch # build, upload to the Flipper and open it
make -C test # run the host tests for the pure logic
.fap फ़ाइल dist/specter.fap में बनती है; ufbt launch इसे apps/NFC/ में कॉपी करता है और आपके लिए शुरू कर देता है।
icons/में आइकन,images/में स्क्रीनशॉट और बैनर जनरेट किए गए हैं — इन्हेंpython3 tools_gen_icons.py,python3 tools_gen_mockups.pyऔरpython3 tools_gen_banner.pyसे पुनः जनरेट करें (pillowकी आवश्यकता है)।
🎮 इसका उपयोग
एक तलाशी, शुरू से अंत तक:
- Specter लॉन्च करें। Sweep स्क्रीन पर, कमरे के नॉइज़ फ़्लोर के अनुसार अंशांकन के लिए LEFT दबाकर 3 सेकंड स्थिर रहें।
- Flipper को सपाट पकड़ें और जिस चीज़ की जाँच कर रहे हैं उस पर धीरे-धीरे घुमाएँ — एक कार्ड टर्मिनल, एक दरवाज़ा रीडर, ATM की निचली सतह, एक पार्सल, एक डेस्क।
- शांत / सपाट वेवफ़ॉर्म → आस-पास कोई सक्रिय रीडर नहीं।
- सुई ऊपर चढ़ रही है, क्लिक तेज़ हो रहे हैं → आप एक एमिटर के पास पहुँच रहे हैं। पीक की ओर बढ़ते रहें।
● ACTIVE READER+ अलार्म बॉर्डर → एक सक्रिय रीडर ठीक यहीं है।
- कुछ मिला? पीछे हटें और Fingerprint खोलें। Flipper को उसके सहारे स्थिर रखें और लय को स्थिर होने दें — आमतौर पर कुछ सेकंड पर्याप्त होते हैं। निष्कर्ष सहेजने के लिए OK दबाएँ।
- इसके बजाय पूरा कमरा साफ़ करना है? Site Survey खोलें, बार भरने तक स्थान में चलें, और निर्णय पढ़ें।
- क्षेत्र छोड़ रहे हैं? Flipper को Watch Mode में रख दें और यह पहरा देगा — आपके दूर रहते हुए कोई रीडर आए तो जगकर अलार्म बजाएगा।
- जो कुछ भी आपने सहेजा है उसके लिए Logbook जाँचें — टाइमस्टैम्प के साथ — या
logbook.csvको कार्ड से निकालकर स्प्रेडशीट में डालें।
💡 पहले किसी ज्ञात-अच्छे रीडर की तलाशी लें (आपका अपना फ़ोन NFC करता हुआ, या कोई संपर्क रहित टर्मिनल जिस पर आप भरोसा करते हैं) ताकि देख सकें कि मीटर पर एक मज़बूत, वैध क्षेत्र कैसा दिखता है — और उसका फ़िंगरप्रिंट क्या पढ़ता है। फिर शिकार पर निकलें।
नियंत्रण
| स्क्रीन | कुंजी | क्रिया |
|---|---|---|
| Sweep | OK | पीक / संपर्क रीसेट करें |
hold OK | वर्तमान रीडिंग लॉग करें | |
LEFT | नॉइज़ फ़्लोर अंशांकित करें (3 सेकंड) | |
| Fingerprint | OK | निष्कर्ष को लॉगबुक में सहेजें |
hold OK | माप पुनः आरंभ करें | |
| Site Survey | OK | सर्वेक्षण फिर से चलाएँ |
| Watch Mode | OK | पुनः सक्रिय करें (गणना और घड़ी साफ़ करें) |
| कहीं भी | BACK | एक स्तर ऊपर जाएँ |
🔬 ईमानदार सीमाएँ
- केवल 13.56 MHz (HF)। Specter NFC बैंड को महसूस करता है — वही बैंड जो संपर्क रहित भुगतान स्किमर, अधिकांश आधुनिक एक्सेस रीडर, ट्रांज़िट और होटल रीडर द्वारा उपयोग किया जाता है। यह 125 kHz (LF) रीडरों को नहीं देख सकता (पुराने HID Prox / EM4100 दरवाज़ा पैनल); Flipper के LF पथ में कोई समकक्ष फ़ील्ड-डिटेक्ट बिट नहीं है।
- यह रीडर के कैरियर को महसूस करता है, न कि उसे जो वह पढ़ता है। Specter आपको बताता है यहाँ एक सक्रिय रीडर है, लगभग कितना करीब है, और वह किस लय पर पोल करता है — यह रीडर जो कुछ भी करता है उसे डिकोड, पहचान या कैप्चर नहीं करता।
- ताकत सापेक्ष है, अंशांकित नहीं।
FIELD %और निकटता शब्द तलाशी के लिए एक तुलनात्मक "गर्म / ठंडा" मार्गदर्शक हैं, न कि सेंटीमीटर में मापी गई दूरी। यह एक सामान्य पोलिंग बैंड के सापेक्ष कैरियर ड्यूटी-साइकिल की एक स्केल की गई रीडिंग है (मीटर पढ़ना देखें); जो रीडर असामान्य रूप से कम पोल करता है वह समान दूरी पर कम पढ़ा जाएगा, और जो सतत-तरंग मोड में है वह दूर से ही पेग कर देगा। - मीटर की ऊपरी सीमा होती है।
MAXका अर्थ है कि कैरियर उतना ही चालू है जितना यह रीडर कभी रखता है — उस बिंदु के आगे, और पास जाने से वास्तव में बड़ा नंबर नहीं मिल सकता। स्थितियों की तुलना करने के लिए इसके बजायPKपीक-होल्ड का उपयोग करें। - लय ~2 ms तक सटीक होती है। यह सैंपलिंग अवधि है। इसके आस-पास के समय को
~के साथ दिखाया जाता है और कॉन्फिडेंस उसी अनुसार घटाया जाता है — Specter एक सटीक-दिखने वाला नंबर बोलने के बजाय अपनी स्वयं की रिज़ॉल्यूशन सीमा को चिह्नित करना पसंद करता है, जिसके पीछे वह खड़ा नहीं हो सकता। CLEANका अर्थ है आपके द्वारा चुनी गई संवेदनशीलता पर साफ़। एक निष्क्रिय स्किमर जो केवल वास्तविक टैप पर जागता है, या जो परिरक्षित (shielded) है, किसी भी थ्रेशोल्ड पर अदृश्य रहता है। रीडिंग का न होना अनुपस्थिति की गारंटी नहीं है।- एक समय में एक रेडियो। तलाशी के दौरान Specter NFC चिप पर अधिकार कर लेता है, इसलिए पहले कोई अन्य NFC ऐप बंद कर दें (यदि रेडियो किसी और के पास है तो यह NFC unavailable कहेगा)।
⚖️ कानूनी और नैतिकता
Specter एक रक्षात्मक, केवल-सुनने वाला उपकरण है — यह कभी ट्रांसमिट नहीं करता, कभी क्षेत्र को शक्ति नहीं देता, कभी रीडर को स्पर्श नहीं करता। इसका उपयोग अपने स्वयं के POS क्षेत्र, दरवाज़े, डेस्क या सामान की तलाशी के लिए करें, या ऐसे हार्डवेयर के लिए जिसे जाँचने के लिए आप स्पष्ट रूप से अधिकृत हैं। इसका उपयोग कैसे करते हैं, इसकी ज़िम्मेदारी आपकी है। अपने स्थानीय कानूनों को जानें।
🗺️ रोडमैप
- संवेदनशीलता / ध्वनि / कंपन / LED को रीबूट के बाद भी बनाए रखना
- टाइमस्टैम्प के साथ डिटेक्शन की "लॉगबुक" SD कार्ड पर
- स्क्रीन बंद रखकर पृष्ठभूमि में तलाशी — स्टील्थ मोड
- बेहतर रेंज नियंत्रण के लिए समायोज्य थ्रेशोल्ड — स्वतः-अंशांकन + Custom संवेदनशीलता
- किसी एमिटर को उसकी पोलिंग लय से फ़िंगरप्रिंट करना
- कमरे के निर्णय के साथ समयबद्ध साइट सर्वेक्षण
- रिपोर्टिंग के लिए लॉगबुक को CSV के रूप में निर्यात करना — .txt के साथ लाइव लिखा जाता है
- डिटेक्शन-पर-जागने वाले अलार्म के साथ लंबी, बिना देखरेख वाली वॉच मोड
- मीटर को वास्तविक पोलिंग रीडरों के सामने अपनी पूरी रेंज उपयोग करने देना
- एक अलग मोड के रूप में LF (125 kHz) कॉइल-आधारित रीडर संवेदन की जाँच करना
- प्रकार के आधार पर ऑन-डिवाइस लॉगबुक फ़िल्टरिंग
🗂️ प्रोजेक्ट संरचना
Specter-FlipperZero/
├── application.fam # Flipper app manifest (category: NFC)
├── specter.c / specter_i.h # app entry, wiring, alert feedback, stealth
├── helpers/
│ ├── field_detector.{c,h} # worker thread: samples the field-present bit,
│ │ # duty-cycle + edge timing + calibration
│ ├── emitter_classify.{c,h} # pure: cadence -> CONTINUOUS/POLLING/INTERMITTENT
│ ├── survey_verdict.{c,h} # pure: survey stats -> CLEAN/TRACE/ACTIVE
│ ├── field_scale.{c,h} # pure: raw carrier duty -> full-scale meter
│ ├── specter_settings.{c,h} # persisted settings (saved_struct)
│ └── specter_log.{c,h} # SD logbook, RTC-stamped .txt + live .csv
├── views/
│ ├── sweep_view.{c,h} # the EMF gauge / waveform / alarm screen
│ ├── fingerprint_view.{c,h} # classification card + pulse-train trace
│ ├── survey_view.{c,h} # progress + verdict card
│ └── watch_view.{c,h} # unattended guard: clock + count + alarm
├── scenes/ # scene-manager navigation
├── test/ # host tests for the pure decision layers
├── icons/ # 1-bit Flipper icons (generated)
├── images/ # banner + screen mockups (generated)
└── tools_gen_*.py # regenerate icons / mockups / banner
🙏 श्रेय
- निर्माता: at0m-b0mb।
- Flipper सुरक्षा-उपकरण परिवार का हिस्सा: Argus (Wi-Fi डी-ऑथ / ईविल-ट्विन वॉचडॉग), GhostTag (BLE एंटी-स्टॉकिंग हंटर) और Cerberus (Sub-GHz RF वॉचडॉग)।
- Flipper Zero फर्मवेयर NFC HAL (
furi_hal_nfcफ़ील्ड डिटेक्शन) + ufbt द्वारा संचालित।
📄 लाइसेंस
MIT © 2026 at0m-b0mb