Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/xyplex3/redteamcoin
الاستغلالالتشفيراختبار الاختراقالقيادة والسيطرةالفريق الأحمرتطوير الحمولات
GitHubxyplex3/redteamcoin

RedTeamCoin

Red Team Coin لعمليات تعدين العملات الرقمية.

عرض المستودع
252منذ 5 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

عملة الفريق الأحمر

شعار عملة الفريق الأحمر

License Pre-Commit Security Scanning Release Test & Build Verification Windows Miner Test


RedTeamCoin هو تنفيذ لتجمّع تعدين عملات رقمية قائم على تقنية البلوكتشين، مصمم لاختبارات الأمان المصرح بها وعمليات الفريق الأحمر. مبني بلغة Go مع دعم عملاء Java، يحاكي هجمات التعدين الخفي في العالم الحقيقي لمساعدة المؤسسات على تقييم قدراتها في الكشف وتقدير الأضرار المحتملة الناتجة عن عمليات تعدين الجهات الخبيثة.

تمكّن هذه الأداة فرق الأمان من إظهار سيناريوهات هجمات التعدين الخفي بشكل آمن وقانوني على الأنظمة المؤسسية، وإنتاج تقارير تأثير شاملة، والتحقق من ضوابط الأمان—كل ذلك ضمن بيئة خاضعة للسيطرة باستخدام بلوكتشين معزول وغير عام.

جدول المحتويات

  • نظرة عامة
  • الميزات
  • بدء سريع
  • كيف يعمل
  • الاستخدام
    • تشغيل الخادم
    • تشغيل عامل تعدين
    • الاتصال بالخوادم البعيدة
  • تعدين GPU
  • الإعدادات
  • مرجع API
  • البنية
  • التطوير
  • المساهمة
  • استكشاف الأخطاء وإصلاحها
  • التوثيق
  • الترخيص
  • الإقرارات

نظرة عامة

لماذا استخدام RedTeamCoin؟

  • إظهار التأثير الواقعي لهجمات التعدين الخفي
  • اختبار والتحقق من أنظمة المراقبة والكشف الأمنية
  • إنتاج تقييمات كمية للأضرار لتقارير الإدارة التنفيذية
  • محاكاة عمليات التعدين بأمان دون الاتصال بسلاسل الكتل العامة

مكونات النظام:

  • خادم تجمّع التعدين - يدير البلوكتشين وينسّق توزيع العمل
  • عملاء التعدين - عملاء تعدين CPU/GPU (تطبيقات Go وJava)
  • لوحة تحكم ويب - مراقبة وتحكم وإحصائيات في الوقت الفعلي
  • أدوات التحليل - توليد تقارير شاملة لتقييم الأضرار

الميزات

  • تنفيذ البلوكتشين: بلوكتشين مخصص بإثبات العمل مع صعوبة قابلة للتهيئة
  • خادم تجمّع التعدين: إدارة عدة عمال تعدين وتوزيع العمل عبر gRPC
  • عملاء التعدين: عملاء تعدين آليون (Go وJava) مع تسجيل عنوان IP واسم المضيف
  • عامل تعدين Java مستقل: عامل تعدين سطح مكتب بواجهة رسومية
  • عميل Java gRPC: عميل gRPC بدون واجهة رسومية للخوادم والأتمتة
  • التحكم بعمال التعدين من جانب الخادم: إيقاف مؤقت، استئناف، تحديد استخدام CPU، وحذف عمال التعدين عن بُعد
  • تحديد استخدام CPU: تحديد استخدام CPU لعامل التعدين من 0-100% لإدارة الموارد
  • دعم تعدين GPU: دعم CUDA وOpenCL لتعدين مسرّع عبر GPU
  • التعدين الهجين: تعدين متزامن عبر CPU وGPU لأقصى أداء
  • لوحة تحكم ويب: مراقبة في الوقت الفعلي لعمال التعدين والإحصائيات والبلوكتشين مع أزرار تحكم
  • مصادقة REST API: مصادقة آمنة قائمة على الرموز لنقاط نهاية API
  • تشفير TLS لعميل gRPC: تشفير TLS اختياري لاتصالات gRPC الآمنة بين العميل والخادم
  • تتبع IP مزدوج: تسجيل كل من عناوين IP المبلّغة من العميل والمكتشفة من الخادم
  • إحصائيات CPU وGPU: تتبع وإبلاغ شامل لاستخدام الموارد
  • بروتوكول بفر: اتصال فعّال بين العميل والخادم باستخدام protobuf/gRPC
  • إنهاء تلقائي: يغلق عمال التعدين أنفسهم ويحذفون ذاتيًا تلقائيًا عند إزالتهم من الخادم

