1.1.9 • Published 3 months ago

puppeteer-extra-plugin-fingerprinter v1.1.9

Weekly downloads
-
License
MIT
Repository
github
Last release
3 months ago

NOTE: This does not fix the issues with headless: true!!! If you want to use a headless mode use headless: "new" or other ways

Constructor

import { createFingerprinterInterface, commonFingerprint, generateFingerprint } from "./index.js"
import { default as puppeteer } from "puppeteer-extra"

let staticFingerprint = generateFingerprint({
    webgl_vendor: "NVIDIA Corporation", // You can use values instead of functions too
    webgl_renderer: "NVIDIA GeForce GTX 1650/PCIe/SSE2",
    userAgent: (e) => {return e.includes("Windows NT 10.0")},
    language: (e) => {return e.includes("en")},
    viewport: (e) => {return e.width > 1000 && e.height > 800},
    language: (e) => true,
    cpus: (e) => {return e <= 32 && e >= 4},
    memory: (e) => {return e <= 8},
    compatibleMediaMimes: (e) => {return e.audio.includes("aac"), e.video["mp4"] && e.video.mp4.length > 0},
    canvas: {chance: 95, shift: 4}, // set shift to 0 to cancel canvas spoofing
    proxy: "direct", // Support for string only
    proxy: () => "direct", // Defaults to this, meaning no proxy
    proxy: () =>  ["direct", "socks5://127.0.0.1"] // Support for array and get a random object
})

// You can save staticFingerprint for later use if you want

let fingerprinter = createFingerprinterInterface({
    generator_style: "per_browser" || "global" || "per_page", // Optional if staticFingerprint is provided
    requestInterceptor: async (page, request) => { // Ability to intercept requests, fixes puppeteer request interception bugs
        if(await request.url() == "www.example.com/page4" && await page.url() == "www.example.com") 
            return "direct"

        if(await request.url() == "www.example.com/big_image")
            return "abort"

        return "proxy"
    },

    fingerprint_generator: {
        webgl_vendor: "NVIDIA Corporation", // You can use values instead of functions too
        webgl_renderer: "NVIDIA GeForce GTX 1650/PCIe/SSE2",
        userAgent: (e) => {return e.includes("Windows NT 10.0")},
        language: (e) => {return e.includes("en")},
        viewport: (e) => {return e.width > 1000 && e.height > 800},
        language: (e) => true,
        cpus: (e) => {return e <= 32 && e >= 4},
        memory: (e) => {return e <= 8},
        compatibleMediaMimes: (e) => {return e.audio.includes("aac"), e.video["mp4"] && e.video.mp4.length > 0},
        canvas: {chance: 95, shift: 4}, // set shift to 0 to cancel canvas spoofing
        proxy: "direct", // Support for string only
        proxy: () => "direct", // Defaults to this, meaning no proxy
        proxy: () =>  ["direct", "socks5://127.0.0.1"] // Support for array and get a random object
    },

    staticFingerprint: staticFingerprint// Will only use this fingerprint for all pages and browsers if provided,
})

puppeteer.use(fingerprinter)

commonFingerprint is the most common fingerprint.

1.1.9

3 months ago

1.1.8

11 months ago

1.1.7

12 months ago

1.1.6

12 months ago

1.1.5

12 months ago

1.1.4

12 months ago

1.1.1

12 months ago

1.1.0

12 months ago

1.0.7

1 year ago

1.0.5

1 year ago

1.1.3

12 months ago

1.0.4

1 year ago

1.1.2

12 months ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago