Electron စက်ရှင်တစ်ခုအတွက် SOCKS5 ပရောက်စီ ပြင်ဆင်ခြင်း
ဝင်းဒိုးမဖန်တီးမီ သီးသန့် Electron စက်ရှင်တစ်ခုကို ပြင်ဆင်ပြီး ပြန်လည်အသုံးပြုသော ချိတ်ဆက်မှုများနှင့် SOCKS အတည်ပြုခြင်း ကန့်သတ်ချက်များကို ထည့်သွင်းစဉ်းစားပါ။
Electron အက်ပလီကေးရှင်း အသင့်ဖြစ်သည့်အဆင့်ပြီးနောက် ဝင်းဒိုးအမှန်တကယ်အသုံးပြုမည့် စက်ရှင်ကို ပြင်ဆင်ပါ:
const proxySession = session.fromPartition('persist:proxy-work');
await proxySession.setProxy({
mode: 'fixed_servers',
proxyRules: 'socks5://127.0.0.1:1080'
});
const window = new BrowserWindow({
webPreferences: { session: proxySession }
});အက်ပလီကေးရှင်း၏ ရှိပြီးသား import/ဘဝသံသရာကို အသုံးပြုပါ။ ဤဝင်းဒိုး၏ တောင်းဆိုမှုများသည် proxySession ကို အသုံးပြုသည်; မည်သည့် Node ကလိုင်းနှင့် အခြားအပိုင်းများကမှ ၎င်းကို အမွေမခံပါ။ ခွင့်ပြုထားသော အများသုံးကြည့်ရှုခြင်းအတွက် SOCKS5 ပရောက်စီစာရင်း သည် ကိုယ်စားလှယ်လောင်း endpoint များကို ပေးသည်; Chromium ပံ့ပိုးသော လမ်းကြောင်းအတွက် SOCKS အကောင့်မလိုအပ်သည့် တစ်ခုကို ရွေးပါ။
အသုံးပြုပြီးသား စက်ရှင်အတွက် စုစည်းထားသော ချိတ်ဆက်မှုများကို ဘာလုပ်မည်ကို ဆုံးဖြတ်ပါ။ Electron သည် လမ်းကြောင်းဟောင်း ကျန်နေနိုင်သည့်နေရာတွင် closeAllConnections() ကို မှတ်တမ်းတင်သည်; ၎င်းကို ခေါ်ခြင်းသည် လုပ်ဆောင်နေသော အလုပ်ကို ရပ်တန့်စေနိုင်သည်။ ဆက်တင်မွမ်းမံခြင်းသည် ရှိပြီးသား socket များကို မရွှေ့ပါ။
ရွေးချယ်မှုကို စစ်ဆေးရန် အမှန်တကယ် URL တွင် resolveProxy ကို အသုံးပြုပါ။ ချိတ်ဆက်မှု/ထွက်ပေါက်ကို သီးခြားအတည်ပြုပြီး ရှောင်ကွင်းမှုများနှင့် သီးခြားပြင်ဆင်ထားသော စက်ရှင်များ အပါအဝင်။
Chromium ၏ SOCKS5 အကောင်အထည်ဖော်မှုတွင် SOCKS အတည်ပြုနည်းလမ်း ပံ့ပိုးမှု မရှိပါ။ HTTP လော့ဂ်အင် callback များနှင့် URL ထဲရှိ စကားဝှက်သည် ၎င်းကို မထည့်ပါ။ အထောက်အထား လိုအပ်သော ဝန်ဆောင်မှုအတွက် မျှဝေထားသော listener မှ အတည်ပြုခြင်းကို ဖယ်ရှားမည့်အစား မှတ်တမ်းတင်ထားသော လိုက်ဖက်သော အစီအစဉ်ကို အသုံးပြုပါ။