Skip to content

Commit

Permalink
Move docs to github pages (#15)
Browse files Browse the repository at this point in the history
* docs initial stsuff

* Create Gemfile.lock

* basic docs

* readme
  • Loading branch information
Kalininator committed Oct 3, 2021
1 parent 96908db commit 713f162
Show file tree
Hide file tree
Showing 6 changed files with 256 additions and 85 deletions.
87 changes: 2 additions & 85 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,93 +8,10 @@
A node.js library for extracting cookies from a browser installed on your system.
Inspired by [chrome-cookies-secure](https://github.com/bertrandom/chrome-cookies-secure).

## Compatibility
# Usage

Currently supports only Google Chrome and Firefox on MacOS, Linux, and Windows.
See usage documentation [here](https://kalininator.github.io/cookie-thief).

In the future will hopefully expand to support other browsers.

## Installation
```bash
npm install cookie-thief
```
```bash
yarn add cookie-thief
```

## Usage

### Google Chrome

```javascript
const { getCookie, listCookies, Browser } = require('cookie-thief')

// Get a cookie from chrome browser for domain .github.com, searching for cookie named 'dotcom_user'
const cookie = await getCookie({
browser: Browser.Chrome,
url: 'https://github.com',
cookieName: 'dotcom_user',
options: {
profile: 'Default',
},
});
console.log(cookie);
// Will be a string if cookie is successfully found
// Will be undefined if not found

const cookies = await listCookies({
browser: Browser.Chrome,
});
console.log(cookies);
// Array of cookies
//[
// {
// name: 'cookie name here',
// value: 'decrypted cookie content here',
// host: 'hostname of cookie here',
// path: 'path of cookie here'
// }
//]

```

### Firefox

```javascript
const { getCookie, Browser } = require('cookie-thief')

// Get a cookie from chrome browser for domain .github.com, searching for cookie named 'dotcom_user'
const cookie = await getCookie({
browser: Browser.Firefox,
url: 'https://github.com',
cookieName: 'dotcom_user',
options: {
profile: 'default-release',
},
});
console.log(cookie);
// Will be a string if cookie is successfully found
// Will be undefined if not found

const cookies = await listCookies({
browser: Browser.Firefox,
});
console.log(cookies);
// Array of cookies
//[
// {
// name: 'cookie name here',
// value: 'decrypted cookie content here',
// host: 'hostname of cookie here',
// path: 'path of cookie here'
// }
//]
```

## Limitations

### macOS
On macOS, this package requires keychain access to access the Google Chrome encryption key. You will get a dialogue popup requesting access.

## License
This software is free to use under the MIT license. See the [LICENSE file](https://github.com/kalininator/cookie-thief/blob/master/LICENSE.md) for license text and copyright information.
5 changes: 5 additions & 0 deletions docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
_site
.sass-cache
.jekyll-cache
.jekyll-metadata
vendor
33 changes: 33 additions & 0 deletions docs/Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.2.1"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

gem "just-the-docs"

gem "webrick", "~> 1.7"
88 changes: 88 additions & 0 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.9)
em-websocket (0.5.2)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.15.4)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.10)
concurrent-ruby (~> 1.0)
jekyll (4.2.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 1.0)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.4.0)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 2.0)
jekyll-feed (0.15.1)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.7.1)
jekyll (>= 3.8, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
just-the-docs (0.3.3)
jekyll (>= 3.8.5)
jekyll-seo-tag (~> 2.0)
rake (>= 12.3.1, < 13.1.0)
kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.7.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
rake (13.0.6)
rb-fsevent (0.11.0)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.26.1)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
terminal-table (2.0.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.8.0)
webrick (1.7.0)

PLATFORMS
x86_64-darwin-20

DEPENDENCIES
jekyll (~> 4.2.1)
jekyll-feed (~> 0.12)
just-the-docs
minima (~> 2.5)
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
webrick (~> 1.7)

BUNDLED WITH
2.2.28
24 changes: 24 additions & 0 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
title: Cookie Thief
# email: your-email@example.com
description: >- # this means to ignore newlines until "baseurl:"
A Node.js framework for extracting cookies from a browser installed on your system.
baseurl: "/cookie-thief" # the subpath of your site, e.g. /blog
url: "https://kalininator.github.io" # the base hostname & protocol for your site, e.g. http://example.com

remote_theme: pmarsceill/just-the-docs
theme: "just-the-docs"

# logo: "https://tray.io/favicon-32x32.png"

color_scheme: light

back_to_top: true
back_to_top_text: "Back to top"

search:
heading_level: 3
button: true

aux_links:
"Cookie Thief on GitHub":
- "//github.com/kalininator/cookie-thief"
104 changes: 104 additions & 0 deletions docs/pages/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
---
layout: default
title: Getting Started
nav_order: 1
description: Getting started
permalink: /
---

# Cookie Thief
{: .no_toc}

1. TOC
{:toc}

## Compatibility

Currently supports only Google Chrome and Firefox on MacOS, Linux, and Windows.

In the future will hopefully expand to support other browsers.

## Installation

```bash
npm install cookie-thief
```

```bash
yarn add cookie-thief
```


## Usage

### Google Chrome

```javascript
const { getCookie, listCookies, Browser } = require('cookie-thief')

// Get a cookie from chrome browser for domain .github.com, searching for cookie named 'dotcom_user'
const cookie = await getCookie({
browser: Browser.Chrome,
url: 'https://github.com',
cookieName: 'dotcom_user',
options: {
profile: 'Default',
},
});
console.log(cookie);
// Will be a string if cookie is successfully found
// Will be undefined if not found

const cookies = await listCookies({
browser: Browser.Chrome,
});
console.log(cookies);
// Array of cookies
//[
// {
// name: 'cookie name here',
// value: 'decrypted cookie content here',
// host: 'hostname of cookie here',
// path: 'path of cookie here'
// }
//]

```

### Firefox

```javascript
const { getCookie, Browser } = require('cookie-thief')

// Get a cookie from chrome browser for domain .github.com, searching for cookie named 'dotcom_user'
const cookie = await getCookie({
browser: Browser.Firefox,
url: 'https://github.com',
cookieName: 'dotcom_user',
options: {
profile: 'default-release',
},
});
console.log(cookie);
// Will be a string if cookie is successfully found
// Will be undefined if not found

const cookies = await listCookies({
browser: Browser.Firefox,
});
console.log(cookies);
// Array of cookies
//[
// {
// name: 'cookie name here',
// value: 'decrypted cookie content here',
// host: 'hostname of cookie here',
// path: 'path of cookie here'
// }
//]
```

## Limitations

### macOS
On macOS, this package requires keychain access to access the Google Chrome encryption key. You will get a dialogue popup requesting access.

0 comments on commit 713f162

Please sign in to comment.