chrome.proxy

refresh date: 2026-09-25 robots: noindex

الوصف

استخدِم واجهة برمجة التطبيقات chrome.proxy لإدارة إعدادات الخادم الوكيل في Chrome. تعتمد واجهة برمجة التطبيقات هذه على النموذج الأوّلي ChromeSetting من نوع واجهة برمجة التطبيقات للحصول على إعدادات الخادم الوكيل وضبطها.

الأذونات

proxy

البيان

يجب الإفصاح عن إذن "الخادم الوكيل" في بيان الإضافة لاستخدام واجهة برمجة التطبيقات لإعدادات الخادم الوكيل. على سبيل المثال:

{
  "name": "My extension",
  ...
  "permissions": [
    "proxy"
  ],
  ...
}

العناصر والخصائص

يتم تحديد إعدادات الخادم الوكيل في عنصر proxy.ProxyConfig. استنادًا إلى إعدادات الخادم الوكيل في Chrome، قد تحتوي الإعدادات على proxy.ProxyRules أو proxy.PacScript.

أوضاع الخادم الوكيل

تحدّد السمة mode لكائن ProxyConfig السلوك العام لمتصفّح Chrome في ما يتعلق باستخدام الخادم الوكيل. ويمكن أن يتضمّن القيم التالية:

direct
في وضع "direct"، يتم إنشاء جميع الاتصالات مباشرةً بدون استخدام أي خادم وكيل. لا يسمح هذا الوضع بأي مَعلمات أخرى في عنصر ProxyConfig.
auto_detect
في وضع "auto_detect"، يتم تحديد إعدادات الخادم الوكيل من خلال نص برمجي لملف PAC يمكن تنزيله من http://wpad/wpad.dat. لا يسمح هذا الوضع بإضافة أي مَعلمات أخرى في عنصر ProxyConfig.
pac_script
في وضع pac_script، يتم تحديد إعدادات الخادم الوكيل من خلال نص PAC البرمجي الذي يتم استرداده من عنوان URL المحدّد في عنصر proxy.PacScript أو يتم أخذه حرفيًا من عنصر data المحدّد في عنصر proxy.PacScript. بالإضافة إلى ذلك، لا يسمح هذا الوضع بمَعلمات أخرى في العنصر ProxyConfig.
fixed_servers
في وضع fixed_servers، يتم ترميز إعدادات الخادم الوكيل في عنصر proxy.ProxyRules. ويتم وصف بنيتها في قواعد الخادم الوكيل. بالإضافة إلى ذلك، لا يسمح وضع fixed_servers باستخدام أي مَعلمات أخرى في عنصر ProxyConfig.
system
في وضع "system"، يتم الحصول على إعدادات الخادم الوكيل من نظام التشغيل. لا يسمح هذا الوضع بإضافة أي مَعلمات أخرى في عنصر ProxyConfig. يُرجى العِلم أنّ وضع "system" يختلف عن عدم ضبط إعدادات الخادم الوكيل. في الحالة الأخيرة، يعود Chrome إلى إعدادات النظام فقط في حال عدم تأثير خيارات سطر الأوامر في إعدادات الخادم الوكيل.

قواعد الخادم الوكيل

يمكن أن يحتوي عنصر proxy.ProxyRules على السمة singleProxy أو مجموعة فرعية من proxyForHttp وproxyForHttps وproxyForFtp وfallbackProxy.

في الحالة الأولى، يتم توجيه حركة بيانات HTTP وHTTPS وFTP من خلال الخادم الوكيل المحدّد. ويتم إرسال الزيارات الأخرى مباشرةً. في الحالة الأخيرة، يكون السلوك أكثر دقة: إذا تم ضبط خادم وكيل لبروتوكول HTTP أو HTTPS أو FTP، يتم توجيه حركة البيانات المعنية من خلال الخادم المحدّد. في حال عدم تحديد خادم وكيل أو إذا كانت حركة البيانات تستخدم بروتوكولاً مختلفًا عن HTTP أو HTTPS أو FTP، يتم استخدام fallbackProxy. إذا لم يتم تحديد fallbackProxy، يتم إرسال الزيارات مباشرةً بدون خادم وكيل.

عناصر الخادم الوكيل

يتم ضبط خادم وكيل في عنصر proxy.ProxyServer. يستخدم الاتصال بالخادم الوكيل (المحدّد من خلال السمة host) البروتوكول المحدّد في السمة scheme. إذا لم يتم تحديد سمة scheme، يتم ضبط اتصال الخادم الوكيل تلقائيًا على http.

إذا لم يتم تحديد السمة port في عنصر proxy.ProxyServer، يتم اشتقاق المنفذ من المخطط. المنافذ التلقائية هي:

