https://github.com/cod3ddot/nibblet
Manifest V3 browser extension for remote script injection.
https://github.com/cod3ddot/nibblet
Last synced: 5 months ago
JSON representation
Manifest V3 browser extension for remote script injection.
- Host: GitHub
- URL: https://github.com/cod3ddot/nibblet
- Owner: Cod3dDOT
- License: agpl-3.0
- Created: 2021-11-16T08:55:04.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-27T05:50:47.000Z (about 1 year ago)
- Last Synced: 2025-05-27T06:36:08.512Z (about 1 year ago)
- Language: TypeScript
- Homepage:
- Size: 1.28 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: COPYING
Awesome Lists containing this project
README
[](https://github.com/cod3ddot/nibblet)
# Nibblet
Manifest V3 browser extension for remote script injection.
## Quick Setup
1. Install dependencies:
```bash
bun install
```
2. Setup environment variables:
```bash
# Follow .env.example to create .env file with:
# CHROME_PATH= # overrides path to chromium-based browsers
# FIREFOX_PATH= # overrides path to the firefox browser
EXTENSION_MESSAGING_IDENTIFIER= # specifies messaging prefix for events
```
3. Start development:
```bash
bun dev
```
## Project Structure
```
├── entrypoints/
│ ├── popup/ # Next.js application pages and routes
│ │ ├── components/ # Reusable UI components
│ │ ├── screens/ # Components for different "pages"
│ │ ├── styles/ # Styling
│ │ ├── app.tsx # Main app
│ │ ├── index.html # WXT popup entrypoint
│ │ └── main.tsx # Solid.JS entrypoint
│ ├── background.ts # Event bridge
│ ├── content.ts # Sandboxed content script
│ └── main-world-injector.ts # Main world, registered content script
├── lib/
│ ├── interfaces/ # Well, interfaces
│ ├── messaging/ # Anything pertinent to events
│ ├── repo.ts # Provides a repository to work with script registries
│ └── storage.ts # Local extension storage using WXTs apis
└── wxt.config.ts # WXT + manifest.json config
```
## Core Technologies
- **Framework & Runtime**
- [WXT](https://wxt.dev/)
- [SolidJS](https://www.solidjs.com/)
- [Bun](https://bun.sh) as JavaScript runtime and package manager
- **Styling & Design**
- [TailwindCSS v4](https://tailwindcss.com)
- [Geist & Geist Mono](https://vercel.com/font)
- **Development Tools**
- [Biome](https://biomejs.dev) for linting & formatting
- [Lefthook](https://github.com/evilmartians/lefthook) for Git hooks
- Conventional commits
## Development Tools
### Available Commands
- `bun run dev` - Start development build
- `bun run build` - Build production bundle
- `bun run lint` - Run Biome linter
- `bun run lint:fix` - Fix linting issues with Biome
- `bun run commit` - Interactive commit with conventional commit standards
## Contributing
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes using conventional commits (`bun run commit`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## License
This project strives to be REUSE compliant.
Generally:
- Documentation is licensed under CC-BY-NC-SA-4.0
- Code is licensed under AGPL-3.0-or-later
- Config files are under CC0-1.0
```
Nibblet: manifest V3 browser extension for remote script injection.
Copyright (C) 2025 cod3ddot@proton.me
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
```