بدء سريع

شغّل RedTeamCoin في أقل من 5 دقائق:

المتطلبات الأساسية

  • Go الإصدار 1.21 أو أحدث
  • مترجم بروتوكول بفر (protoc)

أوبونتو/ديبيان:```bash sudo apt update sudo apt install -y golang-go protobuf-compiler

root@kitploit:~
**macOS:**```bash
brew install go protobuf

Windows:

  • ثبّت Go من https://golang.org/dl/
  • ثبّت protoc من https://github.com/protocolbuffers/protobuf/releases

التثبيت```bash

Clone the repository

git clone https://github.com/xyplex3/RedTeamCoin.git cd RedTeamCoin

Install dependencies

make install-tools make deps

Build server and client

make build

root@kitploit:~
### التحقق

تحقق من اكتمال البناء بنجاح:```bash
ls -lh bin/
# Expected output: server and client binaries (1-5 MB each)

./bin/server --help
# Expected output: Usage information for the server

تشغيل أول مجمع تعدين لك

1. ابدأ الخادم:```bash make run-server

root@kitploit:~
يجب أن ترى مخرجات مثل:```text
RedTeamCoin Mining Pool Server
Authentication Token: abc123def456...
Dashboard URL: http://localhost:8080?token=abc123def456...
gRPC server listening on port 50051

2. ابدأ عامل تعدين (في طرفية جديدة):```bash make run-client

root@kitploit:~
يجب أن ترى نشاط التعدين:```text
Connected to mining pool at localhost:50051
Registered as miner: miner-hostname-1234567890
Mining block #1... Hash rate: 2.5 MH/s
Block found! Nonce: 98765, Hash: 000000ab1cd...

3. عرض لوحة المعلومات:

افتح عنوان URL من الخطوة 1 في متصفحك، أو انتقل إلى:```text http://localhost:8080?token=YOUR_AUTH_TOKEN_HERE

root@kitploit:~
سترى إحصائيات في الوقت الفعلي تشمل المعدّنين النشطين، ومعدلات التجزئة، والكتل المستخرجة.

**ملاحظة:** يستمع الخادم على جميع واجهات الشبكة - استبدل `localhost`
بعنوان IP الخاص بالخادم للوصول عن بُعد.

## كيف يعمل

يعمل مجمع التعدين باستخدام آلية إجماع إثبات العمل:

1. يقوم الخادم بتهيئة سلسلة الكتل باستخدام كتلة التكوين
2. يتصل المعدّنون عبر gRPC ويسجلون مع IP/اسم المضيف
3. يوزع الخادم مهام العمل (قوالب الكتل)
4. يحسب المعدّنون تجزئات SHA-256 للعثور على nonces صالحة
5. يقدم المعدّنون الحلول عند تحقيق هدف الصعوبة
6. يتحقق الخادم من الكتل ويضيفها إلى سلسلة الكتل
7. تعرض لوحة المعلومات إحصائيات الوقت الفعلي ونشاط المعدّنين

تتطلب كل كتلة إيجاد تجزئة بعدد محدد من الأصفار البادئة
(صعوبة قابلة للتكوين). يحصل المعدّنون على 50 RTC عن كل كتلة مستخرجة.

### تدفق البيانات```text
Client Miner                    Server
    |                              |
    |--RegisterMiner(IP,Hostname)->|
    |<--RegistrationResponse-------|
    |--GetWork()------------------>|
    |<--WorkResponse(Block)--------|
    | [Mining: compute hashes]     |
    |--SubmitWork(nonce,hash)----->|
    |                              | [Validate proof-of-work
    |                              |  and add block to chain]
    |<--SubmissionResponse---------|
    |--Heartbeat(stats)----------->|
    |<--HeartbeatResponse----------|

الاستخدام

تشغيل الخادم

HTTP (الافتراضي):```bash ./bin/server

root@kitploit:~
- خادم gRPC: المنفذ **50051**
- لوحة التحكم على الويب: **http://localhost:8080**

**HTTPS/TLS (موصى به):**```bash
# Generate certificates (one time)
./generate_certs.sh

# Start with TLS
RTC_SERVER_TLS_ENABLED=true ./bin/server
  • خادم gRPC: المنفذ 50051
  • لوحة تحكم الويب: https://localhost:8443
  • إعادة توجيه HTTP: http://localhost:8080

