Skip to content
PixSpy tracks open of document with time and geo location taken from IP address.
CoffeeScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE.txt
README.md
config.json
example.config.json
index.coffee
index.js
index.js.map
package.json

README.md

PixSpy

PixSpy tracks open of document with time and geo location taken from IP address.

  • Supports multiple core for performance.
  • Tracks IP
  • Tracks Geolocation from IP
  • Keeps History
  • If image doesn't exist, creates one.
  • If id isn't present, it will generate randomly.

Getting Started

  • npm install
  • copy example.config.json to config.json
  • Edit database if necessary in config.json
  • make sure mongodb is running.
  • node index.js --c=2 or simply node index.js

Usage

###Steps

  • Generate an image (optional since it will be created with first hit)
  • Place that image inside email or webpage you want to track
<img src="http://yourwebsite/image_id.gif" />
  • Manual creation of image is there to claim ownership of image in future versions.

CORES

  • node index.js --c=1
  • node index.js --c=8

If value is invalid, default is number of CPU

URLs

REST Based

Source Friendly

REST Friendly

##Future

  • Add same ip sleep period for N seconds.
  • Add Basic Auth for listing history.
  • Filter out owner of image using IP address.

Sample data for history

{  
   "geo":{  
      "range":[  
         2057411584,
         2057412095
      ],
      "country":"IN",
      "region":"07",
      "city":"Delhi",
      "ll":[  
         28.6667,
         77.2167
      ],
      "metro":0
   },
   "ip":"122.161.157.158",
   "id":"x",
   "lastHit":"2015-08-04T22:39:07.195Z",
   "updated_at":"2015-08-04T22:39:07.195Z",
   "created_at":"2015-08-04T22:38:59.715Z",
   "hitCount":1,
   "hitHistory":[  
      {  
         "ip":"122.161.157.158",
         "geo":{  
            "range":[  
               2057411584,
               2057412095
            ],
            "country":"IN",
            "region":"07",
            "city":"Delhi",
            "ll":[  
               28.6667,
               77.2167
            ],
            "metro":0
         }
      }
   ]
}
You can’t perform that action at this time.