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 الأساسي الحرفي لبروتوكول الإنترنت. على سبيل المثال، تتطابق القيمة "[0:0:0::1]" مع القيمة "[::1]" لأنّ عملية التحديد الأساسي لبروتوكول 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

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

تعداد

"direct"

"auto_detect"

"pac_script"

"fixed_servers"

"system"

PacScript

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

الخصائص

  • البيانات

    سلسلة اختيارية

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

  • إلزامي

    boolean اختياري

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

  • url

    سلسلة اختيارية

    عنوان 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 اختياري

    خادم الوكيل الذي سيتم استخدامه في كل ما عدا ذلك أو إذا لم يتم تحديد أي من الخوادم الوكيلة الخاصة proxyFor....

  • proxyForFtp

    ‫ProxyServer اختياري

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

  • proxyForHttp

    ‫ProxyServer اختياري

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

  • proxyForHttps

    ‫ProxyServer اختياري

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

  • singleProxy

    ‫ProxyServer اختياري

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

ProxyServer

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

الخصائص

  • مضيف

    سلسلة

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

  • المنفذ

    number اختياري

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

  • المخطط

    المخطط اختياري

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

Scheme

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

تعداد

"http"

"https"

"quic"

"socks4"

"socks5"

الخصائص

settings

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

الفعاليات

onProxyError

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

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

المعلمات

  • callback

    دالة

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

    (details: object) => void

    • التفاصيل

      عنصر

      • التفاصيل

        سلسلة

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

      • خطأ

        سلسلة

        تمثّل هذه السمة وصف الخطأ.

      • fatal

        قيمة منطقية

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