เบกเบนเบ™เบ™เบดเบ—เบด Open Source เป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเบชเปˆเบงเบ™เป€เบชเบตเบกเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš JShelter เป€เบžเบทเปˆเบญเบˆเปเบฒเบเบฑเบ” JavaScript API

เบกเบนเบ™เบ™เบดเบ—เบดเบŠเบญเบšเปเบงเบŸเบฃเบตเป„เบ”เป‰เบ™เปเบฒเบชเบฐเป€เบซเบ™เบตเป‚เบ„เบ‡เบเบฒเบ™ JShelter, เป€เบŠเบดเปˆเบ‡เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ‚เบญเบ‡ add-on เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เป„เบžเบ‚เบปเปˆเบกเบ‚เบนเปˆเบ—เบตเปˆเป€เบเบตเบ”เบ‚เบทเป‰เบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ JavaScript เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒ, เบฅเบงเบกเบ—เบฑเบ‡เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰, เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปเบฅเบฐเบเบฒเบ™เบชเบฐเบชเบปเบกเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบœเบนเป‰เปƒเบŠเป‰. เบฅเบฐเบซเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” GPLv3. เบชเปˆเบงเบ™เป€เบชเบตเบกเปเบกเปˆเบ™เบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบš Firefox, Google Chrome, Opera, Brave, Microsoft Edge เปเบฅเบฐเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบญเบทเปˆเบ™เป†เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ Chromium.

เป‚เบ„เบ‡โ€‹เบเบฒเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบžเบฑเบ”โ€‹เบ—เบฐโ€‹เบ™เบฒโ€‹เป€เบ›เบฑเบ™โ€‹เบเบฒเบ™โ€‹เบฅเบดโ€‹เป€เบฅเบตเปˆเบกโ€‹เบฎเปˆเบงเบกโ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบ—เบถเบ™โ€‹เบˆเบฒเบ NLnet Foundation. Giorgio Maone, เบœเบนเป‰เบชเป‰เบฒเบ‡ NoScript add-on, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบœเบนเป‰เบเปเปˆเบ•เบฑเป‰เบ‡เป‚เบ„เบ‡เบเบฒเบ™ J++ เปเบฅเบฐเบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡ JS-Shield เปเบฅเบฐ JavaScript Restrictor add-ons, เบเบฑเบ‡เป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบญเบ‡ JShelter. เบชเปˆเบงเบ™เป€เบชเบตเบก JavaScript Restrictor เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เปƒเบซเบกเปˆ.

JShelter เบชเบฒเบกเบฒเบ”เบ„เบดเบ”เบงเปˆเบฒเป€เบ›เบฑเบ™เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ firewall เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบฅเปเบเบฅเบก JavaScript เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเปเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป€เบงเบฑเบš. เปเบญเบ”เบญเบญเบ™เปƒเบซเป‰เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบชเบตเปˆเบฅเบฐเบ”เบฑเบš, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ API. เบฅเบฐเบ”เบฑเบšเบชเบนเบ™เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ APIs เบ—เบฑเบ‡เบซเบกเบปเบ”, เบ—เปเบฒเบญเบดเบ”เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เบซเบ™เป‰เบญเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบšเปเปˆเบฅเบปเบšเบเบงเบ™เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡เบซเบ™เป‰เบฒเป€เบงเบฑเบš, เบ„เบงเบฒเบกเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบฅเบฐเบ”เบฑเบšเบ—เบตเบชเบญเบ‡เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เปเบฅเบฐเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰, เปเบฅเบฐเบฅเบฐเบ”เบฑเบšเบ—เบตเปˆเบชเบตเปˆเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เบขเปˆเบฒเบ‡เป€เบ‚เบฑเป‰เบกเบ‡เบงเบ”เบ‚เบญเบ‡เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบšเบฅเบฑเบญเบ API เบชเบฒเบกเบฒเบ”เบœเบนเบเบกเบฑเบ”เบเบฑเบšเปเบ•เปˆเบฅเบฐเป€เบงเบฑเบšเป„เบŠเป„เบ”เป‰, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเป€เบ‚เบฑเป‰เบกเปเบ‚เบ‡เบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒ, เปเบฅเบฐเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™. เบ™เบญเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเป€เบญเบปเบฒเบšเบฒเบ‡เบงเบดเบ—เบต JavaScript, เบงเบฑเบ”เบ–เบธ, เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”, เปเบฅเบฐเบซเบ™เป‰เบฒเบ—เบตเปˆ, เบซเบผเบทเบ›เปˆเบฝเบ™เบ„เปˆเบฒเบเบฑเบšเบ„เบทเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเบฐเบฅเบดเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบšเบปเบš). เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบกเปˆเบ™เป‚เบซเบกเบ” NBS (Network boundary shield) เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบซเบ™เป‰เบฒเป€เบงเบฑเบšเปƒเบŠเป‰เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบเปเบฅเบฐเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™ (เบ—เบธเบเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบฒเบญเบญเบเบˆเบฐเบ–เบทเบเบชเบฐเบเบฑเบ”เปเบฅเบฐเบงเบดเป€เบ„เบฒเบฐ).

