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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
domain-locker — مدير مركزي لمحفظة النطاقات مع بيانات WHOIS وDNS وSSL التي يتم جلبها تلقائيًا، وتنبيهات انتهاء الصلاحية، ومراقبة وقت التشغيل، وتحليلات بصرية. قابل للاستضافة الذاتية باستخدام Docker. | Kitploit
أدوات/GitHubGitHub/lissy93/domain-locker
أمن الويب
GitHublissy93/domain-locker

domain-locker

مدير مركزي لمحفظة النطاقات مع بيانات WHOIS وDNS وSSL التي يتم جلبها تلقائيًا، وتنبيهات انتهاء الصلاحية، ومراقبة وقت التشغيل، وتحليلات بصرية. قابل للاستضافة الذاتية باستخدام Docker.

عرض المستودعالموقع الإلكتروني
1.5k117منذ 6 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

Domain Locker

المركز الأساسي لجميع أسماء النطاقات الخاصة بك
🌐domain-locker.com

المحتويات
  • حول
    • لقطة شاشة
    • الميزات
    • عرض توضيحي مباشر
  • ابدأ
    • Domain-Locker.com
    • الاستضافة الذاتية
  • التطوير
    • إعداد التطبيق
    • الهندسة المعمارية
  • المساهمة
  • الإسناد
  • الترخيص

حول

الهدف من Domain Locker هو منحك رؤية كاملة لمحفظة أسماء النطاقات الخاصة بك، في مكان مركزي واحد.

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

مع Domain Locker، لن تفقد أبدًا تتبع نطاقاتك، أو تفوت تاريخ انتهاء الصلاحية، أو تنسى أي مسجل ومزود يستخدمه كل نطاق.

لقطة شاشة

المزيد من لقطات الشاشة...

(آسف بخصوص 5fps، أردت الحفاظ على صغر حجم الملف!)


الميزات

  • 👁️ رؤية كاملة لجميع نطاقاتك وتواريخ انتهاء الصلاحية القادمة
  • 📡 بيانات مستخلصة تلقائيًا: شهادات SSL، المستضيفون، المسجلون، عناوين IP، النطاقات الفرعية، DNS، إلخ
  • 🔬 عرض المقاييس والتحليلات التفصيلية لكل نطاق
  • 📊 تحليلات بصرية وتفصيلات واتجاهات عبر محفظتك
  • 💬 تنبيهات قابلة للتخصيص وإشعارات webhook
  • 🗃️ استيراد/تصدير سهل، بالإضافة إلى الوصول إلى البيانات عبر API
  • 📜 تتبع التغييرات في تكوين النطاق بمرور الوقت
  • 📈 مراقبة صحة الموقع وأمانه وأدائه
  • 💹 الاحتفاظ بسجل لأسعار الشراء وتكاليف التجديد
  • 🔖 إضافة فئات، وربط الموارد ذات الصلة بالنطاقات
  • 🎨 دعم متعدد اللغات، سمات داكنة/فاتحة/مخصصة
المزيد من الميزات...```mermaid %%{init: {"theme": "default"}}%% kanban 🌐 Domain Data 🛰️ Auto-fetch assets: SSL, hosts, registrars, IPs, DNS, subdomains 🔎 Detailed domain data like SSL, hosts, registrars, IPs and more 🏷️ Enrich data with tags, notes, costs, and other metadata to track 🖇️ Connection with external tools for more data 📊 Metrics 🗂️ Breakdown of domain providers: registrars, SSL, hosts 🕒 Timeline of registrations and upcoming expirations 📶 Monitor domain uptime, performance and health 💹 Record valuation, purchase prices and renewal costs 🔔 Notifications ⏱️ Get notified before your domain is due to expire 📲 Configurable alerts for monitoring changes in domain config 📬 Multiple channels: webhook, email, SMS, Slack, Telegram, WhatsApp and more 🛤️ Track change history of each domain 🛡️ Data 💽 Own your data: Export, import, delte at any time ⌨️ Programatic access via a REST or GraphQL API, or with RSS, iCal, Prometheus integrations 📈 Keep detailed change logs of all domain updates 🔐 Transparent privacy policy 🛠️ Customization 👤 SSO and 2FA supported 🎨 Custom themes, fonts, light/dark mode 🌍 Multi-language support 💻 Open-source and self-hostable ✅ Accessible, responsive, and well-documented ```