المخططالمنفذ
http80
https443
socks41080
socks51080

القائمة المسموح لها بتخطّي القيود

يمكن استبعاد خوادم فردية من استخدام الخادم الوكيل مع bypassList. قد تحتوي هذه القائمة على الإدخالات التالية:

[SCHEME://]HOST_PATTERN[:PORT]

مطابقة جميع أسماء المضيفين التي تطابق النمط HOST_PATTERN يتم تفسير علامة "." في بداية السلسلة على أنّها "*.".

أمثلة: "foobar.com", "*foobar.com", "*.foobar.com", "*foobar.com:99", "https://x.*.y.com:99".

نمطأعواد ثقابلا يطابق
".foobar.com""www.foobar.com""foobar.com"
"*.foobar.com""www.foobar.com""foobar.com"
"foobar.com""foobar.com""www.foobar.com"
"*foobar.com"‫"foobar.com"، "www.foobar.com"، "foofoobar.com"
[SCHEME://]IP_LITERAL[:PORT]

مطابقة عناوين URL التي تكون قيمًا ثابتة لعنوان IP من الناحية النظرية، يشبه هذا الحالة الأولى، ولكن مع حالات خاصة للتعامل مع تحديد عنوان URL الأساسي لعنوان IP. على سبيل المثال، المطابقة على "[0:0:0::1]" هي نفسها المطابقة على "[::1]" لأنّ عملية تحديد عنوان URL الأساسي للإصدار السادس من بروتوكول الإنترنت (IPv6) تتم داخليًا.

أمثلة: 127.0.1، [0:0::1]، [::1]:80، https://[::1]:443

IP_LITERAL/PREFIX_LENGTH_IN_BITS

مطابقة أي عنوان URL يحتوي على عنوان IP حرفي (IP_LITERAL) ضمن النطاق المحدّد يتم تحديد نطاق IP ‏ (PREFIX_LENGTH_IN_BITS) باستخدام تدوين CIDR.

مطابقة أي عنوان URL يحتوي على عنوان IP حرفي ضمن النطاق المحدّد يتم تحديد نطاق IP باستخدام ترميز CIDR. أمثلة: "192.168.1.1/16", "fefe:13::abc/33"

<local>

تتطابق السلسلة الحرفية <local> مع أسماء المضيفين البسيطة. اسم المضيف البسيط هو اسم لا يحتوي على نقاط وليس عنوان IP حرفيًا. على سبيل المثال، example وlocalhost هما اسما مضيف بسيطَين، بينما example.com وexample. و[::1] ليسا كذلك.

مثلاً: "<local>"

أمثلة

يضبط الرمز التالي خادمًا وكيلاً SOCKS 5 لاتصالات HTTP بجميع الخوادم باستثناء foobar.com ويستخدم اتصالات مباشرة لجميع البروتوكولات الأخرى. تنطبق الإعدادات على النوافذ العادية ونوافذ التصفّح المتخفي، لأنّ نوافذ التصفّح المتخفي تكتسب الإعدادات من النوافذ العادية. يُرجى أيضًا الرجوع إلى مستندات Types API.

var config = {
  mode: "fixed_servers",
  rules: {
    proxyForHttp: {
      scheme: "socks5",
      host: "1.2.3.4"
    },
    bypassList: ["foobar.com"]
  }
};
chrome.proxy.settings.set(
  {value: config, scope: 'regular'},
  function() {}
);

يضبط الرمز التالي نص PAC مخصّصًا.

var config = {
  mode: "pac_script",
  pacScript: {
    data: "function FindProxyForURL(url, host) {\n" +
          "  if (host == 'foobar.com')\n" +
          "    return 'PROXY blackhole:80';\n" +
          "  return 'DIRECT';\n" +
          "}"
  }
};
chrome.proxy.settings.set(
  {value: config, scope: 'regular'},
  function() {}
);

يستعلم المقتطف التالي عن إعدادات الخادم الوكيل السارية حاليًا. يمكن تحديد إعدادات الخادم الوكيل الفعّالة من خلال إضافة أخرى أو سياسة. لمزيد من التفاصيل، يُرجى الاطّلاع على مستندات Types API.

chrome.proxy.settings.get(
  {'incognito': false},
  function(config) {
    console.log(JSON.stringify(config));
  }
);

يُرجى العِلم أنّ عنصر value الذي تم تمريره إلى set() ليس مطابقًا لعنصر value الذي تم تمريره إلى دالّة رد الاتصال في get(). سيحتوي الأخير على عنصر rules.proxyForHttp.port.

الأنواع

Mode

الإصدار 54 من Chrome أو الإصدارات الأحدث

Enum

"direct"

"auto_detect"

"pac_script"

"fixed_servers"

"system"

PacScript

عنصر يحتوي على معلومات الإعداد التلقائي للخادم الوكيل يجب أن يكون حقل واحد بالضبط غير فارغ.

الخصائص

  • البيانات

    string اختياري

    نص برمجي لملف PAC

  • إلزامي

    قيمة منطقية اختيارية

    في حال ضبط السياسة على "صحيح"، سيمنع نص PAC البرمجي غير الصالح حزمة الشبكات من الرجوع إلى الاتصالات المباشرة. الخيار التلقائي هو "خطأ".

  • url

    string اختياري

    عنوان URL لملف PAC المطلوب استخدامه

ProxyConfig

عنصر يضمّ إعدادات الخادم الوكيل بالكامل

الخصائص

  • الوضع

    ‫"direct" = عدم استخدام خادم وكيل مطلقًا ‫"auto_detect" = اكتشاف إعدادات الخادم الوكيل تلقائيًا ‫"pac_script" = استخدام نص PAC البرمجي المحدّد ‫"fixed_servers" = تحديد الخوادم الوكيلة يدويًا ‫"system" = استخدام إعدادات الخادم الوكيل للنظام

  • pacScript

    PacScript اختياري

    النص البرمجي للإعداد التلقائي للخادم الوكيل (PAC) لهذا الإعداد. يُستخدم هذا الخيار لوضع "pac_script".

  • القواعد

    ProxyRules اختياري

    قواعد الخادم الوكيل التي تصف هذه الإعدادات يُستخدم هذا الإعداد لوضع fixed_servers.

ProxyRules

عنصر يغلّف مجموعة قواعد الخادم الوكيل لجميع البروتوكولات. استخدِم إما "singleProxy" أو (مجموعة فرعية من) "proxyForHttp" و"proxyForHttps" و"proxyForFtp" و"fallbackProxy".

الخصائص

  • bypassList

    string[] اختياري

    قائمة بالخوادم التي يمكن الاتصال بها بدون خادم وكيل

  • fallbackProxy

    ProxyServer اختيارية

    الخادم الوكيل الذي سيتم استخدامه لكل شيء آخر أو في حال عدم تحديد أي من الخوادم الوكيلة المحدّدة...

  • proxyForFtp

    ProxyServer اختيارية

    الخادم الوكيل الذي سيتم استخدامه لطلبات بروتوكول نقل الملفات (FTP).

  • proxyForHttp

    ProxyServer اختيارية

    الخادم الوكيل الذي سيتم استخدامه لطلبات HTTP

  • proxyForHttps

    ProxyServer اختيارية

    الخادم الوكيل الذي سيتم استخدامه لطلبات HTTPS

  • singleProxy

    ProxyServer اختيارية

    الخادم الوكيل الذي سيتم استخدامه لجميع الطلبات لكل عنوان URL (أي http وhttps وftp).

ProxyServer

عنصر يغلّف مواصفات خادم وكيل واحد.

الخصائص

  • مضيف

    سلسلة

    اسم المضيف أو عنوان IP للخادم الوكيل يجب أن تكون أسماء المضيفين بتنسيق ASCII (بتنسيق Punycode). لا تتوفّر ميزة IDNA بعد.

  • المنفذ

    number اختيارية

    منفذ الخادم الوكيل يتم ضبطه تلقائيًا على منفذ يعتمد على المخطط.

  • المخطط

    Scheme اختياري

    مخطط (بروتوكول) الخادم الوكيل نفسه القيمة التلقائية هي http.

Scheme

الإصدار 54 من Chrome أو الإصدارات الأحدث

Enum

"http"

"https"

"quic"

"socks4"

"socks5"

الخصائص

settings

إعدادات الخادم الوكيل التي سيتم استخدامها قيمة هذا الإعداد هي عنصر ProxyConfig.

الفعاليات

onProxyError

chrome.proxy.onProxyError.addListener(
  callback: function,
)

يتم إرسال إشعارات بشأن أخطاء الخادم الوكيل.

المعلمات

  • callback

    دالة

    تظهر المَعلمة callback على النحو التالي:

    (details: object) => void

    • التفاصيل

      عنصر

      • التفاصيل

        سلسلة

        تفاصيل إضافية حول الخطأ، مثل خطأ أثناء تشغيل JavaScript

      • خطأ

        سلسلة

        وصف الخطأ

      • fatal

        قيمة منطقية

        إذا كانت القيمة "صحيح"، يعني ذلك أنّ الخطأ كان فادحًا وتم إلغاء معاملة الشبكة. وإلا، سيتم استخدام اتصال مباشر بدلاً من ذلك.