DuckDuckGo – поиск из консоли

ddgr — это легковесная утилита командной строки, которая позволяет выполнять поисковые запросы через DuckDuckGo прямо в терминале. Она идеально подходит для пользователей, которые ценят минималистичный интерфейс и высокую конфиденциальность своих поисковых запросов. ddgr предлагает множество функций, таких как фильтрация результатов по времени, региональная настройка поиска и многое другое. В этой статье вы найдете подробное руководство по установке, использованию и интеграции ddgr с текстовыми браузерами.

1. Введение в ddgr

DuckDuckGo — это поисковая система, ориентированная на приватность пользователей. ddgr предоставляет возможность использования этой системы напрямую из командной строки, что делает процесс поиска быстрым и эффективным. Благодаря ddgr, пользователи могут избегать сбора данных, что характерно для большинства традиционных браузеров, и получать результаты поиска без рекламы и трекеров.

2. Установка ddgr

2.1 Установка на Linux

ddgr поддерживается многими дистрибутивами Linux и может быть установлен через стандартные пакетные менеджеры:

  • Debian/Ubuntu: Установите ddgr с помощью apt:
sudo apt update
sudo apt install ddgr
  • Arch Linux: Используйте pacman для установки:
sudo pacman -S ddgr
  • Fedora: Установите ddgr с помощью dnf:
sudo dnf install ddgr

Если ddgr отсутствует в репозиториях вашего дистрибутива, его можно установить через pip:

pip3 install ddgr

2.2 Установка на macOS

Для macOS ddgr можно установить с помощью Homebrew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install ddgr

2.3 Установка на Windows

На Windows можно установить ddgr через эмуляторы терминала, такие как Git Bash, при наличии Python и pip:

pip install ddgr

3. Основные команды и примеры использования

ddgr предоставляет богатый функционал для работы с поисковыми запросами в терминале. Вот несколько основных примеров:

  • Простой поиск: Введите запрос в терминале:
ddgr "ваш поисковый запрос"
  • Ограничение количества результатов: Вывод первых n результатов:
ddgr -n 5 "ваш поисковый запрос"
  • Поиск по конкретному сайту: Ограничение поиска определенным доменом:
ddgr -w example.com "ваш поисковый запрос"
  • Фильтрация по региону: Настройка поиска на конкретный регион:
ddgr --region ru "ваш поисковый запрос"
  • Безопасный поиск: Включение безопасного поиска:
ddgr --safe "ваш поисковый запрос"
  • Поиск с фильтрацией по времени: Ограничение по временным интервалам:
ddgr --time d "ваш поисковый запрос"
  • Открытие первого результата в браузере: Быстрое открытие первой ссылки:
ddgr -j "ваш поисковый запрос"

4. Интеграция с текстовыми браузерами

ddgr поддерживает интеграцию с текстовыми браузерами, такими как w3m, что позволяет открывать результаты поиска прямо в терминале.

4.1 Настройка переменной среды BROWSER

Для корректной работы ddgr с текстовыми браузерами, убедитесь, что переменная BROWSER установлена. Например:

export BROWSER=w3m

Или для разового использования:

BROWSER=w3m ddgr "ваш поисковый запрос"

По умолчанию ddgr подавляет вывод браузера, если переменная BROWSER не установлена на один из известных текстовых браузеров (elinks, links, lynx, w3m, www-browser). Если вы используете другой текстовый браузер, включите вывод с опцией --show-browser-logs.

Для использования GUI-браузера с установленной переменной BROWSER, используйте ключ O в командной строке omniprompt. ddgr будет пытаться игнорировать текстовые браузеры и откроет результат в GUI-браузере.

5. Полезные функции и опции ddgr

ddgr предлагает множество опций, которые помогут настроить утилиту под ваши нужды:

  • -n, –num N: Устанавливает количество результатов на странице (по умолчанию 10).
  • -r, –reg REG: Региональный поиск, например, us-en для США.
  • –colorize: Управление цветовым выводом (автоматический, всегда, никогда).
  • -C, –nocolor: Отключение цветового вывода.
  • –colors: Настройка цветов вывода (подробности в man-странице).
  • -j, –ducky: Открытие первого результата в браузере.
  • -t, –time SPAN: Ограничение поиска по времени (день, неделя, месяц, год).
  • -w, –site SITE: Поиск по указанному сайту.
  • -x, –expand: Показ полного URL в результатах поиска.
  • -p, –proxy URI: Использование прокси для поиска.
  • –unsafe: Отключение безопасного поиска.
  • –noua: Отключение пользовательского агента.
  • –json: Вывод результатов в формате JSON.
  • –gb, –gui-browser: Открытие результата в GUI-браузере.
  • –np, –noprompt: Выполнение поиска без перехода в интерактивный режим.
  • –rev, –reverse: Сортировка результатов в обратном порядке.
  • –url-handler UTIL: Использование пользовательского скрипта или утилиты для открытия ссылок.
  • –show-browser-logs: Отключение подавления вывода браузера (stdout и stderr).
  • -v, –version: Вывод информации о версии ddgr.
  • -d, –debug: Включение отладки.

Эти опции позволяют гибко настраивать ddgr и использовать его для различных целей.

5.1 Специальные команды omniprompt

В интерактивном режиме ddgr поддерживает следующие команды:

  • n, p, f: Переход к следующей, предыдущей или первой странице результатов.
  • index: Открытие результата по его индексу в браузере.
  • o [index|range|a …]: Открытие выбранных индексов, диапазонов или всех результатов.
  • O [index|range|a …]: То же, что и o, но с попыткой открыть в GUI-браузере.
  • d keywords: Новый поиск с исходными параметрами.
  • x: Переключение отображения полного URL.
  • c index: Копирование URL по индексу в буфер обмена.
  • q, ^D, двойное нажатие Enter: Выход из ddgr.
  • ? Показ справки по командам omniprompt.
  • *: Любой другой ввод будет считаться новым поисковым запросом.

6. Дополнительные советы по использованию ddgr

Некоторые полезные советы помогут вам еще больше оптимизировать использование ddgr:

  • Сохранение поисковых запросов: Сохраните часто используемые запросы в виде алиасов командной оболочки. Например, добавьте следующий алиас в файл .bashrc:
alias duck='ddgr --safe --region ru'

Теперь вы можете выполнять безопасный поиск с установленным регионом, просто введя команду duck "ваш запрос" в терминале.

  • Использование ddgr в скриптах: ddgr можно использовать в bash-скриптах для автоматизации задач поиска. Например, чтобы найти и вывести ссылки на страницы, связанные с определенной темой:
#!/bin/bash
ddgr -n 10 --json "ваш поисковый запрос" | jq '.[] | .url'

Этот скрипт выполнит поиск и выведет 10 ссылок в формате JSON, которые можно использовать для последующей обработки.

  • Интеграция с другими инструментами: ddgr может быть интегрирован с такими инструментами, как fzf (интерактивный фильтр командной строки), что позволяет выбирать результаты поиска и открывать их в текстовом браузере. Пример команды:
ddgr -n 10 "ваш поисковый запрос" | fzf | xargs -I {} lynx {}

Эта команда выполнит поиск, отфильтрует результаты с помощью fzf, а затем откроет выбранный результат в Lynx.

7. Заключение

ddgr — это мощный инструмент для поиска в интернете с использованием DuckDuckGo прямо из командной строки. Его гибкость и настраиваемость делают его идеальным выбором для тех, кто ценит приватность, эффективность и удобство работы в терминале. Благодаря множеству опций и поддержке текстовых браузеров, ddgr позволяет эффективно искать информацию, не покидая консоль.