الوصف
استخدِم واجهة برمجة التطبيقات chrome.proxy
لإدارة إعدادات الخادم الوكيل في Chrome. تعتمد واجهة برمجة التطبيقات هذه على النموذج الأولي لإعداد Chromeإعداد لنوع واجهة برمجة التطبيقات للحصول على ضبط الخادم الوكيل وإعداده.
الأذونات
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 وبروتوكول نقل الملفات من خلال الخادم الوكيل المحدد. يتم إرسال زيارات أخرى مباشرة. في الحالة الثانية، يكون السلوك أكثر دقة إلى حد ما: في حال ضبط خادم وكيل من أجل HTTP أو HTTPS أو FTP، يتم إنشاء خادم وكيل لحركة المرور المعنية من خلال الخادم المحدّد. إذا لم يتم تحديد مثل هذا الخادم الوكيل أو كانت حركة البيانات تستخدم بروتوكولاً مختلفًا عن HTTP أو HTTPS أو FTP، يتم استخدام fallbackProxy
. إذا لم يتم تحديد fallbackProxy
، يتم إرسال عدد الزيارات مباشرةً بدون خادم وكيل.
كائنات الخادم الوكيل
تم ضبط خادم وكيل في عنصر proxy.ProxyServer
. عند الاتصال بالخادم الوكيل، يتم استخدام البروتوكول المحدَّد في السمة scheme
(الذي تحدّده السمة host
). إذا لم يتم تحديد
scheme
، يتم ضبط اتصال الخادم الوكيل تلقائيًا على http
.
في حال عدم تحديد port
في عنصر proxy.ProxyServer
، يتم اشتقاق المنفذ من المخطط.
المنافذ التلقائية هي:
المخطط | المنفذ |
---|---|
http | 80 |
https | 443 |
socks4 | 1080 |
socks5 | 1080 |
قائمة الاستثناءات
قد يتم استبعاد خوادم فردية من إنشاء خادم وكيل باستخدام 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. من الناحية النظرية، يتشابه هذا الأمر مع الحالة الأولى، ولكن في حالات خاصة للتعامل مع تحديد عنوان IP الأساسي الحرفي. على سبيل المثال، تكون المطابقة على "[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
التعداد
"auto_detect"
"pac_script"
"fixed_servers"
"system"
PacScript
عنصر يتضمن معلومات الإعداد التلقائي للخادم الوكيل. يجب أن يكون أحد الحقول غير فارغ.
أماكن إقامة
-
البيانات
سلسلة اختيارية
نص برمجي PAC
-
إلزامي
منطقية اختيارية
في حال ضبط هذه السياسة على "صحيح"، سيمنع نص برمجي 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
سلسلة[] اختيارية
قائمة بالخوادم المطلوب الاتصال بها بدون خادم وكيل.
-
fallbackProxy
ProxyServer اختياري
الخادم الوكيل الذي سيتم استخدامه في أي شيء آخر أو في حال عدم تحديد أي خادم وكيل تابع محدد...
-
proxyForFtp
ProxyServer اختياري
الخادم الوكيل المراد استخدامه لطلبات بروتوكول نقل الملفات (FTP).
-
proxyForHttp
ProxyServer اختياري
الخادم الوكيل المراد استخدامه لطلبات HTTP.
-
proxyForHttps
ProxyServer اختياري
الخادم الوكيل الذي سيتم استخدامه لطلبات HTTPS
-
singleProxy
ProxyServer اختياري
الخادم الوكيل المراد استخدامه لجميع الطلبات لكل عنوان URL (أي http وhttps وftp).
ProxyServer
كائن يغلف مواصفات خادم وكيل واحد.
أماكن إقامة
-
مضيف
سلسلة
اسم المضيف أو عنوان IP للخادم الوكيل. يجب أن تكون أسماء المضيفين بتنسيق ASCII (بتنسيق Punycode). إنّ معرّف الهوية الشخصية (IDNA) غير متاح حتى الآن.
-
المنفذ
الرقم اختياري
منفذ الخادم الوكيل ويتم تعيينها تلقائيًا على منفذ يعتمد على المخطط.
-
المخطط
المخطط اختياري
مخطط (البروتوكول) للخادم الوكيل نفسه. يكون الإعداد التلقائي هو "http".
Scheme
التعداد
"http"
"https"
"quic"
"socks4"
"socks5"
أماكن إقامة
settings
إعدادات الخادم الوكيل التي سيتم استخدامها. وتكون قيمة هذا الإعداد كائن ProxyConfig.
النوع
فعاليات
onProxyError
chrome.proxy.onProxyError.addListener(
callback: function,
)
إرسال إشعار بشأن أخطاء الخادم الوكيل
المَعلمات
-
معاودة الاتصال
الوظيفة
تبدو معلَمة
callback
على النحو التالي:(details: object) => void
-
التفاصيل
كائن
-
التفاصيل
سلسلة
تفاصيل إضافية حول الخطأ، مثل خطأ وقت تشغيل JavaScript.
-
خطأ
سلسلة
وصف الخطأ
-
fatal
boolean
إذا كانت القيمة صحيحة، يعني هذا أنّ الخطأ كان خطيرًا وتم إلغاء معاملة الشبكة. وفي حال عدم وجودها، يتم استخدام اتصال مباشر بدلاً من ذلك.
-
-