
Recon-Scan: استطلاع سلبي مفتوح المصدر مع تحليل أمني مدعوم بالذكاء الاصطناعي. بدون تدخل يدوي، موجه للمطورين أولاً، ويركز على الخصوصية.
ReconScan هو ماسح استطلاع سلبي مفتوح المصدر، بواجهة خلفية مبنية على FastAPI، وخط أنابيب عامل غير متزامن، وواجهة أمامية من صفحة واحدة. يمكنك الاطّلاع على الموقع المنشور على https://recon-scan.vercel.app/
الفكرة هي إشارة سريعة: شغّل فحصًا، واحصل على النتائج وحدةً بوحدة، واحصل على ملخص ذكاء اصطناعي يمكنك الآن تصديره كتقرير PDF احترافي.
إذا كنت ترغب فقط في تشغيله بسرعة:
./start.sh
ما الذي يفعله هذا:
.env من .env.example إذا كان مفقودًا..venv إذا لزم الأمر.requirements.txt.http://localhost:8000.USE_ARQ_QUEUE=false لتسهيل بدء التشغيل المحلي بدون Redis.أوقف التشغيل بالضغط على Ctrl+C.
./start-docker.sh
ما الذي يفعله هذا:
.env من .env.example إذا كان مفقودًا.cp .env.example .env
docker compose up --build
pip install -r requirements.txt
cp .env.example .env
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
arq app.worker.WorkerSettings
http://localhost:8000
ثبّت تبعيات الاختبار:
pip install -r requirements-dev.txt
شغّل مجموعة الاختبارات الكاملة:
pytest -q
بعد اكتمال الفحص، انقر فوق Download PDF في الواجهة.
نقطة نهاية الواجهة الخلفية:
GET /scans/{scan_id}/report.pdfيتضمن التقرير:
GET /healthPOST /scans
{ "target": "example.com" }{ "target": "example.com", "byoapi_key": "...", "byoapi_provider": "your_provider" }byoapi_key ما لم يكن ALLOW_BYO_API_KEY=trueuser_id اختياري ويُحتفظ به للتوافقGET /scans/{scan_id}GET /scans/{scan_id}/report.pdfمن .env.example:
DATABASE_URL (الافتراضي: sqlite:///./reconscan.db)REDIS_URL (الافتراضي: redis://localhost:6379)USE_ARQ_QUEUE (الافتراضي: true)RATE_LIMIT_PER_MINUTE (الافتراضي: 10)RATE_LIMIT_PER_DAY (الافتراضي: 200)ALLOWED_HOSTS (الافتراضي: localhost,127.0.0.1)CORS_ALLOWED_ORIGINS (الافتراضي: أصول التطوير المحلية)ALLOW_BYO_API_KEY (الافتراضي: )المساهمات مرحّب بها، خاصةً في وحدات الاستطلاع السلبي، وإعداد التقارير، وتجربة المستخدم للواجهة الأمامية، وتغطية الاختبارات.
يرجى قراءة إرشادات المساهمة الكاملة قبل فتح طلب سحب (pull request):
MIT. انظر LICENSE.
falseOPENROUTER_API_KEY, ANTHROPIC_API_KEY, OPENAI_API_KEY (اختياري)VIRUSTOTAL_API_KEY, GOOGLE_SAFE_BROWSING_API_KEY (اختياري)