ئارخىپ ئالماشتۇرۇش ئۈچۈن بىر Chrome MV3 ۋاكالەتچى دەلىللەش ئاڭلىغۇچىسىنى تىزىملىتىڭ
Manifest V3 دەلىللەش ئاڭلىغۇچىسىنى قەرەللىك تىزىملىتىپ، ھادىسە قايتۇرۇش چاقىرىقى ئىچىدە نۆۋەتتىكى ۋاكالەتچى ھېساباتىنى ئوقۇڭ.
ۋاكالەتچى ئارخىپلىرىنى ئالماشتۇرۇش تاللانغان ھېساباتنى ئالماشتۇرۇشى كېرەك، يەنە بىر onAuthRequired ئاڭلىغۇچىسىنى قوشۇش ئەمەس. بولمىسا كونا closures ئىلگىرىكى تاللاشتىكى ھېسابات بىلەن جاۋاب بېرىشنى داۋاملاشتۇرۇشى مۇمكىن.
مۇلازىمەت خىزمەتچىسىنىڭ ئەڭ ئۈستى قاتلىمىدا بىر ئىسىملىك ئاڭلىغۇچىنى تىزىملىتىڭ. ھادىسە كەلگەندە نۆۋەتتىكى ھېساباتنى ئوقۇڭ:
function answerProxyChallenge(details, reply) {
if (!details.isProxy) {
reply({});
return;
}
chrome.storage.session.get('selectedProxy').then(({selectedProxy: p}) => {
if (!p || details.challenger.host !== p.host ||
details.challenger.port !== p.port) {
reply({});
return;
}
reply({authCredentials: {username: p.username, password: p.password}});
}).catch(() => reply({cancel: true}));
}
chrome.webRequest.onAuthRequired.addListener(
answerProxyChallenge,
{urls: ['<all_urls>']},
['asyncBlocking'],
);بۇ پارچە كېڭەيتىشنىڭ تاللانغان HTTP ۋاكالەتچىسىنى ئاللىبۇرۇن selectedProxy ئاستىدا، سانلىق پورت ۋە مەقسەت قىلىنغان ھېساباتى بىلەن ساقلايدىغانلىقىنى پەرەز قىلىدۇ. Manifest ئۈچۈن webRequest، webRequestAuthProvider، storage ۋە زۆرۈر host رۇخسەتلىرى كېرەك. ۋاكالەتچى تاللاشنىڭ ئۆزىگىمۇ proxy رۇخسىتى كېرەك.
تىزىملىتىش قەرەللىك يۈز بېرىدۇ. ساقلاش ئامبىرى قايتۇرۇش چاقىرىقى ئىچىدە، Chrome نىڭ يوللاش ئۈچۈن قۇرۇلغان ئاڭلىغۇچىسى بولغاندىن كېيىن ئوقۇلىدۇ. پەقەت دەسلەپكى storage ۋەدىسى ھەل بولغاندىن كېيىن تىزىملىتىش ئويغىنىش بوشلۇقىنى پەيدا قىلىدۇ.
تارقىتىشتىن بۇرۇن رەت قىلىش چېكىنى قوشۇڭ
بۇ پارچە تىزىملىتىش ۋە ھېسابات تاللاشنى كۆرسىتىدۇ. رەت قىلىنغان پارولنىڭ چەكسىز يوللانماسلىقى ئۈچۈن ھەر بىر تەلەپكە چەكلىك قايتا سىناش خاتىرىسىنى قوشۇڭ. ئۇ خاتىرىنى تاماملانغاندا ياكى مەغلۇپ بولغاندا تازىلاڭ. خىزمەتچى توختىغاندا worker globals يوقاپ كېتىشى مۇمكىن، شۇڭا ئويغىنىشلار ئارىسىدا كېرەكلىك ھالەتنى مۇناسىپ كېڭەيتىش ساقلاش رايونىدا ساقلاڭ.
storage.session توركۆرگۈ سەيشەنبىسى ئىچىدە خىزمەتچىنىڭ قايتا قوزغىلىشىغا بەرداشلىق بېرىدۇ؛ ئۇ توركۆرگۈ قايتا قوزغىلىشلىرى ئارىسىدا دائىمىي ھېسابات ساقلاش ئامبىرى ئەمەس. تاللانغان ھېسابات يوق چاغدا كېڭەيتىشنىڭ نېمە قىلىدىغانلىقىنى بېكىتىڭ.
isProxy ۋە challenger تەكشۈرۈشلىرى مۇناسىۋەتسىز تور بېكەت سىناقىنىڭ بۇ ھېساباتنى ئېلىشىنى توسىدۇ. ئەگەر توركۆرگۈ ھادىسىنى ھەرگىز يوللىمىسا، پەقەت ئاڭلىغۇچىنى تازىلاش ئۇنى ھاسىل قىلالمايدۇ: ھەقىقىي تەلەپ، رۇخسەتلەر ۋە توركۆرگۈ ھەرىكىتىنى ئايرىم تەكشۈرۈڭ.