zeroed-some/loosecannon / 1e4e26d

Browse files

build things, scripting

Authored by espadonne
SHA
1e4e26d528cb9efd4ac6267b9a7637feec2fd368
Parents
3bb0bca
Tree
482dc28

2 changed files

StatusFile+-
A launch.sh 101 0
M package.json 4 1
launch.shadded
@@ -0,0 +1,101 @@
1
+#!/bin/bash
2
+
3
+# LooseCannon Full System Launch Script
4
+# Because clicking buttons is for mortals
5
+
6
+echo "========================================="
7
+echo "    LooseCannon v0.3.0 Launch Sequence"
8
+echo "========================================="
9
+echo ""
10
+
11
+# Check for dependencies
12
+check_dependency() {
13
+    if ! command -v $1 &> /dev/null; then
14
+        echo "❌ $1 is not installed"
15
+        return 1
16
+    else
17
+        echo "✓ $1 found"
18
+        return 0
19
+    fi
20
+}
21
+
22
+echo "Checking dependencies..."
23
+check_dependency node
24
+NODE_OK=$?
25
+check_dependency ollama
26
+OLLAMA_OK=$?
27
+check_dependency firefox
28
+FIREFOX_OK=$?
29
+
30
+echo ""
31
+
32
+# Start Ollama if not running
33
+if [ $OLLAMA_OK -eq 0 ]; then
34
+    if ! pgrep -x "ollama" > /dev/null; then
35
+        echo "Starting Ollama..."
36
+        ollama serve &
37
+        sleep 2
38
+    else
39
+        echo "Ollama already running"
40
+    fi
41
+else
42
+    echo "⚠️  Ollama not found - AI responses will use fallbacks"
43
+fi
44
+
45
+# Start the server
46
+if [ $NODE_OK -eq 0 ]; then
47
+    echo "Starting LooseCannon server..."
48
+    npm start &
49
+    SERVER_PID=$!
50
+    sleep 3
51
+else
52
+    echo "❌ Cannot start server without Node.js"
53
+    exit 1
54
+fi
55
+
56
+# Open dashboard
57
+echo "Opening analytics dashboard..."
58
+if command -v open &> /dev/null; then
59
+    open dashboard/index.html
60
+elif command -v xdg-open &> /dev/null; then
61
+    xdg-open dashboard/index.html
62
+else
63
+    echo "Open dashboard/index.html in your browser"
64
+fi
65
+
66
+# Launch Firefox with extension
67
+if [ $FIREFOX_OK -eq 0 ]; then
68
+    echo "Launching Firefox with LooseCannon extension..."
69
+    npm run dev:extension &
70
+    FIREFOX_PID=$!
71
+else
72
+    echo "⚠️  Firefox not found - manually load extension"
73
+fi
74
+
75
+echo ""
76
+echo "========================================="
77
+echo "    LooseCannon Systems Online"
78
+echo "========================================="
79
+echo ""
80
+echo "Server:    http://localhost:8765"
81
+echo "Dashboard: file://$(pwd)/dashboard/index.html"
82
+echo "Extension: Load in Firefox/Chrome"
83
+echo ""
84
+echo "Targets:"
85
+echo "  • WhatsApp Web: https://web.whatsapp.com"
86
+echo "  • Telegram Web: https://web.telegram.org"
87
+echo "  • Messenger:    https://messenger.com"
88
+echo ""
89
+echo "Press Ctrl+C to shutdown all systems"
90
+echo ""
91
+echo "Happy hunting! 🎯"
92
+echo ""
93
+
94
+# Wait for interrupt
95
+wait
96
+
97
+# Cleanup
98
+echo "Shutting down..."
99
+kill $SERVER_PID 2>/dev/null
100
+kill $FIREFOX_PID 2>/dev/null
101
+echo "Goodbye!"
package.jsonmodified
@@ -1,6 +1,6 @@
11
 {
22
   "name": "loosecannon",
3
-  "version": "0.2.0",
3
+  "version": "0.3.0",
44
   "description": "Automated scambaiting assistant for messaging platforms",
55
   "main": "server/src/index-enhanced.js",
66
   "scripts": {
@@ -9,7 +9,10 @@
99
     "dev": "npm run dev:server & npm run dev:extension",
1010
     "dev:server": "nodemon server/src/index-enhanced.js",
1111
     "dev:extension": "web-ext run --source-dir ./extension --firefox-profile=loosecannon",
12
+    "dev:chrome": "echo 'Load extension-chrome/ as unpacked extension in Chrome'",
13
+    "dashboard": "open dashboard/index.html",
1214
     "build": "web-ext build --source-dir ./extension",
15
+    "build:chrome": "cd extension-chrome && zip -r ../loosecannon-chrome.zip *",
1316
     "lint": "web-ext lint --source-dir ./extension"
1417
   },
1518
   "keywords": [