zquestz/s has 2,618 GitHub stars and 126 forks. GitHot measured +3 in 7 days and +5 in 15 days. Last checked 2026-11-10 19:58 UTC. Last push 2026-10-31.
Open a web search in your terminal.
Crecimiento de estrellas medido
- in 24h
- Actualización retrasada
- in 7 days
- +3
- in 15 days
- +5
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
Originals
Web search from the terminal. Just opens in your browser.
Usage:
s <query> [flags]
Flags:
-b, --binary string binary to launch search URI
-c, --cert string path to cert.pem for TLS
--completion string completion script for bash, zsh, fish or powershell
-h, --help help for s
-j, --json json output for --list-providers and --list-tags
-k, --key string path to key.pem for TLS
-l, --list-providers list supported providers
--list-tags list available tags
-o, --output output only mode
--port int server port (default 8080)
-p, --provider string search provider (default "brave")
-s, --server launch web server
-t, --tag string search tag
-v, --verbose verbose mode
--version display version
Install
Make sure that GOPATH and GOBIN env vars are set. Then run:
go install github.com/zquestz/s@latest
Alternatively, you can use Homebrew:
brew install s-search
Arch Linux users can install from the AUR:
yay -S s
Examples
Search for puppies on brave search.
s puppies
Search for dragonflies on google.
s -p google dragonflies
Search for a wifi router on amazon
s -p amazon wifi router
Search for rhinos on wikipedia
s -p wikipedia rhinos
Search providers tagged "video" for muppets.
s -t video muppets
Provider/Tag Expansion
We can do partial matching of provider and tag names. This searches Facebook for hamsters.
s -p fa hamsters
Or toasters on amazon.
s -p am toasters
This searches "tech-news" tagged providers for ssd info.
s -t te ssd
Or shopping sites for blankets.
s -t sh blankets
Provider/Tag Autocompletion
Autocompletion is supported for providers and tags. To set up autocompletion:
Bash Linux
sudo bash -c "s --completion bash > /etc/bash_completion.d/s"
Bash MacOS
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:
sudo zsh -c "s --completion zsh > /usr/local/share/zsh/site-functions/_s"
Fish
s --completion fish > ~/.config/fish/completions/s.fish
Powershell
(& s --completion powershell) | Out-String | Invoke-Expression
Advanced
Setup an alias in your .profile for your favorite providers.
alias sa="s -p amazon"
alias sw="s -p wikipedia"
Use w3m to find cats instead of just your default browser.
s -b w3m cats
Search for conspiracy theories in incognito mode.
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.
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.
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.
s -l -j
List all available tags as JSON.
s --list-tags -j
Adding the verbose flag includes the tags for each provider, and vice versa.
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).
s -s
Start a server with TLS on port 8443.
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:
provider: duckduckgo
To only search a few providers:
whitelist: [google, amazon, wikipedia]
To exclude providers you don't need:
blacklist: [dumpert]
To add a custom provider:
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
%stoken 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
- flake8rules
- flathub
- flickr
- flipkart
- foursquare
- freebsdman
- freshports
- gibiru
- giphy
- gist
- github
- gmail
- go
- godoc
- goodreads
- googledocs
- googlemaps
- hackernews
- idealo
- ietf
- ifttt
- imdb
- imgur
- kagi
- kaufda
- libgen
- macports
- mdn
- medium
- metacpan
- msdn
- naver
- netflix
- nhaccuatui
- npm
- npr
- nvd
- openbsdman
- overstock
- packagist
- perplexity
- protondb
- phandroid
- php
- postgresql
- pydoc
- pypi
- python
- quora
- qwant
- regex
- rottentomatoes
- rubygems
- shodan
- soundcloud
- spotify
- stackoverflow
- steam
- taobao
- thepiratebay
- theregister
- twitchtv
- 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.
Explorar proyectos relacionados
codecrafters-io/build-your-own-x
Domina la programación recreando desde cero tus tecnologías favoritas.
561,592 estrellaspublic-apis/public-apis
Una lista colectiva de API gratuitas
497,914 estrellasmorluto/rea
Ingeniería inversa de cualquier cosa con agentes, desde el comportamiento de la aplicación hasta los binarios nativos.
449,710 estrellasopenclaw/openclaw
La IA que de verdad hace las cosas. Cualquier sistema operativo y cualquier plataforma. Al estilo langosta. 🦞
394,301 estrellas