pavlealeksic / puppeteer-afp

Solution to stop sites from fingerprinting your puppeteer
MIT License
116 stars 9 forks source link

Some option values get detected as a bot #9

Open aguyinmontreal opened 1 month ago

aguyinmontreal commented 1 month ago

@pavlealeksic @zfcsoftware

When I use some random option values, I sometimes get detected as a bot by https://fingerprint.com/products/bot-detection/ . What is causing this exactly? And what random values do I need to avoid in order to evade detection?

Thank you!

Here is an example of option values getting detected as a bot by https://fingerprint.com/products/bot-detection/

{                
  "canvasRgba": [
    2,           
    -1,          
    4,           
    -3           
  ],             
  "webglData": { 
    "3379": 16384,
    "3386": {
      "0": 8192,
      "1": 8192
    },
    "3410": 2,
    "3411": 8,
    "3412": 8,
    "3413": 8,
    "7938": "WebGL 1.0 (OpenGL)",
    "33901": {
      "0": 4096,
      "1": 1
    },
    "33902": {
      "0": 4096,
      "1": 8192
    },
    "34024": 16384,
    "34047": 16,
    "34076": 32768,
    "34921": 4,
    "34930": 16,
    "35660": 16,
    "35661": 16,
    "35724": "WebGL GLSL ES (OpenGL Chromium)",
    "36347": 8192,
    "36349": 1024,
    "37446": "Intel(R) HD Graphics"
  },
  "fontFingerprint": {
    "noise": 1,
    "sign": -1
  },
  "audioFingerprint": {
    "getChannelDataIndexRandom": 0.8636966108776123,
    "getChannelDataResultRandom": 0.9181691807315026,
    "createAnalyserIndexRandom": 0.807102856690069,
    "createAnalyserResultRandom": 0.1300025636836762
  },
  "webRTCProtect": true
}
aguyinmontreal commented 1 month ago

here is another example that gets detected:

{                 
  "canvasRgba": [ 
    4,            
    -1,           
    -3,           
    -3            
  ],              
  "webglData": {  
    "3379": 32768,
    "3386": {
      "0": 16384,
      "1": 8192
    },
    "3410": 8,
    "3411": 4,
    "3412": 16,
    "3413": 4,
    "7938": "WebGL 1.0",
    "33901": {
      "0": 4096,
      "1": 1
    },
    "33902": {
      "0": 1024,
      "1": 1024
    },
    "34024": 32768,
    "34047": 2,
    "34076": 16384,
    "34921": 4,
    "34930": 16,
    "35660": 4,
    "35661": 16,
    "35724": "WebGL GLSL ES (OpenGL Chromium)",
    "36347": 8192,
    "36349": 8192,
    "37446": "Graphics"
  },
  "fontFingerprint": {
    "noise": 1,
    "sign": -1
  },
  "audioFingerprint": {
    "getChannelDataIndexRandom": 0.1799164136866833,
    "getChannelDataResultRandom": 0.819635071886501,
    "createAnalyserIndexRandom": 0.8884905453325536,
    "createAnalyserResultRandom": 0.1085192457649338
  },
  "webRTCProtect": true
}
aguyinmontreal commented 1 month ago

In fact, about 80% of the options I test randomly are being detected.