A two-part tool for sending URLs from the browser with a single click. A Chrome extension captures the current tab's URL and sends it to a local Flask server, which runs a configurable command against that URL and saves the output to a local output/ directory.
Browser tab → Chrome Extension → Flask Server (localhost:8000) → command → output/
- Click the extension icon on any browser tab.
- The extension POSTs the current tab's URL to http://127.0.0.1:8000/receive_url.
- The server runs your configured command with that URL as the argument.
- Output is saved to the output/ directory.
- Python 3
- Google Chrome (or any Chromium-based browser)
-
Install dependencies:
python -m venv .venv -
Activate
source .venv/bin/activate -
pip install flask flask-cors -
Start the server with a command to run on each received URL:
The server listens on port 8000 and can save command to
./output/..venv/bin/python server.py -c "echo" -
Open Chrome and go to chrome://extensions/
-
Enable Developer mode (toggle in the top right)
-
Click Load unpacked
-
Select the chrome-extension/ directory from this repo
-
The extension will appear in your toolbar as "Send URL".
.
├── server.py # Flask server — receives URLs and runs the download command
├── chrome-extension/
│ ├── manifest.json # Chrome extension manifest (Manifest V3)
│ └── background.js # Service worker — sends current tab URL to server on click
└── output/ # Download output directory (created automatically)
- The server must be running before you click the extension icon.
- The extension sends no authentication. It is intended for local use only.
- Any CLI tool can be used with -c.