Securely collect browsing history over browsers.

Overview

Visited-CLI

Securely collect browsing history over browsers.

Getting started

Here is the getting started guide.

Firstly, clone the git, and change to the directory.

$ git clone [repo url] && cd visited 

And install the node packages.

$ npm install 

Next, generate a client program for browser. Run the following.

$ node visited.js --generate
✔ Port number? [default: 5555] …
File generated: ./visited.user.js

Now you have visited.user.js file generated, copy and paste the file content as your new userscript on your favorite userscript manager e.g. tampermonkey

Also note that you can paste the same to your browsers, Chrome profiles, and virtually integrate browsing history at the one place.

Next, start the server. Use -s or --server. Also note that --quiet for background run, --port for specifying the port number.

$ node visited.js --server

Now you're ready. Try go to any website, let's say youtube.com, and reload page (or just visit from the omnibox).

You can see the server detects your visiting and automatically saves the URL, host, date to the database visited.db.

$ node visited.js --server
server started...
message: {"url":"https://www.youtube.com/","host":"www.youtube.com"}

Now you can use a sqlite client such as DB Browser for SQLite, or built-in searching options, just like the following.

$ node visited.js --search --host youtube.com
[
    {
        "id": 1,
        "url": "https://www.youtube.com/",
        "host": "www.youtube.com",
        "date": "6/23/2021, 3:52:02 PM",
        "timestamp": 1624431122
    }
]

The search term is regex compatible. This shows the same result as the above.

$ node visited.js --search --url 'you.*be\.com'

Requirements

git
build-essential
node
sqlite3-pcre (for searching)

Help

$ node visited.js
Usage: visited [options]

Options:
  -s, --server               set command type: server
  -p, --port <port>          (server) specify port number (default: 5555)
  -t, --timezone <timezone>  (server) specify timezone (default: "Asia/Tokyo")
  -q, --quiet                (server) disable log
  -s, --search               set command type: search
  -r, --regex                (search) enable regex extension for search (default: true)
  -u, --url <url>            (search) search by url (default: ".")
  --host <host>              (search) search by host (default: ".")
  --order <order>            (search) set order for search [desc, asc] (default: "desc")
  --limit <number>           (search) set limit for search (default: -1)
  -F, --format <format>      (search) output format [json, url] (default: "json")
  --pcre-path <file>         set sqlite3 pcre file path for search (default: "/usr/lib/sqlite3/pcre.so")
  -d, --database <file>      specify database file for index/search (default: "./visited.db")
  --generate                 generates client side userScript file
  --delete-database          delete database
  -y, --yes                  no confirmation prompt
  -h, --help                 display help for command
You might also like...

Infisical — Sync your .env securely in seconds.

Infisical Infisical is a simple, end-to-end encrypted secrets manager for your .env files. It enables teams to securely sync and manage .env files in

Jan 4, 2023

🪅 Nuxt 3 module to connect with any API securely – server proxy & customizable composable names

nuxt-api-party This module provides composables to fetch data from an API of your choice securely. You can customize the composable names! Given json-

Dec 26, 2022

Guardian - Securely Store and Share your Dev Secrets with your team

Guardian - Securely Store and Share your Dev Secrets with your team

Guardian Securely Store and Share your Dev Secrets with your team Presentation About The Project No more sharing private development secrets over inef

Oct 18, 2022

Scheme flooding vulnerability: how it works and why it is a threat to anonymous browsing

Scheme flooding vulnerability: how it works and why it is a threat to anonymous browsing

Dec 28, 2022

A Browser extension that not only makes your browsing experience safe but makes it optimized

A Browser extension that not only makes your browsing experience safe but makes it optimized

Sia Sia is a browser extension that not only makes your browsing experience safe but makes it optimized Table of Contents About The Project Built With

Feb 23, 2022

A chrome extension that inserts dream signs into your browsing experience. Get points when you recognize the dream signs.

There are 3 parts to this repo: Backend Nodejs Frontend React Chrome Extension How to Start frontend and backend $ cd frontend $ npm run start In the

Apr 3, 2022

Enrich your browsing experience, whether it be on mobile (iOS) or your desktop (macOS)

steven's userscripts safari specific AutoScroll.user.js (middle mouse scroll click drag wheel) mobile keyboard.user.js (mobile virtual keyboard shortc

