You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

mouselog

Package Overview
Dependencies
Maintainers
2
Versions
57
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

mouselog - npm Package Compare versions

Comparing version

to
0.0.7-beta1

mouselog.js

34

index.js

@@ -6,5 +6,14 @@ const uuidv4 = require('uuid/v4');

let config = {
// Upload the website interaction data object when every `frequency` events are captured.
// Set upload mode: "periodic" or "event-triggered"
uploadMode: "periodic",
// If `uploadMode` == "periodic", data will be uploaded every `uploadPeriod` ms.
// If no data are collected in a period, no data will be uploaded
uploadPeriod: 5000,
// If `uploadMode` == "event-triggered"
// The website interaction data will be uploaded when every `frequency` events are captured.
frequency: 50,
// The website interaction data object will be encoded by `encoder` before uploading to the server.
// The website interaction data will be encoded by `encoder` before uploading to the server.
encoder: JSON.stringify,

@@ -39,2 +48,4 @@ // The response data will be decoded by `decoder`

let uploadIdx;
let uploadInterval;
let enable = false;

@@ -116,3 +127,3 @@ function getRelativeTimestampInSeconds() {

if ( eventsList.length % config.frequency == 0 ) {
if ( config.uploadMode == "event-triggered" && eventsList.length % config.frequency == 0 ) {
uploadTrace();

@@ -150,2 +161,18 @@ }

uploadTrace(true);
if (config.uploadMode === "periodic") {
uploadInterval = setInterval(() => {
console.log("here");
if (eventsList.length != 0) {
uploadTrace();
}
}, config.uploadPeriod);
}
// clean up before unloading the window
onbeforeunload = (evt) => {
if (eventsList.length != 0) {
uploadTrace();
}
}
}

@@ -157,3 +184,4 @@

});
clearInterval(uploadInterval);
uploader.stop();
}

2

package.json
{
"name": "mouselog",
"version": "0.0.6",
"version": "0.0.7-beta1",
"description": "The mouse tracking agent for Mouselog.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -13,3 +13,3 @@ [![NPM version](https://img.shields.io/npm/v/mouselog)](https://www.npmjs.com/package/mouselog)

```html
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mouselog@0.0.5-beta2/mouselog.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/mouselog@0.0.7-beta1/mouselog.js"></script>
<script>

@@ -23,3 +23,3 @@ mouselog.run("Your_Server_Url", "Your_Website_Id");

var script = document.createElement("script");
script.src = "https://cdn.jsdelivr.net/npm/mouselog@0.0.5-beta2/mouselog.js";
script.src = "https://cdn.jsdelivr.net/npm/mouselog@0.0.7-beta1/mouselog.js";
script.onload = () => {

@@ -44,13 +44,22 @@ mouselog.run("Your_Server_Url", "Your_Website_Id");

let config = {
// Upload the data object when every `frequency` events are captured.
// Set upload mode: "periodic" or "event-triggered"
uploadMode: "periodic",
// If `uploadMode` == "periodic", data will be uploaded every `uploadPeriod` ms.
// If no data are collected in a period, no data will be uploaded
uploadPeriod: 5000,
// If `uploadMode` == "event-triggered"
// The website interaction data will be uploaded when every `frequency` events are captured.
frequency: 50,
// Data objects will be encoded by `encoder` before uploading to the server.
// The website interaction data will be encoded by `encoder` before uploading to the server.
encoder: JSON.stringify,
// The response data will be decoded by `decoder`
decoder: x => x,
// Use GET method to upload data? (stringified data will be embedded in URI) default: false
// Use GET method to upload data? (stringified data will be embedded in URI)
enableGET: false,
// Time interval for resending the failed trace data, default: 3000
// Time interval for resending the failed trace data
resendInterval: 3000
}
};
```

@@ -57,0 +66,0 @@ Run Mouselog and it will automatically collect all you want.