Skip to content

Commit ec394a2

Browse files
g1e2x87claude
andcommitted
Add internationalized documentation in 10 languages
Translate CLI reference, architecture overview, and build guide into 9 additional languages to match the GUI i18n coverage: - zh (中文), ja (日本語), ko (한국어) - es (Español), fr (Français), de (Deutsch) - ar (العربية), ru (Русский), ka (ქართული) Add docs/README.md as language navigation index and update main README with documentation section linking all translations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 5202ce5 commit ec394a2

29 files changed

Lines changed: 8426 additions & 0 deletions

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,15 @@ To report a security vulnerability, please see [SECURITY.md](SECURITY.md).
174174

175175
PRX-SD is dual-licensed under [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE), at your option.
176176

177+
## Documentation
178+
179+
Documentation is available in 10 languages: [docs/README.md](docs/README.md)
180+
181+
| | | | | |
182+
|---|---|---|---|---|
183+
| [English](docs/CLI.md) | [中文](docs/zh/CLI.md) | [日本語](docs/ja/CLI.md) | [한국어](docs/ko/CLI.md) | [Español](docs/es/CLI.md) |
184+
| [Français](docs/fr/CLI.md) | [Deutsch](docs/de/CLI.md) | [العربية](docs/ar/CLI.md) | [Русский](docs/ru/CLI.md) | [ქართული](docs/ka/CLI.md) |
185+
177186
## Links
178187

179188
- [CLI Reference](docs/CLI.md)

docs/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Documentation / 文档
2+
3+
PRX-SD documentation is available in multiple languages.
4+
5+
## Languages
6+
7+
| Language | CLI Reference | Architecture | Building |
8+
|----------|--------------|--------------|----------|
9+
| **English** | [CLI.md](CLI.md) | [ARCHITECTURE.md](ARCHITECTURE.md) | [BUILDING.md](BUILDING.md) |
10+
| **中文** (Chinese) | [CLI.md](zh/CLI.md) | [ARCHITECTURE.md](zh/ARCHITECTURE.md) | [BUILDING.md](zh/BUILDING.md) |
11+
| **日本語** (Japanese) | [CLI.md](ja/CLI.md) | [ARCHITECTURE.md](ja/ARCHITECTURE.md) | [BUILDING.md](ja/BUILDING.md) |
12+
| **한국어** (Korean) | [CLI.md](ko/CLI.md) | [ARCHITECTURE.md](ko/ARCHITECTURE.md) | [BUILDING.md](ko/BUILDING.md) |
13+
| **Español** (Spanish) | [CLI.md](es/CLI.md) | [ARCHITECTURE.md](es/ARCHITECTURE.md) | [BUILDING.md](es/BUILDING.md) |
14+
| **Français** (French) | [CLI.md](fr/CLI.md) | [ARCHITECTURE.md](fr/ARCHITECTURE.md) | [BUILDING.md](fr/BUILDING.md) |
15+
| **Deutsch** (German) | [CLI.md](de/CLI.md) | [ARCHITECTURE.md](de/ARCHITECTURE.md) | [BUILDING.md](de/BUILDING.md) |
16+
| **العربية** (Arabic) | [CLI.md](ar/CLI.md) | [ARCHITECTURE.md](ar/ARCHITECTURE.md) | [BUILDING.md](ar/BUILDING.md) |
17+
| **Русский** (Russian) | [CLI.md](ru/CLI.md) | [ARCHITECTURE.md](ru/ARCHITECTURE.md) | [BUILDING.md](ru/BUILDING.md) |
18+
| **ქართული** (Georgian) | [CLI.md](ka/CLI.md) | [ARCHITECTURE.md](ka/ARCHITECTURE.md) | [BUILDING.md](ka/BUILDING.md) |
19+
20+
## Contributing Translations
21+
22+
If you'd like to improve an existing translation or add a new language:
23+
24+
1. Create a directory under `docs/` with the [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) language code
25+
2. Translate the three documentation files (CLI.md, ARCHITECTURE.md, BUILDING.md)
26+
3. Keep all code blocks, commands, and technical terms in English
27+
4. Add your language to this README table
28+
5. Submit a pull request

docs/ar/ARCHITECTURE.md