ملاحظة رقم 1: مع HTTPS، ستعرض المتصفحات تحذيرًا أمنيًا للشهادات الموقّعة ذاتيًا. انقر على "خيارات متقدمة" ← "المتابعة إلى localhost".

ملاحظة رقم 2: ستعمل لوحة تحكم الويب وخادم gRPC على جميع واجهات الخادم ويمكن استخدامها بدلاً من localhost.

تشغيل عامل تعدين

عميل Go (الملف الثنائي الأصلي)

الاستخدام الأساسي:```bash ./bin/client

root@kitploit:~
**شغّل عدة معدّنين:**
افتح محطات طرفية إضافية وشغّل `./bin/client` في كل منها.

#### معدّنو Java

توفر RedTeamCoin تطبيقين لمعدّني Java:

##### عميل Java gRPC (بدون واجهة رسومية)

عميل gRPC جاهز للإنتاج للخوادم والأتمتة.

**المتطلبات الأساسية:**

- Java 11 أو أحدث
- Maven (للبناء فقط)

**البناء باستخدام Makefile:**```bash
make build-java-client

أو قم بالبناء يدويًا:```bash cd java-client mvn clean package

root@kitploit:~
**التشغيل:**```bash
# Connect to localhost
java -jar bin/redteamcoin-miner-client.jar

# Connect to remote server
java -jar bin/redteamcoin-miner-client.jar -server 192.168.1.100:50051

الميزات:

  • بروتوكول gRPC (متوافق مع عميل Go)
  • تشغيل بدون واجهة رسومية (بدون GUI)
  • تحكم بالخادم (إيقاف مؤقت/استئناف/تحديد السرعة)
  • إعادة الاتصال التلقائية
  • الحذف الذاتي عند أمر الخادم
Java Standalone Miner (GUI)

جهاز تعدين سطح المكتب بواجهة رسومية.

المتطلبات الأساسية:

  • Java 21 أو أحدث
  • Maven (للبناء فقط)

البناء باستخدام Makefile:```bash make build-java-standalone

root@kitploit:~
**أو ابنِ يدويًا:**```bash
cd java-standalone
mvn clean package

تشغيل:```bash

GUI mode (default)

java -jar bin/redteamcoin-miner-standalone.jar

CLI mode

java -jar bin/redteamcoin-miner-standalone.jar --pool localhost:50051

root@kitploit:~
**الميزات:**

- واجهة رسومية لسطح المكتب
- عرض إحصائيات مرئية
- بروتوكول JSON/Socket بسيط
- مدمجة في التطبيقات

##### بناء جميع عمال تعدين Java```bash
make build-java-all

فوائد Java Miners:

  • ملف JAR واحد، سهل التوزيع
  • متعدد المنصات (Windows, Linux, macOS)
  • لا حاجة للتجميع على الأنظمة المستهدفة
  • يتطلب فقط Java Runtime (JRE)

انظر java-client/README.md للوثائق الكاملة لعميل Java gRPC.

الاتصال بالخوادم البعيدة

افتراضيًا، يتصل العملاء بـ localhost:50051. للاتصال بخادم بعيد:

استخدام خيار سطر الأوامر (موصى به):```bash ./bin/client -server 192.168.1.100:50051 ./bin/client -s mining-pool.example.com:50051

root@kitploit:~
**باستخدام متغير البيئة:**```bash
export RTC_CLIENT_SERVER_ADDRESS=192.168.1.100:50051
./bin/client

الأولوية: علامة سطر الأوامر > متغير البيئة > الافتراضي (localhost:50051)

التعدين عبر GPU

يدعم RedTeamCoin التعدين المتسارع عبر GPU لوحدات معالجة الرسوميات NVIDIA (CUDA) وAMD/Intel (OpenCL). التعدين عبر GPU أسرع بمقدار 100-400 مرة وأكثر كفاءة في استهلاك الطاقة بشكل ملحوظ من التعدين عبر CPU.

تثبيت GPU

NVIDIA CUDA:```bash sudo apt install cuda-toolkit make build-cuda

root@kitploit:~
**AMD/Intel OpenCL:**```bash
sudo apt install ocl-icd-opencl-dev
make build-opencl

الكشف التلقائي:```bash make build-gpu # Automatically detects and builds for available GPU

root@kitploit:~
### استخدام GPU```bash
# Auto-detect GPU (default)
./bin/client

# Force CPU only
RTC_CLIENT_MINING_GPU_ENABLED=false ./bin/client

# Hybrid mode (CPU + GPU)
RTC_CLIENT_MINING_HYBRID_MODE=true ./bin/client