Dec 15, 2022

pjax is a jQuery plugin that uses ajax and pushState to deliver a fast browsing experience with real permalinks, page titles, and a working back button.

pjax = pushState + ajax pjax is a jQuery plugin that uses ajax and pushState to deliver a fast browsing experience with real permalinks, page titles,

Jan 5, 2023

An extension for rating the web and making your browsing experience better than ever.

An extension for rating the web and making your browsing experience better than ever.

Hookmark An extension for rating the web and making your browsing experience better than ever. Read more about it here Update Firefox extension was un

Sep 17, 2022

Collect and generate mapping from file-based routers

Collect and generate mapping from file-based routers

roullector: route collector Collect and generate route data from a file-based router such as svelte-kit's What this does: show / hide !-- before --

Apr 9, 2022

Collect, classify, and collate your Tezos transactions

Taz Taz is a tool for analyzing and reporting on your Tezos transactions. Taz does three things to help analyze your Tezos transactions. Collect: It d

Aug 3, 2022

Collect commonly used toolsets.

Collect commonly used toolsets.

tool-helper English | 中文 Introduction Collect and organize commonly used tool functions to facilitate unified maintenance and management. It can also

Nov 26, 2022

🌬️ Server to collect and send air quality data.

🌬️ Server to collect and send air quality data.

Air Quality Measurement 🌬️ Server to collect and send air quality data. 📝 Table of Contents About How it works Usage Getting Started Built Using Aut

Oct 12, 2022

Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

Github action to collect metrics (CPU, memory, I/O, etc ...) from your workflows to help you debug and optimize your CI/CD pipeline

workflow-telemetry-action A GitHub Action to track and monitor the resource metrics of your GitHub Action workflow runs. If the run is triggered via a

Dec 30, 2022

A example vault to collect and showcase various dataview queries. Created on behalf of AB1908

A example vault to collect and showcase various dataview queries. Created on behalf of AB1908

Obsidian Example Vault for Dataview Queries Good day! This example vault showcases different usages of the Dataview plugin for Obsidian.md. You'll fin

Jan 5, 2023

🐷 Collect historical performance data on your products via Lighthouse CI & Github Actions

Datahog 🐷 Datahog is a template repo, configured to collect historical performance data on your products via Lighhouse CI & Github Actions. Setup Cli

Sep 21, 2022

Buildable's core open-source offering for actions that makes it easy to collect, centralize and action your backend system activity

Buildable's core open-source offering for actions that makes it easy to collect, centralize and action your backend system activity

What are Action Templates? Action Templates are open-source functions that save developers hundreds of hours when integrating databases, apps and othe

Nov 5, 2022

Javascript client for Sanity. Works in node.js and modern browsers (older browsers needs a Promise polyfill).

@sanity/client Javascript client for Sanity. Works in node.js and modern browsers (older browsers needs a Promise polyfill). Requirements Sanity Clien

Nov 29, 2022

This package generates a unique ID/String for different browsers. Like chrome, Firefox and any other browsers which supports canvas and audio Fingerprinting.

This package generates a unique ID/String for different browsers. Like chrome, Firefox and any other browsers which supports canvas and audio Fingerprinting.

Broprint.js The world's easiest, smallest and powerful visitor identifier for browsers. This package generates a unique ID/String for different browse

