ื“ื™ ืขืคึฟืŸ ืžืงื•ืจ ื•ื•ื™ืงื™ืคึผืขื“ื™ืข ื™ื ื˜ืจืึธื•ื“ื•ืกื˜ ื“ื™ JShelter ื‘ืœืขื˜ืขืจืขืจ ืึทื“ื™ืฉืึทืŸ ืฆื• ื‘ืึทื’ืจืขื ืขืฆืŸ ื“ื™ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืึทืคึผื™

ื“ื™ ืคืจื™ื™ ื•ื•ื™ื™ื›ื•ื•ืืจื’ ื•ื•ื™ืงื™ืคึผืขื“ื™ืข ื™ื ื˜ืจืึธื•ื“ื•ืกื˜ ื“ื™ JShelter ืคึผืจื•ื™ืขืงื˜, ื•ื•ืึธืก ื“ืขื•ื•ืขืœืึธืคึผืก ืึท ื‘ืœืขื˜ืขืจืขืจ ืึทื“ื™ืฉืึทืŸ ืฆื• ื‘ืึทืฉื™ืฆืŸ ืงืขื’ืŸ ื˜ืจืขืฅ ื•ื•ืึธืก ืฉื˜ื™ื™ืขืŸ ื•ื•ืขืŸ ื ื™ืฆืŸ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืื•ื™ืฃ ื•ื•ืขื‘ืกื™ื˜ืขืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ ืคืึทืจื‘ืึธืจื’ืŸ ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข, ื˜ืจืึทืงื™ื ื’ ืžื•ื•ื•ืžืึทื ืฅ ืื•ืŸ ื“ื™ ืึทืงื™ื•ืžื™ืึทืœื™ื™ืฉืึทืŸ ืคื•ืŸ ื‘ืึทื ื™ืฆืขืจ ื“ืึทื˜ืŸ. ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืงืึธื“ ืื™ื– ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื•ื ื˜ืขืจ ื“ื™ GPLv3 ื“ืขืจืœื•ื™ื‘ืขื ื™ืฉ. ื“ืขืจ ืึทื“ื™ืฉืึทืŸ ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ ืคื™ืจืขืคืึธืงืก, Google ืงืจืึธื•ื, ืึธืคึผืขืจืึท, ื”ืขืœื“ื™ืฉ, Microsoft Edge ืื•ืŸ ืื ื“ืขืจืข ื‘ืจืึทื•ื–ืขืจื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ Chromium ืžืึธื˜ืึธืจ.

ื“ื™ ืคึผืจื•ื™ืขืงื˜ ืื™ื– ื“ืขื•ื•ืขืœืึธืคึผืขื“ ื•ื•ื™ ืึท ืฉืœืึธืก ืื™ื ื™ืฆื™ืื˜ื™ื•ื• ืคืึทื ื“ืึทื“ ื“ื•ืจืš ื“ื™ NLnet Foundation. Giorgio Maone, ื‘ืืฉืขืคืขืจ ืคื•ืŸ ื“ื™ NoScript ืึทื“ื™ืฉืึทืŸ, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ื’ืจื™ื ื“ืขืจืก ืคื•ืŸ ื“ื™ J ++ ืคึผืจื•ื™ืขืงื˜ ืื•ืŸ ื“ื™ ืžื—ื‘ืจื™ื ืคื•ืŸ ื“ื™ JS-Shield ืื•ืŸ JavaScript Restrictor ืึทื“ื™ืฉืึทื ื–, ื”ืึธื‘ืŸ ื–ื™ืš ืื•ื™ืš ืื™ื™ื ื’ืขืฉืจื™ื‘ืŸ ื“ื™ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’ ืคื•ืŸ JShelter. ื“ื™ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืจืขืกื˜ืจื™ืงื˜ืึธืจ ืึทื“ื™ืฉืึทืŸ ืื™ื– ื’ืขื ื™ืฆื˜ ื•ื•ื™ ื“ื™ ื™ืงืขืจ ืคึฟืึทืจ ื“ื™ ื ื™ื™ึทืข ืคึผืจื•ื™ืขืงื˜.

