Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

s

> 编程语言
Open source

Open a web search in your terminal.

2.6K stars0 likes1 views
WebsiteGitHub

About

Open a web search in your terminal.

s

License Build Release  Snap Builds Snap Status

Web search from the terminal. Just opens in your browser.

…

Install

Make sure that GOPATH and GOBIN env vars are set. Then run:

bash
go install github.com/zquestz/s@latest

Alternatively, you can use Homebrew:

bash
brew install s-search

Arch Linux users can install from the AUR:

bash
yay -S s

Examples

Search for puppies on brave search.

bash
s puppies

Search for dragonflies on google.

bash
s -p google dragonflies

Search for a wifi router on amazon

bash
s -p amazon wifi router

Search for rhinos on wikipedia

bash
s -p wikipedia rhinos

Search providers tagged "video" for muppets.

bash
s -t video muppets

Provider/Tag Expansion

We can do partial matching of provider and tag names. This searches Facebook for hamsters.

bash
s -p fa hamsters

Or toasters on amazon.

bash
s -p am toasters

This searches "tech-news" tagged providers for ssd info.

bash
s -t te ssd

Or shopping sites for blankets.

bash
s -t sh blankets

Provider/Tag Autocompletion

Autocompletion is supported for providers and tags. To set up autocompletion:

Bash Linux

bash
sudo bash -c "s --completion bash > /etc/bash_completion.d/s"

Bash MacOS

bash
sudo bash -c "s --completion bash > /usr/local/etc/bash_completion.d/s"

Zsh

Generate a _s completion script and put it somewhere in your $fpath:

bash
sudo zsh -c "s --completion zsh > /usr/local/share/zsh/site-functions/_s"

Fish

bash
s --completion fish > ~/.config/fish/completions/s.fish

Powershell

powershell
(& s --completion powershell) | Out-String | Invoke-Expression

Advanced

Setup an alias in your .profile for your favorite providers.

bash
alias sa="s -p amazon"
alias sw="s -p wikipedia"

Use w3m to find cats instead of just your default browser.

bash
s -b w3m cats

Search for conspiracy theories in incognito mode.

bash
s -b "chromium --incognito" conspiracy theories
s -b "firefox --private-window" conspiracy theories

Use a browser with spaces in its path. Quotes are only needed when passing extra flags.

bash
s -b "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" kittens
s -b '"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --incognito' kittens

Search in a specific subreddit.

bash
s -p reddit /r/cscareerquestions best startups.

JSON Output

Need machine readable output for scripting? Just pass the -j flag to any of the list commands.

List all supported providers as JSON.

bash
s -l -j

List all available tags as JSON.

bash
s --list-tags -j

Adding the verbose flag includes the tags for each provider, and vice versa.

bash
s -l -v -j
s --list-tags -v -j

To always output JSON for list commands, add json: true to your configuration file.

Server Mode

A web interface is also provided. Just pass the -s flag.

Start a server on port 8080 (default).

bash
s -s

Start a server with TLS on port 8443.

bash
s -s -c /path/to/cert.pem -k /path/to/key.pem --port 8443

Feel free to try it out at https://jumps.io/.

Configuration

To setup your own default configuration just create ~/.config/s/config. The configuration file is in UCL format.

For more information about UCL visit: https://github.com/vstakhov/libucl

The following keys are supported:

  • blacklist (array of providers to exclude)
  • binary (binary to launch search URI)
  • cert (path to cert.pem for TLS)
  • customProviders (array of custom providers)
  • json (json output for --list-providers and --list-tags)
  • key (path to key.pem for TLS)
  • output (output only mode)
  • port (server port)
  • provider (search provider)
  • tag (search tag)
  • verbose (verbose mode)
  • whitelist (array of providers to include)

NOTE: You must include a trailing newline in the configuration file or it may fail to parse correctly.

Set your default provider to duckduckgo:

ucl
provider: duckduckgo

To only search a few providers:

ucl
whitelist: [google, amazon, wikipedia]

To exclude providers you don't need:

ucl
blacklist: [dumpert]

To add a custom provider:

ucl
customProviders [
  {
    name: example
    url: "https://example.com?q=%s"
    tags: [example]
  }
]

Custom providers require a few things:

  • An alphanumeric name. ^[a-zA-Z0-9_]*$
  • A %s token for the query string.
  • A valid URL scheme.

Supported Providers

  • 500px
  • aliexpress
  • allocine
  • amazon
  • archpkg
  • archwiki
  • ardmediathek
  • arstechnica
  • arxiv
  • atmospherejs
  • aur
  • baidu
  • bandcamp
  • bgr
  • bigbasket
  • bing
  • brave
  • buzzfeed
  • caniuse
  • cnn
  • codepen
  • coursera
  • cplusplus
  • crates
  • crunchyroll
  • debianpkg
  • dict
  • diigo
  • dockerhub
  • dribbble
  • duckduckgo
  • dumpert
  • ecosia
  • engadget
  • explainshell
  • facebook
  • flake8rules
  • flathub
  • flickr
  • flipkart
  • foursquare
  • freebsdman
  • freshports
  • gibiru
  • giphy
  • gist
  • github
  • gmail
  • go
  • godoc
  • goodreads
  • google
  • googledocs
  • googlemaps
  • hackernews
  • idealo
  • ietf
  • ifttt
  • imdb
  • imgur
  • instagram
  • kagi
  • kaufda
  • libgen
  • linkedin
  • macports
  • mdn
  • medium
  • metacpan
  • msdn
  • naver
  • netflix
  • nhaccuatui
  • npm
  • npr
  • nvd
  • openbsdman
  • overstock
  • packagist
  • perplexity
  • protondb
  • phandroid
  • php
  • pinterest
  • postgresql
  • pydoc
  • pypi
  • python
  • quora
  • qwant
  • reddit
  • regex
  • rottentomatoes
  • rubygems
  • shodan
  • soundcloud
  • spotify
  • stackoverflow
  • steam
  • taobao
  • thepiratebay
  • theregister
  • twitchtv
  • twitter
  • ultimateguitar
  • unity3d
  • unsplash
  • vimeo
  • wikipedia
  • wolframalpha
  • yahoo
  • yandex
  • youtube
  • zdf

Contributors

  • Josh Ellithorpe (zquestz)
  • Christian Petersen (fnky)
  • Preet Bhinder (mbhinder)
  • Robert-Jan Keizer (KeizerDev)
  • Vitor Cortez (vekat)
  • David Liu (tw4dl)
  • Lex Broner (akb)
  • Diego Jara (djap96)
  • Luvsandondov Lkhamsuren (lkhamsurenl)
  • Eray Aydın (erayaydin)
  • Murilo Santana (mvrilo)
  • Jun He (knarfeh)
  • Xavier Bruhiere (hackliff)

License

s is released under the MIT license.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Gogolangsearchterminal

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言