@@ -1,124 +1,136 @@ |
| 1 | | -# LooseCannon 🤖 |
| 1 | +# LooseCannon |
| 2 | 2 | |
| 3 | | -Automated scambaiting assistant that integrates with messaging platforms to waste scammers' time using local LLMs. |
| 3 | +Automated scambaiting for the terminally online. Weaponizes local LLMs against the forces of digital darkness. |
| 4 | 4 | |
| 5 | | -## ⚠️ Legal Disclaimer |
| 5 | +## Legal Notice |
| 6 | 6 | |
| 7 | | -This tool is for educational and defensive security purposes only. Use responsibly and be aware that automation may violate platform Terms of Service. Your account could be banned. |
| 7 | +This tool exists for educational purposes and defensive security research. Using it will probably violate some Terms of Service. Your accounts may get banned. You've been warned. |
| 8 | 8 | |
| 9 | | -## Features |
| 9 | +## What It Does |
| 10 | 10 | |
| 11 | | -- 🦊 Firefox browser extension |
| 12 | | -- 💬 WhatsApp Web integration (more platforms coming) |
| 13 | | -- 🤖 Local LLM support via Ollama |
| 14 | | -- 🎭 Multiple scambaiter personalities |
| 15 | | -- 🛑 Emergency stop functionality |
| 16 | | -- 📊 Conversation logging |
| 11 | +Turns your messaging apps into honeypots for scammers. When they message, an AI responds with maximum confusion and minimal coherence. Think of it as a Turing test in reverse. |
| 17 | 12 | |
| 18 | | -## Project Structure |
| 13 | +## Current Victims |
| 14 | + |
| 15 | +- WhatsApp Web (primary target) |
| 16 | +- Telegram Web (all variants) |
| 17 | +- Facebook Messenger (surprisingly easy) |
| 18 | + |
| 19 | +## Architecture |
| 19 | 20 | |
| 20 | 21 | ``` |
| 21 | 22 | LooseCannon/ |
| 22 | | -├── extension/ # Firefox browser extension |
| 23 | | -│ ├── manifest.json |
| 24 | | -│ ├── content-scripts/ |
| 25 | | -│ ├── background/ |
| 26 | | -│ └── popup/ |
| 27 | | -├── server/ # Local server for LLM integration |
| 28 | | -│ ├── src/ |
| 29 | | -│ └── personalities/ |
| 30 | | -└── package.json |
| 23 | +├── extension/ # Browser hijacking code |
| 24 | +├── server/ # LLM wrangling service |
| 25 | +└── personalities/ # Digital personas of varying coherence |
| 31 | 26 | ``` |
| 32 | 27 | |
| 33 | | -## Quick Start |
| 34 | | - |
| 35 | | -### Prerequisites |
| 28 | +## Prerequisites |
| 36 | 29 | |
| 37 | | -1. **Ollama** - Install from https://ollama.ai |
| 38 | | -2. **Node.js** - Version 18+ recommended |
| 39 | | -3. **Firefox Developer Edition** (recommended for extension development) |
| 30 | +- Ollama (for the AI brain) |
| 31 | +- Node.js 18+ (for the plumbing) |
| 32 | +- Firefox (Chrome users can wait) |
| 33 | +- A healthy disregard for platform guidelines |
| 40 | 34 | |
| 41 | | -### Installation |
| 35 | +## Installation |
| 42 | 36 | |
| 43 | | -1. Clone the repository: |
| 44 | 37 | ```bash |
| 38 | +# Get the code |
| 45 | 39 | cd ~/Documents/GithubOrgs/zeroed-some/LooseCannon |
| 46 | | -``` |
| 47 | 40 | |
| 48 | | -2. Install dependencies: |
| 49 | | -```bash |
| 41 | +# Install dependencies |
| 50 | 42 | npm install |
| 51 | | -``` |
| 52 | 43 | |
| 53 | | -3. Start Ollama with a model: |
| 54 | | -```bash |
| 44 | +# Start the AI |
| 55 | 45 | ollama pull llama2 |
| 56 | 46 | ollama serve |
| 57 | | -``` |
| 58 | 47 | |
| 59 | | -4. Start the local server: |
| 60 | | -```bash |
| 61 | | -npm run dev:server |
| 62 | | -``` |
| 48 | +# Run the server |
| 49 | +npm start |
| 63 | 50 | |
| 64 | | -5. Load the extension in Firefox: |
| 65 | | -```bash |
| 51 | +# Load extension |
| 66 | 52 | npm run dev:extension |
| 67 | 53 | ``` |
| 68 | 54 | |
| 69 | | -Or manually: |
| 70 | | -- Open Firefox and navigate to `about:debugging` |
| 71 | | -- Click "This Firefox" |
| 72 | | -- Click "Load Temporary Add-on" |
| 73 | | -- Select `extension/manifest.json` |
| 55 | +Or if you prefer the manual approach: `about:debugging` > Load Temporary Add-on > Select manifest.json |
| 74 | 56 | |
| 75 | | -## Usage |
| 57 | +## Operation |
| 76 | 58 | |
| 77 | | -1. Navigate to WhatsApp Web (https://web.whatsapp.com) |
| 78 | | -2. Click the LooseCannon button in the bottom right |
| 79 | | -3. Select a personality from the popup |
| 80 | | -4. Toggle "LC: ON" to activate |
| 81 | | -5. The bot will automatically respond to incoming messages in the current chat |
| 59 | +1. Open your chosen messaging platform |
| 60 | +2. Find the LC button (you can't miss it) |
| 61 | +3. Pick a personality (Confused Elder is a classic) |
| 62 | +4. Toggle to ON |
| 63 | +5. Watch the magic unfold |
| 82 | 64 | |
| 83 | | -## Development Roadmap |
| 65 | +## Available Personalities |
| 84 | 66 | |
| 85 | | -### Phase 1: Foundation ✅ |
| 86 | | -- Firefox extension skeleton |
| 87 | | -- Basic WhatsApp Web integration |
| 67 | +- **Confused Elder**: Can't find the any key |
| 68 | +- **Tech Support Nightmare**: Knows everything, understands nothing |
| 69 | +- **Conspiracy Theorist**: It's all connected, man |
| 88 | 70 | |
| 89 | | -### Phase 2: Message Interception (Current) |
| 90 | | -- DOM manipulation for reading messages |
| 91 | | -- Message injection system |
| 71 | +## Safety Mechanisms |
| 92 | 72 | |
| 93 | | -### Phase 3: LLM Integration |
| 94 | | -- Ollama server connection |
| 95 | | -- Response generation |
| 73 | +- Manual activation only (no rogue AI here) |
| 74 | +- Big red emergency stop button |
| 75 | +- Conversation logs (for posterity) |
| 76 | +- Rate limiting (to maintain plausible humanity) |
| 77 | + |
| 78 | +## Phases of Development |
| 79 | + |
| 80 | +**Phase 1**: Basic infrastructure [COMPLETE] |
| 81 | +**Phase 2**: Multi-platform chaos [COMPLETE] |
| 82 | +**Phase 3**: Chrome support (eventually) |
| 83 | +**Phase 4**: World domination (pending) |
| 84 | + |
| 85 | +## Technical Highlights |
| 86 | + |
| 87 | +- Real-time scammer detection (70%+ confidence triggers alerts) |
| 88 | +- Human-like typing delays (150ms per word, plus random jitter) |
| 89 | +- Context-aware response strategies |
| 90 | +- Conversation state management |
| 91 | +- Platform-agnostic message handling |
| 92 | + |
| 93 | +## Performance Notes |
| 94 | + |
| 95 | +- Conversations auto-purge after 24 hours |
| 96 | +- Message history capped at 50 (memory is expensive) |
| 97 | +- Response queue prevents flooding |
| 98 | +- Automatic reconnection on server hiccups |
| 99 | + |
| 100 | +## Testing Your Setup |
| 101 | + |
| 102 | +```javascript |
| 103 | +// Browser console commands for the curious |
| 104 | + |
| 105 | +// Check load status |
| 106 | +console.log(window.LooseCannonLoaded); |
| 107 | + |
| 108 | +// Trigger scammer alert |
| 109 | +browser.runtime.sendMessage({ |
| 110 | + type: 'SCAMMER_DETECTED', |
| 111 | + data: { score: 0.95 } |
| 112 | +}); |
| 113 | +``` |
| 96 | 114 | |
| 97 | | -### Phase 4: Scambaiter Logic |
| 98 | | -- Personality system |
| 99 | | -- Conversation strategies |
| 115 | +## Known Issues |
| 100 | 116 | |
| 101 | | -### Phase 5: Polish |
| 102 | | -- Chrome support |
| 103 | | -- Additional platforms |
| 104 | | -- Advanced features |
| 117 | +- Platform DOM changes will break everything |
| 118 | +- Too many responses = rate limiting |
| 119 | +- Some assembly required |
| 120 | +- Batteries not included |
| 105 | 121 | |
| 106 | | -## Safety Features |
| 122 | +## Disclaimer |
| 107 | 123 | |
| 108 | | -- Manual activation per chat (no automatic activation) |
| 109 | | -- Visual indicators when active |
| 110 | | -- Emergency stop button |
| 111 | | -- Conversation logging for review |
| 112 | | -- Rate limiting to avoid detection |
| 124 | +This software is provided "as is" without warranty of any kind. If you lose your WhatsApp account while trolling Nigerian princes, that's on you. The authors assume no responsibility for banned accounts, angry scammers, or existential crises caused by talking to AI-powered grandparents. |
| 113 | 125 | |
| 114 | 126 | ## Contributing |
| 115 | 127 | |
| 116 | | -This project is in active development. Issues and PRs welcome! |
| 128 | +PRs welcome. Breaking changes preferred. Documentation optional. |
| 117 | 129 | |
| 118 | 130 | ## License |
| 119 | 131 | |
| 120 | | -MIT - See LICENSE file for details |
| 132 | +MIT - Do whatever you want, just don't blame us. |
| 121 | 133 | |
| 122 | | -## Acknowledgments |
| 134 | +## Credits |
| 123 | 135 | |
| 124 | | -Inspired by the scambaiting community and projects like Kitboga's work. |
| 136 | +Standing on the shoulders of giants in the scambaiting community. You know who you are. |