JShelter ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืจืขื›ื ื˜ ื•ื•ื™ ืึท ืžื™ืŸ ืคื•ืŸ ืคื™ื™ืจื•ื•ืึทืœ ืคึฟืึทืจ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ื‘ื ื™ืžืฆื ืฆื• ื•ื•ืขื‘ืกื™ื˜ืขืก ืื•ืŸ ื•ื•ืขื‘ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–. ื“ืขืจ ืึทื“ื™ืฉืึทืŸ ื’ื™ื˜ ืคื™ืจ ืฉื•ืฅ ืœืขื•ื•ืขืœืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืึท ืคืœืขืงืกืึทื‘ืึทืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืžืึธื“ืข ืคึฟืึทืจ ืึทืงืกืขืก ืฆื• ื“ื™ API. ื’ืœื™ื™ึทืš ื ื•ืœ ื’ืึธืจ ืึทืœืึทื•ื– ืึทืงืกืขืก ืฆื• ืึทืœืข ืึทืคึผื™ืก, ื“ืขืจ ืขืจืฉื˜ืขืจ ื™ื ืงืœื•ื“ื– ืžื™ื ื™ืžืึทืœ ื‘ืœืึทืงื™ื ื’ ื•ื•ืึธืก ื˜ื•ื˜ ื ื™ืฉื˜ ืฆืขืฉื˜ืขืจืŸ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืคื•ืŸ โ€‹โ€‹ื‘ืœืขื˜ืขืจ, ื“ื™ ืจื’ืข ืžื“ืจื’ื” ื‘ืึทืœืึทื ืกื˜ ืฆื•ื•ื™ืฉืŸ ื‘ืœืึทืงื™ื ื’ ืื•ืŸ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™, ืื•ืŸ ื“ืขืจ ืคืขืจื˜ ืฉื˜ืึทืคึผืœ ื›ื•ืœืœ ืฉื˜ืจืขื ื’ ื‘ืœืึทืงื™ื ื’ ืคื•ืŸ ืึทืœืฅ ื•ืžื ื™ื™ื˜ื™ืง.

ืึทืคึผื™ ื‘ืœืึทืงื™ื ื’ ืกืขื˜ื˜ื™ื ื’ืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื˜ื™ื™ื“ ืฆื• ื™ื—ื™ื“ ื–ื™ื™ื˜ืœืขืš, ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืฉื•ืฅ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขืฉื˜ืืจืงื˜ ืคึฟืึทืจ ืขื˜ืœืขื›ืข ื–ื™ื™ื˜ืœืขืš ืื•ืŸ ืคืึทืจืงืจื™ืคึผืœื˜ ืคึฟืึทืจ ืื ื“ืขืจืข. ืื™ืจ ืงืขื ืขืŸ ืื•ื™ืš ืกืึทืœืขืงื˜ื™ื•ื•ืœื™ ืคืึทืจืฉืคึผืึทืจืŸ ื–ื™ื›ืขืจ ื“ื–ืฉืึทื•ื•ืึทืกืงืจื™ืคึผื˜ ืžืขื˜ื”ืึธื“ืก, ืึทื‘ื“ื–ืฉืขืงืฅ, ืคึผืจืึธืคึผืขืจื˜ื™ืขืก ืื•ืŸ ืคืึทื ื’ืงืฉืึทื ื–, ืึธื“ืขืจ ื˜ื•ื™ืฉืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ื•ื•ืึทืœื•ืขืก (ืœืžืฉืœ, ืคึผืจืึธื“ื•ืฆื™ืจืŸ ืคืึทืœืฉ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื“ืขื ืกื™ืกื˜ืขื). ื ื‘ืึทื–ื•ื ื“ืขืจ ืฉื˜ืจื™ืš ืื™ื– ื“ื™ NBS (ื ืขื˜ื•ื•ืึธืจืง ื’ืจืขื ืขืฅ ืฉื™ืœื“) ืžืึธื“ืข, ื•ื•ืึธืก ื˜ื•ื˜ ื ื™ืฉื˜ ืœืึธื–ืŸ ื‘ืœืขื˜ืขืจ ืฆื• ื ื•ืฆืŸ ื“ืขื ื‘ืœืขื˜ืขืจืขืจ ื•ื•ื™ ืึท ืคึผืจืึทืงืกื™ ืฆื•ื•ื™ืฉืŸ ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืื•ืŸ ื”ื™ื’ืข ื ืขื˜ื•ื•ืึธืจืงืก (ืึทืœืข ืึทื•ื˜ื’ืึธื•ื™ื ื’ ืจื™ืงื•ื•ืขืก ื–ืขื ืขืŸ ื™ื ื˜ืขืจืกืขืคึผื˜ืึทื“ ืื•ืŸ ืึทื ืึทืœื™ื™ื–ื“).

