// ==UserScript== // @name Shell Shockers Aimbot & ESP: StateFarm Client V3 - Bloom, Chat, Botting, Unban & More, shellshock.io // @description Shell Shockers Aimbot & ESP of the highest level. Best shellshock.io menu in 2025 with NO ADS! Many cheats such as Aimbot, PlayerESP, AmmoESP, Chams, Nametags, Join/Leave alerts, Chat Filter Bypass, AntiAFK, FOV Slider, Zooming, Player Stats, Auto Reload, Auto Unban and many more whilst having unsurpassed customisation options such as binding to any key, easily editable color scheme and themes - all on the fly! // @author Hydroflame521, onlypuppy7, enbyte, notfood, 1ust, OakSwingZZZ, Seq and de_Neuublue // @namespace https://github.com/Hydroflame522/StateFarmClient/ // @supportURL https://github.com/Hydroflame522/StateFarmClient/issues/ // @license GPL-3.0 // @run-at document-start // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_listValues // @grant GM_info // @grant GM_setClipboard // @grant GM_openInTab // @grant GM.setValue // @grant GM.getValue // @grant GM.deleteValue // @grant GM.listValues // @grant GM.info // @grant GM.setClipboard // @grant GM.openInTab // @icon https://raw.githubusercontent.com/Hydroflame522/StateFarmClient/main/icons/StateFarmClientLogo384px.png?v=1 // @require https://cdn.jsdelivr.net/npm/tweakpane@3.1.10/dist/tweakpane.min.js // version naming: //3.#.#-pre[number] for development versions, increment for every commit (not full release) note: please increment it //3.#.#-release for release (in the unlikely event that happens) // this ensures that each version of the script is counted as different // @version 3.4.3-pre7 // @match *://*.shellshock.io/* // @match *://*.shell.onlypuppy7.online/* // @match *://*.algebra.best/* // @match *://*.algebra.monster/* // @match *://*.algebra.vip/* // @match *://*.biologyclass.club/* // @match *://*.combateggs.com/* // @match *://*.deadlyegg.com/* // @match *://*.deathegg.life/* // @match *://*.deathegg.world/* // @match *://*.eggbattle.com/* // @match *://*.eggboy.club/* // @match *://*.eggboy.me/* // @match *://*.eggboy.xyz/* // @match *://*.eggcombat.com/* // @match *://*.egg.dance/* // @match *://*.eggfacts.fun/* // @match *://*.egggames.best/* // @match *://*.egghead.institute/* // @match *://*.eggisthenewblack.com/* // @match *://*.eggsarecool.com/* // @match *://*.eggshock.com/* // @match *://*.eggshock.me/* // @match *://*.eggshock.net/* // @match *://*.eggshooter.best/* // @match *://*.eggshooter.com/* // @match *://*.eggwarfare.com/* // @match *://*.eggwars.io/* // @match *://*.geometry.best/* // @match *://*.geometry.monster/* // @match *://*.geometry.pw/* // @match *://*.geometry.report/* // @match *://*.hardboiled.life/* // @match *://*.hardshell.life/* // @match *://*.humanorganising.org/* // @match *://*.mathactivity.club/* // @match *://*.mathactivity.xyz/* // @match *://*.mathdrills.info/* // @match *://*.mathdrills.life/* // @match *://*.mathfun.rocks/* // @match *://*.mathgames.world/* // @match *://*.math.international/* // @match *://*.mathlete.fun/* // @match *://*.mathlete.pro/* // @match *://*.overeasy.club/* // @match *://*.risenegg.com/* // @match *://*.scrambled.tech/* // @match *://*.scrambled.today/* // @match *://*.scrambled.us/* // @match *://*.scrambled.world/* // @match *://*.shellgame.me/* // @match *://*.shellplay.live/* // @match *://*.shellshockers.best/* // @match *://*.shellshockers.ca/* // @match *://*.shellshockers.club/* // @match *://*.shellshockers.life/* // @match *://*.shellshockers.site/* // @match *://*.shellshockers.today/* // @match *://*.shellshockers.us/* // @match *://*.shellshockers.website/* // @match *://*.shellshockers.wiki/* // @match *://*.shellshockers.world/* // @match *://*.shellshockers.xyz/* // @match *://*.shellshock.guru/* // @match *://*.shellsocks.com/* // @match *://*.softboiled.club/* // @match *://*.urbanegger.com/* // @match *://*.violentegg.club/* // @match *://*.violentegg.fun/* // @match *://*.yolk.best/* // @match *://*.yolk.life/* // @match *://*.yolk.monster/* // @match *://*.yolk.rocks/* // @match *://*.yolk.tech/* // @match *://*.yolk.quest/* // @match *://*.yolk.today/* // @match *://*.zygote.cafe/* // @match *://*.getstate.farm/* // @match *://localhost:5173/* // @antifeature membership // @downloadURL none // ==/UserScript== let attemptedInjection = false; // log("StateFarm: running (before function)"); (function () { if ((location.hostname.includes('getstate.farm') || location.hostname == 'localhost') && typeof unsafeWindow !== 'undefined') { unsafeWindow.userscript = typeof GM_info !== 'undefined' ? GM_info : false; const bannedKeys = ['LoginDB', 'AccountRecords', 'MostRecentEmail']; if (typeof GM_listValues !== 'undefined' && typeof GM_getValue !== 'undefined') { let keyArr = GM_listValues(); const allValues = {}; keyArr = keyArr.filter((key) => !bannedKeys.includes(key)); keyArr.forEach((key) => allValues[key] = GM_getValue(key)); unsafeWindow.gm = allValues; } if (typeof GM_setValue !== 'undefined') unsafeWindow.onmessage = (m) => { if (m.data.source !== 'getstate.farm') return; if (m.data.type == 'GM.setValue') GM_setValue(m.data.key, m.data.value); } return; } if (typeof isCrackedShell !== 'undefined') alert('CrackedShell v1 is no longer supported. Upgrade to v2.'); let crackedShell = typeof $WEBSOCKET !== 'undefined'; if (crackedShell) { GM_getValue = (name) => { try { return JSON.parse(localStorage.getItem(name)); } catch { return localStorage.getItem(name); }; }; GM_setValue = (name, value) => { if (typeof value === 'object') localStorage.setItem(name, JSON.stringify(value)); else localStorage.setItem(name, value); }; GM_listValues = () => Object.keys(localStorage); GM_deleteValue = (...a) => localStorage.removeItem(...a); GM_openInTab = (link) => window.open(link, '_blank'); GM_setClipboard = (text, _, callback) => navigator.clipboard.writeText(text).then(() => callback()); unsafeWindow = window; }; const storageKey = "StateFarm_" + (unsafeWindow.document.location.host.replaceAll(".", "")) + "_"; const log = function(...args) { let condition; try { condition = extract("consoleLogs"); } catch (error) { condition = GM_getValue(storageKey + "DisableLogs"); }; if (!condition) { console.log(...args); }; }; let originalReplace = String.prototype.replace; let originalReplaceAll = String.prototype.replaceAll; String.prototype.originalReplace = function () { return originalReplace.apply(this, arguments); }; String.prototype.originalReplaceAll = function () { return originalReplaceAll.apply(this, arguments); }; log("StateFarm: running (after function)"); //script info const name = "ЅtateFarm Client"; const version = typeof (GM_info) !== 'undefined' ? GM_info.script.version : "3"; const menuTitle = name + " v" + version; //INIT WEBSITE LINKS: store them here so they are easy to maintain and update! const discordURL = "https://dsc.gg/sfnetwork"; const discordName = "Farmer's Workers' Union"; const greasyforkID = "482982"; const githubID = "Hydroflame522/StateFarmClient"; const youtubeURL = "https://www.youtube.com/@StateFarmClientV3"; const greasyforkURL = `https://greasyfork.org/en/scripts/${greasyforkID}`; const downloadURL = `https://update.greasyfork.org/scripts/${greasyforkID}/user.js`; const updateURL = `https://update.greasyfork.org/scripts/${greasyforkID}/meta.js`; const scriptInfoURL = `https://greasyfork.org/scripts/${greasyforkID}.json`; //all of this github stuff assumes youve cloned the repo const githubURL = `https://github.com/${githubID}`; const featuresGuideURL = `https://github.com/${githubID}/tree/main?tab=readme-ov-file#-features`; const bottingGuideURL = `https://github.com/${githubID}/tree/main?tab=readme-ov-file#-botting`; const replacementLogoURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/icons/shell-logo-replacement.png`; const replacementLogoHalloweenURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/icons/shell-logo-replacement-halloween.png`; const replacementLogoChristmasURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/icons/shell-logo-replacement-christmas.png`; const replacementLogoNewYearsURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/icons/shell-logo-replacement-new-years.png`; const replacementFeedURL = `https://raw.githubusercontent.com/${githubID}/main/ingamefeeds/`; const commitFeedURL = `https://api.github.com/repos/${githubID}/commits?path=StateFarmClient.js`; const badgeListURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/ingamebadges/`; const iconURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/icons/StateFarmClientLogo384px.png`; const itsOverURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/assets/its%20over/ItsOver4Smaller.png`; const eggShowURL = `https://cdn.jsdelivr.net/gh/${githubID}@main/assets/show/EggShowSmaller.png`; const sfxURL = `https://api.github.com/repos/${githubID}/contents/soundpacks/sfx`; const skyboxListURL = `https://api.github.com/repos/${githubID}/contents/skyboxes/`; //misc: statefarm external services const factoryURL = 'https://factory.getstate.farm/api/account?key='; const jsArchiveURL = `https://cdn.jsdelivr.net/gh/onlypuppy7/ShellShockJSArchives@main/js_archive/`; const clientKeysURL = `https://raw.githubusercontent.com/StateFarmNetwork/client-keys/main/statefarm_`; const sfChatURL = `https://raw.githack.com/OakSwingZZZ/StateFarmChatFiles/main/index.html`; //misc: non sfc external things const babylonURL = `https://cdn.jsdelivr.net/npm/babylonjs@{0}/babylon.min.js`; const violentmonkeyURL = `https://violentmonkey.github.io/get-it/`; //startup sequence const startUp = function () { log("StateFarm: detectURLParams()"); detectURLParams(); log("StateFarm: mainLoop()"); mainLoop(); log("StateFarm: injectScript()"); injectScript(); document.addEventListener("DOMContentLoaded", function () { onContentLoaded(); log("StateFarm: DOMContentLoaded, ran onContentLoaded, fetching sfx"); try { log("fetching badge list...", badgeListURL + "badges.json"); badgeList = fetchTextContent(badgeListURL + "badges.json"); badgeList = JSON.parse(badgeList); log(badgeList); } catch (error) { log("couldnt fetch badge list :("); }; try { log("fetching greasyfork info...", scriptInfoURL); scriptInfo = fetchTextContent(scriptInfoURL); scriptInfo = JSON.parse(scriptInfo); log(scriptInfo); } catch (error) { log("couldnt fetch greasyfork info :("); }; let oldVersion = load("version"); save("version", version); if (extract("statefarmUpdates")) { const maxAttempts = 30; const interval = 500; let attempts = 0; const checkForElement = function() { const existingContainer = document.querySelector('.secondary-aside-wrap'); if (existingContainer) { log('Element found:', existingContainer); createAndAppendCommitHistoryBox(existingContainer); } else if (attempts < maxAttempts) { attempts++; // log(`Attempt ${attempts}/${maxAttempts} failed. Retrying...`); setTimeout(checkForElement, interval); //retry after interval } else { log('Element not found after maximum attempts'); } }; const createAndAppendCommitHistoryBox = function(existingContainer) { let commitHistoryBox = document.createElement('div'); commitHistoryBox.className = 'media-tabs-wrapper box_relative border-blue5 roundme_sm bg_blue6 common-box-shadow ss_margintop_sm'; let commitHistoryContent = `
🎉 StateFarm has been updated (v${version})! Check out the latest updates below.
🚨 A new update for StateFarm is available (v${scriptInfo.version})! Click to install it.