An interactive web terminal I made for fun with friends on my Minecraft SMP. It has real file management capabilities. This project uses Node.js and Express to simulate a command terminal that allows you to create, edit, delete, and list files in a data
folder. I'm willing to make it a "SCP-like" terminal in the future.
- Available commands:
help
: Displays a list of available commands.about
: Displays information about the terminal.clear
: Clears the terminal screen.pwd
: Displays the current directory (simulated as/data
).echo [text]
: Displays the provided text.touch [filename]
: Creates an empty file in thedata
folder.edit [filename]
: Edits an existing file in thedata
folder.rm [filename]
: Deletes a file from thedata
folder.ls
: Lists files in thedata
folder.cat [filename]
: Displays the content of a file in thedata
folder.
Before you begin, you must have Node.js installed on your machine.
- Download and install Node.js from nodejs.org.
- Verify the installation:
node -v npm -v
Clone the repository to your local machine:
git clone https://github.com/BENZOOgataga/VanguardTerminal.git
cd VanguardTerminal
Install the required dependencies using npm
:
npm install
Start the server with Node.js:
node server.js
Or, to use Nodemon (which automatically restarts the server when code changes):
npm install -g nodemon
nodemon server.js
Open your browser and navigate to http://localhost:3000. You will see the terminal interface where you can enter commands.
Once the server is running, you can use the following commands in the terminal:
touch [filename]
: Creates an empty file in thedata
folder. Example:touch example.txt
.edit [filename]
: Edits an existing file in thedata
folder. Example:edit example.txt
.rm [filename]
: Deletes a file from thedata
folder. Example:rm example.txt
.ls
: Lists existing files in thedata
folder.cat [filename]
: Displays the content of a file. Example:cat example.txt
.pwd
: Displays the current directory (/data
).echo [text]
: Displays the text you provided. Example:echo Hello, Vanguard!
VanguardTerminal/
├── data/ # Contains created/modified files
├── public/ # Contains frontend files (HTML, CSS, JS)
│ ├── index.html
│ ├── styles.css
│ ├── script.js
├── server.js # Node.js server that handles API requests
├── package.json # Dependencies and npm scripts
└── package-lock.json
- Fork the repository.
- Create a branch for your feature (
git checkout -b feature-new-feature
). - Make your changes.
- Commit the changes (
git commit -am 'Added a new feature'
). - Push your branch (
git push origin feature-new-feature
). - Create a Pull Request.
This project is licensed under the MIT License.
If you have any questions or suggestions, feel free to open an issue or contact me via GitHub/Discord.