تجربة

جرب العرض التوضيحي المباشر على demo.domain-locker.com
(اسم المستخدم: [email protected] كلمة المرور: domainlocker)


البدء

لاستخدام Domain Locker، لديك خياران:

  1. 💻 النسخة المدارة، على domain-locker.com (مجانية)
  2. 🏗️ أو الاستضافة الذاتية عبر Docker (مجانية أيضًا بالطبع!)

الخيار 1: Domain-Locker.com

توجه إلى موقعنا، وسجل باستخدام Google أو GitHub أو بريدك الإلكتروني.
الخطة الأساسية مجانية، ولا يلزم إعداد. فقط سجل الدخول، أضف نطاقاتك، وابدأ بتتبعها.

الخيار 2: الاستضافة الذاتية```bash

curl -fsSL https://install.domain-locker.com | bash

root@kitploit:~
استخدم الأمر أحادي السطر أعلاه، أو استخدم ملف [`docker-compose.yml`](https://github.com/Lissy93/domain-locker/blob/main/docker-compose.yml)

<details>
	<summary>التفاصيل</summary>

 
- **المتطلبات الأساسية**:
  - تم تصميم Domain Locker ليعمل داخل حاوية، لذا ستحتاج إلى تثبيت Docker على نظامك المضيف.
- **الحاويات**:
  - لدينا صورة Docker منشورة على [`lissy93/domain-locker`](https://hub.docker.com/r/lissy93/domain-locker).
  - ستحتاج أيضًا إلى قاعدة بيانات Postgres، مثل حاوية [`postgres:15-alpine`](https://hub.docker.com/_/postgres?tab=tags&name=15-alpine).
- **البيئة**:
  - عند تشغيل الحاوية، اربط المنفذ `3000` داخل الحاوية بالمنفذ `PORT` الخاص بمضيفك (القيمة الافتراضية هي `3000`).
  - ثم حدد متغيرات Postgres: `DL_PG_HOST` و `DL_PG_PORT` و `DL_PG_USER` و `DL_PG_PASSWORD` و `DL_PG_NAME`.
- **وحدات التخزين**:
  - قم بتثبيت وحدة تخزين على المسار `/var/lib/postgresql/data` لحفظ بيانات Postgres الخاصة بك.
- **المهام المجدولة (Crons)**
  - `/api/domain-updater` - قم بتنفيذ هذا يوميًا لتحديث بيانات النطاقات وتشغيل الإشعارات.
  - `/api/domain-monitor` - قم بتنفيذ هذا كل 15 دقيقة لمراقبة وقت تشغيل الموقع والأداء.
  - `/api/cleanup-monitor-data` - قم بتنفيذ هذا أسبوعيًا لتجميع بيانات المراقبة القديمة.

- **مثال**:
  - لتجميع كل شيء معًا، يمكنك استخدام ملف [`docker-compose.yml`](https://github.com/Lissy93/domain-locker/blob/main/docker-compose.yml).
  - لمزيد من التفاصيل، راجع [وثائق الاستضافة الذاتية](https://domain-locker.com/about/self-hosting).


<details>
<summary>مخطط Docker</summary>```mermaid
flowchart TB
  subgraph Volume Mounts
    direction TB
    Vpostgresdata([📦 postgres_data]) x-. /var/lib/postgresql/data .-x postgres[(🐘 PostgreSQL DB)]
    Vdbschemasql{{📄 ./db/schema.sql}} -. Mounted on Init .-> postgres
  end

  subgraph Network
    direction TB
    domainlockernetwork[/🌐 domain_locker_network/]
  end

  postgres -.- domainlockernetwork

  subgraph app[⚙️ App Container]
    SSR[HTTP Server]
    CLIENT[Client App]
    API[API Endpoints]
    SSR --> CLIENT
    SSR --> API
  end

  app -.- domainlockernetwork

الخيار 3: التطبيقات غير الرسمية

  • ArtifactHub
  • DockerHub
  • Umbrel
  • Supabase
  • Proxmox
  • TrueNAS
  • EasyPanel (قيد الانتظار)
  • Unraid

التطوير

