{"id":15620886,"url":"https://github.com/zbo14/puppetshow","last_synced_at":"2025-04-28T13:42:26.623Z","repository":{"id":42812704,"uuid":"269162425","full_name":"zbo14/puppetshow","owner":"zbo14","description":"A command-line utility for sequentially viewing webpages in a browser window","archived":false,"fork":false,"pushed_at":"2022-03-26T20:18:25.000Z","size":337,"stargazers_count":2,"open_issues_count":7,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T05:18:43.657Z","etag":null,"topics":["browser-automation","bug-bounty","chromium","cli","puppeteer","recon","url","urls"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/zbo14.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}},"created_at":"2020-06-03T18:18:36.000Z","updated_at":"2023-09-08T18:08:21.000Z","dependencies_parsed_at":"2022-09-03T18:41:06.264Z","dependency_job_id":null,"html_url":"https://github.com/zbo14/puppetshow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbo14%2Fpuppetshow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbo14%2Fpuppetshow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbo14%2Fpuppetshow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zbo14%2Fpuppetshow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zbo14","download_url":"https://codeload.github.com/zbo14/puppetshow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251321365,"owners_count":21570725,"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":["browser-automation","bug-bounty","chromium","cli","puppeteer","recon","url","urls"],"created_at":"2024-10-03T09:03:24.119Z","updated_at":"2025-04-28T13:42:26.605Z","avatar_url":"https://github.com/zbo14.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# puppetshow\n\nA command-line utility for sequentially viewing webpages in a browser window.\n\n## Why?\n\nA common process in bug bounty recon is taking screenshots of target URLs with a tool like Aquatone or EyeWitness. While this strategy provides important visual information, manually visiting endpoints in the browser is often more effective. This way, you can see redirects occur, monitor the Network tab for AJAX/fetch requests, inspect markup and JavaScript, and gain a better understanding of your target.\n\n`puppetshow` allows you to consecutively view a list of endpoints in Chromium. In addition, you can cycle back and forth through the endpoints in case you want to take a second (or third) look. This provides a nice medium between opening dozens of tabs in your browser and scrolling through hundreds or thousands of screenshots. With each new tab you open, the former strategy becomes disproportionately more frustrating and cumbersome. The latter strategy has the benefit of convenience but inevitably comes at the cost of (some) information. Therefore, if you have a list of target endpoints that isn't prohibitively large, `puppetshow` provides a viable alternative without sacrificing information. You can even leave the browser and terminal windows open and resume viewing at a later time.\n\n## Install\n\n`npm i @zbo14/puppetshow`\n\n## Usage\n\n```\n                     _       _\n ___ _ _ ___ ___ ___| |_ ___| |_ ___ _ _ _\n| . | | | . | . | -_|  _|_ -|   | . | | | |\n|  _|___|  _|  _|___|_| |___|_|_|___|_____|\n|_|     |_| |_|\n\n\nUsage: puppetshow [options] \u003cfile\u003e\n\nOptions:\n  -V, --version                      output the version number\n  -d, --dev-tools                    open dev-tools in browser window\n  -k, --insecure                     ignore HTTPS errors\n  -p, --protocols \u003cstring\u003e           comma-separated list of protocols to prepend to IP addresses/hostnames (default: \"http,https\")\n  -q, --quiet                        don't show banner and info\n  -r, --reverse                      visit endpoints in reverse order\n  -x, --proxy \u003c[proto://]host:port\u003e  use proxy for chromium\n  -h, --help                         display help for command\n```\n\n`\u003cfile\u003e` contains a list of URLs, IP addresses, or hostnames.\n\nFor every non-URL, `puppetshow` will prepend \"http://\" *and* \"https://\" unless `--protocols` indicates otherwise.\n\nWhen you run the command, it should open a Chromium browser window.\n\nIn terminal, you can enter the following commands to stdin:\n  * `n` to go to the next webpage\n  * `p` to go to the previous webpage\n  * `ctrl-c` to close the browser window and stop the program\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzbo14%2Fpuppetshow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzbo14%2Fpuppetshow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzbo14%2Fpuppetshow/lists"}