# GPU with remote server
./bin/client -server mining-pool.example.com:50051

مقارنة الأداء

ملاحظة: تعدين GPU أكثر كفاءة في استخدام الطاقة بمقدار 100-150 مرة من تعدين CPU.

اختبار وظائف GPU```bash

Test GPU detection

./bin/client 2>&1 | grep -i "gpu|cuda|opencl"

Force CPU mining (verify fallback works)

RTC_CLIENT_MINING_GPU_ENABLED=false ./bin/client

Force GPU mining (if available)

RTC_CLIENT_MINING_GPU_ENABLED=true ./bin/client

Test hybrid CPU+GPU mode

RTC_CLIENT_MINING_HYBRID_MODE=true ./bin/client

root@kitploit:~
انظر [docs/GPU_MINING.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/GPU_MINING.md) للحصول على الدليل الكامل لتعدين GPU.

## الإعدادات

يستخدم RedTeamCoin [Viper](https://github.com/spf13/viper) لإدارة مرنة للإعدادات.
يمكن تحديد الإعدادات عبر متغيرات البيئة، أو ملفات إعداد YAML، أو
خيارات سطر الأوامر بالأولوية التالية:

**خيارات سطر الأوامر** > **متغيرات البيئة** > **ملفات الإعداد** > **القيم الافتراضية**

### الإعداد

**تهيئة ملفات الإعداد:**```bash
# Initialize both server and client configs
make init-config

# Or initialize individually
make init-server-config  # Creates server-config.yaml
make init-client-config  # Creates client-config.yaml

يقوم هذا بنسخ ملفات YAML النموذجية إلى دليل العمل الخاص بك لتحريرها. يمكنك أيضًا وضع ملفات الإعداد في ~/.rtc/ أو /etc/rtc/.

التجاوز عبر متغيرات البيئة:```bash

Environment variables take precedence over config files

export RTC_SERVER_MINING_DIFFICULTY=8 export RTC_CLIENT_SERVER_ADDRESS=pool.example.com:50051 ./bin/server

root@kitploit:~
### متغيرات البيئة

تستخدم جميع متغيرات البيئة بادئات: `RTC_SERVER_` للخادم، و `RTC_CLIENT_` للعميل.

**إعدادات الخادم:**

| المتغير                                | الوصف                   | الافتراضي            |
| --------------------------------------- | ----------------------------- | ------------------ |
| `RTC_SERVER_NETWORK_GRPC_PORT`          | منفذ خادم gRPC              | `50051`            |
| `RTC_SERVER_NETWORK_API_PORT`           | منفذ HTTPS API                | `8443`             |
| `RTC_SERVER_NETWORK_HTTP_PORT`          | منفذ واجهة الويب HTTP       | `8080`             |
| `RTC_SERVER_MINING_DIFFICULTY`          | صعوبة التعدين (1-64)      | `6`                |
| `RTC_SERVER_MINING_BLOCK_REWARD`        | مكافأة الكتلة بالعملات         | `50`               |
| `RTC_SERVER_TLS_ENABLED`                | تفعيل HTTPS/TLS              | `false`            |
| `RTC_SERVER_TLS_CERT_FILE`              | مسار شهادة TLS          | `certs/server.crt` |
| `RTC_SERVER_TLS_KEY_FILE`               | مسار المفتاح الخاص TLS          | `certs/server.key` |
| `RTC_SERVER_API_READ_TIMEOUT`           | مهلة قراءة API              | `15s`              |
| `RTC_SERVER_API_WRITE_TIMEOUT`          | مهلة كتابة API             | `15s`              |
| `RTC_SERVER_API_IDLE_TIMEOUT`           | مهلة خمول API              | `60s`              |
| `RTC_SERVER_LOGGING_UPDATE_INTERVAL`    | فترة تحديث الإحصائيات         | `30s`              |
| `RTC_SERVER_LOGGING_FILE_PATH`          | مسار ملف السجل                 | `pool_log.json`    |
| `RTC_AUTH_TOKEN` *(قديم)*             | رمز مصادقة مخصص   | مولّد تلقائيًا     |

**إعدادات العميل:**

| المتغير                                          | الوصف                         | الافتراضي           |
| ------------------------------------------------- | ----------------------------------- | ----------------- |
| `RTC_CLIENT_SERVER_ADDRESS`                       | عنوان خادم المجمع (host:port)     | `localhost:50051` |
| `RTC_CLIENT_SERVER_TLS_ENABLED`                   | تفعيل TLS لاتصال gRPC      | `false`           |
| `RTC_CLIENT_SERVER_TLS_INSECURE_SKIP_VERIFY`      | تخطي التحقق من الشهادة       | `true`            |
| `RTC_CLIENT_SERVER_TLS_CA_CERT_FILE`              | مسار ملف شهادة CA         | `""`              |
| `RTC_CLIENT_MINING_GPU_ENABLED`                   | تفعيل تعدين GPU                   | `true`            |
| `RTC_CLIENT_MINING_HYBRID_MODE`                   | تفعيل التعدين المتزامن CPU+GPU  | `false`           |
| `RTC_CLIENT_MINING_AUTO_DELETE`                   | الحذف التلقائي عند الإيقاف             | `true`            |
| `RTC_CLIENT_GPU_NONCE_RANGE`                      | نطاق nonce لكل دفعة GPU           | `500000000`       |
| `RTC_CLIENT_GPU_CPU_START_NONCE`                  | nonce بداية CPU (لتجنب التداخل مع GPU) | `5000000000`      |
| `RTC_CLIENT_NETWORK_HEARTBEAT_INTERVAL`           | فترة تحديث الحالة              | `30s`             |
| `RTC_CLIENT_NETWORK_RETRY_INTERVAL`               | تأخير إعادة محاولة الاتصال              | `10s`             |
| `RTC_CLIENT_NETWORK_MAX_RETRY_TIME`               | أقصى مدة لإعادة المحاولة                  | `5m`              |
| `RTC_CLIENT_BEHAVIOR_WORKER_UPDATE_INTERVAL`      | فترة تقرير تقدم العامل     | `100000`          |
| `POOL_SERVER` *(قديم)*                          | عنوان الخادم البعيد               | `localhost:50051` |
| `GPU_MINING` *(قديم)*                           | تفعيل/تعطيل تعدين GPU           | اكتشاف تلقائي       |
| `HYBRID_MINING` *(قديم)*                        | تفعيل التعدين CPU+GPU               | `false`           |

### أمثلة على ملفات الإعداد

**إعداد الخادم** (`server-config.yaml`):```yaml
network:
  grpc_port: 50051
  api_port: 8443
  http_port: 8080