Lines changed: 242 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
> هذا المستند هو ترجمة عربية للنسخة [English](../ARCHITECTURE.md).
2+
3+
# البنية المعمارية
4+
5+
PRX-SD منظم كمساحة عمل Cargo تتضمن وحدات (crates) مستقلة، كل منها مسؤولة عن مجال محدد.
6+
7+
## تخطيط مساحة العمل
8+
9+
```
10+
prx-sd/
11+
├── crates/
12+
│ ├── cli/ # ملف "sd" التنفيذي — واجهة سطر الأوامر
13+
│ ├── core/ # تنسيق محرك الفحص
14+
│ ├── signatures/ # قاعدة بيانات الهاش (LMDB) + محرك قواعد YARA-X
15+
│ ├── parsers/ # محللات صيغ الملفات الثنائية
16+
│ ├── heuristic/ # التحليل الإرشادي + استدلال التعلم الآلي
17+
│ ├── realtime/ # مراقبة نظام الملفات + تصفية الشبكة
18+
│ ├── quarantine/ # خزنة الحجر الصحي المشفرة
19+
│ ├── remediation/ # إجراءات الاستجابة للتهديدات
20+
│ ├── sandbox/ # عزل العمليات + تحليل السلوك
21+
│ ├── plugins/ # بيئة تشغيل إضافات WebAssembly
22+
│ └── updater/ # عميل تحديث التوقيعات
23+
├── update-server/ # خادم توزيع التوقيعات (Axum)
24+
├── gui/ # واجهة المستخدم الرسومية (Tauri 2 + Vue 3)
25+
├── drivers/ # برامج تشغيل نواة نظام التشغيل
26+
│ └── windows-minifilter/ # مرشح نظام ملفات مصغر لـ Windows (C)
27+
├── signatures-db/ # توقيعات مدمجة بحد أدنى
28+
├── packaging/ # تعبئة التوزيع
29+
├── tests/ # اختبارات التكامل
30+
├── tools/ # سكريبتات البناء والأدوات المساعدة
31+
├── install.sh # سكريبت التثبيت
32+
└── uninstall.sh # سكريبت إلغاء التثبيت
33+
```
34+
35+
## رسم بياني لتبعيات الوحدات
36+
37+
```
38+
cli
39+
├── core
40+
│ ├── signatures
41+
│ │ └── (heed, yara-x, sha2, md5)
42+
│ ├── parsers
43+
│ │ └── (goblin)
44+
│ └── heuristic
45+
│ └── (tract-onnx [optional])
46+
├── realtime
47+
│ ├── core
48+
│ └── (notify, nix [linux], adblock)
49+
├── quarantine
50+
│ └── (aes-gcm, rand)
51+
├── remediation
52+
│ ├── quarantine
53+
│ └── (nix [unix])
54+
├── sandbox
55+
│ └── (nix [unix])
56+
├── plugins
57+
│ └── (wasmtime, wasmtime-wasi)
58+
└── updater
59+
└── (ed25519-dalek, zstd, reqwest)
60+
```
61+
62+
## خط أنابيب الكشف
63+
64+
ينسّق محرك الفحص (`core`) خط أنابيب كشف متعدد الطبقات:
65+
66+
```
67+
┌──────────────┐
68+
│ إدخال الملف │
69+
└──────┬───────┘
70+
71+
┌──────▼───────┐
72+
│ الرقم السحري│ التعرف على: PE، ELF، MachO،
73+
│ للتعرف │ PDF، ZIP، Office، غير معروف
74+
└──────┬───────┘
75+
76+
┌────────────┼────────────┐
77+
│ │ │
78+
┌──────▼──────┐ │ ┌──────▼──────┐
79+
│ مطابقة │ │ │ قواعد │
80+
│ الهاش │ │ │ YARA-X │
81+
│ (LMDB) │ │ │ (أكثر من │
82+
└──────┬──────┘ │ │ 38 ألف) │
83+
│ ┌─────▼─────┐└──────┬──────┘
84+
│ │ التحليل │ │
85+
│ │ الإرشادي │ │
86+
│ └─────┬─────┘ │
87+
│ │ │
88+
│ ┌──────▼──────┐ │
89+
│ │ استدلال │ │
90+
│ │ التعلم الآلي│ │
91+
│ │ (ONNX) │ │
92+
│ └──────┬─────┘ │
93+
│ │ │
94+
│ ┌──────▼──────┐ │
95+
│ │ استعلام │ │
96+
│ │ VirusTotal │ │
97+
│ │ السحابي │ │
98+
│ └──────┬─────┘ │
99+
│ │ │
100+
└───────────┼────────────┘
101+
102+
┌──────▼──────┐
103+
│ تجميع │
104+
│ الحكم │
105+
└─────────────┘
106+
نظيف / مشبوه / خبيث
107+
```
108+
109+
### تفاصيل الطبقات
110+
111+
1. **مطابقة الهاش** — بحث بتعقيد O(1) في قاعدة بيانات LMDB التي تحتوي على هاشات SHA-256 وMD5 من ClamAV وabuse.ch وVirusShare وقوائم الحظر المخصصة.
112+
113+
2. **قواعد YARA-X** — مطابقة الأنماط باستخدام محرك YARA-X (تطبيق YARA الأصلي بلغة Rust). يتم تحميل القواعد من الإعدادات الافتراضية المدمجة ومستودع التوقيعات الخارجي.
114+
115+
3. **التحليل الإرشادي** — تحليل خاص بنوع الملف:
116+
- **PE:** إنتروبيا الأقسام، استدعاءات API المشبوهة (CreateRemoteThread، VirtualAllocEx)، كشف الحزم (UPX، Themida)، شذوذات الطوابع الزمنية
117+
- **ELF:** إنتروبيا الأقسام، مراجع LD_PRELOAD، استمرار عبر cron/systemd، أنماط أبواب SSH الخلفية
118+
- **MachO:** إنتروبيا الأقسام، حقن dylib، استمرار LaunchAgent، الوصول إلى Keychain
119+
120+
4. **استدلال التعلم الآلي** (اختياري، علم الميزة `onnx`) — تقييم نموذج ONNX عبر tract:
121+
- PE: متجه ميزات بـ 64 بُعدًا (هاشات جدول الاستيراد، إنتروبيا الأقسام، توقيعات API)
122+
- ELF: متجه ميزات بـ 48 بُعدًا (إنتروبيا الأقسام، جدول الرموز، المكتبات الديناميكية)
123+
124+
5. **VirusTotal السحابي** — بديل احتياطي للملفات غير المطابقة محليًا. يستعلم من واجهة برمجة تطبيقات VirusTotal (المستوى المجاني: 500 استعلام/يوم). يتم تخزين النتائج مؤقتًا في LMDB.
125+
126+
### نظام التقييم
127+
128+
- التقييم >= 60: **خبيث**
129+
- التقييم 30-59: **مشبوه**
130+
- التقييم < 30: **نظيف**
131+
132+
الحكم النهائي هو أعلى مستوى تهديد من أي طبقة كشف.
133+
134+
## الحماية في الوقت الفعلي
135+
136+
توفر وحدة `realtime` حماية مستمرة من خلال أنظمة فرعية متعددة:
137+
138+
| النظام الفرعي | Linux | macOS | Windows |
139+
|---------------|-------|-------|---------|
140+
| مراقبة الملفات | fanotify + epoll | FSEvents (notify) | ReadDirectoryChangesW (notify) |
141+
| اعتراض العمليات | FAN_OPEN_EXEC_PERM | - | Minifilter (مخطط) |
142+
| فحص الذاكرة | /proc/pid/mem | - | - |
143+
| كشف الفدية | مراقبة أنماط الكتابة+إعادة التسمية | مراقبة أنماط الكتابة+إعادة التسمية | مراقبة أنماط الكتابة+إعادة التسمية |
144+
| المجلدات المحمية | ~/.ssh، /etc/shadow، /etc/systemd | ~/Library، /etc | مفاتيح تشغيل السجل |
145+
| تصفية DNS | محرك Adblock + قوائم IOC | محرك Adblock + قوائم IOC | محرك Adblock + قوائم IOC |
146+
| مراقبة السلوك | /proc + audit (execve/connect/open) | - | - |
147+
148+
## خزنة الحجر الصحي
149+
150+
يتم حجر الملفات باستخدام تشفير AES-256-GCM المصادق عليه:
151+
152+
1. توليد مفتاح عشوائي بطول 256 بت + رقم فريد (nonce) بطول 96 بت
153+
2. تشفير محتويات الملف باستخدام AES-256-GCM
154+
3. تخزين الملف المشفر باسم UUID
155+
4. حفظ بيانات وصفية بتنسيق JSON (المسار الأصلي، الهاش، اسم التهديد، الطابع الزمني)
156+
5. عند الاستعادة يتم فك التشفير والتحقق من السلامة قبل إعادة الكتابة
157+
158+
## خط أنابيب المعالجة
159+
160+
عند استخدام `--remediate`:
161+
162+
```
163+
كشف تهديد
164+
├── 1. إيقاف العملية (SIGKILL على Linux/macOS، TerminateProcess على Windows)
165+
├── 2. حجر الملف (خزنة مشفرة بـ AES-256-GCM)
166+
└── 3. تنظيف آليات الاستمرار
167+
├── Linux: وظائف cron، خدمات systemd، LD_PRELOAD
168+
├── macOS: LaunchAgents، إدخالات plist، Keychain
169+
└── Windows: سجل Run/RunOnce، المهام المجدولة، الخدمات
170+
```
171+
172+
الإجراءات قابلة للتهيئة عبر `sd policy set`.
173+
174+
## قاعدة بيانات التوقيعات
175+
176+
### التوقيعات المدمجة (`signatures-db/`)
177+
178+
مجموعة توقيعات بحد أدنى مُجمّعة في الملف التنفيذي `sd` عبر `include_str!`:
179+
- توقيع اختبار EICAR
180+
- قواعد YARA أساسية (فدية، حصان طروادة، باب خلفي، إلخ.)
181+
- هاشات برمجيات خبيثة معروفة (WannaCry، Emotet، NotPetya)
182+
183+
### التوقيعات الخارجية ([prx-sd-signatures](https://github.com/openprx/prx-sd-signatures))
184+
185+
معلومات تهديدات شاملة ومحدّثة باستمرار:
186+
- أكثر من 38,800 قاعدة YARA من 9 مصادر
187+
- قوائم حظر هاش من تغذيات abuse.ch
188+
- قوائم IOC: أكثر من 585 ألف عنوان IP ونطاق وعنوان URL خبيث
189+
190+
### التخزين
191+
192+
- **الهاشات:** LMDB (وحدة heed) لعمليات بحث بتعقيد O(1) بأسلوب مفتاح-قيمة
193+
- **قواعد YARA:** يتم تحميلها وتجميعها بواسطة YARA-X عند بدء التشغيل
194+
- **قوائم IOC:** HashSet في الذاكرة لمطابقة سريعة للعناوين IP/النطاقات/عناوين URL
195+
196+
## نظام الإضافات
197+
198+
يدعم PRX-SD إضافات WebAssembly عبر Wasmtime:
199+
200+
- الإضافات هي ملفات `.wasm` مع ملف وصف (`plugin.json`)
201+
- دعم WASI للوصول إلى نظام الملفات والبيئة
202+
- سجل إضافات للاكتشاف والتحميل
203+
- دوال مضيف مكشوفة للإضافات للوصول إلى نتائج الفحص والإعدادات
204+
205+
## نظام التحديث
206+
207+
توفر وحدة `updater` وخادم `update-server` خط أنابيب تحديث آمن:
208+
209+
1. يتحقق العميل من خادم التحديث لمعرفة إصدارات التوقيعات الجديدة
210+
2. يرد الخادم بمعلومات الإصدار وعنوان URL للتنزيل
211+
3. يقوم العميل بتنزيل حزمة التوقيعات المضغوطة بـ zstd
212+
4. يتم التحقق من توقيع الحزمة باستخدام Ed25519 (ed25519-dalek)
213+
5. يتم استخراج التوقيعات وتحميلها في LMDB
214+
215+
## تطبيق الواجهة الرسومية
216+
217+
مبني باستخدام Tauri 2 (واجهة خلفية بلغة Rust) + Vue 3 (واجهة أمامية بلغة TypeScript):
218+
219+
- تكامل مع شريط النظام مع مؤشر الحالة
220+
- لوحة تحكم مع إحصائيات التهديدات
221+
- فحص الملفات بالسحب والإفلات
222+
- متصفح الحجر الصحي مع الاستعادة/الحذف
223+
- عناصر تحكم المراقبة في الوقت الفعلي
224+
- الإعدادات والتهيئة
225+
- دعم متعدد اللغات (10 لغات)
226+
227+
## التبعيات الرئيسية
228+
229+
| الفئة | الوحدة | الإصدار | الغرض |
230+
|-------|--------|---------|-------|
231+
| غير متزامن | tokio | 1.x | بيئة تشغيل غير متزامنة |
232+
| التوازي | rayon | - | مجمع خيوط للفحص |
233+
| YARA | yara-x | 1.14 | محرك مطابقة القواعد |
234+
| قاعدة بيانات | heed | - | ربط LMDB |
235+
| تحليل ثنائي | goblin | 0.9 | محلل PE/ELF/MachO |
236+
| تشفير | aes-gcm | - | تشفير الحجر الصحي |
237+
| تشفير | ed25519-dalek | - | التحقق من التحديثات |
238+
| تعلم آلي | tract-onnx | - | استدلال ONNX (اختياري) |
239+
| WASM | wasmtime | 29 | بيئة تشغيل الإضافات |
240+
| DNS | adblock | 0.12 | محرك Brave لحظر الإعلانات |
241+
| واجهة سطر الأوامر | clap | 4.x | تحليل المعاملات |
242+
| HTTP | axum | 0.8 | خادم التحديث |

0 commit comments

Comments
 (0)