{"id":24177660,"url":"https://github.com/taraqfarhan/ggl","last_synced_at":"2026-04-12T14:49:58.477Z","repository":{"id":270694887,"uuid":"911181262","full_name":"taraqfarhan/ggl","owner":"taraqfarhan","description":"Search the web (google, youtube, gmail, wiki, github, stackoverflow), prompt to send emails, prompt chatGPT, Gemini right from the terminal (command line)","archived":false,"fork":false,"pushed_at":"2025-01-10T18:12:14.000Z","size":68,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-10T19:23:35.302Z","etag":null,"topics":["chrome","cli","command-line-tool","google","google-chrome","google-search","linux-terminal","mac-terminal","terminal","terminal-based"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taraqfarhan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-02T12:27:56.000Z","updated_at":"2025-01-10T19:06:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"317e90f7-1718-4723-b9ff-83805fcef990","html_url":"https://github.com/taraqfarhan/ggl","commit_stats":null,"previous_names":["taraqfarhan/ggl"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taraqfarhan%2Fggl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taraqfarhan%2Fggl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taraqfarhan%2Fggl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taraqfarhan%2Fggl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taraqfarhan","download_url":"https://codeload.github.com/taraqfarhan/ggl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241541451,"owners_count":19979121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome","cli","command-line-tool","google","google-chrome","google-search","linux-terminal","mac-terminal","terminal","terminal-based"],"created_at":"2025-01-13T04:15:25.474Z","updated_at":"2026-04-12T14:49:58.464Z","avatar_url":"https://github.com/taraqfarhan.png","language":"Python","funding_links":[],"categories":["\u003ca name=\"office\"\u003e\u003c/a\u003eOffice tools"],"sub_categories":[],"readme":"# ggl : common google searches from the command line\n\nThis is another life-changing tool to automate a process which will prolly save your 5-10 seconds of your time. Of course, you as a computer guy, need this kinda productivity.\n\n- google stuffs (even with a specific profile if you're using Google Chrome, Chromium or Brave Browser)\n- google/bing/duckduckgp images, videos and maps\n- google drive, google map, gmail inbox\n- recent (last 1 year) google search results\n- google translate\n- prompt chatgpt, gemini (google ai mode), copilot, perplexity, phind\n- github repos, github gists, github issues, github usernames\n- stack overflow, stack exchange, super user\n- python3, mdn documentations and linux manpages\n- wikipedia, reddit, youtube, facebook, twitter (x), hacker news and amazon\n- dictionary (merriam webster)\n- prompt to send quick emails (using gmail)\n- search with duckduckgo, startpage, brave, bing, yelp, yahoo, qwant\n- search in incognito mode\n\n# Usage\n\n```\nggl [ -p profile ] [ -I | --incog ] [options] \"query\"\nggl [ --mail address [--sub subject] ] \"text\"\n\nOptions:\nhelper options:\n   -h --help             display the help page and exit\n   --conf --config       open the config file\n\nServices:\n  Images:\n   -i  -im  --img        google images\n   -di --dim --dimg      duckduckgo images\n   -bi --bim --bimg      bing images\n  Videos:\n   -v  -vi  --vid        google videos\n   -dv --dvid --dvideo   duckduckgo videos\n   -bv --bvid --bvideo   bing videos\n  Maps:\n   -m --map --gmap          google map\n   -dm  --dmap              duckduckgo map\n   -am  --amap --apple-map  apple map\n   -bm  --bmap --bing-map   bing map\n  Other Google Services:\n   -gd --drive           google drive\n   -gr --recent          google search (last 1 year)\n   -tr --gtr --trans     google translate\n   -gm --gmail           gmail inbox search\n\nDeveloper Sites:\n   -so --stack-ov        search stack-overflow\n   -se  --stack-ex       search stack-exchange\n   -hn  --hacker-news    search on hacker news\n   -su  --super          search on super user forum\n   -py  --py-docs        search python3 docs\n   --man --manpage       search for linux manual pages\n   -gh --git             search the github\n   --ghu  --gh-user      search github usernames\n   --ghg  --gh-gists     search github gists\n   --ghi  --gh-issues    search github issues\n   --mdn  --mdn-docs     search mozilla web docs\n\nPrompting AI:\n   -c --gpt              prompt chatgpt\n   -g --gem              prompt gemini (google ai mode)\n   -cp --copilot         prompt microsoft copilot\n   -ph  --phind          prompt phind\n   -px  --perplexity     prompt perplexity ai\n\nMisc:\n   -y -yt                search the youtube\n   -w --wiki             search the wiki\n   -r  --reddit          search on reddit\n   -x  --twitter         search on twitter\n   -fb --facebook        search on facebook\n   --amz  --amazon       search the amazon store\n   -mw, --dict           search merriam webster dictionary\n\nOther Search Engines:\n   -d --ddg              search with duckduckgo instead of google\n   -s -sp                search with startpage instead of google\n   -b --bing             search with bing instead of google\n   -br  --brave          search with brave instead of google\n   -qw  --qwant          search with qwant instead of google\n   -ya  --yahoo          search with yahoo instead of google\n   -ye  --yelp           search with yelp instead of google\n\nPromting to send Email (gmail):\n   --mail address        prompt to send mail to someone with their mail address\n   --sub subject         option for --mail flag to add a subject (optional)\n\nProfile options: (Only for Chrome/Chromium/Brave Browser)\n   -p profile            set a specific chrome profile for searching\n   -l --list             list all the chrome profiles and their keys\n   -I --incog            open Google Chrome/Chromium or Brave in incognito mode\n   --conf --config       open the config file\n\n\nEXAMPLES: (Use quotes around the query)\nggl \"why programmers hate everyone\"\nggl -yt \"stuxnet documentary\"\nggl --img \"a flycatcher\"\nggl --vid \"how to learn to code\"\nggl -w \"computer science\"\nggl -gh \"taraqfarhan/ggl\"\nggl -so \"what language was used to write unix commands\"\nggl --ddg \"why duckduckgo is better than google\"\nggl --gpt \"why we should even bother about the command line interface\"\nggl --gmail \"contract proposal\"\n\nMail (gmail):\nggl --send-mail taraqfarhan@gmail.com 'why are you so retarted?'\nggl --mail taraqfarhan@gmail.com --sub 'quizz time' 'why are you so retarted?'\n\nUsing a specific profile:\nggl -p \u003cprofile name | customized key\u003e [options] \"[search query ...]\"\nggl -p 3 --img \"chess board\"\nggl -p business -yt \"How does money work?\"\nggl -p guest \"how to use the dark web\"\nggl -I \"why bitcoin is illegal in some countries\"\nggl -p \"Profile 3\" -I \"build linux kernel from the scratch\"\n```\n\n# How to use this script on your own machine\n\nI will recommend you to use `Google Chrome` (Chromium or Brave) on your machine as your default browser to get the most out of this tool. If Google Chrome (Chromium, Brave) is installed on your machine, `ggl` will use Google Chrome (Chromium, Brave) for browsing, otherwise `ggl` will use your Default Browser.\n\nAnyway, to use this script just clone this repo using\n\n```bash\ngit clone https://www.github.com/taraqfarhan/ggl\n```\n\nThen run this python script. Ofc you'll need `python3` installed on your machine first to run a python script duh!\n\n```bash\npython3 /path/to/ggl  # mac/linux (like: python3 ggl -h)\npy /path/to/ggl  # windows (like: py ggl -h)\n```\n\n\u003cdetails markdown='1'\u003e\u003csummary\u003eTo run `ggl` globally without specifying `python3 /path/to/ggl or py path/to/ggl` each time (like the EXAMPLES) refer to this section\u003c/summary\u003e\n\n##### THIS SECTION IS FOR THOSE WHO WANT TO RUN IT GLOBALLY, ANYWHERE FROM THE TERMINAL. OTHERWISE, YOU'LL HAVE TO EXPLICITLY SPECIFY THE PATH OF THE SCRIPT EACH TIME\n\n```bash\npython3 path/to/the/ggl/script  # mac/linux\npy path/to/the/ggl/script  # windows\n```\n\n### Follow any of the following processes\n\n## Process 1 (mac/linux)\n\nCreating alias\n\n```bash\necho \"alias ggl='python3 $(pwd)/ggl'\" \u003e\u003e ~/.zshrc \u0026\u0026 source ~/.zshrc  # from the ggl folder\n```\n\n## Process 2 (mac/linux)\n\nCreating a symbolic link\n\n```bash\nsudo ln -s $(pwd)/ggl /usr/bin/ggl  # from the ggl folder\n\n# you can choose any directory which is in the PATH instead of /usr/bin/\n# use the follwoing command to get all the environment variable paths\necho $PATH | tr ':' '\\n'\n```\n\n## Process 3 (mac/linux/windows)\n\nEnvironment Variables\n\n#### mac/linux\n\n```bash\necho \"export PATH='$PATH:$(pwd)'\" \u003e\u003e ~/.zshrc \u0026\u0026 source ~/.zshrc  # from the ggl folder\n```\n\n#### Windows\n\n1. Open **Environment Variables**:\n\n   - Press `Win + S`, search for **Environment Variables**, and click **Edit the system environment variables**.\n   - In the **System Properties** window, click **Environment Variables**.\n\n2. Add the Directory to PATH:\n\n   - Under **System Variables** or **User Variables**, find `Path` and click **Edit**.\n   - Add your directory where you have `ggl` file\n\n\u003c/details\u003e\n\n# Configuration (for searching with specific profiles)\n\n\u003e IF AND ONLY IF YOU WANT TO USE (flags that are specific to Google Chrome, Chromium \u0026 Brave only), YOU NEED TO CONFIGURE THE config.json FILE, OTHERWISE YOU'RE GOOD TO GO. YOU DON'T NEED ANY CONFIGURATIONS (YOU CAN SKIP THIS SECTION COMPLETELY)\n\u003e YOU SHOULD CONFIGURE THE 'config.json' FILE PROPERY TO USE THIS SCRIPT IN ANY OPERATING SYSTEM. OTHERWISE YOU MIGHT GET UNEXPECTED ERROR MESSAGES.\n\nA **config.json** file will be created automatically if you run this scipt for the first time. You need to configure that **config.json** file. Read the **COMMENTS** from the config file to follow along\n\n1. Set the values (your own customized value) of the keys (Profiles) according to your own needs.\n2. Then set the Google Chrome or Chromium or Brave Browser's path. Check the path on your computer and set the path to the **config.json** file if needed. These browsers are usually in:\n\n```\n1. mac: inside /Application/ or ~/Application/\n      /Applications/Google Chrome.app (for Google Chrome)\n      /Application/Chromium.app (for Chromium)\n      /Application/Brave Browser.app (for Brave)\n2. linux: inside /usr/bin/ (usually in this /usr/bin/ directory, check other bin directories if not found)\n      /usr/bin/chrome (for google chrome)\n      /usr/bin/chromium (for chromium)\n      /usr/bin/brave (or /usr/bin/brave-browser for brave)\n3. windows: usually in one of these directories:\n      %ProgramFiles%\\Google\\Chrome\\Application\\chrome.exe\n      %ProgramFiles(x86)%\\Google\\Chrome\\Application\\chrome.exe\n      %LocalAppData%\\Google\\Chrome\\Application\\chrome.exe\n```\n\n### How to Find Your Browser's Profile Names\n\n```\n1. mac: inside ~/Library/Application Support/\n   ~/Library/Application Support/Google/Chrome/ (for Chrome)\n   ~/Library/Application Support/Chromium/ (for Chromium)\n   ~/Library/Application Support/BraveSoftware/Brave-Browser (for Brave)\n2. linux: inside ~/.config/\n   ~/.config/google-chrome/ (for google chrome)\n   ~/.config/chromium (for chromium)\n   ~/.config/BraveSoftware/ (for Brave)\n3. windows: C:\\Users\\YourUserName\\AppData\\Local\\Google\\Chrome\\User Data\\\n```\n\nInspect the Directory. Match the folder name with the corresponding Chrome profile.\nDirectories might be hidden, if you don't find the directories then google `how to see hidden file and directories for your OS`. For mac its `CMD + SHIFT + .`\n\n```\n1. Default: The main profile.\n2. Profile 1, Profile 2, ... Profile \u003csome number\u003e : Additional profiles.\n```\n\n# Caveats (Only on Windows)\n\n- In **Windows** you can use `ggl` for Google Chrome Profiles only (not for Chromium and Brave)\n- In **Windows** while prompting to send email if you use quotes in subject (after --sub) or text (at the end) you might face problems\n- If anyone can help me with optimizing this tool for windows please open up a pull request\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaraqfarhan%2Fggl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaraqfarhan%2Fggl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaraqfarhan%2Fggl/lists"}