إعداد المشروع```bash

git clone [email protected]:Lissy93/domain-locker.git # Get the code cd domain-locker # Navigate into directory npm install --legacy-peer-deps # Install dependencies cp .env.example .env # Set environmental variables npm run dev # Start the dev server

root@kitploit:~
- **المتطلبات الأساسية**
  - ستحتاج إلى Git وNode مثبتين على نظامك.
- **الإعداد**
  - ملف `.env.sample` يتضمن بيانات الاعتماد العامة لمثيل Supabase التطويري الخاص بنا.
  - لاستخدام قاعدة بيانات بديلة، راجع قسم [قاعدة البيانات](#database) أدناه لتكوينها مع Postgres.
- **النشر**
  - يمكنك بناء الكود باستخدام `npm run build`، ثم تشغيله باستخدام `npm start`.
  - أو باستخدام Docker، ابني الحاوية بـ `docker build -t domain-locker .`.
  - لا تستخدم مثيل Supabase التطويري في الإنتاج، حيث يتم مسحه بشكل متكرر.

---

## بنية التطبيق

#### التقنيات المستخدمة

يتكون Domain Locker من تطبيق وقاعدة بيانات وبعض نقاط نهاية API.
- **التطبيق** مبني باستخدام Angular، مع استخدام Analog+Nitro لعناصر PrimeNg، وTailwind للتنسيق.
- **الخادم** عبارة عن سلسلة من نقاط نهاية Deno مع دوال Typescript.
- **قاعدة البيانات** يمكن أن تكون إما Postgres أو Supabase.

بينما يُفترض أن يتم نشر المثيل المستضاف ذاتيًا بشكل مستقل، فإن النسخة المُدارة تعتمد على عدد من خدمات الطرف الثالث الإضافية، والتي يمكنك رؤيتها أدناه، [وثائقها متاحة هنا](https://domain-locker.com/about/developing/third-party-docs).

<details>
<summary>لماذا</summary>
لماذا Angular؟ كنوع من المزحة السيئة لنفسي في المستقبل، الذي سيحتاج بعد ذلك إلى صيانة هذا.
</details>


<p align="center">
<img width="800" src="https://assets.kitploit.com/production/public/readmes/264/1449d16cb6a07bd766d3b86a8de608aaa4075270a0a634cd6f6af1f1a1d70c49.png" />
<br>
<span>يمكنك الاطلاع على وثائق التقنيات والخدمات المستخدمة <a href="https://domain-locker.com/about/developing/third-party-docs">هنا</a></span>
</p>


#### البنية

البنية بسيطة جدًا.
لدينا تطبيق (يتكون من واجهة أمامية ونقاط نهاية API)، حيث يمكن للمستخدم القراءة والكتابة في قاعدة البيانات (عبر محولات). ثم تخدم خدمة cron بشكل دوري نقاط نهاية API للحفاظ على تحديث بيانات النطاقات، وتتبع التغييرات، ومراقبة الصحة، وتفعيل الإشعارات عند تغييرات معينة (حسب تفضيل المستخدم) أو قبل انتهاء صلاحية وشيك.```mermaid
graph TD;
    subgraph User Interactions
        User[👤 User] -->|Enter domain| WebApp[🌐 Frontend];
        WebApp -->|Send API request| API[⚙️ Nitro API];
        API -->|Auth Check| Auth[🔐 Auth Service];
        API -->|Store domain info| Database[🗄️ PostgreSQL / Supabase];
    end

    subgraph Automated Cron Jobs
        CronService[⏳ Cron Service] -->|Trigger Updates| EdgeFunctions[⚡ Edge Functions];
        EdgeFunctions -->|Fetch WHOIS, DNS, SSL| ExternalAPIs[🌎 Analysis Services];
        EdgeFunctions -->|Store Data| Database;
        
        CronService -->|Monitor Uptime| WebsiteMonitor[📡 Uptime Monitor];
        WebsiteMonitor -->|Store Metrics| Database;

        CronService -->|Check Expirations| ExpiryChecker[📆 Expiration Check];
        ExpiryChecker -->|Update Status| Database;
        
        CronService -->|Send Notifications| NotificationService[🔔 Notification System];
        NotificationService -->|Email| Resend[📧 Resend];
        NotificationService -->|SMS| Twilio[📱 Twilio];
    end

    Database -->|Serve Data| WebApp;

قاعدة البيانات

