Socket
Socket
Sign inDemoInstall

puppeteer-extra-plugin-timezone

Package Overview
Dependencies
138
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    puppeteer-extra-plugin-timezone

A puppeteer-extra plugin to automatically emulate the appropriate timezones using IP reflection services.


Version published
Weekly downloads
20K
decreased by-10.92%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

puppeteer-extra-plugin-timezone

Sets the correct timezone based in IP geolocation for each page that opens.

The correct timezone is fetched and saved to cache once a Browser intance opens. All the pages belonging to it will have their timezone emulated.

For IPs where the timezone can't be detected, a warning will be thrown using the standard puppeteer-extra logger.

Installation

yarn add puppeteer-extra-plugin-timezone
# or
npm install puppeteer-extra-plugin-timezone

Usage

First of all, you have to register the plugin with puppeteer-extra.

JavaScript:

puppeteer.use(require('puppeteer-extra-plugin-timezone')())

TypeScript:

import TimezonePlugin from 'puppeteer-extra-plugin-timezone';
puppeteer.use(TimezonePlugin())

You can then use puppeteer as usual:

const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://whoer.net')

Testing

The tests are defined in src/plugin.spec.ts.

  1. You need to add a proxy server IP in src/constants.ts
  2. You can run the tests using either yarn test or npm test.

Debugging

You can see the package's logs by setting the DEBUG=puppeteer-extra-plugin:timezone env variable.

Example: DEBUG=puppeteer-extra-plugin:timezone npm test

Base Puppeteer-Extra Plugin System

See the core Puppeteer-Extra Plugin docs for additional information: https://github.com/berstend/puppeteer-extra/tree/master/packages/puppeteer-extra-plugin

Contributing

We appreciate all contributions.

What's needed:

  • Get timezone from other fallback iptest websites

Done:

  • Fix memory leak (remove timezone informations on browser disconnect)
  • Make it work somehow (prescience)
  • Specifying a default fallback timezone (prescience)
  • Sticky per-browser timezone (save the timezone for each browser to avoid unnecessary calls to Lumtest)

License

MIT

Resources

Keywords

FAQs

Last updated on 16 Apr 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc