All Projects → zquestz → S

zquestz / S

Licence: mit
Open a web search in your terminal.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to S

Googler
🔍 Google from the terminal
Stars: ✭ 5,594 (+188.05%)
Mutual labels:  terminal, search
Fd
A simple, fast and user-friendly alternative to 'find'
Stars: ✭ 19,851 (+922.19%)
Mutual labels:  terminal, search
Fsq
A tool for querying the file system with a SQL-like language.
Stars: ✭ 60 (-96.91%)
Mutual labels:  terminal, search
Buku
🔖 Personal mini-web in text
Stars: ✭ 4,825 (+148.46%)
Mutual labels:  terminal, search
Nnn
n³ The unorthodox terminal file manager
Stars: ✭ 13,138 (+576.52%)
Mutual labels:  terminal, search
Docsearch
📘 The easiest way to add search to your documentation.
Stars: ✭ 2,266 (+16.68%)
Mutual labels:  search
Goploy
Deploy, CI/CD, Xterm, APP monitor, Crontab Manager.
Stars: ✭ 147 (-92.43%)
Mutual labels:  terminal
Terminal Advancednewfile
Fast creation of files and directories. Mimics the operation of AdvancedNewFile (Vim plugin)
Stars: ✭ 134 (-93.1%)
Mutual labels:  terminal
Oxidtools
200 TOOLS BY 0XID4FF0X FOR TERMUX
Stars: ✭ 143 (-92.64%)
Mutual labels:  terminal
Laravel Api Handler
Package providing helper functions for a Laravel REST-API
Stars: ✭ 150 (-92.28%)
Mutual labels:  search
Cape Webservices
Entrypoint for all backend cape webservices
Stars: ✭ 149 (-92.33%)
Mutual labels:  search
Kittik
Create slides in TypeScript and present them in the terminal using ASCII only!
Stars: ✭ 147 (-92.43%)
Mutual labels:  terminal
Stelace
Open-source marketplace backend in Node.js, empowering Web platforms with Search API, Automation, Auth, Headless CMS… ⚡ 💻
Stars: ✭ 144 (-92.58%)
Mutual labels:  search
Material Searchview
Library to create a material search view similar to one used in apps developed by Google Inc.
Stars: ✭ 149 (-92.33%)
Mutual labels:  search
Rummage phoenix
Full Phoenix Support for Rummage. It can be used for searching, sorting and paginating collections in phoenix.
Stars: ✭ 144 (-92.58%)
Mutual labels:  search
Terminal Icons
Beautiful icons for your favourite terminal apps like Hyper and iTerm2
Stars: ✭ 149 (-92.33%)
Mutual labels:  terminal
Img term
Display image, video or USB camera in your ANSI terminal!
Stars: ✭ 143 (-92.64%)
Mutual labels:  terminal
Vuex Search
Vuex binding for client-side search with indexers and Web Workers 📗🔍
Stars: ✭ 147 (-92.43%)
Mutual labels:  search
Swiper
Ivy - a generic completion frontend for Emacs, Swiper - isearch with an overview, and more. Oh, man!
Stars: ✭ 1,948 (+0.31%)
Mutual labels:  search
Vue Command
A fully working, most feature-rich Vue.js terminal emulator
Stars: ✭ 147 (-92.43%)
Mutual labels:  terminal

License ReportCard Build Release Chat

s

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
  -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

go get -v github.com/zquestz/s
cd $GOPATH/src/github.com/zquestz/s
make
make install

Alternatively, you can use Homebrew:

brew install s-search

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

s --completion bash > /etc/bash_completion.d/s

Bash MacOS

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

Zsh

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

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

Search in a specific subreddit.

s -p reddit /r/cscareerquestions best startups.

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. JSON is also fully supported as UCL can parse JSON files.

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)
  • 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)

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: "http://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
  • 8tracks
  • aliexpress
  • allocine
  • amazon
  • archpkg
  • archwiki
  • ardmediathek
  • arstechnica
  • arxiv
  • atmospherejs
  • aur
  • baidu
  • bandcamp
  • bgr
  • bigbasket
  • bing
  • brave
  • buzzfeed
  • cnn
  • codepen
  • coursera
  • cplusplus
  • cppreference
  • crates
  • crunchyroll
  • debianpkg
  • dict
  • digg
  • diigo
  • dockerhub
  • dribbble
  • duckduckgo
  • dumpert
  • engadget
  • explainshell
  • facebook
  • flickr
  • flipkart
  • foursquare
  • freebsdman
  • freshports
  • giphy
  • gist
  • github
  • gmail
  • go
  • godoc
  • goodreads
  • google
  • googledocs
  • googleplus
  • hackernews
  • idealo
  • ietf
  • ifttt
  • imdb
  • imgur
  • inbox
  • instagram
  • kickasstorrents
  • libgen
  • linkedin
  • lmgtfy
  • macports
  • magnetdl
  • mdn
  • medium
  • metacpan
  • msdn
  • naver
  • netflix
  • nhaccuatui
  • npm
  • npmsearch
  • npr
  • nvd
  • overstock
  • packagist
  • phandroid
  • php
  • pinterest
  • postgresql
  • python
  • quora
  • qwant
  • reddit
  • regex
  • rottentomatoes
  • rubygems
  • shodan
  • soundcloud
  • spotify
  • stackoverflow
  • steam
  • taobao
  • thepiratebay
  • theregister
  • torrentz
  • twitchtv
  • twitter
  • unity3d
  • upcloud
  • vimeo
  • wikipedia
  • wolframalpha
  • yahoo
  • yandex
  • youtube
  • zdf
  • zhihu

Contributors

License

s is released under the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].