1.2.0 • Published 6 years ago

in-gfw v1.2.0

Weekly downloads
72,575
License
MIT
Repository
github
Last release
6 years ago

in-gfw

NPM version Travis AppVeyor Codecov David

Identify if current location is located in mainland China.

Install

npm install in-gfw

Usage

const inGFW = require("in-gfw");
inGFW().then(console.log);	// `true` for located in mainland China
inGFW.os().then(console.log);	// `true` for system located in mainland China
inGFW.net().then(console.log);	// `true` for network located in mainland China

API

inGFW(blockedHost, cnHost);
inGFW.sync(blockedHost, cnHost);	// Synchronous version of `inGFW()`

Get result by inGFW.os() and fallback to inGFW.net()

inGFW.os();
inGFW.osSync();	// Synchronous version of `inGFW.os()`
  • Windows: Check if current location settings is PRC.

    Control Panel: Regional and language -> Location

  • POSIX systems: Check if timezone is set to Beijing, Chongqing, Shanghai, Urumqi or PRC.
inGFW.net(blockedHost, cnHost);
inGFW.netSync(blockedHost, cnHost);	// Synchronous version of `inGFW.net()`

Based on the speed of network access to identify if current location is located in mainland China.

  • blockedHost

    Type: string|URL

    Default: "www.npmjs.com"

    host for speed test that blocked by GFW

  • cnHost

    Type: string|URL

    Default: "npm.taobao.org"

    host for speed test that mirrored in mainland China.