mining:
  difficulty: 8
  block_reward: 100
tls:
  enabled: true
  cert_file: /etc/rtc/certs/server.crt
  key_file: /etc/rtc/certs/server.key
logging:
  update_interval: 30s
  file_path: /var/log/rtc/pool.json

إعدادات العميل (client-config.yaml):```yaml server: address: pool.example.com:50051 tls: enabled: false insecure_skip_verify: true ca_cert_file: "" mining: gpu_enabled: true hybrid_mode: false auto_delete: true gpu: nonce_range: 1000000000 cpu_start_nonce: 5000000000 network: heartbeat_interval: 30s retry_interval: 10s max_retry_time: 5m

root@kitploit:~
### المصادقة

تتطلب جميع نقاط نهاية API (باستثناء الصفحة الرئيسية للوحة المعلومات) مصادقة عبر رمز Bearer.

**الرمز المولَّد تلقائيًا:**
يُنشئ الخادم رمزًا آمنًا عند بدء التشغيل ويعرضه في وحدة التحكم.

**رمز مخصص:**```bash
export RTC_AUTH_TOKEN="your-secret-token"
./bin/server

الأداء

تختلف أوقات التعدين المتوقعة حسب أداء وحدة المعالجة المركزية والحظ:

  • الصعوبة 4: ~1-10 ثانية/كتلة (وحدة معالجة مركزية واحدة)
  • الصعوبة 5: ~10-60 ثانية/كتلة
  • الصعوبة 6: ~1-10 دقائق/كتلة

