From da988d3f73cbe07d44bc3da6e2354ee8b76b1a88 Mon Sep 17 00:00:00 2001 From: monami_nandy Date: Sat, 31 Aug 2024 16:17:22 +0530 Subject: [PATCH 01/14] Navbar updated --- src/assets/logo1.jpg | Bin 0 -> 27819 bytes src/components/Navbar/Navbar.jsx | 111 +++++++----------------- src/components/Navbar/Navbar.module.css | 54 ++++++++++-- 3 files changed, 79 insertions(+), 86 deletions(-) create mode 100644 src/assets/logo1.jpg diff --git a/src/assets/logo1.jpg b/src/assets/logo1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d25059b5d179b3812114415572f63041adcd5d7d GIT binary patch literal 27819 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 { return (
- + + + Logo +

+ + ZERODAY ALLIANCE + +

+
+ Home - - - -
- - Features - - -
-
-
- - - - Features - - View all - - - - - - - {links} - - -
- -
- - Get started - - - Their food sources have decreased, and their numbers - -
- -
-
-
-
- Learn + Events - Academy + Team + + + FAQS + + + Contact
- - + {
@@ -183,30 +145,23 @@ const Navbar = () => { Home - -
- - Features - - -
-
- {links} - Learn + Events + + + Team + + + FAQS - Academy + Contact - - +
diff --git a/src/components/Navbar/Navbar.module.css b/src/components/Navbar/Navbar.module.css index cbdcd4f..ed65fd9 100644 --- a/src/components/Navbar/Navbar.module.css +++ b/src/components/Navbar/Navbar.module.css @@ -1,46 +1,84 @@ .header { - height: rem(60px); + height: rem(80px); padding-left: var(--mantine-spacing-md); padding-right: var(--mantine-spacing-md); - border-bottom: rem(1px) solid light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4)); + border-bottom: rem(1px) solid + light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4)); + background: linear-gradient(90deg, #272626 22%, #25424a 68%, #37616c 84%); +} + +.image11 { + height: 50px; + width: 50px; + border: none; + border-radius: 50px; +} + +.header1 { + text-decoration: none; + color: white; } .link { + color: white; display: flex; align-items: center; height: 100%; padding-left: var(--mantine-spacing-md); padding-right: var(--mantine-spacing-md); text-decoration: none; - color: light-dark(var(--mantine-color-black), var(--mantine-color-white)); font-weight: 500; font-size: var(--mantine-font-size-sm); @media (max-width: $mantine-breakpoint-sm) { + color: black; height: rem(42px); width: 100%; } + .change { + background-color: white; + } @mixin hover { - background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-6)); + background-color: light-dark( + var(--mantine-color-gray-0), + var(--mantine-color-dark-6) + ); + color: black; } } +.draw { + background: linear-gradient(90deg, #071726 22%, #0a3642 68%, #0b4752 84%); +} + .subLink { width: 100%; padding: var(--mantine-spacing-xs) var(--mantine-spacing-md); border-radius: var(--mantine-radius-md); @mixin hover { - background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7)); + background-color: light-dark( + var(--mantine-color-gray-0), + var(--mantine-color-dark-6) + ); + color: black; } } .dropdownFooter { - background-color: light-dark(var(--mantine-color-gray-0), var(--mantine-color-dark-7)); + background-color: light-dark( + var(--mantine-color-gray-0), + var(--mantine-color-dark-7) + ); margin: calc(var(--mantine-spacing-md) * -1); margin-top: var(--mantine-spacing-sm); padding: var(--mantine-spacing-md) calc(var(--mantine-spacing-md) * 2); padding-bottom: var(--mantine-spacing-xl); - border-top: rem(1px) solid light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5)); -} \ No newline at end of file + border-top: rem(1px) solid + light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-5)); +} + +.m_d4fb9cad { + background-color: white; +} From 2cb59a94118dc91678e9655ea7cf951077bc1269 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 16:55:48 +0530 Subject: [PATCH 02/14] change event actions to push and pr --- .github/workflows/cf-pages.yaml | 5 +---- .github/workflows/lint.yaml | 5 +---- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/cf-pages.yaml b/.github/workflows/cf-pages.yaml index 8916a72..7a9c516 100644 --- a/.github/workflows/cf-pages.yaml +++ b/.github/workflows/cf-pages.yaml @@ -1,9 +1,6 @@ name: Cloudflare Pages Deployment -on: - push: - branches: - - main +on: [push, pull_request] jobs: cf: diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index de57c7f..c2fe5b5 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -1,9 +1,6 @@ name: Linter -on: - push: - branches-ignore: - - main +on: [push, pull_request] jobs: lint: From 9b04c995275f6588b870616bf5cf9806cadc62ad Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:06:41 +0530 Subject: [PATCH 03/14] add config --- src/config/PS1.js | 10 ++++++++++ src/config/commands.js | 11 +++++++++++ src/config/fs.js | 3 +++ src/config/names.js | 24 ++++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 src/config/PS1.js create mode 100644 src/config/commands.js create mode 100644 src/config/fs.js create mode 100644 src/config/names.js diff --git a/src/config/PS1.js b/src/config/PS1.js new file mode 100644 index 0000000..c18b76e --- /dev/null +++ b/src/config/PS1.js @@ -0,0 +1,10 @@ +import names from "./names"; + +const randomName = names[Math.floor(Math.random() * names.length)]; + +const userName = randomName.toLowerCase().trim(); +const hostName = window.location.host; +const defaultDir = "~"; +const inCharacter = "❯"; + +export { userName, hostName, defaultDir, inCharacter }; diff --git a/src/config/commands.js b/src/config/commands.js new file mode 100644 index 0000000..65a6c30 --- /dev/null +++ b/src/config/commands.js @@ -0,0 +1,11 @@ +const availableCommands = [ + "cat", + "clear", + "echo", + "help", + "ls", + "sudo", + "whoami", +]; + +export { availableCommands }; diff --git a/src/config/fs.js b/src/config/fs.js new file mode 100644 index 0000000..c1a4c74 --- /dev/null +++ b/src/config/fs.js @@ -0,0 +1,3 @@ +const files = ["about", "events", "teams", "faq", "contact"]; + +export { files }; diff --git a/src/config/names.js b/src/config/names.js new file mode 100644 index 0000000..3f4cdcb --- /dev/null +++ b/src/config/names.js @@ -0,0 +1,24 @@ +const names = [ + "James", + "Mary", + "John", + "Patricia", + "Robert", + "Jennifer", + "Michael", + "Linda", + "William", + "Elizabeth", + "David", + "Barbara", + "Richard", + "Susan", + "Joseph", + "Jessica", + "Thomas", + "Sarah", + "Charles", + "You", +]; + +export default names; From 6139e4cc095b3caa0d59dda63a24d38d3b64fc11 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:09:22 +0530 Subject: [PATCH 04/14] add command implementation --- src/components/Commands/Cat.jsx | 119 ++++++++++++++++++++ src/components/Commands/Commands.module.css | 7 ++ src/components/Commands/Echo.jsx | 7 ++ src/components/Commands/Help.jsx | 22 ++++ src/components/Commands/Ls.jsx | 13 +++ src/components/Commands/Sudo.jsx | 9 ++ src/components/Commands/Whoami.jsx | 12 ++ src/components/Commands/index.jsx | 8 ++ 8 files changed, 197 insertions(+) create mode 100644 src/components/Commands/Cat.jsx create mode 100644 src/components/Commands/Commands.module.css create mode 100644 src/components/Commands/Echo.jsx create mode 100644 src/components/Commands/Help.jsx create mode 100644 src/components/Commands/Ls.jsx create mode 100644 src/components/Commands/Sudo.jsx create mode 100644 src/components/Commands/Whoami.jsx create mode 100644 src/components/Commands/index.jsx diff --git a/src/components/Commands/Cat.jsx b/src/components/Commands/Cat.jsx new file mode 100644 index 0000000..a5b4920 --- /dev/null +++ b/src/components/Commands/Cat.jsx @@ -0,0 +1,119 @@ +import classes from "./Commands.module.css"; + +const Cat = (props) => { + let { fileName } = props; + fileName = fileName.trim(); + fileName.toLowerCase(); + + switch (fileName) { + case "about": + return ( +
+

+ Welcome to ZeroDay Alliance, SNU students passionate about + cybersecurity and ethical hacking. Here’s what you can expect: +

+
    +
  • + Learn: Stay updated on zero-day vulnerabilities and the + latest security trends. +
  • +
  • + Collaborate: Work with peers on projects and challenges. +
  • +
  • + Share: Exchange resources, tips, and tools for ethical + hacking. +
  • +
  • + Discuss: Engage in conversations about cybersecurity news, + strategies, and innovations. +
  • +
  • + Network: Connect with future professionals in the field. +
  • +
+
+ ); + case "events": + return ( +
    +
  • Event 1
  • +
  • Event 2
  • +
+ ); + case "teams": + return ( +
    +
  • Team 1
  • +
  • Team 2
  • +
  • Team 3
  • +
  • Team 4
  • +
+ ); + case "faq": + return
FAQ
; + case "contact": + return ( + + ); + case "": + setTimeout(() => { + window.open("https://takeb1nzyto.space", "_blank"); + }, 420); + return
🐈
; + default: + return
{fileName}: No such file or directory
; + } +}; + +export default Cat; diff --git a/src/components/Commands/Commands.module.css b/src/components/Commands/Commands.module.css new file mode 100644 index 0000000..acea9e5 --- /dev/null +++ b/src/components/Commands/Commands.module.css @@ -0,0 +1,7 @@ +.description { + padding-bottom: 5px; +} + +.catList li { + list-style-position: inside; +} diff --git a/src/components/Commands/Echo.jsx b/src/components/Commands/Echo.jsx new file mode 100644 index 0000000..b001b03 --- /dev/null +++ b/src/components/Commands/Echo.jsx @@ -0,0 +1,7 @@ +const Echo = (props) => { + const { message } = props; + + return
{message}
; +}; + +export default Echo; diff --git a/src/components/Commands/Help.jsx b/src/components/Commands/Help.jsx new file mode 100644 index 0000000..53b77dc --- /dev/null +++ b/src/components/Commands/Help.jsx @@ -0,0 +1,22 @@ +const Help = () => { + return ( + <> + cat <section> -{" "} + print a section +
+ clear - clear the screen +
+ echo <arg> -{" "} + print arguments +
+ help - print this help +
+ ls - list all sections +
+ whoami - about us +
+ + ); +}; + +export default Help; diff --git a/src/components/Commands/Ls.jsx b/src/components/Commands/Ls.jsx new file mode 100644 index 0000000..2d1f094 --- /dev/null +++ b/src/components/Commands/Ls.jsx @@ -0,0 +1,13 @@ +import { files } from "../../config/fs"; + +const Ls = () => { + return ( + <> + {files.map((file, index) => ( +
{file}
+ ))} + + ); +}; + +export default Ls; diff --git a/src/components/Commands/Sudo.jsx b/src/components/Commands/Sudo.jsx new file mode 100644 index 0000000..b08d124 --- /dev/null +++ b/src/components/Commands/Sudo.jsx @@ -0,0 +1,9 @@ +const Sudo = () => { + setTimeout(() => { + window.open("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "_blank"); + }, 420); + + return
sudo: unable to change to root: Operation not permitted
; +}; + +export default Sudo; diff --git a/src/components/Commands/Whoami.jsx b/src/components/Commands/Whoami.jsx new file mode 100644 index 0000000..134442e --- /dev/null +++ b/src/components/Commands/Whoami.jsx @@ -0,0 +1,12 @@ +const Whoami = () => { + return ( +
+

ZeroDay Alliance SNU

+

+ Use cat about for more info. +

+
+ ); +}; + +export default Whoami; diff --git a/src/components/Commands/index.jsx b/src/components/Commands/index.jsx new file mode 100644 index 0000000..86e7f8b --- /dev/null +++ b/src/components/Commands/index.jsx @@ -0,0 +1,8 @@ +import Cat from "./Cat"; +import Echo from "./Echo"; +import Help from "./Help"; +import Ls from "./Ls"; +import Sudo from "./Sudo"; +import Whoami from "./Whoami"; + +export { Cat, Echo, Help, Ls, Sudo, Whoami }; From d8d8e9acbf35fa7a3f42d8321bb1579449fccde0 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:09:54 +0530 Subject: [PATCH 05/14] add CmdExec --- src/lib/CmdExec/index.js | 15 +++++++++++++++ src/lib/CmdExec/parser.js | 7 +++++++ src/lib/CmdExec/processor.js | 24 ++++++++++++++++++++++++ src/lib/CmdExec/validator.js | 20 ++++++++++++++++++++ 4 files changed, 66 insertions(+) create mode 100644 src/lib/CmdExec/index.js create mode 100644 src/lib/CmdExec/parser.js create mode 100644 src/lib/CmdExec/processor.js create mode 100644 src/lib/CmdExec/validator.js diff --git a/src/lib/CmdExec/index.js b/src/lib/CmdExec/index.js new file mode 100644 index 0000000..29a9107 --- /dev/null +++ b/src/lib/CmdExec/index.js @@ -0,0 +1,15 @@ +import validate from "./validator"; +import parse from "./parser"; +import process from "./processor"; + +const exec = (cmd) => { + try { + validate(cmd); + } catch (error) { + throw new Error(error); + } + const [command, ...args] = parse(cmd); + return process(command, args); +}; + +export { exec }; diff --git a/src/lib/CmdExec/parser.js b/src/lib/CmdExec/parser.js new file mode 100644 index 0000000..85cfe08 --- /dev/null +++ b/src/lib/CmdExec/parser.js @@ -0,0 +1,7 @@ +const parse = (cmd) => { + const command = cmd.split(" ")[0]; + const args = cmd.split(" ").slice(1); + return [command, ...args]; +}; + +export default parse; diff --git a/src/lib/CmdExec/processor.js b/src/lib/CmdExec/processor.js new file mode 100644 index 0000000..1e3f238 --- /dev/null +++ b/src/lib/CmdExec/processor.js @@ -0,0 +1,24 @@ +import { Cat, Echo, Help, Ls, Sudo, Whoami } from "../../components/Commands"; + +const process = (command, args) => { + switch (command) { + case "cat": + return Cat({ fileName: args.join(" ") }); + case "clear": + return "clear"; + case "echo": + return Echo({ message: args.join(" ") }); + case "help": + return Help(); + case "ls": + return Ls(); + case "sudo": + return Sudo(); + case "whoami": + return Whoami(); + default: + throw new Error(`Command Not Implemented: ${command}`); + } +}; + +export default process; diff --git a/src/lib/CmdExec/validator.js b/src/lib/CmdExec/validator.js new file mode 100644 index 0000000..f151ae5 --- /dev/null +++ b/src/lib/CmdExec/validator.js @@ -0,0 +1,20 @@ +import parse from "./parser"; +import { availableCommands } from "../../config/commands"; + +const validate = (cmd) => { + cmd = cmd.trim(); + + if (cmd === "") { + throw new Error("No Command Provided"); + } + + const [command] = parse(cmd); + + if (availableCommands.includes(command)) { + return cmd; + } else { + throw new Error(`Command Not Found: ${command}`); + } +}; + +export default validate; From 4ddf1b4ea53af4a55fcf694d8986f8af4e4ac75f Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:11:42 +0530 Subject: [PATCH 06/14] add other components --- src/components/Prompt/Prompt.jsx | 16 ++++ src/components/Prompt/Prompt.modules.css | 26 ++++++ src/components/Prompt/index.jsx | 3 + src/components/StdErr/StdErr.jsx | 9 +++ src/components/StdErr/StdErr.modules.css | 7 ++ src/components/StdErr/index.jsx | 3 + src/components/StdIn/StdIn.jsx | 15 ++++ src/components/StdIn/StdIn.modules.css | 4 + src/components/StdIn/index.jsx | 3 + src/components/StdOut/StdOut.jsx | 9 +++ src/components/StdOut/StdOut.modules.css | 6 ++ src/components/StdOut/index.jsx | 3 + src/components/Terminal/Terminal.jsx | 80 +++++++++++++++++++ src/components/Terminal/Terminal.modules.css | 37 +++++++++ src/components/Terminal/index.jsx | 3 + src/components/WelcomeMsg/WelcomeMsg.jsx | 20 +++++ .../WelcomeMsg/WelcomeMsg.modules.css | 22 +++++ src/components/WelcomeMsg/index.jsx | 3 + 18 files changed, 269 insertions(+) create mode 100644 src/components/Prompt/Prompt.jsx create mode 100644 src/components/Prompt/Prompt.modules.css create mode 100644 src/components/Prompt/index.jsx create mode 100644 src/components/StdErr/StdErr.jsx create mode 100644 src/components/StdErr/StdErr.modules.css create mode 100644 src/components/StdErr/index.jsx create mode 100644 src/components/StdIn/StdIn.jsx create mode 100644 src/components/StdIn/StdIn.modules.css create mode 100644 src/components/StdIn/index.jsx create mode 100644 src/components/StdOut/StdOut.jsx create mode 100644 src/components/StdOut/StdOut.modules.css create mode 100644 src/components/StdOut/index.jsx create mode 100644 src/components/Terminal/Terminal.jsx create mode 100644 src/components/Terminal/Terminal.modules.css create mode 100644 src/components/Terminal/index.jsx create mode 100644 src/components/WelcomeMsg/WelcomeMsg.jsx create mode 100644 src/components/WelcomeMsg/WelcomeMsg.modules.css create mode 100644 src/components/WelcomeMsg/index.jsx diff --git a/src/components/Prompt/Prompt.jsx b/src/components/Prompt/Prompt.jsx new file mode 100644 index 0000000..7215a11 --- /dev/null +++ b/src/components/Prompt/Prompt.jsx @@ -0,0 +1,16 @@ +import { userName, hostName, defaultDir } from "../../config/PS1"; +import "./Prompt.modules.css"; + +const Prompt = () => { + return ( + <> + {userName} + @ + {hostName} + : + {defaultDir} + + ); +}; + +export default Prompt; diff --git a/src/components/Prompt/Prompt.modules.css b/src/components/Prompt/Prompt.modules.css new file mode 100644 index 0000000..9a4da54 --- /dev/null +++ b/src/components/Prompt/Prompt.modules.css @@ -0,0 +1,26 @@ +.userName { + color: rgb(6, 197, 6); + /* text-shadow: 0px 0px 5px; */ +} + +.at { + color: rgb(4, 160, 207); + /* text-shadow: 0px 0px 5px; */ +} + +.hostName { + color: rgb(140, 197, 6); + /* text-shadow: 0px 0px 5px; */ +} + +.colon { + color: rgb(215, 215, 215); + /* text-shadow: 0px 0px 5px; */ +} + +.dirName { + font-size: larger; + font-weight: 900; + color: rgb(197, 6, 117); + /* text-shadow: 0px 0px 5px; */ +} diff --git a/src/components/Prompt/index.jsx b/src/components/Prompt/index.jsx new file mode 100644 index 0000000..a5bc71b --- /dev/null +++ b/src/components/Prompt/index.jsx @@ -0,0 +1,3 @@ +import Prompt from "./Prompt"; + +export default Prompt; diff --git a/src/components/StdErr/StdErr.jsx b/src/components/StdErr/StdErr.jsx new file mode 100644 index 0000000..a45877b --- /dev/null +++ b/src/components/StdErr/StdErr.jsx @@ -0,0 +1,9 @@ +import "./StdErr.modules.css"; + +const StdErr = (props) => { + const { stdErr } = props; + + return
{stdErr}
; +}; + +export default StdErr; diff --git a/src/components/StdErr/StdErr.modules.css b/src/components/StdErr/StdErr.modules.css new file mode 100644 index 0000000..e611ca8 --- /dev/null +++ b/src/components/StdErr/StdErr.modules.css @@ -0,0 +1,7 @@ +.stdErr { + color: rgb(230, 40, 10); + /* text-shadow: 0px 0px 5px; */ + margin-top: 5px; + margin-bottom: 15px; + margin-left: 15px; +} diff --git a/src/components/StdErr/index.jsx b/src/components/StdErr/index.jsx new file mode 100644 index 0000000..0e26b96 --- /dev/null +++ b/src/components/StdErr/index.jsx @@ -0,0 +1,3 @@ +import StdErr from "./StdErr"; + +export default StdErr; diff --git a/src/components/StdIn/StdIn.jsx b/src/components/StdIn/StdIn.jsx new file mode 100644 index 0000000..d3a497e --- /dev/null +++ b/src/components/StdIn/StdIn.jsx @@ -0,0 +1,15 @@ +import { inCharacter } from "../../config/PS1"; +import "./StdIn.modules.css"; + +const StdIn = (props) => { + const { cmd } = props; + + return ( + <> + {inCharacter} + {cmd} + + ); +}; + +export default StdIn; diff --git a/src/components/StdIn/StdIn.modules.css b/src/components/StdIn/StdIn.modules.css new file mode 100644 index 0000000..d3c755c --- /dev/null +++ b/src/components/StdIn/StdIn.modules.css @@ -0,0 +1,4 @@ +.inCharacter { + color: rgb(6, 197, 6); + /* text-shadow: 0px 0px 5px; */ +} diff --git a/src/components/StdIn/index.jsx b/src/components/StdIn/index.jsx new file mode 100644 index 0000000..7b3e5df --- /dev/null +++ b/src/components/StdIn/index.jsx @@ -0,0 +1,3 @@ +import StdIn from "./StdIn"; + +export default StdIn; diff --git a/src/components/StdOut/StdOut.jsx b/src/components/StdOut/StdOut.jsx new file mode 100644 index 0000000..cd960aa --- /dev/null +++ b/src/components/StdOut/StdOut.jsx @@ -0,0 +1,9 @@ +import "./StdOut.modules.css"; + +const StdOut = (props) => { + const { children } = props; + + return
{children}
; +}; + +export default StdOut; diff --git a/src/components/StdOut/StdOut.modules.css b/src/components/StdOut/StdOut.modules.css new file mode 100644 index 0000000..bd79ef7 --- /dev/null +++ b/src/components/StdOut/StdOut.modules.css @@ -0,0 +1,6 @@ +.stdOut { + /* text-shadow: 0px 0px 5px; */ + margin-top: 5px; + margin-bottom: 15px; + margin-left: 15px; +} diff --git a/src/components/StdOut/index.jsx b/src/components/StdOut/index.jsx new file mode 100644 index 0000000..59d2bc6 --- /dev/null +++ b/src/components/StdOut/index.jsx @@ -0,0 +1,3 @@ +import StdOut from "./StdOut"; + +export default StdOut; diff --git a/src/components/Terminal/Terminal.jsx b/src/components/Terminal/Terminal.jsx new file mode 100644 index 0000000..df2b129 --- /dev/null +++ b/src/components/Terminal/Terminal.jsx @@ -0,0 +1,80 @@ +import { useState, useEffect, useRef } from "react"; +import Prompt from "../Prompt"; +import StdIn from "../StdIn"; +import StdOut from "../StdOut"; +import StdErr from "../StdErr"; +import { exec } from "../../lib/CmdExec"; +import "./Terminal.modules.css"; + +const Terminal = () => { + const [cmd, setCmd] = useState(""); + const cmdRef = useRef(""); + const [history, setHistory] = useState([, ]); + + const clearTerminal = () => { + cmdRef.current = ""; + setCmd(""); + setHistory([, ]); + }; + + const handleCmdInput = (e) => { + setCmd(e.target.value); + cmdRef.current = e.target.value; + }; + + const handleRunCmd = (e) => { + e.preventDefault(); + const newHistory = history.slice(); + newHistory.pop(); + newHistory.push(); + try { + const cmdOut = exec(cmdRef.current); + if (cmdOut === "clear") { + clearTerminal(); + return; + } + newHistory.push({cmdOut}); + } catch (error) { + newHistory.push(); + } + newHistory.push(); + setCmd(""); + cmdRef.current = ""; + setHistory(newHistory); + newHistory.push(); + }; + + useEffect(() => { + const cmdIn = document.getElementById("cmd-input"); + document.addEventListener("keypress", () => { + cmdIn.focus({ preventScroll: true }); + }); + }, []); + + return ( +
+ {history.map((item, index) => ( +
{item}
+ ))} +
+ {cmd} + +
+ +
+ +
+
+ ); +}; + +export default Terminal; diff --git a/src/components/Terminal/Terminal.modules.css b/src/components/Terminal/Terminal.modules.css new file mode 100644 index 0000000..f38056e --- /dev/null +++ b/src/components/Terminal/Terminal.modules.css @@ -0,0 +1,37 @@ +main { + padding: var(--side-gap); +} + +#cmd-input { + margin-top: 3rem; + width: 100%; + border: none; + outline: none; + color: transparent; + background-color: transparent; + opacity: 0; +} + +#cursor { + margin-left: 1px; + display: inline-block; + /* text-shadow: 0px 0px 5px; */ + animation: cursor 1s infinite; +} + +@keyframes cursor { + 0% { + opacity: 0.1; + } + 50% { + opacity: 1; + } + 100% { + opacity: 0.1; + } +} + +.currentCmd { + position: absolute; + transform: translate(19px, -20px); +} diff --git a/src/components/Terminal/index.jsx b/src/components/Terminal/index.jsx new file mode 100644 index 0000000..1499aa2 --- /dev/null +++ b/src/components/Terminal/index.jsx @@ -0,0 +1,3 @@ +import Terminal from "./Terminal"; + +export default Terminal; diff --git a/src/components/WelcomeMsg/WelcomeMsg.jsx b/src/components/WelcomeMsg/WelcomeMsg.jsx new file mode 100644 index 0000000..6cd0a87 --- /dev/null +++ b/src/components/WelcomeMsg/WelcomeMsg.jsx @@ -0,0 +1,20 @@ +import "./WelcomeMsg.modules.css"; + +const WelcomeMsg = () => { + return ( +
+

ZeroDay Alliance SNU

+

+ Securing Tomorrow, One Vulnerability at a Time. Join ZeroDay Alliance + SNU and pioneer the future of Cybersecurity. +

+

+ use help for the list of all available + commands +

+
+
+ ); +}; + +export default WelcomeMsg; diff --git a/src/components/WelcomeMsg/WelcomeMsg.modules.css b/src/components/WelcomeMsg/WelcomeMsg.modules.css new file mode 100644 index 0000000..364bc8a --- /dev/null +++ b/src/components/WelcomeMsg/WelcomeMsg.modules.css @@ -0,0 +1,22 @@ +header { + padding: var(--side-gap); + margin-bottom: 0.75rem; +} + +h1, +h2, +h3, +h4 { + /* text-shadow: 0px 0px 5px; */ + font-weight: inherit; +} + +.description { + margin-top: 5px; + margin-bottom: 20px; +} + +.helpMsg { + margin-top: 5px; + margin-bottom: 15px; +} diff --git a/src/components/WelcomeMsg/index.jsx b/src/components/WelcomeMsg/index.jsx new file mode 100644 index 0000000..b221184 --- /dev/null +++ b/src/components/WelcomeMsg/index.jsx @@ -0,0 +1,3 @@ +import WelcomeMsg from "./WelcomeMsg"; + +export default WelcomeMsg; From ead0c09747ee6545bdda106b0d3d77762ffda5e5 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:12:18 +0530 Subject: [PATCH 07/14] add Cli page --- src/lib/consoleDecor/index.js | 13 +++++++++++++ src/pages/Cli/Cli.jsx | 22 ++++++++++++++++++++++ src/pages/Cli/Cli.modules.css | 30 ++++++++++++++++++++++++++++++ src/pages/Cli/index.jsx | 3 +++ 4 files changed, 68 insertions(+) create mode 100644 src/lib/consoleDecor/index.js create mode 100644 src/pages/Cli/Cli.jsx create mode 100644 src/pages/Cli/Cli.modules.css create mode 100644 src/pages/Cli/index.jsx diff --git a/src/lib/consoleDecor/index.js b/src/lib/consoleDecor/index.js new file mode 100644 index 0000000..de980fc --- /dev/null +++ b/src/lib/consoleDecor/index.js @@ -0,0 +1,13 @@ +import packageInfo from "../../../package.json"; + +function decor() { + const str = "ZeroDay Alliance SNU"; + + console.log( + `%c${str} \n\n%cv${packageInfo.version}`, + "color: #0ae169", + "color: #e6dc82" + ); +} + +export default decor; diff --git a/src/pages/Cli/Cli.jsx b/src/pages/Cli/Cli.jsx new file mode 100644 index 0000000..5847bb8 --- /dev/null +++ b/src/pages/Cli/Cli.jsx @@ -0,0 +1,22 @@ +import { useEffect } from "react"; +import WelcomeMsg from "../../components/WelcomeMsg"; +import Terminal from "../../components/Terminal"; +import decor from "../../lib/consoleDecor"; +import "./Cli.modules.css"; + +const Cli = () => { + useEffect(() => { + decor(); + }, []); + + return ( +
+
+ + +
+
+ ); +}; + +export default Cli; diff --git a/src/pages/Cli/Cli.modules.css b/src/pages/Cli/Cli.modules.css new file mode 100644 index 0000000..a788569 --- /dev/null +++ b/src/pages/Cli/Cli.modules.css @@ -0,0 +1,30 @@ +a { + color: rgb(5, 125, 200); + text-decoration: underline; +} + +#cli-container { + font-family: "Fira Code", monospace; + font-style: normal; + font-synthesis: none; + font-size: 1.1rem; + font-weight: 400; + font-optical-sizing: auto; + min-height: calc(100vh - 30px); + padding: 15px; + background-color: rgb(35, 35, 35); + color: rgba(255, 255, 255, 0.85); +} + +#cli { + min-height: calc(100vh - 42px); + padding: 5px; + border: 1px solid rgb(230, 220, 130); +} + +.command { + --glow-color: rgb(10, 215, 145); + font-weight: bolder; + color: var(--glow-color); + /* text-shadow: 0 0 1px var(--glow-color); */ +} diff --git a/src/pages/Cli/index.jsx b/src/pages/Cli/index.jsx new file mode 100644 index 0000000..d81351c --- /dev/null +++ b/src/pages/Cli/index.jsx @@ -0,0 +1,3 @@ +import Cli from "./Cli"; + +export default Cli; From 39543be17c85303517fa0430807a94dacb0ca5e9 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:15:43 +0530 Subject: [PATCH 08/14] add `/cli` route in App --- src/App.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/App.jsx b/src/App.jsx index 5d15e94..5cac941 100644 --- a/src/App.jsx +++ b/src/App.jsx @@ -2,12 +2,13 @@ import { Routes, Route } from "react-router-dom"; import "./App.css"; import Home from "./pages/Home"; +import Cli from "./pages/Cli"; function App() { return ( }> - {/* }> */} + }> ); } From e5435daf416336ffa29c1cfd456b694c8d6085aa Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:15:50 +0530 Subject: [PATCH 09/14] Update App.css --- src/App.css | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/App.css b/src/App.css index e69de29..de77623 100644 --- a/src/App.css +++ b/src/App.css @@ -0,0 +1,16 @@ +:root { + --side-gap: 0.5rem; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +* { + margin: 0; + padding: 0; +} + +code { + font-family: source-code-pro, Menlo, Monaco, Consolas, "Courier New", + monospace; +} From bc4878918ee4150df59fe8bebb5748d75d4bbfac Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:29:33 +0530 Subject: [PATCH 10/14] add props validation --- src/components/Commands/Cat.jsx | 3 +++ src/components/Commands/Echo.jsx | 2 ++ src/components/StdErr/StdErr.jsx | 2 ++ src/components/StdIn/StdIn.jsx | 2 ++ src/components/StdOut/StdOut.jsx | 2 ++ 5 files changed, 11 insertions(+) diff --git a/src/components/Commands/Cat.jsx b/src/components/Commands/Cat.jsx index a5b4920..a773a4f 100644 --- a/src/components/Commands/Cat.jsx +++ b/src/components/Commands/Cat.jsx @@ -2,6 +2,9 @@ import classes from "./Commands.module.css"; const Cat = (props) => { let { fileName } = props; + + if (!fileName) return; + fileName = fileName.trim(); fileName.toLowerCase(); diff --git a/src/components/Commands/Echo.jsx b/src/components/Commands/Echo.jsx index b001b03..af40815 100644 --- a/src/components/Commands/Echo.jsx +++ b/src/components/Commands/Echo.jsx @@ -1,6 +1,8 @@ const Echo = (props) => { const { message } = props; + if (!message) return; + return
{message}
; }; diff --git a/src/components/StdErr/StdErr.jsx b/src/components/StdErr/StdErr.jsx index a45877b..ebbab35 100644 --- a/src/components/StdErr/StdErr.jsx +++ b/src/components/StdErr/StdErr.jsx @@ -3,6 +3,8 @@ import "./StdErr.modules.css"; const StdErr = (props) => { const { stdErr } = props; + if (!stdErr) return; + return
{stdErr}
; }; diff --git a/src/components/StdIn/StdIn.jsx b/src/components/StdIn/StdIn.jsx index d3a497e..2832081 100644 --- a/src/components/StdIn/StdIn.jsx +++ b/src/components/StdIn/StdIn.jsx @@ -4,6 +4,8 @@ import "./StdIn.modules.css"; const StdIn = (props) => { const { cmd } = props; + if (!cmd) return; + return ( <> {inCharacter} diff --git a/src/components/StdOut/StdOut.jsx b/src/components/StdOut/StdOut.jsx index cd960aa..56c6f3c 100644 --- a/src/components/StdOut/StdOut.jsx +++ b/src/components/StdOut/StdOut.jsx @@ -3,6 +3,8 @@ import "./StdOut.modules.css"; const StdOut = (props) => { const { children } = props; + if (!children) return; + return
{children}
; }; From 5a761b75e3804043fc6a0fc9a93479bfc132be58 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:31:17 +0530 Subject: [PATCH 11/14] add key prop in array --- src/components/Terminal/Terminal.jsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/Terminal/Terminal.jsx b/src/components/Terminal/Terminal.jsx index df2b129..94ce946 100644 --- a/src/components/Terminal/Terminal.jsx +++ b/src/components/Terminal/Terminal.jsx @@ -9,12 +9,15 @@ import "./Terminal.modules.css"; const Terminal = () => { const [cmd, setCmd] = useState(""); const cmdRef = useRef(""); - const [history, setHistory] = useState([, ]); + const [history, setHistory] = useState([ + , + , + ]); const clearTerminal = () => { cmdRef.current = ""; setCmd(""); - setHistory([, ]); + setHistory([, ]); }; const handleCmdInput = (e) => { From d54bd835cd69f0d61e12e03244277f25cb94c9de Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:44:47 +0530 Subject: [PATCH 12/14] remove lint from deployment --- .github/workflows/cf-pages.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/cf-pages.yaml b/.github/workflows/cf-pages.yaml index 7a9c516..6660aec 100644 --- a/.github/workflows/cf-pages.yaml +++ b/.github/workflows/cf-pages.yaml @@ -23,9 +23,6 @@ jobs: - name: Install Dependencies run: npm ci - - name: Lint - run: npm run lint - - name: Build run: npm run build From 59eaa167975629023878064df9fe077674f04eaf Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 17:45:37 +0530 Subject: [PATCH 13/14] Revert "add props validation" This reverts commit bc4878918ee4150df59fe8bebb5748d75d4bbfac. --- src/components/Commands/Cat.jsx | 3 --- src/components/Commands/Echo.jsx | 2 -- src/components/StdErr/StdErr.jsx | 2 -- src/components/StdIn/StdIn.jsx | 2 -- src/components/StdOut/StdOut.jsx | 2 -- 5 files changed, 11 deletions(-) diff --git a/src/components/Commands/Cat.jsx b/src/components/Commands/Cat.jsx index a773a4f..a5b4920 100644 --- a/src/components/Commands/Cat.jsx +++ b/src/components/Commands/Cat.jsx @@ -2,9 +2,6 @@ import classes from "./Commands.module.css"; const Cat = (props) => { let { fileName } = props; - - if (!fileName) return; - fileName = fileName.trim(); fileName.toLowerCase(); diff --git a/src/components/Commands/Echo.jsx b/src/components/Commands/Echo.jsx index af40815..b001b03 100644 --- a/src/components/Commands/Echo.jsx +++ b/src/components/Commands/Echo.jsx @@ -1,8 +1,6 @@ const Echo = (props) => { const { message } = props; - if (!message) return; - return
{message}
; }; diff --git a/src/components/StdErr/StdErr.jsx b/src/components/StdErr/StdErr.jsx index ebbab35..a45877b 100644 --- a/src/components/StdErr/StdErr.jsx +++ b/src/components/StdErr/StdErr.jsx @@ -3,8 +3,6 @@ import "./StdErr.modules.css"; const StdErr = (props) => { const { stdErr } = props; - if (!stdErr) return; - return
{stdErr}
; }; diff --git a/src/components/StdIn/StdIn.jsx b/src/components/StdIn/StdIn.jsx index 2832081..d3a497e 100644 --- a/src/components/StdIn/StdIn.jsx +++ b/src/components/StdIn/StdIn.jsx @@ -4,8 +4,6 @@ import "./StdIn.modules.css"; const StdIn = (props) => { const { cmd } = props; - if (!cmd) return; - return ( <> {inCharacter} diff --git a/src/components/StdOut/StdOut.jsx b/src/components/StdOut/StdOut.jsx index 56c6f3c..cd960aa 100644 --- a/src/components/StdOut/StdOut.jsx +++ b/src/components/StdOut/StdOut.jsx @@ -3,8 +3,6 @@ import "./StdOut.modules.css"; const StdOut = (props) => { const { children } = props; - if (!children) return; - return
{children}
; }; From 5c702df76aea68b06f015e0ac8e440252d9a03e6 Mon Sep 17 00:00:00 2001 From: Krishnendu Das <86651039+itskdhere@users.noreply.github.com> Date: Sat, 31 Aug 2024 18:15:33 +0530 Subject: [PATCH 14/14] change linter event to PR only --- .github/workflows/lint.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index c2fe5b5..080b8ef 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -1,6 +1,6 @@ name: Linter -on: [push, pull_request] +on: [pull_request] jobs: lint: