zendriver-stealth 0.3.1

Anti-detection patches and profiles for zendriver
Documentation
(function (seed) {
  const rng = __zdRng(seed);
  function noisy(v) { return v + (rng() - 0.5) * 1e-3; }
  const origRect = Element.prototype.getBoundingClientRect;
  Element.prototype.getBoundingClientRect = function () {
    const r = origRect.call(this);
    return new DOMRect(noisy(r.x), noisy(r.y), noisy(r.width), noisy(r.height));
  };
  const origRects = Element.prototype.getClientRects;
  Element.prototype.getClientRects = function () {
    const list = origRects.call(this);
    const out = [];
    for (let i = 0; i < list.length; i++) {
      const r = list[i];
      out.push(new DOMRect(noisy(r.x), noisy(r.y), noisy(r.width), noisy(r.height)));
    }
    return out;
  };
})(SEED);