> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# الويب

يقدّم Gateway **واجهة تحكم في المتصفح** صغيرة (Vite + Lit) من المنفذ نفسه الذي يستخدمه Gateway WebSocket:

* الافتراضي: `http://<host>:18789/`
* مع `gateway.tls.enabled: true`: `https://<host>:18789/`
* بادئة اختيارية: اضبط `gateway.controlUi.basePath` (مثل `/openclaw`)

توجد الإمكانات في [واجهة التحكم](/ar/web/control-ui). يركز باقي هذه الصفحة على أوضاع الربط، والأمان، والأسطح المواجهة للويب.

## Webhooks

عند ضبط `hooks.enabled=true`، يوفّر Gateway أيضًا نقطة نهاية Webhook صغيرة على خادم HTTP نفسه.
راجع [إعدادات Gateway](/ar/gateway/configuration) ← `hooks` للمصادقة + الحمولات.

## Admin HTTP RPC

يكشف Admin HTTP RPC طرائق مختارة من مستوى التحكم في Gateway عند `POST /api/v1/admin/rpc`.
وهو معطّل افتراضيًا ولا يُسجَّل إلا عند تفعيل Plugin `admin-http-rpc`.
راجع [Admin HTTP RPC](/ar/plugins/admin-http-rpc) لمعرفة نموذج المصادقة، والطرائق المسموح بها، والمقارنة مع WebSocket.

## الإعدادات (مفعّلة افتراضيًا)

تكون واجهة التحكم **مفعّلة افتراضيًا** عند وجود الأصول (`dist/control-ui`).
يمكنك التحكم فيها عبر الإعدادات:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  gateway: {
    controlUi: { enabled: true, basePath: "/openclaw" }, // basePath optional
  },
}
```

## الوصول عبر Tailscale

### Serve المدمج (موصى به)

أبقِ Gateway على loopback ودع Tailscale Serve يوكّله:

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "serve" },
  },
}
```

ثم ابدأ Gateway:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw gateway
```

افتح:

* `https://<magicdns>/` (أو `gateway.controlUi.basePath` الذي أعددته)

### ربط Tailnet + رمز

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  gateway: {
    bind: "tailnet",
    controlUi: { enabled: true },
    auth: { mode: "token", token: "your-token" },
  },
}
```

ثم ابدأ Gateway (يستخدم هذا المثال غير القائم على loopback مصادقة رمز
سرّ مشترك):

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw gateway
```

افتح:

* `http://<tailscale-ip>:18789/` (أو `gateway.controlUi.basePath` الذي أعددته)

### الإنترنت العام (Funnel)

```json5 theme={"theme":{"light":"min-light","dark":"min-dark"}}
{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "funnel" },
    auth: { mode: "password" }, // or OPENCLAW_GATEWAY_PASSWORD
  },
}
```

## ملاحظات الأمان

* مصادقة Gateway مطلوبة افتراضيًا (رمز، أو كلمة مرور، أو وكيل موثوق، أو ترويسات هوية Tailscale Serve عند تفعيلها).
* لا تزال عمليات الربط غير القائمة على loopback **تتطلب** مصادقة Gateway. عمليًا يعني ذلك مصادقة الرمز/كلمة المرور أو وكيلًا عكسيًا مدركًا للهوية مع `gateway.auth.mode: "trusted-proxy"`.
* ينشئ المعالج مصادقة سرّ مشترك افتراضيًا، وعادةً ما ينشئ
  رمز Gateway (حتى على loopback).
* في وضع السرّ المشترك، ترسل الواجهة `connect.params.auth.token` أو
  `connect.params.auth.password`.
* عند ضبط `gateway.tls.enabled: true`، تعرض مساعدات لوحة المعلومات والحالة المحلية
  عناوين URL للوحة المعلومات بصيغة `https://` وعناوين URL لـ WebSocket بصيغة `wss://`.
* في الأوضاع الحاملة للهوية مثل Tailscale Serve أو `trusted-proxy`، يُستوفى
  فحص مصادقة WebSocket من ترويسات الطلب بدلًا من ذلك.
* لنشرات واجهة التحكم العامة غير القائمة على loopback، اضبط `gateway.controlUi.allowedOrigins`
  صراحةً (الأصول الكاملة). تُقبل عمليات التحميل الخاصة من نفس الأصل عبر LAN/Tailnet لـ loopback،
  وRFC1918/link-local، و`.local`، و`.ts.net`، ومضيفي Tailscale CGNAT.
* يفعّل `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true`
  وضع الرجوع إلى أصل ترويسة Host، لكنه خفض خطير لمستوى الأمان.
* مع Serve، يمكن لترويسات هوية Tailscale استيفاء مصادقة واجهة التحكم/WebSocket
  عندما تكون `gateway.auth.allowTailscale` هي `true` (لا يلزم رمز/كلمة مرور).
  لا تستخدم نقاط نهاية HTTP API ترويسات هوية Tailscale تلك؛ بل تتبع
  وضع مصادقة HTTP المعتاد في Gateway بدلًا من ذلك. اضبط
  `gateway.auth.allowTailscale: false` لطلب بيانات اعتماد صريحة. راجع
  [Tailscale](/ar/gateway/tailscale) و[الأمان](/ar/gateway/security). يفترض
  هذا التدفق بلا رمز أن مضيف Gateway موثوق.
* يتطلب `gateway.tailscale.mode: "funnel"` ضبط `gateway.auth.mode: "password"` (كلمة مرور مشتركة).

## بناء الواجهة

يقدّم Gateway الملفات الثابتة من `dist/control-ui`. ابنها باستخدام:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
pnpm ui:build
```