API เบ—เบตเปˆเบ–เบทเบเบšเบฅเบฑเบญเบ เบซเบผเบทเบˆเบณเบเบฑเบ”:

  • window.Date, window.performance.now(), window.PerformanceEntry, Event.prototype.timeStamp, Gamepad.prototype.timestamp เปเบฅเบฐ VRFrameData.prototype.timestamp - เบœเบปเบ™เบœเบฐเบฅเบดเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบŠเปˆเบญเบ‡เบ‚เป‰เบฒเบ‡. .
  • HTMLCanvasElement (canvas.toDataURL(), canvas.toBlob(), CanvasRenderingContext2D.getImageData, OffscreenCanvas.convertToBlob()) - เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบฅเบฑเบเบชเบฐเบ™เบฐเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบเบฃเบฒเบšเบŸเบดเบเปƒเบ™เป€เบงเบฅเบฒเบเปเบฒเบ™เบปเบ”เบœเบนเป‰เปƒเบŠเป‰.
  • Audiobuffer เปเบฅเบฐ Audiobuffer.getchuffeda.gatchannewerela (), Audiobuffer.copyfcromance (), orgsernode.getDorfloatTaTa (), .
  • WebGLRenderingContext - เบเบฒเบ™เบฅเบฐเบšเบธเบ•เบปเบงเบ•เบปเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบฅเบฑเบเบชเบฐเบ™เบฐเบ•เปˆเบฒเบ‡เป†เบ‚เบญเบ‡เบเบฒเบŸเบดเบเปเบฅเบฐ GPU.
  • MediaDevices.prototype.enumerateDevices - เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปเบฅเบฐเบŠเบทเปˆเบ‚เบญเบ‡เบเป‰เบญเบ‡เบ–เปˆเบฒเบเบฎเบนเบšเปเบฅเบฐเป„เบกเป‚เบ„เป‚เบŸเบ™.
  • navigator.deviceMemory, navigator.hardwareConcurrency - เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบฎเบฒเบ”เปเบง.
  • XMLHttpRequest (XHR) - เป‚เบญเบ™เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเป€เบเบฑเบšเบเปเบฒเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบเบซเบผเบฑเบ‡เบˆเบฒเบเบซเบ™เป‰เบฒเบ–เบทเบเป‚เบซเบฅเบ”.
  • ArrayBuffer - เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบต microarchitectural Spectre.
  • WebWorker (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™.
  • Geolocation API (navigator.geolocation) - เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆ (เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบšเบดเบ”เป€เบšเบทเบญเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบชเบปเปˆเบ‡เบ„เบทเบ™).
  • Gamepad API (navigator.getGamepads()) เปเบกเปˆเบ™เปœเบถเปˆเบ‡เปƒเบ™เบชเบฑเบ™เบเบฒเบ™เบเบฒเบ™เบฅเบฐเบšเบธเบ•เบปเบงเบ•เบปเบ™เบ—เบตเปˆเบ„เบณเบ™เบถเบ‡เป€เบ–เบดเบ‡เบเบฒเบ™เบ›เบฐเบเบปเบ”เบ•เบปเบงเบ‚เบญเบ‡ gamepad เปƒเบ™เบฅเบฐเบšเบปเบš.
  • Virtual Reality API, Mixed Reality API - เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡ virtual เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”.
  • window.name - เบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ‚เป‰เบฒเบกเป€เบงเบฑเบšเป„เบŠเบ—เปŒ.
  • navigator.sendBeacon - เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเป€เบงเบฑเบš.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™