A cikin aikace-aikacen Electron na yanzu, ba kowane WebContentsView da ya haɗa da asusu nasa zaman mai suna. Bayan aikace-aikacen ya shirya, mataimaki async a babban tsari zai iya saita fili ɗaya:

const routeSession = session.fromPartition(partitionName);
await routeSession.setProxy({
  mode: 'fixed_servers',
  proxyRules: `http://${proxyHost}:${proxyPort}`,
});
const view = new WebContentsView({
  webPreferences: { session: routeSession },
});
view.webContents.on('login', (event, details, authInfo, callback) => {
  if (!authInfo.isProxy
      || authInfo.scheme.toLowerCase() !== 'basic'
      || authInfo.host !== proxyHost
      || authInfo.port !== proxyPort) return;
  event.preventDefault();
  if (details.firstAuthAttempt) callback(proxyUser, proxyPassword);
  else callback();
});

Ba da partitionName dabam ga kowane asusu da aka keɓe kuma riƙe masu sauraro a cikin closure na wannan filin. Suna ba tare da persist: yana ƙirƙirar zaman cikin ƙwaƙwalwa. Sake amfani da wannan yanki yana sake amfani da yanayin zaman sa da gangan.

Haɗa filin zuwa taga da ke akwai kuma yi tuƙi ne kawai bayan wakilinsa da mai sarrafawa sun shirya. Lambar tana bin kwangilar taron login na yanzu, gami da firstAuthAttempt, kuma tana soke yunƙurin maimaita da aka ƙi maimakon sake tura asusun guda ba iyaka.

Mai sarrafawa yana tabbatar da cewa ƙalubalen ya fito daga Basic HTTP wakilin da aka yi niyya. Shiga gidan yanar gizo bai cancanci waɗannan bayanan ba.

Dokokin wakili suna zaɓar wurin ƙarshe; login yana ba da asusun. Fayilolin PAC da dokokin wakili na hannu ba sa ɗauke da kalmar sirrin wannan callback da kansu.

Wannan tabbacin wakilin HTTP ne. Ba ya ƙara tabbacin SOCKS5 ga Chromium. Hanyoyin zaman da ke akwai su ma suna buƙatar yadda aka saba kula da rayuwarsu idan an canza hanya daga baya.

Labarai masu alaƙa