Text Generation
Transformers
English
security
pentesting
autonomous-agent
cybersecurity
tool-use
qwen2.5
Instructions to use automajicly/Local_Security_Model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use automajicly/Local_Security_Model with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="automajicly/Local_Security_Model")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("automajicly/Local_Security_Model", dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use automajicly/Local_Security_Model with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "automajicly/Local_Security_Model" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "automajicly/Local_Security_Model", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/automajicly/Local_Security_Model
- SGLang
How to use automajicly/Local_Security_Model with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "automajicly/Local_Security_Model" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "automajicly/Local_Security_Model", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "automajicly/Local_Security_Model" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "automajicly/Local_Security_Model", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use automajicly/Local_Security_Model with Docker Model Runner:
docker model run hf.co/automajicly/Local_Security_Model
Upload banner 4.html
Browse files- banner 4.html +561 -0
banner 4.html
ADDED
|
@@ -0,0 +1,561 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<!-- saved from url=(0045)file:///Users/chris/Downloads/banner%204.html -->
|
| 3 |
+
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
| 4 |
+
|
| 5 |
+
<style>
|
| 6 |
+
* { margin: 0; padding: 0; box-sizing: border-box; }
|
| 7 |
+
html, body { width: 100%; height: 100%; background: #020802; overflow: hidden; }
|
| 8 |
+
svg { display: block; width: 100%; height: 100vh; }
|
| 9 |
+
</style>
|
| 10 |
+
</head>
|
| 11 |
+
<body>
|
| 12 |
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 560" width="100%" height="560" style="display:block;max-height:560px;background:#020802;overflow:hidden;">
|
| 13 |
+
<defs>
|
| 14 |
+
<filter id="glow">
|
| 15 |
+
<fegaussianblur stdDeviation="3" result="coloredBlur"></fegaussianblur>
|
| 16 |
+
<femerge><femergenode in="coloredBlur"></femergenode><femergenode in="SourceGraphic"></femergenode></femerge>
|
| 17 |
+
</filter>
|
| 18 |
+
<filter id="glow-strong">
|
| 19 |
+
<fegaussianblur stdDeviation="6" result="coloredBlur"></fegaussianblur>
|
| 20 |
+
<femerge><femergenode in="coloredBlur"></femergenode><femergenode in="SourceGraphic"></femergenode></femerge>
|
| 21 |
+
</filter>
|
| 22 |
+
<filter id="glow-intense">
|
| 23 |
+
<fegaussianblur stdDeviation="10" result="coloredBlur"></fegaussianblur>
|
| 24 |
+
<femerge><femergenode in="coloredBlur"></femergenode><femergenode in="SourceGraphic"></femergenode></femerge>
|
| 25 |
+
</filter>
|
| 26 |
+
<filter id="fire-blur">
|
| 27 |
+
<feturbulence type="turbulence" baseFrequency="0.02 0.08" numOctaves="3" seed="2" result="noise">
|
| 28 |
+
<animate attributeName="seed" values="0;50" dur="0.4s" repeatCount="indefinite"></animate>
|
| 29 |
+
</feturbulence>
|
| 30 |
+
<fedisplacementmap in="SourceGraphic" in2="noise" scale="6" xChannelSelector="R" yChannelSelector="G"></fedisplacementmap>
|
| 31 |
+
<fegaussianblur stdDeviation="1.5"></fegaussianblur>
|
| 32 |
+
</filter>
|
| 33 |
+
<radialgradient id="bg-grad" cx="50%" cy="50%" r="70%">
|
| 34 |
+
<stop offset="0%" stop-color="#0a1a0a"></stop>
|
| 35 |
+
<stop offset="100%" stop-color="#020802"></stop>
|
| 36 |
+
</radialgradient>
|
| 37 |
+
<radialgradient id="hex-glow" cx="50%" cy="50%" r="50%">
|
| 38 |
+
<stop offset="0%" stop-color="#00ff41" stop-opacity="0.15"></stop>
|
| 39 |
+
<stop offset="100%" stop-color="#00ff41" stop-opacity="0"></stop>
|
| 40 |
+
</radialgradient>
|
| 41 |
+
<lineargradient id="mercury-body" x1="0" y1="0" x2="1" y2="1">
|
| 42 |
+
<stop offset="0%" stop-color="#00ff41"></stop>
|
| 43 |
+
<stop offset="40%" stop-color="#00cc33"></stop>
|
| 44 |
+
<stop offset="100%" stop-color="#005511"></stop>
|
| 45 |
+
</lineargradient>
|
| 46 |
+
<lineargradient id="mercury-head" x1="0" y1="0" x2="1" y2="1">
|
| 47 |
+
<stop offset="0%" stop-color="#22ff55"></stop>
|
| 48 |
+
<stop offset="60%" stop-color="#00ff41"></stop>
|
| 49 |
+
<stop offset="100%" stop-color="#003311"></stop>
|
| 50 |
+
</lineargradient>
|
| 51 |
+
<clippath id="hex-clip">
|
| 52 |
+
<polygon points="600,42 648,68 648,120 600,146 552,120 552,68"></polygon>
|
| 53 |
+
</clippath>
|
| 54 |
+
<pattern id="dots" x="0" y="0" width="40" height="40" patternUnits="userSpaceOnUse">
|
| 55 |
+
<circle cx="20" cy="20" r="0.8" fill="#00ff41" opacity="0.12"></circle>
|
| 56 |
+
</pattern>
|
| 57 |
+
</defs>
|
| 58 |
+
|
| 59 |
+
<style>
|
| 60 |
+
@keyframes robotWalk {
|
| 61 |
+
0% { transform: translateY(0px) scale(1); }
|
| 62 |
+
25% { transform: translateY(-3px) scale(1.02); }
|
| 63 |
+
50% { transform: translateY(-1px) scale(1.03); }
|
| 64 |
+
75% { transform: translateY(-4px) scale(1.02); }
|
| 65 |
+
100% { transform: translateY(0px) scale(1); }
|
| 66 |
+
}
|
| 67 |
+
@keyframes robotLean {
|
| 68 |
+
0% { transform: rotate(-1deg); }
|
| 69 |
+
50% { transform: rotate(1.5deg); }
|
| 70 |
+
100% { transform: rotate(-1deg); }
|
| 71 |
+
}
|
| 72 |
+
@keyframes headBob {
|
| 73 |
+
0% { transform: translateY(0px) rotate(-0.5deg); }
|
| 74 |
+
33% { transform: translateY(-2px) rotate(1deg); }
|
| 75 |
+
66% { transform: translateY(-1px) rotate(-1deg); }
|
| 76 |
+
100% { transform: translateY(0px) rotate(-0.5deg); }
|
| 77 |
+
}
|
| 78 |
+
@keyframes armSwing {
|
| 79 |
+
0% { transform: rotate(-8deg); }
|
| 80 |
+
50% { transform: rotate(8deg); }
|
| 81 |
+
100% { transform: rotate(-8deg); }
|
| 82 |
+
}
|
| 83 |
+
@keyframes armSwingR {
|
| 84 |
+
0% { transform: rotate(8deg); }
|
| 85 |
+
50% { transform: rotate(-8deg); }
|
| 86 |
+
100% { transform: rotate(8deg); }
|
| 87 |
+
}
|
| 88 |
+
@keyframes eyeGlow {
|
| 89 |
+
0% { opacity: 0.8; }
|
| 90 |
+
50% { opacity: 1; filter: drop-shadow(0 0 6px #00ff41); }
|
| 91 |
+
100% { opacity: 0.8; }
|
| 92 |
+
}
|
| 93 |
+
@keyframes fireFlicker1 {
|
| 94 |
+
0% { transform: scaleY(1) scaleX(1) translateY(0); opacity: 0.9; }
|
| 95 |
+
20% { transform: scaleY(1.3) scaleX(0.85) translateY(-4px); opacity: 1; }
|
| 96 |
+
40% { transform: scaleY(0.9) scaleX(1.1) translateY(2px); opacity: 0.7; }
|
| 97 |
+
60% { transform: scaleY(1.4) scaleX(0.8) translateY(-6px); opacity: 1; }
|
| 98 |
+
80% { transform: scaleY(1.1) scaleX(0.95) translateY(-2px); opacity: 0.85; }
|
| 99 |
+
100% { transform: scaleY(1) scaleX(1) translateY(0); opacity: 0.9; }
|
| 100 |
+
}
|
| 101 |
+
@keyframes fireFlicker2 {
|
| 102 |
+
0% { transform: scaleY(1.2) scaleX(0.9) translateY(-3px); opacity: 0.8; }
|
| 103 |
+
30% { transform: scaleY(0.8) scaleX(1.2) translateY(2px); opacity: 1; }
|
| 104 |
+
60% { transform: scaleY(1.5) scaleX(0.75) translateY(-7px); opacity: 0.9; }
|
| 105 |
+
100% { transform: scaleY(1.2) scaleX(0.9) translateY(-3px); opacity: 0.8; }
|
| 106 |
+
}
|
| 107 |
+
@keyframes fireFlicker3 {
|
| 108 |
+
0% { transform: scaleY(0.9) translateY(2px); opacity: 0.6; }
|
| 109 |
+
40% { transform: scaleY(1.4) translateY(-5px); opacity: 1; }
|
| 110 |
+
70% { transform: scaleY(1.1) translateY(-2px); opacity: 0.75; }
|
| 111 |
+
100% { transform: scaleY(0.9) translateY(2px); opacity: 0.6; }
|
| 112 |
+
}
|
| 113 |
+
@keyframes hexPulse {
|
| 114 |
+
0% { opacity: 0.6; }
|
| 115 |
+
50% { opacity: 1; }
|
| 116 |
+
100% { opacity: 0.6; }
|
| 117 |
+
}
|
| 118 |
+
@keyframes cuffSwing {
|
| 119 |
+
0% { transform: rotate(-5deg); }
|
| 120 |
+
50% { transform: rotate(5deg); }
|
| 121 |
+
100% { transform: rotate(-5deg); }
|
| 122 |
+
}
|
| 123 |
+
@keyframes cuffFireL {
|
| 124 |
+
0% { transform: scaleY(1) translateX(0); opacity: 0.85; }
|
| 125 |
+
33% { transform: scaleY(1.4) translateX(-2px); opacity: 1; }
|
| 126 |
+
66% { transform: scaleY(0.8) translateX(2px); opacity: 0.7; }
|
| 127 |
+
100% { transform: scaleY(1) translateX(0); opacity: 0.85; }
|
| 128 |
+
}
|
| 129 |
+
@keyframes cuffFireR {
|
| 130 |
+
0% { transform: scaleY(0.9) translateX(0); opacity: 0.75; }
|
| 131 |
+
33% { transform: scaleY(1.3) translateX(2px); opacity: 1; }
|
| 132 |
+
66% { transform: scaleY(1.1) translateX(-2px); opacity: 0.8; }
|
| 133 |
+
100% { transform: scaleY(0.9) translateX(0); opacity: 0.75; }
|
| 134 |
+
}
|
| 135 |
+
@keyframes mercuryShimmer {
|
| 136 |
+
0% { filter: drop-shadow(0 0 4px #00ff41) brightness(1); }
|
| 137 |
+
50% { filter: drop-shadow(0 0 12px #00ff41) brightness(1.3); }
|
| 138 |
+
100% { filter: drop-shadow(0 0 4px #00ff41) brightness(1); }
|
| 139 |
+
}
|
| 140 |
+
@keyframes legWalkL {
|
| 141 |
+
0% { transform: rotate(-10deg); }
|
| 142 |
+
50% { transform: rotate(10deg); }
|
| 143 |
+
100% { transform: rotate(-10deg); }
|
| 144 |
+
}
|
| 145 |
+
@keyframes legWalkR {
|
| 146 |
+
0% { transform: rotate(10deg); }
|
| 147 |
+
50% { transform: rotate(-10deg); }
|
| 148 |
+
100% { transform: rotate(10deg); }
|
| 149 |
+
}
|
| 150 |
+
.robot-body { animation: robotWalk 1.2s ease-in-out infinite, mercuryShimmer 2s ease-in-out infinite; transform-origin: 600px 120px; }
|
| 151 |
+
.robot-torso { animation: robotLean 1.2s ease-in-out infinite; transform-origin: 600px 100px; }
|
| 152 |
+
.robot-head { animation: headBob 1.0s ease-in-out infinite; transform-origin: 600px 68px; }
|
| 153 |
+
.robot-arm-l { animation: armSwing 1.2s ease-in-out infinite; transform-origin: 582px 95px; }
|
| 154 |
+
.robot-arm-r { animation: armSwingR 1.2s ease-in-out infinite; transform-origin: 618px 95px; }
|
| 155 |
+
.robot-leg-l { animation: legWalkL 1.2s ease-in-out infinite; transform-origin: 592px 120px; }
|
| 156 |
+
.robot-leg-r { animation: legWalkR 1.2s ease-in-out infinite; transform-origin: 608px 120px; }
|
| 157 |
+
.robot-eyes { animation: eyeGlow 0.8s ease-in-out infinite; }
|
| 158 |
+
.fire-1 { animation: fireFlicker1 0.35s ease-in-out infinite; transform-origin: center bottom; }
|
| 159 |
+
.fire-2 { animation: fireFlicker2 0.28s ease-in-out infinite; transform-origin: center bottom; }
|
| 160 |
+
.fire-3 { animation: fireFlicker3 0.42s ease-in-out infinite; transform-origin: center bottom; }
|
| 161 |
+
.hex-ring { animation: hexPulse 1.5s ease-in-out infinite; }
|
| 162 |
+
.cuff-l { animation: cuffSwing 2s ease-in-out infinite; transform-origin: 500px 94px; }
|
| 163 |
+
.cuff-r { animation: cuffSwing 2s ease-in-out infinite reverse; transform-origin: 700px 94px; }
|
| 164 |
+
.cuff-fire-l { animation: cuffFireL 0.38s ease-in-out infinite; transform-origin: center bottom; }
|
| 165 |
+
.cuff-fire-r { animation: cuffFireR 0.31s ease-in-out infinite; transform-origin: center bottom; }
|
| 166 |
+
</style>
|
| 167 |
+
|
| 168 |
+
<!-- Background -->
|
| 169 |
+
<rect width="1200" height="400" fill="url(#bg-grad)"></rect>
|
| 170 |
+
<rect width="1200" height="400" fill="url(#dots)"></rect>
|
| 171 |
+
|
| 172 |
+
<!-- Corner brackets -->
|
| 173 |
+
<line x1="30" y1="50" x2="30" y2="30" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 174 |
+
<line x1="30" y1="30" x2="80" y2="30" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 175 |
+
<line x1="1170" y1="50" x2="1170" y2="30" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 176 |
+
<line x1="1170" y1="30" x2="1120" y2="30" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 177 |
+
<line x1="30" y1="350" x2="30" y2="370" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 178 |
+
<line x1="30" y1="370" x2="80" y2="370" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 179 |
+
<line x1="1170" y1="350" x2="1170" y2="370" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 180 |
+
<line x1="1170" y1="370" x2="1120" y2="370" stroke="#00ff41" stroke-width="2.5" filter="url(#glow)"></line>
|
| 181 |
+
|
| 182 |
+
<!-- Terminal lines top left -->
|
| 183 |
+
<text x="50" y="65" font-family="'Courier New', monospace" font-size="11" fill="#00ff41" opacity="0.7" filter="url(#glow)">[ SYSTEM INITIALIZED ]</text>
|
| 184 |
+
<text x="50" y="83" font-family="'Courier New', monospace" font-size="10" fill="#00ff41" opacity="0.5">$ agent_loop.py --target 192.168.x.x</text>
|
| 185 |
+
<text x="50" y="99" font-family="'Courier New', monospace" font-size="10" fill="#00ff41" opacity="0.5">▶ masscan: 24 ports discovered</text>
|
| 186 |
+
<text x="50" y="115" font-family="'Courier New', monospace" font-size="10" fill="#00ff41" opacity="0.45">▶ nmap: service enumeration complete</text>
|
| 187 |
+
<text x="50" y="131" font-family="'Courier New', monospace" font-size="10" fill="#00ff41" opacity="0.4">▶ sqlmap: injection vector found</text>
|
| 188 |
+
<text x="50" y="147" font-family="'Courier New', monospace" font-size="10" fill="#00ff41" opacity="0.35">▶ hydra: credential audit running...</text>
|
| 189 |
+
|
| 190 |
+
<!-- Hex background glow -->
|
| 191 |
+
<ellipse cx="600" cy="94" rx="80" ry="80" fill="url(#hex-glow)"></ellipse>
|
| 192 |
+
|
| 193 |
+
<!-- ===================== LEFT HANDCUFF ===================== -->
|
| 194 |
+
<g class="cuff-l">
|
| 195 |
+
<!-- Chain links connecting to hex -->
|
| 196 |
+
<line x1="552" y1="94" x2="530" y2="94" stroke="#00ff41" stroke-width="2" opacity="0.7" filter="url(#glow)"></line>
|
| 197 |
+
<ellipse cx="526" cy="94" rx="6" ry="4" fill="none" stroke="#00ff41" stroke-width="1.8" opacity="0.8" filter="url(#glow)"></ellipse>
|
| 198 |
+
<ellipse cx="516" cy="94" rx="6" ry="4" fill="none" stroke="#00ff41" stroke-width="1.8" opacity="0.8" filter="url(#glow)"></ellipse>
|
| 199 |
+
<ellipse cx="506" cy="94" rx="6" ry="4" fill="none" stroke="#00ff41" stroke-width="1.8" opacity="0.8" filter="url(#glow)"></ellipse>
|
| 200 |
+
<!-- Cuff body -->
|
| 201 |
+
<rect x="468" y="82" width="32" height="24" rx="12" fill="none" stroke="#00ff41" stroke-width="2.5" filter="url(#glow-strong)"></rect>
|
| 202 |
+
<rect x="472" y="86" width="24" height="16" rx="8" fill="none" stroke="#00ff41" stroke-width="1.2" opacity="0.5"></rect>
|
| 203 |
+
<!-- Cuff hinge -->
|
| 204 |
+
<rect x="482" y="80" width="8" height="6" rx="2" fill="#00ff41" opacity="0.6" filter="url(#glow)"></rect>
|
| 205 |
+
<!-- Cuff lock -->
|
| 206 |
+
<rect x="480" y="99" width="12" height="9" rx="2" fill="none" stroke="#00ff41" stroke-width="1.5" filter="url(#glow)"></rect>
|
| 207 |
+
<circle cx="486" cy="103" r="2" fill="#00ff41" opacity="0.8"></circle>
|
| 208 |
+
<!-- Left cuff fires -->
|
| 209 |
+
<g class="cuff-fire-l">
|
| 210 |
+
<polygon points="478,82 481,68 484,78 487,63 490,76 493,70 496,82" fill="#00ff41" opacity="0.9" filter="url(#fire-blur)"></polygon>
|
| 211 |
+
<polygon points="480,82 483,72 486,66 489,74 492,82" fill="#22ff55" opacity="0.7" filter="url(#glow)"></polygon>
|
| 212 |
+
</g>
|
| 213 |
+
<g style="animation: cuffFireR 0.45s ease-in-out infinite; transform-origin: center bottom;">
|
| 214 |
+
<polygon points="474,82 477,71 480,79 483,65 486,75 489,82" fill="#00ff41" opacity="0.6" filter="url(#fire-blur)"></polygon>
|
| 215 |
+
</g>
|
| 216 |
+
</g>
|
| 217 |
+
|
| 218 |
+
<!-- ===================== RIGHT HANDCUFF ===================== -->
|
| 219 |
+
<g class="cuff-r">
|
| 220 |
+
<!-- Chain links -->
|
| 221 |
+
<line x1="648" y1="94" x2="670" y2="94" stroke="#00ff41" stroke-width="2" opacity="0.7" filter="url(#glow)"></line>
|
| 222 |
+
<ellipse cx="674" cy="94" rx="6" ry="4" fill="none" stroke="#00ff41" stroke-width="1.8" opacity="0.8" filter="url(#glow)"></ellipse>
|
| 223 |
+
<ellipse cx="684" cy="94" rx="6" ry="4" fill="none" stroke="#00ff41" stroke-width="1.8" opacity="0.8" filter="url(#glow)"></ellipse>
|
| 224 |
+
<ellipse cx="694" cy="94" rx="6" ry="4" fill="none" stroke="#00ff41" stroke-width="1.8" opacity="0.8" filter="url(#glow)"></ellipse>
|
| 225 |
+
<!-- Cuff body -->
|
| 226 |
+
<rect x="700" y="82" width="32" height="24" rx="12" fill="none" stroke="#00ff41" stroke-width="2.5" filter="url(#glow-strong)"></rect>
|
| 227 |
+
<rect x="704" y="86" width="24" height="16" rx="8" fill="none" stroke="#00ff41" stroke-width="1.2" opacity="0.5"></rect>
|
| 228 |
+
<!-- Cuff hinge -->
|
| 229 |
+
<rect x="710" y="80" width="8" height="6" rx="2" fill="#00ff41" opacity="0.6" filter="url(#glow)"></rect>
|
| 230 |
+
<!-- Cuff lock -->
|
| 231 |
+
<rect x="708" y="99" width="12" height="9" rx="2" fill="none" stroke="#00ff41" stroke-width="1.5" filter="url(#glow)"></rect>
|
| 232 |
+
<circle cx="714" cy="103" r="2" fill="#00ff41" opacity="0.8"></circle>
|
| 233 |
+
<!-- Right cuff fires -->
|
| 234 |
+
<g class="cuff-fire-r">
|
| 235 |
+
<polygon points="704,82 707,67 710,77 713,62 716,75 719,69 722,82" fill="#00ff41" opacity="0.9" filter="url(#fire-blur)"></polygon>
|
| 236 |
+
<polygon points="706,82 709,71 712,65 715,73 718,82" fill="#22ff55" opacity="0.7" filter="url(#glow)"></polygon>
|
| 237 |
+
</g>
|
| 238 |
+
<g class="cuff-fire-l">
|
| 239 |
+
<polygon points="702,82 705,70 708,78 711,64 714,74 717,82" fill="#00ff41" opacity="0.6" filter="url(#fire-blur)"></polygon>
|
| 240 |
+
</g>
|
| 241 |
+
</g>
|
| 242 |
+
|
| 243 |
+
<!-- ===================== HEXAGON ===================== -->
|
| 244 |
+
<!-- Outer hex rings -->
|
| 245 |
+
<polygon class="hex-ring" points="600,38 652,67 652,125 600,154 548,125 548,67" fill="none" stroke="#00ff41" stroke-width="1" opacity="0.3"></polygon>
|
| 246 |
+
<polygon class="hex-ring" points="600,42 648,70 648,120 600,148 552,120 552,70" fill="none" stroke="#00ff41" stroke-width="2" opacity="0.6" filter="url(#glow)" style="animation-delay:0.3s"></polygon>
|
| 247 |
+
<polygon points="600,46 644,72 644,118 600,144 556,118 556,72" fill="#030f03" stroke="#00ff41" stroke-width="1" opacity="0.4"></polygon>
|
| 248 |
+
|
| 249 |
+
<!-- Hex inner glow -->
|
| 250 |
+
<polygon points="600,46 644,72 644,118 600,144 556,118 556,72" fill="url(#hex-glow)" clip-path="url(#hex-clip)"></polygon>
|
| 251 |
+
|
| 252 |
+
<!-- ===================== FIRE INSIDE HEX ===================== -->
|
| 253 |
+
<g clip-path="url(#hex-clip)">
|
| 254 |
+
<!-- Base fire layer -->
|
| 255 |
+
<g class="fire-1">
|
| 256 |
+
<polygon points="575,144 582,118 588,130 594,108 600,125 606,105 612,122 618,112 624,130 630,115 636,144" fill="#00ff41" opacity="0.85" filter="url(#fire-blur)"></polygon>
|
| 257 |
+
</g>
|
| 258 |
+
<g class="fire-2">
|
| 259 |
+
<polygon points="570,144 578,120 585,133 591,110 597,128 603,103 609,120 615,108 622,126 629,116 638,144" fill="#00dd33" opacity="0.7" filter="url(#fire-blur)"></polygon>
|
| 260 |
+
</g>
|
| 261 |
+
<g class="fire-3">
|
| 262 |
+
<polygon points="580,144 586,122 592,135 598,112 604,130 610,115 616,128 622,118 628,135 634,144" fill="#22ff55" opacity="0.5" filter="url(#glow)"></polygon>
|
| 263 |
+
</g>
|
| 264 |
+
<!-- Inner bright fire core -->
|
| 265 |
+
<g style="animation: fireFlicker1 0.22s ease-in-out infinite; transform-origin: 600px 144px;">
|
| 266 |
+
<polygon points="588,144 593,126 598,136 602,118 606,132 611,144" fill="#88ffaa" opacity="0.6" filter="url(#glow-strong)"></polygon>
|
| 267 |
+
</g>
|
| 268 |
+
</g>
|
| 269 |
+
|
| 270 |
+
<!-- ===================== ROBOT (clipped inside hex) ===================== -->
|
| 271 |
+
<g clip-path="url(#hex-clip)">
|
| 272 |
+
<g class="robot-body">
|
| 273 |
+
<g class="robot-torso">
|
| 274 |
+
|
| 275 |
+
<!-- LEFT ARM -->
|
| 276 |
+
<g class="robot-arm-l">
|
| 277 |
+
<!-- upper arm -->
|
| 278 |
+
<rect x="574" y="88" width="8" height="20" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 279 |
+
<!-- forearm -->
|
| 280 |
+
<rect x="572" y="106" width="7" height="16" rx="3" fill="url(#mercury-body)" opacity="0.85" filter="url(#glow)" transform="rotate(-5,575,106)"></rect>
|
| 281 |
+
<!-- hand/claw -->
|
| 282 |
+
<polygon points="570,121 574,118 576,123 572,126" fill="#00ff41" filter="url(#glow)"></polygon>
|
| 283 |
+
<polygon points="574,122 578,119 579,124 575,127" fill="#00ff41" filter="url(#glow)"></polygon>
|
| 284 |
+
</g>
|
| 285 |
+
|
| 286 |
+
<!-- RIGHT ARM -->
|
| 287 |
+
<g class="robot-arm-r">
|
| 288 |
+
<rect x="618" y="88" width="8" height="20" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 289 |
+
<rect x="621" y="106" width="7" height="16" rx="3" fill="url(#mercury-body)" opacity="0.85" filter="url(#glow)" transform="rotate(5,625,106)"></rect>
|
| 290 |
+
<polygon points="624,121 628,118 630,123 626,126" fill="#00ff41" filter="url(#glow)"></polygon>
|
| 291 |
+
<polygon points="620,122 624,119 625,124 621,127" fill="#00ff41" filter="url(#glow)"></polygon>
|
| 292 |
+
</g>
|
| 293 |
+
|
| 294 |
+
<!-- TORSO -->
|
| 295 |
+
<!-- Main torso -->
|
| 296 |
+
<rect x="584" y="86" width="32" height="36" rx="4" fill="url(#mercury-body)" filter="url(#glow-strong)"></rect>
|
| 297 |
+
<!-- Torso detail lines (liquid mercury seams) -->
|
| 298 |
+
<line x1="590" y1="90" x2="610" y2="90" stroke="#88ffaa" stroke-width="0.8" opacity="0.6"></line>
|
| 299 |
+
<line x1="588" y1="96" x2="612" y2="96" stroke="#88ffaa" stroke-width="0.5" opacity="0.4"></line>
|
| 300 |
+
<line x1="586" y1="108" x2="614" y2="108" stroke="#88ffaa" stroke-width="0.5" opacity="0.4"></line>
|
| 301 |
+
<!-- Chest core reactor -->
|
| 302 |
+
<circle cx="600" cy="100" r="5" fill="#001100" stroke="#00ff41" stroke-width="1.5" filter="url(#glow)"></circle>
|
| 303 |
+
<circle cx="600" cy="100" r="2.5" fill="#00ff41" opacity="0.9" filter="url(#glow-strong)">
|
| 304 |
+
<animate attributeName="r" values="2;3.5;2" dur="0.6s" repeatCount="indefinite"></animate>
|
| 305 |
+
<animate attributeName="opacity" values="0.7;1;0.7" dur="0.6s" repeatCount="indefinite"></animate>
|
| 306 |
+
</circle>
|
| 307 |
+
<!-- Shoulder pads -->
|
| 308 |
+
<rect x="581" y="84" width="10" height="7" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 309 |
+
<rect x="609" y="84" width="10" height="7" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 310 |
+
|
| 311 |
+
<!-- NECK -->
|
| 312 |
+
<rect x="596" y="80" width="8" height="8" rx="2" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 313 |
+
|
| 314 |
+
<!-- HEAD -->
|
| 315 |
+
<g class="robot-head">
|
| 316 |
+
<!-- Head shape - slightly angular/terminator -->
|
| 317 |
+
<rect x="586" y="57" width="28" height="24" rx="4" fill="url(#mercury-head)" filter="url(#glow-strong)"></rect>
|
| 318 |
+
<!-- Head side panels -->
|
| 319 |
+
<rect x="583" y="61" width="5" height="14" rx="2" fill="url(#mercury-body)" opacity="0.8" filter="url(#glow)"></rect>
|
| 320 |
+
<rect x="612" y="61" width="5" height="14" rx="2" fill="url(#mercury-body)" opacity="0.8" filter="url(#glow)"></rect>
|
| 321 |
+
<!-- EYES - glowing red terminator style but green -->
|
| 322 |
+
<g class="robot-eyes">
|
| 323 |
+
<ellipse cx="594" cy="67" rx="4" ry="3" fill="#001100" stroke="#00ff41" stroke-width="1" filter="url(#glow)"></ellipse>
|
| 324 |
+
<ellipse cx="594" cy="67" rx="2.5" ry="2" fill="#00ff41" filter="url(#glow-intense)"></ellipse>
|
| 325 |
+
<ellipse cx="606" cy="67" rx="4" ry="3" fill="#001100" stroke="#00ff41" stroke-width="1" filter="url(#glow)"></ellipse>
|
| 326 |
+
<ellipse cx="606" cy="67" rx="2.5" ry="2" fill="#00ff41" filter="url(#glow-intense)"></ellipse>
|
| 327 |
+
<!-- Eye scan line -->
|
| 328 |
+
<line x1="590" y1="67" x2="610" y2="67" stroke="#00ff41" stroke-width="0.5" opacity="0.4">
|
| 329 |
+
<animate attributeName="opacity" values="0;0.6;0" dur="1.2s" repeatCount="indefinite"></animate>
|
| 330 |
+
</line>
|
| 331 |
+
</g>
|
| 332 |
+
<!-- Mouth/jaw slot -->
|
| 333 |
+
<rect x="592" y="75" width="16" height="3" rx="1" fill="#001100" stroke="#00ff41" stroke-width="0.8" opacity="0.8"></rect>
|
| 334 |
+
<!-- Jaw teeth detail -->
|
| 335 |
+
<line x1="595" y1="75" x2="595" y2="78" stroke="#00ff41" stroke-width="0.8" opacity="0.5"></line>
|
| 336 |
+
<line x1="599" y1="75" x2="599" y2="78" stroke="#00ff41" stroke-width="0.8" opacity="0.5"></line>
|
| 337 |
+
<line x1="603" y1="75" x2="603" y2="78" stroke="#00ff41" stroke-width="0.8" opacity="0.5"></line>
|
| 338 |
+
<!-- Head top detail -->
|
| 339 |
+
<rect x="594" y="55" width="12" height="4" rx="1" fill="url(#mercury-body)" opacity="0.7"></rect>
|
| 340 |
+
<line x1="598" y1="53" x2="598" y2="57" stroke="#00ff41" stroke-width="1.5" opacity="0.6" filter="url(#glow)"></line>
|
| 341 |
+
<line x1="602" y1="53" x2="602" y2="57" stroke="#00ff41" stroke-width="1.5" opacity="0.6" filter="url(#glow)"></line>
|
| 342 |
+
</g>
|
| 343 |
+
|
| 344 |
+
<!-- HIPS -->
|
| 345 |
+
<rect x="586" y="120" width="28" height="8" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 346 |
+
|
| 347 |
+
<!-- LEGS -->
|
| 348 |
+
<g class="robot-leg-l">
|
| 349 |
+
<rect x="586" y="126" width="11" height="18" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 350 |
+
<!-- knee joint -->
|
| 351 |
+
<circle cx="591" cy="143" r="3.5" fill="#001100" stroke="#00ff41" stroke-width="1.2" filter="url(#glow)"></circle>
|
| 352 |
+
<!-- shin -->
|
| 353 |
+
<rect x="587" y="144" width="9" height="12" rx="2" fill="url(#mercury-body)" opacity="0.85" filter="url(#glow)"></rect>
|
| 354 |
+
<!-- foot -->
|
| 355 |
+
<rect x="584" y="154" width="14" height="5" rx="2" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 356 |
+
</g>
|
| 357 |
+
<g class="robot-leg-r">
|
| 358 |
+
<rect x="603" y="126" width="11" height="18" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 359 |
+
<circle cx="609" cy="143" r="3.5" fill="#001100" stroke="#00ff41" stroke-width="1.2" filter="url(#glow)"></circle>
|
| 360 |
+
<rect x="604" y="144" width="9" height="12" rx="2" fill="url(#mercury-body)" opacity="0.85" filter="url(#glow)"></rect>
|
| 361 |
+
<rect x="602" y="154" width="14" height="5" rx="2" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 362 |
+
</g>
|
| 363 |
+
|
| 364 |
+
</g>
|
| 365 |
+
</g>
|
| 366 |
+
</g>
|
| 367 |
+
|
| 368 |
+
<!-- Hex border on top of everything inside -->
|
| 369 |
+
<polygon points="600,42 648,70 648,120 600,148 552,120 552,70" fill="none" stroke="#00ff41" stroke-width="2.5" filter="url(#glow-strong)" class="hex-ring"></polygon>
|
| 370 |
+
|
| 371 |
+
<!-- ===================== MAIN TEXT ===================== -->
|
| 372 |
+
<text x="600" y="240" font-family="'Courier New', monospace" font-size="72" font-weight="bold" fill="#00ff41" text-anchor="middle" letter-spacing="12" filter="url(#glow-strong)">LOCAL SECURITY</text>
|
| 373 |
+
<text x="600" y="278" font-family="'Courier New', monospace" font-size="20" fill="#00ff41" text-anchor="middle" letter-spacing="8" opacity="0.85" filter="url(#glow)">AUTONOMOUS AGENT</text>
|
| 374 |
+
<line x1="200" y1="296" x2="1000" y2="296" stroke="#00ff41" stroke-width="0.8" opacity="0.3"></line>
|
| 375 |
+
<text x="600" y="320" font-family="'Courier New', monospace" font-size="13" fill="#00ff41" text-anchor="middle" letter-spacing="4" opacity="0.6" filter="url(#glow)">QWEN 2.5 · MCP ARCHITECTURE · KALI LINUX</text>
|
| 376 |
+
|
| 377 |
+
<!-- Status bar -->
|
| 378 |
+
<text x="50" y="335" font-family="'Courier New', monospace" font-size="11" fill="#00ff41" opacity="0.7" filter="url(#glow)">STATUS: ACTIVE</text>
|
| 379 |
+
<text x="1150" y="335" font-family="'Courier New', monospace" font-size="11" fill="#00ff41" text-anchor="end" opacity="0.6">automajicly @ huggingface.co</text>
|
| 380 |
+
<text x="1150" y="320" font-family="'Courier New', monospace" font-size="10" fill="#00ff41" text-anchor="end" opacity="0.4">MIT LICENSE</text>
|
| 381 |
+
|
| 382 |
+
<style>
|
| 383 |
+
@keyframes hackerBob { 0%{transform:translateY(0)} 50%{transform:translateY(-3px)} 100%{transform:translateY(0)} }
|
| 384 |
+
@keyframes hackerLean { 0%{transform:rotate(-1deg)} 50%{transform:rotate(1deg)} 100%{transform:rotate(-1deg)} }
|
| 385 |
+
@keyframes armTypeL { 0%{transform:rotate(-8deg) translateY(0)} 25%{transform:rotate(-4deg) translateY(-2px)} 50%{transform:rotate(-9deg) translateY(1px)} 75%{transform:rotate(-3deg) translateY(-3px)} 100%{transform:rotate(-8deg) translateY(0)} }
|
| 386 |
+
@keyframes armTypeR { 0%{transform:rotate(8deg) translateY(1px)} 25%{transform:rotate(4deg) translateY(-2px)} 50%{transform:rotate(10deg) translateY(0)} 75%{transform:rotate(3deg) translateY(-3px)} 100%{transform:rotate(8deg) translateY(1px)} }
|
| 387 |
+
@keyframes fingerFire1 { 0%{transform:scaleY(1) translateY(0);opacity:0.9} 30%{transform:scaleY(1.6) translateY(-5px);opacity:1} 60%{transform:scaleY(0.8) translateY(2px);opacity:0.7} 100%{transform:scaleY(1) translateY(0);opacity:0.9} }
|
| 388 |
+
@keyframes fingerFire2 { 0%{transform:scaleY(1.3) translateY(-3px);opacity:0.8} 40%{transform:scaleY(0.7) translateY(3px);opacity:1} 70%{transform:scaleY(1.5) translateY(-6px);opacity:0.85} 100%{transform:scaleY(1.3) translateY(-3px);opacity:0.8} }
|
| 389 |
+
@keyframes keyPress { 0%{transform:translateY(0)} 10%{transform:translateY(2px)} 20%{transform:translateY(0)} 35%{transform:translateY(1px)} 45%{transform:translateY(0)} 60%{transform:translateY(2px)} 70%{transform:translateY(0)} 100%{transform:translateY(0)} }
|
| 390 |
+
@keyframes eyeScan { 0%{transform:translateX(0)} 25%{transform:translateX(2px)} 50%{transform:translateX(-2px)} 75%{transform:translateX(1px)} 100%{transform:translateX(0)} }
|
| 391 |
+
@keyframes screenFlicker { 0%{opacity:0.8} 5%{opacity:1} 10%{opacity:0.85} 50%{opacity:0.95} 55%{opacity:0.7} 60%{opacity:1} 100%{opacity:0.8} }
|
| 392 |
+
@keyframes codeScroll { 0%{transform:translateY(0)} 100%{transform:translateY(-40px)} }
|
| 393 |
+
@keyframes warningPulse { 0%{opacity:0.7;} 50%{opacity:1;} 100%{opacity:0.7;} }
|
| 394 |
+
.hacker-body { animation: hackerBob 1s ease-in-out infinite; transform-origin: 600px 390px; }
|
| 395 |
+
.hacker-torso { animation: hackerLean 1s ease-in-out infinite; transform-origin: 600px 375px; }
|
| 396 |
+
.hacker-arm-l { animation: armTypeL 0.4s ease-in-out infinite; transform-origin: 582px 370px; }
|
| 397 |
+
.hacker-arm-r { animation: armTypeR 0.4s ease-in-out infinite; transform-origin: 618px 370px; }
|
| 398 |
+
.hacker-eyes { animation: eyeScan 0.5s ease-in-out infinite; }
|
| 399 |
+
.ffire-1 { animation: fingerFire1 0.2s ease-in-out infinite; transform-origin: center bottom; }
|
| 400 |
+
.ffire-2 { animation: fingerFire2 0.17s ease-in-out infinite; transform-origin: center bottom; }
|
| 401 |
+
.key-press { animation: keyPress 0.4s ease-in-out infinite; }
|
| 402 |
+
.screen-flicker { animation: screenFlicker 2s ease-in-out infinite; }
|
| 403 |
+
.code-scroll { animation: codeScroll 3s linear infinite; }
|
| 404 |
+
.warn-pulse { animation: warningPulse 1.5s ease-in-out infinite; }
|
| 405 |
+
</style>
|
| 406 |
+
|
| 407 |
+
<!-- ===================== BOTTOM HACKER SCENE ===================== -->
|
| 408 |
+
<!-- Desk surface -->
|
| 409 |
+
<rect x="0" y="545" width="1200" height="20" fill="#001a00" opacity="0.8"></rect>
|
| 410 |
+
<line x1="0" y1="545" x2="1200" y2="545" stroke="#00ff41" stroke-width="0.8" opacity="0.4" filter="url(#glow)"></line>
|
| 411 |
+
|
| 412 |
+
<!-- Warning text left and right -->
|
| 413 |
+
<text class="warn-pulse" x="50" y="538" font-family="'Courier New', monospace" font-size="13" fill="#39ff14" opacity="0.7" letter-spacing="3">⚠ UNAUTHORIZED ACCESS WILL BE PROSECUTED ⚠</text>
|
| 414 |
+
<text class="warn-pulse" x="700" y="538" font-family="'Courier New', monospace" font-size="13" fill="#39ff14" opacity="0.7" letter-spacing="3" style="animation-delay:0.75s">⚠ UNAUTHORIZED ACCESS WILL BE PROSECUTED ⚠</text>
|
| 415 |
+
|
| 416 |
+
<!-- ===== ROBOT HACKER CENTERED — scaled up 2.8x, shifted down into black ===== -->
|
| 417 |
+
<g transform="translate(600,490) scale(2.8) translate(-600,-390)">
|
| 418 |
+
<g class="hacker-body">
|
| 419 |
+
<g class="hacker-torso">
|
| 420 |
+
|
| 421 |
+
<!-- KEYBOARD -->
|
| 422 |
+
<g class="key-press">
|
| 423 |
+
<rect x="548" y="383" width="104" height="14" rx="3" fill="#001500" stroke="#00ff41" stroke-width="1.2" filter="url(#glow)"></rect>
|
| 424 |
+
<!-- Key rows -->
|
| 425 |
+
<rect x="552" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 426 |
+
<rect x="562" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 427 |
+
<rect x="572" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 428 |
+
<rect x="582" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 429 |
+
<rect x="592" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 430 |
+
<rect x="602" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 431 |
+
<rect x="612" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 432 |
+
<rect x="622" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 433 |
+
<rect x="632" y="385" width="8" height="4" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 434 |
+
<rect x="554" y="391" width="12" height="4" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 435 |
+
<rect x="568" y="391" width="8" height="4" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 436 |
+
<rect x="578" y="391" width="8" height="4" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 437 |
+
<rect x="588" y="391" width="18" height="4" rx="1" fill="#00ff41" opacity="0.6"></rect>
|
| 438 |
+
<rect x="608" y="391" width="8" height="4" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 439 |
+
<rect x="618" y="391" width="8" height="4" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 440 |
+
<rect x="628" y="391" width="12" height="4" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 441 |
+
</g>
|
| 442 |
+
|
| 443 |
+
<!-- MONITOR screen (small, to left of robot) -->
|
| 444 |
+
<rect x="490" y="348" width="52" height="38" rx="3" fill="#000d00" stroke="#00ff41" stroke-width="1.5" filter="url(#glow)"></rect>
|
| 445 |
+
<rect x="493" y="351" width="46" height="30" rx="2" fill="#000a00" class="screen-flicker"></rect>
|
| 446 |
+
<!-- Code scrolling on screen -->
|
| 447 |
+
<clippath id="screen-clip"><rect x="493" y="351" width="46" height="30" rx="2"></rect></clippath>
|
| 448 |
+
<g clip-path="url(#screen-clip)" class="code-scroll">
|
| 449 |
+
<text x="495" y="358" font-family="'Courier New', monospace" font-size="4" fill="#00ff41" opacity="0.9">masscan -p1-65535</text>
|
| 450 |
+
<text x="495" y="363" font-family="'Courier New', monospace" font-size="4" fill="#00ff41" opacity="0.8">nmap -sV -O target</text>
|
| 451 |
+
<text x="495" y="368" font-family="'Courier New', monospace" font-size="4" fill="#ff6600" opacity="0.9">EXPLOIT FOUND!</text>
|
| 452 |
+
<text x="495" y="373" font-family="'Courier New', monospace" font-size="4" fill="#00ff41" opacity="0.7">sqlmap --dbs</text>
|
| 453 |
+
<text x="495" y="378" font-family="'Courier New', monospace" font-size="4" fill="#00ff41" opacity="0.8">hydra -l admin</text>
|
| 454 |
+
<text x="495" y="383" font-family="'Courier New', monospace" font-size="4" fill="#39ff14" opacity="0.9">ACCESS GRANTED</text>
|
| 455 |
+
<text x="495" y="388" font-family="'Courier New', monospace" font-size="4" fill="#00ff41" opacity="0.7">searchsploit vsftpd</text>
|
| 456 |
+
<text x="495" y="393" font-family="'Courier New', monospace" font-size="4" fill="#00ff41" opacity="0.8">msfconsole -x</text>
|
| 457 |
+
</g>
|
| 458 |
+
<!-- Monitor stand -->
|
| 459 |
+
<rect x="513" y="386" width="6" height="6" rx="1" fill="#00ff41" opacity="0.5"></rect>
|
| 460 |
+
<rect x="507" y="391" width="18" height="3" rx="1" fill="#00ff41" opacity="0.4"></rect>
|
| 461 |
+
|
| 462 |
+
<!-- LEFT ARM (typing) -->
|
| 463 |
+
<g class="hacker-arm-l">
|
| 464 |
+
<!-- upper arm -->
|
| 465 |
+
<rect x="572" y="358" width="9" height="18" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 466 |
+
<!-- forearm angled toward keyboard -->
|
| 467 |
+
<rect x="568" y="373" width="8" height="14" rx="3" fill="url(#mercury-body)" opacity="0.9" filter="url(#glow)" transform="rotate(15,572,373)"></rect>
|
| 468 |
+
<!-- Hand -->
|
| 469 |
+
<ellipse cx="569" cy="385" rx="6" ry="4" fill="url(#mercury-body)" filter="url(#glow-strong)"></ellipse>
|
| 470 |
+
<!-- Finger fire LEFT HAND -->
|
| 471 |
+
<g class="ffire-1">
|
| 472 |
+
<polygon points="564,383 566,373 568,379 570,370 572,377 574,383" fill="#ff6600" opacity="0.95" filter="url(#fire-blur)"></polygon>
|
| 473 |
+
<polygon points="565,383 567,375 569,372 571,378 573,383" fill="#ff4400" opacity="0.7"></polygon>
|
| 474 |
+
<polygon points="566,383 568,377 570,374 572,380 574,383" fill="#ffaa00" opacity="0.5" filter="url(#glow)"></polygon>
|
| 475 |
+
</g>
|
| 476 |
+
<g class="ffire-2">
|
| 477 |
+
<polygon points="562,383 564,376 566,371 568,378 570,383" fill="#ff6600" opacity="0.6" filter="url(#fire-blur)"></polygon>
|
| 478 |
+
<polygon points="572,383 574,374 576,369 578,376 580,383" fill="#ff4400" opacity="0.5" filter="url(#fire-blur)"></polygon>
|
| 479 |
+
</g>
|
| 480 |
+
<!-- Orange glow under fingers -->
|
| 481 |
+
<ellipse cx="569" cy="383" rx="8" ry="3" fill="#ff6600" opacity="0.25" filter="url(#glow-strong)"></ellipse>
|
| 482 |
+
</g>
|
| 483 |
+
|
| 484 |
+
<!-- RIGHT ARM (typing) -->
|
| 485 |
+
<g class="hacker-arm-r">
|
| 486 |
+
<!-- upper arm -->
|
| 487 |
+
<rect x="619" y="358" width="9" height="18" rx="3" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 488 |
+
<!-- forearm -->
|
| 489 |
+
<rect x="622" y="373" width="8" height="14" rx="3" fill="url(#mercury-body)" opacity="0.9" filter="url(#glow)" transform="rotate(-15,626,373)"></rect>
|
| 490 |
+
<!-- Hand -->
|
| 491 |
+
<ellipse cx="630" cy="385" rx="6" ry="4" fill="url(#mercury-body)" filter="url(#glow-strong)"></ellipse>
|
| 492 |
+
<!-- Finger fire RIGHT HAND -->
|
| 493 |
+
<g class="ffire-2">
|
| 494 |
+
<polygon points="625,383 627,372 629,378 631,369 633,376 635,383" fill="#ff6600" opacity="0.95" filter="url(#fire-blur)"></polygon>
|
| 495 |
+
<polygon points="626,383 628,374 630,371 632,377 634,383" fill="#ff4400" opacity="0.7"></polygon>
|
| 496 |
+
<polygon points="627,383 629,376 631,373 633,379 635,383" fill="#ffaa00" opacity="0.5" filter="url(#glow)"></polygon>
|
| 497 |
+
</g>
|
| 498 |
+
<g class="ffire-1">
|
| 499 |
+
<polygon points="623,383 625,375 627,370 629,377 631,383" fill="#ff6600" opacity="0.6" filter="url(#fire-blur)"></polygon>
|
| 500 |
+
<polygon points="633,383 635,373 637,368 639,375 641,383" fill="#ff4400" opacity="0.5" filter="url(#fire-blur)"></polygon>
|
| 501 |
+
</g>
|
| 502 |
+
<ellipse cx="630" cy="383" rx="8" ry="3" fill="#ff6600" opacity="0.25" filter="url(#glow-strong)"></ellipse>
|
| 503 |
+
</g>
|
| 504 |
+
|
| 505 |
+
<!-- TORSO (hunched forward slightly) -->
|
| 506 |
+
<rect x="585" y="355" width="30" height="28" rx="4" fill="url(#mercury-body)" filter="url(#glow-strong)" transform="rotate(5,600,369)"></rect>
|
| 507 |
+
<!-- Chest reactor -->
|
| 508 |
+
<circle cx="600" cy="365" r="4" fill="#001100" stroke="#00ff41" stroke-width="1.2" filter="url(#glow)"></circle>
|
| 509 |
+
<circle cx="600" cy="365" r="2" fill="#00ff41" filter="url(#glow-intense)">
|
| 510 |
+
<animate attributeName="r" values="1.5;3;1.5" dur="0.5s" repeatCount="indefinite"></animate>
|
| 511 |
+
<animate attributeName="opacity" values="0.7;1;0.7" dur="0.5s" repeatCount="indefinite"></animate>
|
| 512 |
+
</circle>
|
| 513 |
+
<!-- Shoulder pads -->
|
| 514 |
+
<rect x="582" y="353" width="9" height="6" rx="2" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 515 |
+
<rect x="609" y="353" width="9" height="6" rx="2" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 516 |
+
|
| 517 |
+
<!-- NECK -->
|
| 518 |
+
<rect x="596" y="349" width="8" height="7" rx="2" fill="url(#mercury-body)" filter="url(#glow)"></rect>
|
| 519 |
+
|
| 520 |
+
<!-- HEAD (tilted slightly forward/down like concentrating) -->
|
| 521 |
+
<g transform="rotate(8,600,355)">
|
| 522 |
+
<!-- Head -->
|
| 523 |
+
<rect x="587" y="330" width="26" height="22" rx="4" fill="url(#mercury-head)" filter="url(#glow-strong)"></rect>
|
| 524 |
+
<!-- Side panels -->
|
| 525 |
+
<rect x="584" y="334" width="5" height="12" rx="2" fill="url(#mercury-body)" opacity="0.8" filter="url(#glow)"></rect>
|
| 526 |
+
<rect x="611" y="334" width="5" height="12" rx="2" fill="url(#mercury-body)" opacity="0.8" filter="url(#glow)"></rect>
|
| 527 |
+
<!-- EYES - scanning the screen intently -->
|
| 528 |
+
<g class="hacker-eyes">
|
| 529 |
+
<ellipse cx="595" cy="339" rx="3.5" ry="2.5" fill="#001100" stroke="#00ff41" stroke-width="1" filter="url(#glow)"></ellipse>
|
| 530 |
+
<ellipse cx="595" cy="339" rx="2" ry="1.8" fill="#00ff41" filter="url(#glow-intense)"></ellipse>
|
| 531 |
+
<ellipse cx="605" cy="339" rx="3.5" ry="2.5" fill="#001100" stroke="#00ff41" stroke-width="1" filter="url(#glow)"></ellipse>
|
| 532 |
+
<ellipse cx="605" cy="339" rx="2" ry="1.8" fill="#00ff41" filter="url(#glow-intense)"></ellipse>
|
| 533 |
+
<!-- Eye scan beam toward monitor -->
|
| 534 |
+
<line x1="585" y1="339" x2="492" y2="362" stroke="#00ff41" stroke-width="0.6" opacity="0.2">
|
| 535 |
+
<animate attributeName="opacity" values="0;0.4;0" dur="0.8s" repeatCount="indefinite"></animate>
|
| 536 |
+
</line>
|
| 537 |
+
</g>
|
| 538 |
+
<!-- Mouth -->
|
| 539 |
+
<rect x="593" y="347" width="14" height="2.5" rx="1" fill="#001100" stroke="#00ff41" stroke-width="0.7" opacity="0.8"></rect>
|
| 540 |
+
<!-- Head top antenna -->
|
| 541 |
+
<line x1="600" y1="328" x2="600" y2="322" stroke="#00ff41" stroke-width="1.5" filter="url(#glow)"></line>
|
| 542 |
+
<circle cx="600" cy="321" r="2" fill="#00ff41" filter="url(#glow-strong)">
|
| 543 |
+
<animate attributeName="opacity" values="0.4;1;0.4" dur="0.6s" repeatCount="indefinite"></animate>
|
| 544 |
+
</circle>
|
| 545 |
+
</g>
|
| 546 |
+
|
| 547 |
+
</g>
|
| 548 |
+
</g>
|
| 549 |
+
|
| 550 |
+
<!-- Floor glow under keyboard -->
|
| 551 |
+
<ellipse cx="600" cy="396" rx="70" ry="6" fill="#00ff41" opacity="0.08" filter="url(#glow)"></ellipse>
|
| 552 |
+
<ellipse cx="600" cy="396" rx="40" ry="3" fill="#ff6600" opacity="0.12" filter="url(#glow-strong)"></ellipse>
|
| 553 |
+
</g><!-- end scale transform -->
|
| 554 |
+
|
| 555 |
+
<!-- Big floor glow -->
|
| 556 |
+
<ellipse cx="600" cy="548" rx="180" ry="10" fill="#00ff41" opacity="0.07" filter="url(#glow)"></ellipse>
|
| 557 |
+
<ellipse cx="600" cy="548" rx="100" ry="5" fill="#ff6600" opacity="0.1" filter="url(#glow-strong)"></ellipse>
|
| 558 |
+
|
| 559 |
+
</svg>
|
| 560 |
+
|
| 561 |
+
</body></html>
|