إعداد HTTPS```bash

Generate certificates

./generate_certs.sh

Start with HTTPS using new config system

export RTC_SERVER_TLS_ENABLED=true export RTC_AUTH_TOKEN="my-secure-token" ./bin/server

Custom certificates

export RTC_SERVER_TLS_CERT_FILE="/path/to/cert.pem" export RTC_SERVER_TLS_KEY_FILE="/path/to/key.pem" ./bin/server

root@kitploit:~
راجع [docs/TLS_SETUP.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/docs/TLS_SETUP.md) للحصول على تفاصيل إعداد TLS.

## مرجع API

### نقاط نهاية REST API

**نقاط نهاية عامة:**

- `GET /` - لوحة تحكم ويب (HTML)
- `GET /blocks` - صفحة عرض جميع الكتل (HTML)

**نقاط نهاية موثّقة:**

- `GET /api/stats` - إحصائيات التجمع (JSON)
- `GET /api/miners` - قائمة بجميع المُعدِّنين (JSON)
- `GET /api/blockchain` - سلسلة الكتل الكاملة (JSON)
- `GET /api/blocks/{index}` - تفاصيل كتلة محددة (JSON)
- `GET /api/validate` - التحقق من سلامة سلسلة الكتل (JSON)
- `GET /api/cpu` - إحصائيات استخدام CPU وGPU (JSON)
- `POST /api/miner/pause` - إيقاف التعدين مؤقتًا لمُعدِّن معين
- `POST /api/miner/resume` - استئناف التعدين لمُعدِّن معين
- `POST /api/miner/delete` - حذف مُعدِّن (يقوم تلقائيًا بإنهاء العملية وحذف نفسه)
- `POST /api/miner/throttle` - تعيين نسبة خنق CPU (0-100%)

### أمثلة على المصادقة

**cURL:**```bash
# Get stats
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/stats

# Get miners
curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8080/api/miners

# Pause a miner
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"miner_id":"miner-hostname-1234567890"}' \
  http://localhost:8080/api/miner/pause

# Set CPU throttle to 50%
curl -X POST -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"miner_id":"miner-hostname-1234567890","throttle_percent":50}' \
  http://localhost:8080/api/miner/throttle

# HTTPS (with self-signed cert)
curl -k -H "Authorization: Bearer YOUR_TOKEN" https://localhost:8443/api/stats

JavaScript:```javascript const token = "YOUR_TOKEN_HERE"; const headers = { Authorization: Bearer ${token} };

fetch("http://localhost:8080/api/stats", { headers }) .then((r) => r.json()) .then((data) => console.log(data));

root@kitploit:~
**Python:**```python
import requests

headers = {'Authorization': 'Bearer YOUR_TOKEN'}
response = requests.get('http://localhost:8080/api/stats', headers=headers)
print(response.json())

خدمات gRPC```protobuf

service MiningPool { rpc RegisterMiner(MinerInfo) returns (RegistrationResponse); rpc GetWork(WorkRequest) returns (WorkResponse); rpc SubmitWork(WorkSubmission) returns (SubmissionResponse); rpc Heartbeat(MinerStatus) returns (HeartbeatResponse); rpc StopMining(MinerInfo) returns (StopResponse); }

root@kitploit:~
## البنية

### المكدس التقني

- **اللغة**: Go 1.21+
- **إطار عمل RPC**: gRPC مع Protocol Buffers
- **خادم الويب**: مكتبة Go القياسية net/http
- **التبعيات**: google.golang.org/protobuf, google.golang.org/grpc

## التطوير

### أوامر البناء```bash
make proto                # Generate protobuf code
make build                # Build server and client (CPU only)
make build-gpu            # Build with GPU support (auto-detect)
make build-cuda           # Build with NVIDIA CUDA
make build-opencl         # Build with AMD/Intel OpenCL
make build-windows        # Cross-compile for Windows
make build-all-platforms  # Cross-compile for all platforms
make clean                # Remove build artifacts
make deps                 # Download dependencies
make init                 # Full initialization

الاختبار

يتضمن RedTeamCoin اختبارات وحدة شاملة لمكونات كل من الخادم والعميل.

تشغيل جميع الاختبارات:```bash make test # Run all tests (server + client)

root@kitploit:~
**تشغيل مجموعات اختبار محددة:**```bash
# Server tests
cd server && go test -v

# Client tests
cd client && go test -v -short

# With coverage
cd server && go test -cover
cd client && go test -cover

تغطية الاختبارات:

  • الخادم: 76 اختبارًا، تغطية 66.3%

    • blockchain_test.go: 15 اختبارًا - التحقق من سلسلة الكتل، حساب التجزئة، الوصول المتزامن
    • pool_test.go: 26 اختبارًا - إدارة المعدّنين، توزيع العمل، الإحصائيات
    • grpc_server_test.go: 17 اختبارًا - نقاط نهاية gRPC، التحكم بالمعدّنين، نبضات القلب
    • api_test.go: 18 اختبارًا - REST API، المصادقة، عمليات المعدّنين
  • العميل: 41 اختبارًا، تغطية 16.2%

    • main_test.go: 24 اختبارًا - منطق التعدين، حساب التجزئة، إدارة الحالة
    • gpu_test.go: 18 اختبارًا - اكتشاف GPU، إدارة الأجهزة، الإحصائيات

