ddgr


Nameddgr JSON
Version 2.2 PyPI version JSON
download
home_pagehttps://github.com/jarun/ddgr
SummaryDuckDuckGo from the terminal
upload_time2023-12-29 02:34:22
maintainer
docs_urlNone
authorArun Prakash Jana
requires_python>=3.8
licenseGPLv3
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <h1 align="center">ddgr</h1>

<p align="center">
<a href="https://github.com/jarun/ddgr/releases/latest"><img src="https://img.shields.io/github/release/jarun/ddgr.svg?maxAge=600" alt="Latest release" /></a>
<a href="https://repology.org/project/ddgr/versions"><img src="https://repology.org/badge/tiny-repos/ddgr.svg" alt="Availability"></a>
<a href="https://pypi.org/project/ddgr/"><img src="https://img.shields.io/pypi/v/ddgr.svg?maxAge=600" alt="PyPI" /></a>
<a href="https://circleci.com/gh/jarun/workflows/ddgr"><img src="https://img.shields.io/circleci/project/github/jarun/ddgr.svg" alt="Build Status" /></a>
<a href="https://en.wikipedia.org/wiki/Privacy-invasive_software"><img src="https://img.shields.io/badge/privacy-✓-crimson" alt="Privacy Awareness" /></a>
<a href="https://github.com/jarun/ddgr/blob/master/LICENSE"><img src="https://img.shields.io/badge/license-GPLv3-yellowgreen.svg?maxAge=2592000" alt="License" /></a>
</p>

<p align="center">
<a href="https://asciinema.org/a/212198"><img src="https://asciinema.org/a/212198.svg" alt="Asciicast" width="734"/></a>
</p>