يلزم وجود قاعدة بيانات لتخزين جميع النطاقات والمعلومات المرتبطة بها. يدعم Domain Locker كلاً من Supabase و Postgres القياسي لتخزين البيانات. تعتمد قاعدة البيانات المستخدمة على متغيرات البيئة التي تم تعيينها.

  • Supabase: اتبع وثائق الاستضافة الذاتية لـ Supabase، ثم استخدم dl-sb-iac لاستيراد المخطط وتكوين المصادقة ووظائف الحافة والبريد الإلكتروني وغيرها.

    • ثم قم بتعيين: متغيرات البيئة SUPABASE_URL و SUPABASE_ANON_KEY
  • Postgres: قم بنشر مثيل Postgres، ثم طبق schema.sql

    • إذا كانت قاعدة البيانات موجودة بالفعل: psql -h $DL_PG_HOST -U $DL_PG_USER -d $DL_PG_NAME -f ./db/schema.sql
    • إذا كنت تنشئ من الصفر: استخدم setup-postgres.sh (يتطلب وصول المستخدم المتميز)
    • ثم قم بتعيين: DL_PG_HOST, DL_PG_PORT, DL_PG_USER, DL_PG_PASSWORD, `DL_PG_NAME````mermaid classDiagram class users { uuid id text email timestamp created_at timestamp updated_at }

    class domains { uuid id uuid user_id text domain_name date expiry_date text notes timestamp created_at timestamp updated_at uuid registrar_id timestamp registration_date timestamp updated_date }

root@kitploit:~
<p align="center"><sub>يمكنك تنزيل المخطط من <a href="https://github.com/Lissy93/domain-locker/blob/main/db/schema.sql"<code>db/schema.sql</code></a></sub></p>

---

### المساهمة

المساهمات، من أي نوع، مرحب بها دائمًا، ومقدرة جداً! 💗

إذا كنت جديدًا في Git، فإن سير العمل العام للمساهمة هو كما يلي:
- قم بعمل Fork للمستودع، من خلال [الضغط هنا](https://github.com/lissy93/domain-locker/fork)
- قم باستنساخ Fork الخاص بك (باستخدام `git clone [email protected]:[your_username]/domain-locker.git`)
- اتبع [إعداد المشروع](#project-setup) أعلاه، لتشغيل المشروع في وضع التطوير
- قم بتنفيذ ميزتك الرائعة الجديدة أو إصلاح الخطأ المذهل...
- قم بالتبديل إلى فرع جديد، باستخدام `git checkout -b feature-branch`، ثم `git add` لتغييراتك و `git commit` باستخدام الالتزامات التقليدية، قبل `git push` لفرعك
- ارجع إلى GitHub، وبعدها يمكنك فتح طلب سحب (PR) ضد فرعنا `main`. لا تنسَ تضمين ما قمت بتغييره، ولماذا، ورابط أي مشكلات مرتبطة.
- سنقوم بعد ذلك بالمراجعة، وتقديم الملاحظات، والدمج، وبمجرد الإصدار، ستصبح تغييراتك مباشرة على الإنتاج، وكذلك متاحة في أحدث صورة Docker.

<details>
	<summary>مثال على فرع Git</summary>```mermaid
%%{init: {"theme": "default"}}%%
gitGraph
    commit id: "Initial commit"
    branch trunk
    commit id: "Feature A"
    commit id: "Feature B"
    commit id: "v1.0.0 (Tag)"
    branch demo
    checkout main
    commit id: "Feature C"
    commit id: "v1.1.0 (Tag)"
    checkout demo
    merge main id: "Merge main into demo"
    checkout main
    commit id: "Feature D"
    commit id: "v1.2.0 (Tag)"
    checkout demo
    merge main id: "Merge main into demo (v1.2.0)"
    checkout main
    branch feature-branch-1
    commit id: "Contributor Feature 1"
    checkout main
    merge feature-branch-1 id: "Merge contributor feature 1"
    commit id: "v1.3.0 (Tag)"
    checkout demo
    merge main id: "Merge main into demo (v1.3.0)"
    checkout main
    branch feature-branch-2
    commit id: "Contributor Feature 2"
    checkout main
    merge feature-branch-2 id: "Merge contributor feature 2"
    commit id: "v1.4.0 (Tag)"
    checkout demo
    merge main id: "Merge main into demo (v1.4.0)"

الإسنادات

المساهمون

المساهمون

الرعاة

الرعاة


الترخيص

Lissy93/Domain-Locker مرخص بموجب MIT © أليسيا سايكس 2025.
للحصول على معلومات، انظر TLDR Legal > MIT