ืืคื’ืขืฉื˜ืขืœื˜ ืึธื“ืขืจ ืœื™ืžื™ื˜ืขื“ ืึทืคึผื™ืก:

  • 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 ืื•ืŸ AnalyzerNode (AudioBuffer.getChannelData(), AudioBuffer.copyFromChannel(), AnalyserNode.getByteTimeDomainData(), AnalyserNode.getFloatTimeDomainData(), AnalyserNode.getByteFrequencyData() ืื•ืŸ AnalyserNode.getidentaFloat() ืึทื ืึทืœื™ื– ืคื•ืŸ ืึทื•ื“ื™ืึธ ืกื™ื’ื ืึทืœ.
  • WebGLRenderingContext - ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข ื“ื•ืจืš ืึทื ืึทืœื™ืกื™ืก ืคื•ืŸ ืคึฟืขื™ึดืงื™ื™ื˜ืŸ ืคื•ืŸ ื“ื™ ื’ืจืึทืคื™ืงืก ืึธื ืœื™ื™ื’ืŸ ืื•ืŸ ื’ืคึผื•.
  • MediaDevices.prototype.enumerateDevices - ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข ื“ื•ืจืš ื‘ืืงื•ืžืขืŸ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืื•ืŸ ื ืขืžืขืŸ ืคื•ืŸ ื“ื™ ืึทืคึผืึทืจืึทื˜ ืื•ืŸ ืžื™ืงืจืึธืคืึธืŸ.
  • navigator.deviceMemory, navigator.hardwareConcurrency - ื‘ืึทืงื•ืžืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืขื’ืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’.
  • XMLHttpRequest (XHR) - ื˜ืจืึทื ืกืคืขืจืก ื’ืขื–ืืžืœื˜ ืกื™ืกื˜ืขื ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ืฆื• ืึท ืคื•ื ื“ืจื•ื™ืกื ื“ื™ืง ืกืขืจื•ื•ืขืจ ื ืึธืš ืœืึธื•ื“ื™ื“ ื“ื™ ื‘ืœืึทื˜.
  • ArrayBuffer - ื“ื•ืจื›ืคื™ืจืŸ ืžื™ืงืจืึธืึทืจื˜ืฉื™ื˜ืขืงื˜ื•ืจืึทืœ ืกืคึผืขืงื˜ืขืจ ืื ืคืืœืŸ.
  • ื•ื•ืขื‘ื•ื•ืึธืจืงืขืจ (window.Worker), SharedArrayBuffer (window.SharedArrayBuffer) - ืงืขืจื™ื™ื ื’ ืื•ื™ืก ืื ืคืืœืŸ ืึทื– ืึธืคึผืฉืึทืฆืŸ ื“ื™ืœื™ื™ื– ื•ื•ืขืŸ ืึทืงืกืขืกื™ื ื’ ื“ืึทื˜ืŸ.
  • Geolocation API (navigator.geolocation) - ืึทืงืกืขืก ืฆื• ืึธืจื˜ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข (ื“ื™ ื“ืขืจืฆื• ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืคืึทืจืงืจื™ืžืขืŸ ื“ื™ ืื•ืžื’ืขืงืขืจื˜ ื“ืึทื˜ืŸ).
  • Gamepad API (navigator.getGamepads()) ืื™ื– ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข ื•ื•ืื•ื ื“ืขืจ ื•ื•ืึธืก ื ืขืžื˜ ืื™ืŸ ื—ืฉื‘ื•ืŸ ื“ื™ ื‘ื™ื™ึทื–ื™ื™ึทืŸ ืคื•ืŸ ืึท ื’ืึทืžืขืคึผืึทื“ ืื™ืŸ ื“ื™ ืกื™ืกื˜ืขื.
  • ื•ื•ื™ืจื˜ื•ืึทืœ ืจืขืึทืœื™ื˜ื™ ืึทืคึผื™, ื’ืขืžื™ืฉื˜ ืจืขืึทืœื™ื˜ื™ ืึทืคึผื™ - ื ื•ืฆืŸ ืคื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ืคืึทืงื˜ ืžื™ื˜ืœ ืคึผืึทืจืึทืžืขื˜ืขืจืก ืคึฟืึทืจ ืœืขื’ื™ื˜ื™ืžืึทืฆื™ืข.
  • ื•ื•ื™ื ื“ืึธื•ื•.ื ืึทืžืข - ืงืจื™ื™ึทื–-ืคึผืœืึทืฅ ืœื™ืงืก.
  • navigator.sendBeacon - ื’ืขื ื™ืฆื˜ ืคึฟืึทืจ ื•ื•ืขื‘ ืึทื ืึทืœื™ื˜ื™ืงืก.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’