الإجمالي: 117 اختبار وحدة تغطي الوظائف الأساسية

ما تم اختباره:

  • التحقق من سلسلة الكتل وسلامتها
  • تعدين الكتل وإثبات العمل
  • توزيع عمل مجموعة التعدين
  • تسجيل المعدّنين وإدارتهم
  • التحكم بالمعدّنين من جانب الخادم (إيقاف مؤقت/استئناف/حذف/تقييد)
  • بروتوكولات اتصال gRPC
  • نقاط نهاية REST API والمصادقة
  • اكتشاف أجهزة GPU وتهيئتها
  • حساب معدل التجزئة والإحصائيات
  • العمليات المتزامنة وسلامة الخيوط
  • معالجة الأخطاء والحالات الحدّية

اختبارات CI/CD:

تُشغَّل جميع الاختبارات تلقائيًا على:

  • طلبات السحب
  • الالتزامات إلى الفرع الرئيسي
  • إصدارات Release

انظر .github/workflows/build-verification.yaml لإعدادات CI.

البناء المتقاطع

Windows (CPU فقط):```bash make build-windows

root@kitploit:~
ينشئ `bin/client.exe`

**Windows مع OpenCL (دعم GPU):**```bash
# Requires MinGW-w64 and Windows OpenCL SDK
make build-windows-opencl

ينشئ bin/client-windows-opencl.exe

راجع docs/WINDOWS_BUILD.md للحصول على تعليمات بناء ويندوز الكاملة، بما في ذلك:

  • بناءات ويندوز أصلية مع دعم GPU
  • إعداد الترجمة المتقاطعة من لينكس
  • إعداد رمز المصادقة
  • دليل استكشاف الأخطاء وإصلاحها

منصات متعددة:```bash make build-all-platforms

root@kitploit:~
ينشئ:

- `client-linux-amd64` - لينكس 64-بت
- `client-linux-arm64` - لينكس ARM64
- `client-windows-amd64.exe` - ويندوز 64-بت
- `client-darwin-amd64` - ماك Intel
- `client-darwin-arm64` - ماك Apple Silicon

**ملاحظة:** البينات الثنائية المُجمَّعة عبر الأنظمة (Cross-compiled) تعمل بوحدة المعالجة المركزية فقط (CGO معطّل) إلا عند استخدام `build-windows-opencl`.

### أدوات التحليل

إنشاء تقارير تقييم الأضرار لتحليل تأثير التعدين:```bash
make build-tools
./bin/generate_report -log pool_log.json

يتضمن التقرير:

  • تحليل استهلاك الموارد
  • تقييم تأثير الأداء
  • الضرر على البنية التحتية
  • الآثار الأمنية
  • ملخص الأثر المالي
  • تحليل نظام بنظام
  • توصيات المعالجة

افتراضات التكلفة:

تحويل التقارير:```bash

PDF

pandoc Report_Miner_Activity_from_to.md -o report.pdf

HTML

pandoc Report_Miner_Activity_from_to.md -o report.html

DOCX

pandoc Report_Miner_Activity_from_to.md -o report.docx

root@kitploit:~
**حالات الاستخدام:**

- تحليل ما بعد الحادث
- إحاطات تنفيذية
- المبررات المالية
- توثيق الامتثال
- مطالبات التأمين
- الأدلة القانونية

انظر [tools/README.md](https://github.com/xyplex3/redteamcoin/blob/HEAD/tools/README.md) للحصول على التوثيق الكامل.

## استكشاف الأخطاء وإصلاحها

### مشكلات الاتصال عن بُعد

**اختبار الاتصال:**```bash
# Test connection
ping <server_ip>
nc -zv <server_ip> 50051

# Check server (on server side)
lsof -i :50051
ss -an | grep 50051

المشاكل الشائعة:

  • تحقق من عنوان الخادم والمنفذ
  • تأكد من أن الخادم يعمل
  • تحقق من قواعد جدار الحماية (العميل والخادم)
  • تأكد من اتصال الشبكة
  • تحقق من أن المنفذ 50051 في حالة الاستماع

مشاكل تعدين GPU

مشاكل عامة

أخطاء البناء:

  • تأكد من تثبيت Go 1.21+
  • شغّل make deps لتثبيت التبعيات
  • شغّل make install-tools لأدوات protoc

رفض الاتصال:

  • تحقق من أن الخادم يعمل
  • تحقق من أن المنفذ غير مستخدم: lsof -i :50051
  • تحقق من إعدادات جدار الحماية

