# Pastego | Scrape/Parse Pastebin Using GO And Expression Grammar (PEG)

**URL:** <https://onehack.st/t/pastego-scrape-parse-pastebin-using-go-and-expression-grammar-peg/178621>\
**Category:** Tools & Scripts\
**Tags:** tools, freebies\
**Created:** [April 13, 2021, 11:31am UTC](https://onehack.st/t/pastego-scrape-parse-pastebin-using-go-and-expression-grammar-peg/178621 "2021-04-13T11:31:13Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Prometheus](https://onehack.st/user_avatar/onehack.st/prometheus/32/34950_2.png) [@Prometheus](https://onehack.st/u/Prometheus)\
**Post date:** [April 13, 2021, 11:31am UTC](https://onehack.st/t/pastego-scrape-parse-pastebin-using-go-and-expression-grammar-peg/178621/1 "2021-04-13T11:31:13Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/7/b/7bcd4604b44ba08db19650d0dcbcc65320e51cf7.png)

Scrape/Parse Pastebin using GO and grammar expression (PEG).

**Installation**

`$ go get -u github.com/notdodo/pastego`

**Usage**

Search keywords are case sensitive

`pastego -s "password,keygen,PASSWORD"`

You can use boolean operators to reduce false positive

`pastego -s "quake && ~earthquake, password && ~(php || sudo || Linux || '<body>')"`

This command will search for bins with `quake` but not `earthquake` words and for bins with `password` but not `php`, `sudo`, `Linux`, `<body>` words.

```auto
usage: pastego [<flags>]Flags: --help Show context-sensitive help (also try --help-long and --help-man). -s, --search="pass" Strings to search, i.e: "password,ssh" -o, --output="results" Folder to save the bins -i, --insensitive Search for case-insensitive strings

```

Supported expression/operators:

```auto
`&&` - and`||` - or`~` - not`'string with space'``(myexpression && 'with operators')`

```

**Keybindings**

`q`, `ctrl+c`: quit `pastego`

`k`, `↑`: show previous bin

`j`, `↓`: show next bin

`n`: jump forward by 15 bins

`p`: jump backward by 15 bins

`N`: move to the next block of findings (in alphabet order)

`P`: move to the previous block of findings (in alphabet order)

`d`: delete file from file system

`HOME`: go to top

**Requirements**

**[goquery](https://github.com/PuerkitoBio/goquery)**

`go get -u "github.com/PuerkitoBio/goquery"`

**[kingpin](https://github.com/alecthomas/kingpin)**

`go get -u "gopkg.in/alecthomas/kingpin.v2"`

**[gocui](https://github.com/jroimartin/gocui)**

`go get -u "github.com/jroimartin/gocui"`

To create the code from PEG use [pigeon](https://github.com/mna/pigeon):

`go get -u github.com/mna/pigeon`

**Disclaimer**

You need a PRO account to use this: pastebin will **block/blacklist** your IP.

[pastebin PRO](https://pastebin.com/pro)

**Or….**

- increase the time between each request
- create a script to restart your router when pastebin warns you

**In progress…**

Add flag to pass/read a list of proxies to avoid IP ban/throttle for free users

## GitHub:

> **[GitHub - notdodo/pastego: Scrape/Parse Pastebin using GO and expression...](https://github.com/notdodo/pastego)**
>
> Scrape/Parse Pastebin using GO and expression grammar (PEG)