`ddgr` is a cmdline utility to search DuckDuckGo ([html version](https://html.duckduckgo.com/html/)) from the terminal. While [googler](https://github.com/jarun/googler) is extremely popular among cmdline users, in many forums the need of a similar utility for privacy-aware DuckDuckGo came up. [DuckDuckGo Bangs](https://duckduckgo.com/bang) are super-cool too! So here's `ddgr` for you!

Unlike the web interface, you can specify the number of search results you would like to see per page. It's more convenient than skimming through 30-odd search results per page. The default interface is carefully designed to use minimum space without sacrificing readability.

A big advantage of `ddgr` over `googler` is DuckDuckGo works over the Tor network.

`ddgr` isn't affiliated to DuckDuckGo in any way.

<p align="center">
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q"><img src="https://img.shields.io/badge/donate-@PayPal-1eb0fc.svg" alt="Donate via PayPal!" /></a>
</p>

### Table of contents

- [Features](#features)
- [Installation](#installation)
  - [Dependencies](#dependencies)
  - [From a package manager](#from-a-package-manager)
  - [From source](#from-source)
  - [Running standalone](#running-standalone)
  - [Shell completion](#shell-completion)
- [Usage](#usage)
  - [Cmdline options](#cmdline-options)
  - [Configuration file](#configuration-file)
  - [Text-based browser integration](#text-based-browser-integration)
  - [Colors](#colors)
- [Examples](#examples)
- [Troubleshooting](#troubleshooting)
- [Notes](#notes)
- [Collaborators](#collaborators)
- [In the Press](#in-the-press)

### Features

- Fast and clean; custom color
- Designed for maximum readability at minimum space
- Instant answers (supported by DDG html version)
- Custom number of results per page
- Navigation, browser integration
- Search and option completion scripts (Bash, Fish, Zsh)
- DuckDuckGo Bangs (along with completion)
- Open the first result in browser (I'm Feeling Ducky)
- REPL for continuous searches
- Keywords (e.g. `filetype:mime`, `site:somesite.com`)
- Limit search by time, specify region, disable safe search
- HTTPS proxy support, optionally disable User Agent
- Do Not Track set by default
- Supports custom url handler script or cmdline utility
- Privacy-aware (no unconfirmed user data collection)
- Thoroughly documented, man page with examples
- Minimal dependencies

### Installation

#### Dependencies

`ddgr` requires Python 3.8 or later. Only the latest patch release of each minor version is supported.

To copy url to clipboard at the omniprompt, `ddgr` looks for `xsel` or `xclip` or `termux-clipboard-set` (in the same order) on Linux, `pbcopy` (default installed) on OS X, `clip` (default installed) on Windows and `clipboard` (default installed) on Haiku. It also supports GNU Screen and tmux copy-paste buffers in the absence of X11.

Note: v1.1 and below require the Python3 `requests` library to make HTTPS requests. This dependency is removed in the later releases.

#### From a package manager

Install `ddgr` from your package manager. If the version available is dated try an alternative installation method.

<details><summary>Packaging status (expand)</summary>
<p>
<br>
<a href="https://repology.org/project/ddgr/versions"><img src="https://repology.org/badge/vertical-allrepos/ddgr.svg" alt="Packaging status"></a>
</p>
Unlisted packagers:
<p>
<br>
● <a href="https://github.com/shinokada/awesome">Awesome</a> (<code>awesome -install jarun/ddgr</code>)<br>
● <a href="https://pypi.org/project/ddgr/">PyPI</a> (<code>pip3 install ddgr</code>)<br>
● <a href="https://snapcraft.io/ddgr/">Snap Store</a> (<code>snap install ddgr</code>)<br>
● <a href="http://codex.sourcemage.org/test/utils/ddgr/">Source Mage</a> (<code>cast ddgr</code>)<br>
● Termux (<code>pip3 install ddgr</code>)<br>
</p>
</details>

#### From source

If you have git installed, clone this repository. Otherwise download the [latest stable release](https://github.com/jarun/ddgr/releases/latest) or [development version](https://github.com/jarun/ddgr/archive/master.zip).

To install to the default location (`/usr/local`):

    $ sudo make install

To remove `ddgr` and associated docs, run

    $ sudo make uninstall

`PREFIX` is supported, in case you want to install to a different location.

#### Running standalone

`ddgr` is a standalone executable (and can run even on environments like Termux). From the containing directory:

    $ ./ddgr

#### Shell completion

Search keyword and option completion scripts for Bash, Fish and Zsh can be found in respective subdirectories of [`auto-completion/`](auto-completion). Please refer to your shell's manual for installation instructions.

### Usage

#### Cmdline options

```
usage: ddgr [-h] [-n N] [-r REG] [--colorize [{auto,always,never}]] [-C]
            [--colors COLORS] [-j] [-t SPAN] [-w SITE] [-x] [-p URI]
            [--unsafe] [--noua] [--json] [--gb] [--np] [--url-handler UTIL]
            [--show-browser-logs] [-v] [-d]
            [KEYWORD [KEYWORD ...]]

DuckDuckGo from the terminal.

positional arguments:
  KEYWORD               search keywords

optional arguments:
  -h, --help            show this help message and exit
  -n N, --num N         show N (0<=N<=25) results per page (default 10); N=0
                        shows actual number of results fetched per page
  -r REG, --reg REG     region-specific search e.g. 'us-en' for US (default);
                        visit https://duckduckgo.com/params
  --colorize [{auto,always,never}]
                        whether to colorize output; defaults to 'auto', which
                        enables color when stdout is a tty device; using
                        --colorize without an argument is equivalent to
                        --colorize=always
  -C, --nocolor         equivalent to --colorize=never
  --colors COLORS       set output colors (see man page for details)
  -j, --ducky           open the first result in a web browser; implies --np
  -t SPAN, --time SPAN  time limit search [d (1 day), w (1 wk), m (1 month), y (1 year)]
  -w SITE, --site SITE  search sites using DuckDuckGo
  -x, --expand          Show complete url in search results
  -p URI, --proxy URI   tunnel traffic through an HTTPS proxy; URI format:
                        [http[s]://][user:pwd@]host[:port]
  --unsafe              disable safe search
  --noua                disable user agent
  --json                output in JSON format; implies --np
  --gb, --gui-browser   open a bang directly in gui browser
  --np, --noprompt      perform search and exit, do not prompt
  --rev, --reverse      list entries in reversed order
  --url-handler UTIL    custom script or cli utility to open results
  --show-browser-logs   do not suppress browser output (stdout and stderr)
  -v, --version         show program's version number and exit
  -d, --debug           enable debugging

omniprompt keys:
  n, p, f               fetch the next, prev or first set of search results
  index                 open the result corresponding to index in browser
  o [index|range|a ...] open space-separated result indices, ranges or all
  O [index|range|a ...] like key 'o', but try to open in a GUI browser
  d keywords            new DDG search for 'keywords' with original options
                        should be used to search omniprompt keys and indices
  x                     toggle url expansion
  c index               copy url to clipboard
  q, ^D, double Enter   exit ddgr
  ?                     show omniprompt help
  *                     other inputs are considered as new search keywords
```

#### Configuration file

`ddgr` doesn't have any! Use aliases, environment variables and auto-completion scripts.

#### Text-based browser integration

`ddgr` works out of the box with several text-based browsers if the `BROWSER` environment variable is set. For instance,

    $ export BROWSER=w3m

or for one-time use,

    $ BROWSER=w3m ddgr query

Due to certain graphical browsers spewing messages to the console, `ddgr` suppresses browser output by default unless `BROWSER` is set to one of the known text-based browsers: currently `elinks`, `links`, `lynx`, `w3m` or `www-browser`. If you use a different text-based browser, you will need to explicitly enable browser output with the `--show-browser-logs` option. If you believe your browser is popular enough, please submit an issue or pull request and we will consider whitelisting it. See the man page for more details on `--show-browser-logs`.

If you need to use a GUI browser with `BROWSER` set, use the omniprompt key `O`. `ddgr` will try to ignore text-based browsers and invoke a GUI browser. Browser logs are always suppressed with `O`.

#### Colors

The color configuration is similar to that of [`googler` colors](https://github.com/jarun/googler#colors). The default color string is `oCdgxy`. `ddgr` recognizes the environment variable `DDGR_COLORS`. Details are available in the `ddgr` man page.

### Examples

1. DuckDuckGo **hello world**:

       $ ddgr hello world
2. **I'm Feeling Ducky** search:

       $ ddgr -j lucky ducks
3. **DuckDuckGo Bang** search `hello world` in Wikipedia:

       $ ddgr !w hello world
       $ ddgr \!w hello world // in (some) shells (e.g. bash, zsh, tcsh) '!' character need to be escaped
    Bangs work at the omniprompt too. To look up bangs, visit https://duckduckgo.com/bang?#bangs-list.
4. **Bang alias** to fire from the cmdline, open results in a GUI browser and exit:

       alias bang='ddgr --gb --np'
       $ bang !w hello world
       $ bang \!w hello world // in (some) shells (e.g. bash, zsh, tcsh) '!' character need to be escaped
5. **Website specific** search:

       $ ddgr -w amazon.com digital camera
    Site specific search continues at omniprompt.
6. Search for a **specific file type**:

       $ ddgr instrumental filetype:mp3
7. Fetch results on IPL cricket from **India** in **English**:

       $ ddgr -r in-en IPL cricket
    To find your region parameter token visit https://duckduckgo.com/params.
8. Search **quoted text**:

       $ ddgr it\'s a \"beautiful world\" in spring
9. Show **complete urls** in search results (instead of only domain name):

       $ ddgr -x ddgr
10. Use a **custom color scheme**, e.g., one warm color scheme designed for Solarized Dark:

        $ ddgr --colors bjdxxy hello world
        $ DDGR_COLORS=bjdxxy ddgr hello world
11. Tunnel traffic through an **HTTPS proxy**, e.g., a local Privoxy instance listening on port 8118:

        $ ddgr --proxy localhost:8118 hello world
    By default the environment variable `https_proxy` (or `HTTPS_PROXY`) is used, if defined.
12. Look up `n`, `p`, `o`, `O`, `q`, `d keywords` or a result index at the **omniprompt**: as the omniprompt recognizes these keys or index strings as commands, you need to prefix them with `d`, e.g.,

        d n
        d g keywords
        d 1

### Troubleshooting

1. Some users have reported problems with a colored omniprompt (refer to issue [#40](https://github.com/jarun/ddgr/issues/40)) with iTerm2 on OS X. To force a plain omniprompt:

       export DISABLE_PROMPT_COLOR=1

### Notes

1. The Albert Launcher python plugins repo
([awesome-albert-plugins](https://github.com/bergercookie/awesome-albert-plugins))
includes suggestions-enabled search plugins for a variety of websites using
`ddgr`. Refer to the latter for demos and usage instructions.

### Collaborators

- [Arun Prakash Jana](https://github.com/jarun)
- [Johnathan Jenkins](https://github.com/shaggytwodope)
- [SZ Lin](https://github.com/szlin)
- [Alex Gontar](https://github.com/mosegontar)

Copyright © 2016-2023 [Arun Prakash Jana](mailto:engineerarun@gmail.com)

### In the Press

- [Fossbytes](https://fossbytes.com/search-duckduckgo-from-terminal-ddgr/)
- [Hacker News](https://news.ycombinator.com/item?id=19606101)
- [Information Security Squad](http://itsecforu.ru/2017/11/21/%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D0%B2-duckduckgo-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8-linux/)
- [LinOxide](https://linoxide.com/tools/search-duckduckgo-command-line/)
- [OMG! Ubuntu!](http://www.omgubuntu.co.uk/2017/11/duck-duck-go-terminal-app)
- [Tecmint](https://www.tecmint.com/search-duckduckgo-from-linux-terminal/)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/jarun/ddgr",
    "name": "ddgr",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "",
    "author": "Arun Prakash Jana",
    "author_email": "engineerarun@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/a0/d5/ac3cb201fd8369acdf39f2e1f2f5786f04a7f827e3d0c915e3e5d6f8c9e9/ddgr-2.2.tar.gz",
    "platform": "any",
    "description": "<h1 align=\"center\">ddgr</h1>\n\n<p align=\"center\">\n<a href=\"https://github.com/jarun/ddgr/releases/latest\"><img src=\"https://img.shields.io/github/release/jarun/ddgr.svg?maxAge=600\" alt=\"Latest release\" /></a>\n<a href=\"https://repology.org/project/ddgr/versions\"><img src=\"https://repology.org/badge/tiny-repos/ddgr.svg\" alt=\"Availability\"></a>\n<a href=\"https://pypi.org/project/ddgr/\"><img src=\"https://img.shields.io/pypi/v/ddgr.svg?maxAge=600\" alt=\"PyPI\" /></a>\n<a href=\"https://circleci.com/gh/jarun/workflows/ddgr\"><img src=\"https://img.shields.io/circleci/project/github/jarun/ddgr.svg\" alt=\"Build Status\" /></a>\n<a href=\"https://en.wikipedia.org/wiki/Privacy-invasive_software\"><img src=\"https://img.shields.io/badge/privacy-\u2713-crimson\" alt=\"Privacy Awareness\" /></a>\n<a href=\"https://github.com/jarun/ddgr/blob/master/LICENSE\"><img src=\"https://img.shields.io/badge/license-GPLv3-yellowgreen.svg?maxAge=2592000\" alt=\"License\" /></a>\n</p>\n\n<p align=\"center\">\n<a href=\"https://asciinema.org/a/212198\"><img src=\"https://asciinema.org/a/212198.svg\" alt=\"Asciicast\" width=\"734\"/></a>\n</p>\n\n`ddgr` is a cmdline utility to search DuckDuckGo ([html version](https://html.duckduckgo.com/html/)) from the terminal. While [googler](https://github.com/jarun/googler) is extremely popular among cmdline users, in many forums the need of a similar utility for privacy-aware DuckDuckGo came up. [DuckDuckGo Bangs](https://duckduckgo.com/bang) are super-cool too! So here's `ddgr` for you!\n\nUnlike the web interface, you can specify the number of search results you would like to see per page. It's more convenient than skimming through 30-odd search results per page. The default interface is carefully designed to use minimum space without sacrificing readability.\n\nA big advantage of `ddgr` over `googler` is DuckDuckGo works over the Tor network.\n\n`ddgr` isn't affiliated to DuckDuckGo in any way.\n\n<p align=\"center\">\n<a href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RMLTQ76JSXJ4Q\"><img src=\"https://img.shields.io/badge/donate-@PayPal-1eb0fc.svg\" alt=\"Donate via PayPal!\" /></a>\n</p>\n\n### Table of contents\n\n- [Features](#features)\n- [Installation](#installation)\n  - [Dependencies](#dependencies)\n  - [From a package manager](#from-a-package-manager)\n  - [From source](#from-source)\n  - [Running standalone](#running-standalone)\n  - [Shell completion](#shell-completion)\n- [Usage](#usage)\n  - [Cmdline options](#cmdline-options)\n  - [Configuration file](#configuration-file)\n  - [Text-based browser integration](#text-based-browser-integration)\n  - [Colors](#colors)\n- [Examples](#examples)\n- [Troubleshooting](#troubleshooting)\n- [Notes](#notes)\n- [Collaborators](#collaborators)\n- [In the Press](#in-the-press)\n\n### Features\n\n- Fast and clean; custom color\n- Designed for maximum readability at minimum space\n- Instant answers (supported by DDG html version)\n- Custom number of results per page\n- Navigation, browser integration\n- Search and option completion scripts (Bash, Fish, Zsh)\n- DuckDuckGo Bangs (along with completion)\n- Open the first result in browser (I'm Feeling Ducky)\n- REPL for continuous searches\n- Keywords (e.g. `filetype:mime`, `site:somesite.com`)\n- Limit search by time, specify region, disable safe search\n- HTTPS proxy support, optionally disable User Agent\n- Do Not Track set by default\n- Supports custom url handler script or cmdline utility\n- Privacy-aware (no unconfirmed user data collection)\n- Thoroughly documented, man page with examples\n- Minimal dependencies\n\n### Installation\n\n#### Dependencies\n\n`ddgr` requires Python 3.8 or later. Only the latest patch release of each minor version is supported.\n\nTo copy url to clipboard at the omniprompt, `ddgr` looks for `xsel` or `xclip` or `termux-clipboard-set` (in the same order) on Linux, `pbcopy` (default installed) on OS X, `clip` (default installed) on Windows and `clipboard` (default installed) on Haiku. It also supports GNU Screen and tmux copy-paste buffers in the absence of X11.\n\nNote: v1.1 and below require the Python3 `requests` library to make HTTPS requests. This dependency is removed in the later releases.\n\n#### From a package manager\n\nInstall `ddgr` from your package manager. If the version available is dated try an alternative installation method.\n\n<details><summary>Packaging status (expand)</summary>\n<p>\n<br>\n<a href=\"https://repology.org/project/ddgr/versions\"><img src=\"https://repology.org/badge/vertical-allrepos/ddgr.svg\" alt=\"Packaging status\"></a>\n</p>\nUnlisted packagers:\n<p>\n<br>\n\u25cf <a href=\"https://github.com/shinokada/awesome\">Awesome</a> (<code>awesome -install jarun/ddgr</code>)<br>\n\u25cf <a href=\"https://pypi.org/project/ddgr/\">PyPI</a> (<code>pip3 install ddgr</code>)<br>\n\u25cf <a href=\"https://snapcraft.io/ddgr/\">Snap Store</a> (<code>snap install ddgr</code>)<br>\n\u25cf <a href=\"http://codex.sourcemage.org/test/utils/ddgr/\">Source Mage</a> (<code>cast ddgr</code>)<br>\n\u25cf Termux (<code>pip3 install ddgr</code>)<br>\n</p>\n</details>\n\n#### From source\n\nIf you have git installed, clone this repository. Otherwise download the [latest stable release](https://github.com/jarun/ddgr/releases/latest) or [development version](https://github.com/jarun/ddgr/archive/master.zip).\n\nTo install to the default location (`/usr/local`):\n\n    $ sudo make install\n\nTo remove `ddgr` and associated docs, run\n\n    $ sudo make uninstall\n\n`PREFIX` is supported, in case you want to install to a different location.\n\n#### Running standalone\n\n`ddgr` is a standalone executable (and can run even on environments like Termux). From the containing directory:\n\n    $ ./ddgr\n\n#### Shell completion\n\nSearch keyword and option completion scripts for Bash, Fish and Zsh can be found in respective subdirectories of [`auto-completion/`](auto-completion). Please refer to your shell's manual for installation instructions.\n\n### Usage\n\n#### Cmdline options\n\n```\nusage: ddgr [-h] [-n N] [-r REG] [--colorize [{auto,always,never}]] [-C]\n            [--colors COLORS] [-j] [-t SPAN] [-w SITE] [-x] [-p URI]\n            [--unsafe] [--noua] [--json] [--gb] [--np] [--url-handler UTIL]\n            [--show-browser-logs] [-v] [-d]\n            [KEYWORD [KEYWORD ...]]\n\nDuckDuckGo from the terminal.\n\npositional arguments:\n  KEYWORD               search keywords\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -n N, --num N         show N (0<=N<=25) results per page (default 10); N=0\n                        shows actual number of results fetched per page\n  -r REG, --reg REG     region-specific search e.g. 'us-en' for US (default);\n                        visit https://duckduckgo.com/params\n  --colorize [{auto,always,never}]\n                        whether to colorize output; defaults to 'auto', which\n                        enables color when stdout is a tty device; using\n                        --colorize without an argument is equivalent to\n                        --colorize=always\n  -C, --nocolor         equivalent to --colorize=never\n  --colors COLORS       set output colors (see man page for details)\n  -j, --ducky           open the first result in a web browser; implies --np\n  -t SPAN, --time SPAN  time limit search [d (1 day), w (1 wk), m (1 month), y (1 year)]\n  -w SITE, --site SITE  search sites using DuckDuckGo\n  -x, --expand          Show complete url in search results\n  -p URI, --proxy URI   tunnel traffic through an HTTPS proxy; URI format:\n                        [http[s]://][user:pwd@]host[:port]\n  --unsafe              disable safe search\n  --noua                disable user agent\n  --json                output in JSON format; implies --np\n  --gb, --gui-browser   open a bang directly in gui browser\n  --np, --noprompt      perform search and exit, do not prompt\n  --rev, --reverse      list entries in reversed order\n  --url-handler UTIL    custom script or cli utility to open results\n  --show-browser-logs   do not suppress browser output (stdout and stderr)\n  -v, --version         show program's version number and exit\n  -d, --debug           enable debugging\n\nomniprompt keys:\n  n, p, f               fetch the next, prev or first set of search results\n  index                 open the result corresponding to index in browser\n  o [index|range|a ...] open space-separated result indices, ranges or all\n  O [index|range|a ...] like key 'o', but try to open in a GUI browser\n  d keywords            new DDG search for 'keywords' with original options\n                        should be used to search omniprompt keys and indices\n  x                     toggle url expansion\n  c index               copy url to clipboard\n  q, ^D, double Enter   exit ddgr\n  ?                     show omniprompt help\n  *                     other inputs are considered as new search keywords\n```\n\n#### Configuration file\n\n`ddgr` doesn't have any! Use aliases, environment variables and auto-completion scripts.\n\n#### Text-based browser integration\n\n`ddgr` works out of the box with several text-based browsers if the `BROWSER` environment variable is set. For instance,\n\n    $ export BROWSER=w3m\n\nor for one-time use,\n\n    $ BROWSER=w3m ddgr query\n\nDue to certain graphical browsers spewing messages to the console, `ddgr` suppresses browser output by default unless `BROWSER` is set to one of the known text-based browsers: currently `elinks`, `links`, `lynx`, `w3m` or `www-browser`. If you use a different text-based browser, you will need to explicitly enable browser output with the `--show-browser-logs` option. If you believe your browser is popular enough, please submit an issue or pull request and we will consider whitelisting it. See the man page for more details on `--show-browser-logs`.\n\nIf you need to use a GUI browser with `BROWSER` set, use the omniprompt key `O`. `ddgr` will try to ignore text-based browsers and invoke a GUI browser. Browser logs are always suppressed with `O`.\n\n#### Colors\n\nThe color configuration is similar to that of [`googler` colors](https://github.com/jarun/googler#colors). The default color string is `oCdgxy`. `ddgr` recognizes the environment variable `DDGR_COLORS`. Details are available in the `ddgr` man page.\n\n### Examples\n\n1. DuckDuckGo **hello world**:\n\n       $ ddgr hello world\n2. **I'm Feeling Ducky** search:\n\n       $ ddgr -j lucky ducks\n3. **DuckDuckGo Bang** search `hello world` in Wikipedia:\n\n       $ ddgr !w hello world\n       $ ddgr \\!w hello world // in (some) shells (e.g. bash, zsh, tcsh) '!' character need to be escaped\n    Bangs work at the omniprompt too. To look up bangs, visit https://duckduckgo.com/bang?#bangs-list.\n4. **Bang alias** to fire from the cmdline, open results in a GUI browser and exit:\n\n       alias bang='ddgr --gb --np'\n       $ bang !w hello world\n       $ bang \\!w hello world // in (some) shells (e.g. bash, zsh, tcsh) '!' character need to be escaped\n5. **Website specific** search:\n\n       $ ddgr -w amazon.com digital camera\n    Site specific search continues at omniprompt.\n6. Search for a **specific file type**:\n\n       $ ddgr instrumental filetype:mp3\n7. Fetch results on IPL cricket from **India** in **English**:\n\n       $ ddgr -r in-en IPL cricket\n    To find your region parameter token visit https://duckduckgo.com/params.\n8. Search **quoted text**:\n\n       $ ddgr it\\'s a \\\"beautiful world\\\" in spring\n9. Show **complete urls** in search results (instead of only domain name):\n\n       $ ddgr -x ddgr\n10. Use a **custom color scheme**, e.g., one warm color scheme designed for Solarized Dark:\n\n        $ ddgr --colors bjdxxy hello world\n        $ DDGR_COLORS=bjdxxy ddgr hello world\n11. Tunnel traffic through an **HTTPS proxy**, e.g., a local Privoxy instance listening on port 8118:\n\n        $ ddgr --proxy localhost:8118 hello world\n    By default the environment variable `https_proxy` (or `HTTPS_PROXY`) is used, if defined.\n12. Look up `n`, `p`, `o`, `O`, `q`, `d keywords` or a result index at the **omniprompt**: as the omniprompt recognizes these keys or index strings as commands, you need to prefix them with `d`, e.g.,\n\n        d n\n        d g keywords\n        d 1\n\n### Troubleshooting\n\n1. Some users have reported problems with a colored omniprompt (refer to issue [#40](https://github.com/jarun/ddgr/issues/40)) with iTerm2 on OS X. To force a plain omniprompt:\n\n       export DISABLE_PROMPT_COLOR=1\n\n### Notes\n\n1. The Albert Launcher python plugins repo\n([awesome-albert-plugins](https://github.com/bergercookie/awesome-albert-plugins))\nincludes suggestions-enabled search plugins for a variety of websites using\n`ddgr`. Refer to the latter for demos and usage instructions.\n\n### Collaborators\n\n- [Arun Prakash Jana](https://github.com/jarun)\n- [Johnathan Jenkins](https://github.com/shaggytwodope)\n- [SZ Lin](https://github.com/szlin)\n- [Alex Gontar](https://github.com/mosegontar)\n\nCopyright \u00a9 2016-2023 [Arun Prakash Jana](mailto:engineerarun@gmail.com)\n\n### In the Press\n\n- [Fossbytes](https://fossbytes.com/search-duckduckgo-from-terminal-ddgr/)\n- [Hacker News](https://news.ycombinator.com/item?id=19606101)\n- [Information Security Squad](http://itsecforu.ru/2017/11/21/%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BA%D0%B0%D1%82%D1%8C-%D0%B2-duckduckgo-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8-linux/)\n- [LinOxide](https://linoxide.com/tools/search-duckduckgo-command-line/)\n- [OMG! Ubuntu!](http://www.omgubuntu.co.uk/2017/11/duck-duck-go-terminal-app)\n- [Tecmint](https://www.tecmint.com/search-duckduckgo-from-linux-terminal/)\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "DuckDuckGo from the terminal",
    "version": "2.2",
    "project_urls": {
        "Homepage": "https://github.com/jarun/ddgr"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "93c20cb3d33303b678cc3ca93cc73e4587360be286a9f7932a952810910059bb",
                "md5": "159321ca2deee8ba51df48fbf638f0f2",
                "sha256": "5db4e8a4323ce748d40fcdec0c476fc4685e9bb942b79a566eec4f7577bd1037"
            },
            "downloads": -1,
            "filename": "ddgr-2.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "159321ca2deee8ba51df48fbf638f0f2",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 38313,
            "upload_time": "2023-12-29T02:34:19",
            "upload_time_iso_8601": "2023-12-29T02:34:19.950727Z",
            "url": "https://files.pythonhosted.org/packages/93/c2/0cb3d33303b678cc3ca93cc73e4587360be286a9f7932a952810910059bb/ddgr-2.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a0d5ac3cb201fd8369acdf39f2e1f2f5786f04a7f827e3d0c915e3e5d6f8c9e9",
                "md5": "10b1bb3eb4997cbeaf3214f1810a0449",
                "sha256": "f58a5eea5e0916a2594eab7d5a8f97c21cbfcb9347dccb60570ccb9cb2c7cbb8"
            },
            "downloads": -1,
            "filename": "ddgr-2.2.tar.gz",
            "has_sig": false,
            "md5_digest": "10b1bb3eb4997cbeaf3214f1810a0449",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 39765,
            "upload_time": "2023-12-29T02:34:22",
            "upload_time_iso_8601": "2023-12-29T02:34:22.318006Z",
            "url": "https://files.pythonhosted.org/packages/a0/d5/ac3cb201fd8369acdf39f2e1f2f5786f04a7f827e3d0c915e3e5d6f8c9e9/ddgr-2.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-12-29 02:34:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "jarun",
    "github_project": "ddgr",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "circle": true,
    "lcname": "ddgr"
}
        
Elapsed time: 0.22601s