أخطاء المصادقة:

  • تحقق من أن الرمز المميز يطابق مخرجات الخادم
  • تحقق من تنسيق الترويسة Authorization: Bearer TOKEN
  • تأكد من تضمين الرمز المميز في الرابط أو الترويسات

التوثيق

أدلة المستخدم

  • docs/GPU_MINING.md - تعدين GPU باستخدام CUDA و OpenCL
  • docs/WINDOWS_BUILD.md - دليل بناء Windows (البناء الأصلي والبناء المشترك)
  • docs/TLS_SETUP.md - إعداد HTTPS/TLS
  • java-client/README.md - عميل gRPC بلغة Java (معدّن بدون واجهة رسومية)
  • tools/README.md - أدوات التحليل وتقارير الأضرار

المراجع الفنية

  • docs/WORKFLOWS.md - سير عمل CI/CD وعمليات التطوير

أمثلة

  • docs/examples/ - نماذج تقارير وأمثلة استخدام

المساهمة

نرحب بمساهماتكم! إليك كيفية البدء:

  1. قم بعمل fork للمستودع
  2. أنشئ فرع ميزة: git checkout -b feature/amazing-feature
  3. قم بإجراء تغييراتك وأضف اختبارات
  4. شغّل مجموعة الاختبارات: make test
  5. احفظ تغييراتك: git commit -m 'Add amazing feature'
  6. ادفع إلى الفرع: git push origin feature/amazing-feature
  7. افتح طلب سحب (Pull Request)

إعداد بيئة التطوير```bash

Clone your fork

git clone https://github.com/YOUR_USERNAME/RedTeamCoin.git cd RedTeamCoin

Install dependencies

make install-tools make deps

Run tests

make test

Build and test locally

make build make run-server # Terminal 1 make run-client # Terminal 2

root@kitploit:~
### إرشادات الكود

- اتبع التنسيق القياسي للغة Go (`gofmt`)
- أضف اختبارات وحدة للوظائف الجديدة
- حدّث التوثيق للتغييرات التي تمس المستخدم
- تأكد من اجتياز جميع فحوصات CI قبل تقديم طلب السحب (PR)

## ملاحظة أمنية

هذا مشروع **توضيحي/تعليمي** للاختبارات الأمنية المصرح بها
وعمليات الفريق الأحمر. وهو مخصص لـ:

- مهام اختبار الاختراق المصرح بها
- التحقق من الضوابط الأمنية
- تقييم قدرات الكشف
- الأغراض التعليمية والتدريبية

هذه الأداة غير مخصصة للاستخدام في الإنتاج كعملة رقمية حقيقية،
وتفتقر إلى العديد من الميزات المطلوبة لنظام إنتاجي (التوقيعات التشفيرية،
المحافظ، التحقق من صحة المعاملات، إجماع الشبكة، وما إلى ذلك).

**استخدمها فقط بتفويض صريح على الأنظمة التي تملكها أو لديك إذن
باختبارها.**

## الترخيص

هذا المشروع مرخّص بموجب رخصة GNU العمومية العامة الإصدار 3.0 - راجع ملف
[LICENSE](https://github.com/xyplex3/redteamcoin/blob/HEAD/LICENSE) للتفاصيل.

## شكر وتقدير

**أُنشئ بواسطة:**

- Peter Greko ([@Xyplex02](https://github.com/Xyplex02))
- Luciano Krigun ([@klucho](https://github.com/klucho))
- Jayson Grace ([@l50](https://github.com/l50))
تنزيل الأداة
الإعداداتمعدل الهاشالتسريعالكفاءة (MH/W)
CPU (نواة واحدة)~2 MH/sخط الأساس~0.02
CPU (8 أنوية)~16 MH/s8x~0.02
GPU (RTX 3080)~500 MH/s250x~2.0
GPU (RTX 3090)~600 MH/s300x~2.5
GPU (AMD MI250)~800 MH/s400x~3.0
هجين (CPU+GPU)~620 MH/s310x~2.0
المعلمةالافتراضيملاحظات
طاقة المعالج150Wحمل كامل
طاقة معالج الرسومات250Wحمل كامل
الكهرباء$0.12/kWhاضبط حسب المنطقة
تقليل العمر الافتراضي20-40%بسبب التعدين المستمر
المشكلةالحل
"cannot find -lcuda"export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
"nvcc not found"sudo apt install cuda-toolkit
"No OpenCL device"sudo apt install ocl-icd-opencl-dev
GPU بطيءexport RTC_CLIENT_MINING_GPU_ENABLED=true
خطأ بناء CGosudo apt install build-essential