توسيع الترخيص``` The MIT License (MIT) Copyright (c) Alicia Sykes

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sub-license, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included install copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANT ABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

root@kitploit:~
</details>

<!-- الترخيص + حقوق النشر -->
<p  align="center">
  <i>© <a href="https://aliciasykes.com">Alicia Sykes</a> 2025</i><br>
  <i>مرخص بموجب <a href="https://gist.github.com/Lissy93/143d2ee01ccc5c052a17">MIT</a></i><br>
  <a href="https://github.com/lissy93"><img src="https://assets.kitploit.com/production/public/readmes/264/2dd6b50bb46f34f56ce0166642faf6ef16cd4102cd8a3805f1be707c9f7c0a3d.png" /></a><br>
  <sup>شكرًا لزيارتكم :)</sup>
</p>

<!-- الديناصورات رائعة -->
<!-- 
                        . - ~ ~ ~ ~ - .
      ..     _      .-~                 ~-.
     //|     \ `..~                        `.
    || |      }  }                /       \  \
(\   \\ \~^..'                   |         }  \
 \`.-~  o      /       }         |        /    \
 (__          |       /          |       /      `.
  `- - ~ ~ -._|      /_ - ~ ~ ~ ^|      /- _      `.
              |     /            |     /     ~-.     ~- _
              |_____|            |_____|         ~ - . _ _~_-_
-->
تنزيل الأداة
(مخطط)

class registrars { uuid id text name text url uuid user_id }

class tags { uuid id text name text color text description text icon uuid user_id }

class domain_tags { uuid domain_id uuid tag_id }

class notifications { uuid id uuid user_id uuid domain_id text change_type text message boolean sent boolean read timestamp created_at }

class billing { uuid id uuid user_id text current_plan timestamp next_payment_due text billing_method timestamp created_at timestamp updated_at jsonb meta }

class dns_records { uuid id uuid domain_id text record_type text record_value timestamp created_at timestamp updated_at }

class domain_costings { uuid id uuid domain_id numeric purchase_price numeric current_value numeric renewal_cost boolean auto_renew timestamp created_at timestamp updated_at }

class domain_hosts { uuid domain_id uuid host_id }

class domain_links { uuid id uuid domain_id text link_name text link_url timestamp created_at timestamp updated_at text link_description }

class domain_statuses { uuid id uuid domain_id text status_code timestamp created_at }

class domain_updates { uuid id uuid domain_id uuid user_id text change text change_type text old_value text new_value timestamp date }

class uptime { uuid id uuid domain_id timestamp checked_at boolean is_up integer response_code numeric response_time_ms numeric dns_lookup_time_ms numeric ssl_handshake_time_ms timestamp created_at }

class ssl_certificates { uuid id uuid domain_id text issuer text issuer_country text subject date valid_from date valid_to text fingerprint integer key_size text signature_algorithm timestamp created_at timestamp updated_at }

class whois_info { uuid id uuid domain_id text country text state text name text organization text street text city text postal_code }

class user_info { uuid id uuid user_id jsonb notification_channels timestamp created_at timestamp updated_at text current_plan }

class hosts { uuid id inet ip numeric lat numeric lon text isp text org text as_number text city text region text country uuid user_id }

class ip_addresses { uuid id uuid domain_id inet ip_address boolean is_ipv6 timestamp created_at timestamp updated_at }

class notification_preferences { uuid id uuid domain_id text notification_type boolean is_enabled timestamp created_at timestamp updated_at }

class sub_domains { uuid id uuid domain_id text name timestamp created_at timestamp updated_at jsonb sd_info }

users --> domains : user_id registrars --> domains : registrar_id users --> registrars : user_id users --> tags : user_id domains --> domain_tags : domain_id tags --> domain_tags : tag_id users --> notifications : user_id domains --> notifications : domain_id users --> billing : user_id domains --> dns_records : domain_id domains --> domain_costings : domain_id domains --> domain_hosts : domain_id hosts --> domain_hosts : host_id domains --> domain_links : domain_id domains --> domain_statuses : domain_id domains --> domain_updates : domain_id users --> domain_updates : user_id domains --> uptime : domain_id domains --> ssl_certificates : domain_id domains --> whois_info : domain_id users --> user_info : user_id users --> hosts : user_id domains --> ip_addresses : domain_id domains --> notification_preferences : domain_id domains --> sub_domains : domain_id