A lightweight, client-side search tool with bang shortcuts. This JavaScript version of just-bangs runs entirely in the browser with no server dependencies.
- Client-side only: No server required - works from any web server or locally
- Bang shortcuts: Use
query gh!syntax for quick searches - Browser integration: Add as a search engine with query parameter support
- Back button support: Search terms persist when navigating back
- Responsive design: Clean interface that works on desktop and mobile
- Dark mode support: Automatic system detection with manual toggle
- PWA support: Installable app with caching and offline functionality (for use with local/offline search providers)
just bangs gh!→ Search GitHub for "just bangs"!gh just bangs→ Also works with bang at the startpython w!→ Search Wikipedia for "python"flask pypi!→ Search PyPI for "flask"
Common:
g!→ Googleddg!→ DuckDuckGod!→ DuckDuckGo Lite (default fallback)gh!→ GitHub (search)ghr!→ GitHub (direct repo/user URLs)w!→ Wikipediaa!→ Amazonpypi!→ PyPI
Specialized:
al!→ Arch Linux docscl!→ Craigsliste!→ eBayjw!→ JustWatchk!→ Kiwixm!→ Marginalia Searchpy!→ Python docssg!→ StoryGraphwb!→ Wayback Machineytt!→ YouTube Transcriptx!→ SearXNG
- Download
index.html - Open in your browser or serve from any web server
- Start searching!
Add as a custom search engine in your browser:
- URL:
https://your-domain.com/path/to/index.html?q=%s - Local:
file:///path/to/index.html?q=%s
Place index.html in any directory on your web server. Works great as a subdirectory install.
To add or modify search bangs, edit the bangs object in public_html/search.js:
const bangs = {
trigger: "https://example.com/search?q={{{s}}}",
gh: "https://github.com/search?q={{{s}}}",
// ... more bangs
};- Key: Bang trigger (use only lowercase a-z characters)
- Value: Search URL template with
{{{s}}}placeholder for the search term - The
{{{s}}}placeholder gets replaced with the URL-encoded search query
Configure your default search engine via the hamburger menu (☰) in the top-left corner. Select from any available bang and changes are saved automatically.
make dev # Start development server on port 8000
make test-unit # Run unit tests
make test-integration # Run integration tests (starts server automatically)
make test-all # Run all tests (unit + integration)
make format # Auto-format code
make lint # Check code style
make check # Run formatting and linting checksDevelopment Requirements:
- Bun - Fast test runner and package manager
- Python 3 - Development server via
python -m http.server
No build process or external dependencies required for the core application.
GNU Affero General Public License v3.0 - same as the original just-bangs project.
- Idiomdrottning - original idea for bang redirects website, custom bangs concept
- Tristan Havelick - ongoing programming and enhancement
- just-bangs - The original Python server-based version