Barnaamijyada Electron ee hadda, sii WebContentsView kasta oo akoon ku xiran fadhi u gaar ah oo magac leh. Marka barnaamijku diyaar noqdo, kaaliye async ah oo ku jira habka ugu weyn ayaa habayn kara hal muqaal:

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();
});

Bixi partitionName gooni ah akoon kasta oo go'doonsan oo hay dhaqdhaqaaqyada dhageystaha closure-ka muqaalkaas. Magac aan lahayn persist: wuxuu abuuraa fadhi xusuusta ku jirta. Isticmaalka isla qaybta si ula kac ah ayaa dib u isticmaala xaaladda fadhiyeedkeeda.

Ku xidh muqaalka daaqadda jirta oo socodsiiso kaliya marka proxy iyo maamulihiisu diyaar yihiin. Koodhku wuxuu bartilmaameedsadaa heshiiska dhacdada login ee hadda, oo ay ku jirto firstAuthAttempt, wuxuuna joojinayaa isku day dib loo diiday halkii uu si aan dhammaad lahayn dib ugu soo diri lahaa isla akoonka.

Maamuluhu wuxuu hubiyaa in caqabadku ka timid Basic HTTP proxy la qorsheeyay. Gelitaanka website-ka ma qalmo aqoonsigaas.

Xeerarka proxy waxay doortaan barta ugu dambeysa; login wuxuu bixiyaa akoonka. Faylasha PAC iyo xeerarka proxy gacanta lagu sameeyay laftoodu ma qaadaan password-ka callback-kan.

Kani waa xaqiijinta proxy HTTP. Ma ku daro xaqiijinta SOCKS5 Chromium. Xiriirada fadhiga jira sidoo kale waxay u baahan yihiin maareynta wareegga nolosha caadiga ah marka marinka dambe la beddelo.

Maqaallo la xiriira