इस प्रोजेक्ट के बारे में

BootIntel एक Rust कमांड-लाइन टूल है जो इंटरैक्टिव UART सीरियल टर्मिनल को स्ट्रीमिंग बूट-लॉग विश्लेषण के साथ जोड़ता है। यह सीरियल सत्र कैप्चर करता है, कच्चे बाइट्स को संरक्षित करता है, और आगमन पर बूटलोडर, कर्नेल, डिवाइस और जोखिम भरी बूट सेटिंग्स की पहचान करता है। स्थानीय पहचान बिना खाते के ऑफ़लाइन चलती है; ऑप्ट-इन सर्वर विश्लेषण CVE मिलान और रिपोर्ट जोड़ता है। विशिष्ट कार्यप्रवाह: `bootintel ports` USB VID/PID मेटाडेटा के साथ सीरियल एडेप्टर सूचीबद्ध करता है; `bootintel analyze /dev/ttyUSB0 --baud 115200 --log-file boot.log` UART खोलता है, कच्चे बाइट्स संरक्षित करता है और निष्कर्ष इनलाइन प्रिंट करता है; `bootintel scan boot.log --format text` सहेजे गए कैप्चर को ऑफ़लाइन फिर से स्कैन करता है। आउटपुट प्रारूपों में text, JSON, SARIF और JUnit शामिल हैं, CI गेटिंग के लिए `--gate-critical` के साथ। एक `--tui` फ्लैग (बिल्ड फीचर) स्प्लिट-स्क्रीन ratatui डैशबोर्ड प्रस्तुत करता है जिसमें सीरियल स्ट्रीम, निष्कर्ष और सर्वर पैन शामिल हैं। कैप्चर से परे, टूल `verdict` प्रदान करता है जो पूरी तरह ऑफ़लाइन आकलन करता है कि U-Boot वातावरण क्या अनुमति देता है (ऑटोबूट इंटरप्टिबिलिटी, इमेज सत्यापन, नेटबूट पथ, bootargs पुनर्लेखन, saveenv स्थिरता), `diff` फर्मवेयर बूट की तुलना करने के लिए, `share` लॉग को अपलोड किए बिना lz-string संपीड़न के माध्यम से URL में एम्बेड करने के लिए, और `analyze --interrupt-autoboot` ऑटोबूट को बाधित करने और वातावरण खींचने के लिए। उपकमांड में batch, watch, cve, bench, replay, manpage, detectors, schema, export, view, demo, init, doctor और completions भी शामिल हैं। गोपनीयता पर जोर दिया गया है: स्थानीय पहचान के लिए कभी खाते की आवश्यकता नहीं होती, सीरियल इनपुट कभी स्वचालित रूप से नहीं भेजा जाता, और सर्वर विश्लेषण `--api` या `--api --preview` के माध्यम से स्पष्ट ऑप्ट-इन है। CLI sysexits-शैली निकास कोड दस्तावेज़ित करता है ताकि CI खाली कैप्चर (2), अपरिचित लॉग (3), गेट विफलता (1), दर सीमा (75) और प्रमाणीकरण विफलता (77) के बीच अंतर कर सके। इंस्टॉलेशन विकल्पों में शेल वन-लाइनर, PowerShell, Homebrew, Docker, Nix, crates.io और पुन: प्रयोज्य GitHub Actions कम्पोजिट एक्शन शामिल हैं, SHA256 चेकसम और बिल्ड-प्रोवेनेंस प्रमाणपत्रों के साथ। परियोजना Apache-2.0 लाइसेंस प्राप्त है और Rust 1.90+ MSRV के साथ Linux, macOS और Windows को लक्षित करती है।