Skip to main content

Self tracking your online life!

Project description

nostalgia_chrome

Cross-platform Chrome History Analysis

PyPI PyPI

Self tracking

There is a movement of self tracking. Monitoring pulse, heartbeat and so on. But the most important is not being tracked: our online behavior.

Making sure we can self document, we need the following things.

  1. Chrome only keeps its history for a max of 90 days, so we need to start saving history.

  2. We need to collect HTML data from the pages we visit.

  3. We need to extract and analyze data from the HTML, such as code snippets, links, microdata, images, events.. anything really. This is done in Nostalgia Core.

  4. Allow plugins (and make them configurable, please contribute). The first example is that it will additionally track which videos you watch.

What can you expect (Data overview)

In ~/nostalgia_data/meta.jsonl an index will be saved per visit:

{
  "path":"/home/pascal/nostalgia_data/html/1576317113.7_httpsgithubcomnostalgiadevnostalgia_chrome.html.gz",
  "url": "https://github.com/nostalgia-dev/nostalgia_chrome",
  "time":"1576317113.75019"
}

In ~/nostalgia_data/html the source HTML will be stored as .html.gz (reaching about 8x compression).

In ~/nostalgia_data/videos_watched.jsonl the data for events on HTML5 video elements will be stored (on stop playing/close tab):

{
  "playingSince": 1576273573.08,
  "seekTime": 0,
  "playingUntil": 1576273599.977,
  "duration": 26.8970000744,
  "totalClipDuration": 3510.301,
  "pageLoadTime": 1576266470.316,
  "loc": "https://www.youtube.com/watch?v=Zz-bhLjVS5o",
  "title": "Lost Frequencies | Tomorrowland Mainstage 2019 (Full Set) - YouTube",
  "likes": 24137,
  "dislikes": 946
}

Installation

  1. Clone this repository: git clone git@github.com:nostalgia-dev/nostalgia_chrome.git

  2. In Chrome click the settings button and click "More tools" and navigate to "Extensions". Click "Load unpacked". Navigate to the chromePlugin folder and click "Open".

  3. pip install nostalgia_chrome

  4. To test it out, run nostalgia_chrome run_server. This will run the web server in the foreground so you can see that it works.

  5. Visit a (non-file / localhost) URL so that you can verify it works. The data will be stored in ~/nostalgia_data/meta.jsonl, ~/nostalgia_data/html.

  6. To make sure nostalgia_chrome gets automatically run on boot:

On Linux (systemctl based):

pip install sysdm
sysdm create "nostalgia_chrome run_server" --extensions ""

On Windows awaiting contribution for how to do this https://github.com/nostalgia-dev/nostalgia_chrome/issues/2

On OSX awaiting contribution for how to do this https://github.com/nostalgia-dev/nostalgia_chrome/issues/1

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nostalgia_chrome-0.0.24.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

nostalgia_chrome-0.0.24-py2.py3-none-any.whl (8.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file nostalgia_chrome-0.0.24.tar.gz.

File metadata

  • Download URL: nostalgia_chrome-0.0.24.tar.gz
  • Upload date:
  • Size: 27.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0a0

File hashes

Hashes for nostalgia_chrome-0.0.24.tar.gz
Algorithm Hash digest
SHA256 1bf8863104993376320b8ca3131c32bffb530e9d1ca4f9622c7ef30471d89b42
MD5 39d4f023773ae40dccaebb72c0735d28
BLAKE2b-256 06117d9e0321c6f22ff7baf3b04cf96c0bc6ac088acbabf3689c64c5df561cde

See more details on using hashes here.

File details

Details for the file nostalgia_chrome-0.0.24-py2.py3-none-any.whl.

File metadata

  • Download URL: nostalgia_chrome-0.0.24-py2.py3-none-any.whl
  • Upload date:
  • Size: 8.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.0.1 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.7.0a0

File hashes

Hashes for nostalgia_chrome-0.0.24-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 def84146606b61bff893511f5485be6d48fc87894e67a97b038b3bcb60a6a541
MD5 93f5b404f6438f19cf6b162acf12658a
BLAKE2b-256 3a5d5eb5a00ff1dea920641d86d7123b82b6880daae6135601ab8e5daca144bb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page