Dec 25, 2022
Comments
  • It shows me this on Running

    It shows me this on Running "npm i"

    npm WARN old lockfile The package-lock.json file was created with an old version of npm,
    npm WARN old lockfile so supplemental metadata must be fetched from the registry.
    npm WARN old lockfile
    npm WARN old lockfile This is a one-time fix-up, please be patient...
    npm WARN old lockfile
    npm WARN deprecated [email protected]: this library is no longer supported
    npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
    npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
    npm WARN deprecated [email protected]: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future
    npm WARN deprecated [email protected]: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
    npm ERR! code 1
    npm ERR! path /Users/shankaranandjha/visited/node_modules/better-sqlite3
    npm ERR! command failed
    npm ERR! command sh -c -- prebuild-install || npm run build-release
    npm ERR! > [email protected] build-release
    npm ERR! > node-gyp rebuild --release
    npm ERR! gyp info it worked if it ends with ok
    npm ERR! gyp info using [email protected]
    npm ERR! gyp info using [email protected] | darwin | arm64
    npm ERR! gyp ERR! configure error
    npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
    npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (/Users/shankaranandjha/visited/node_modules/node-gyp/lib/configure.js:484:19)
    npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (/Users/shankaranandjha/visited/node_modules/node-gyp/lib/configure.js:406:16)
    npm ERR! gyp ERR! stack     at F (/Users/shankaranandjha/visited/node_modules/which/which.js:68:16)
    npm ERR! gyp ERR! stack     at E (/Users/shankaranandjha/visited/node_modules/which/which.js:80:29)
    npm ERR! gyp ERR! stack     at /Users/shankaranandjha/visited/node_modules/which/which.js:89:16
    npm ERR! gyp ERR! stack     at /Users/shankaranandjha/visited/node_modules/isexe/index.js:42:5
    npm ERR! gyp ERR! stack     at /Users/shankaranandjha/visited/node_modules/isexe/mode.js:8:5
    npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:199:21)
    npm ERR! gyp ERR! System Darwin 22.1.0
    npm ERR! gyp ERR! command "/opt/homebrew/Cellar/node/19.0.1/bin/node" "/Users/shankaranandjha/visited/node_modules/.bin/node-gyp" "rebuild" "--release"
    npm ERR! gyp ERR! cwd /Users/shankaranandjha/visited/node_modules/better-sqlite3
    npm ERR! gyp ERR! node -v v19.0.1
    npm ERR! gyp ERR! node-gyp -v v3.8.0
    npm ERR! gyp ERR! not ok
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/shankaranandjha/.npm/_logs/2022-11-09T11_29_54_065Z-debug-0.log
    
    opened by ShubhamJ010 0
Owner
Fumiya A
you cant hide from me...
Fumiya A
Share an abstract-level database over the network or other kind of stream.

many-level Share an abstract-level database over the network or other kind of stream. The successor to multileveldown. If you are upgrading, please se

Level 15 Mar 27, 2022
A wrapper for abstract-leveldown compliant stores, for Node.js and browsers.

levelup Table of Contents Click to expand levelup Table of Contents Introduction Supported Platforms Usage API Special Notes levelup(db[, options[, ca

Level 4k Jan 9, 2023
Anonymify - Outils TypeScript pour l'anonymisation des données en langue Française, compatible Node.js et dans les browsers.

@socialgouv/anonymify Outils TypeScript pour l'anonymisation des données en langue Française. Compatible Node.js et dans les navigateurs Démo : https:

Fabrique numérique des Ministères Sociaux 4 Nov 16, 2022
Run official FLAC tools `flac` and `metaflac` as WebAssembly, on browsers or Deno.

flac.wasm Run official FLAC tools flac and metaflac as WebAssembly, on browsers or Deno. Currently we have no plans on supporting Node.js. Try it onli

Pig Fang 15 Aug 21, 2022
WASM-based implementation of Cloudflare's HTML Rewriter for use in Deno, browsers, etc.

HTML Rewriter WASM-based implementation of Cloudflare's HTML Rewriter for use in Deno, browsers, etc. It uses lol-html under the hood, the same implem

Worker Tools 36 Dec 6, 2022
📡 Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

?? Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

Cris 9 May 5, 2022
📡 Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

?? Encrypt and authenticate DevTools to use it securely remotely. Add HTTPS, and authentication to --remote-debugging-port to debug, inspect and automate from anywhere and collaborate securely on bugs.

Cris 9 May 5, 2022
History.js gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState

History.js gracefully supports the HTML5 History/State APIs (pushState, replaceState, onPopState) in all browsers. Including continued support for data, titles, replaceState. Supports jQuery, MooTools and Prototype.

Browser State 10.8k Dec 26, 2022
Periksa apakah data browsing history anda bocor?

Leak Checker Periksa apakah data browsing history anda bocor? Periksa di leak.riset.tech Webapp ini statis tidak ada informasi yang dikirim ke server,

Robin Syihab 33 Sep 19, 2022
Open-source API to securely share data with customers.

Offer secure data pipelines to your customers' data warehouses, directly from your product. Slack · Website · Docs About Pipebird Direct, secure, and

Pipebird 169 Dec 23, 2022