CySim (Senior Design)
Project Description
- A cyber training facility for blue, red, and executive response teams
- Contains a complete SOC for blue team and pentesting systems for red
- Executives operate off of blue team response and have fiscal and PR
- We are designing a test network and website to demo the functionality
- Nagios to monitor uptime of services and training for new users
- I am the team's Docker and CI/CD engineer deploying our services
What I Want To Learn
- How to utilize Nagios to monitor services
- How to develop in C# and .NET and utilize APIs to extend its usability
- How to integrate security testing and docker with github actions
- How to manage networking within our ESXi environment
HomeLab
Project Description
- Small rack server consisting of a R210ii and R710
- R210ii is an OPNsense wired firewall/router plus a Cisco L3 switch
- R710 is virtualization center plus NAS running Proxmox
- Documentation and config files are stored on github for reference
What I Implemented and Learned
- OPNsense firewall with web proxy, ClamAV, Suricata, and Unbound DNS
- Cisco switch managing VLANs and network isolation for Wireless devices
- Proxmox server managing virtual machines which running k3s
- Many services like: Authentik, Gitlab, Nextcloud, and Grafana/Loki SIEM
- Uses Rook and Ceph for persistent storage connected back to proxmox
Future Features
- Custom CNI in Kubernetes called Antrea that can tap traffic to my IDS
- Falco for monitoring the states of containers with custom policies
- Far future, I want AWS/Backblaze storage as a backup and set up IaC
Chirrup
Project Description
- Simple Twitter-esque Android application
- Backend user and post management of Springboot web server
- I worked on the Springboot + MySQL backend team
- Used Gitlab for collaborative feature-based development
Features I Implemented and Learned
- User typing and parental controls
- MySQL database management and CI/CD
- Searching users by name and other options
- Basic login system
- Reporting of users and posts
- Admin view to handle reports
MIPS Piplelined Processor
Project Description
- Coverted single instruction processor to pipelined
- Small team of two
- I was the main designer and put together each stage
- Used Gitlab for collaborative development and version control
Features I Implemented and Learned
- Designed how components fit together and expected I/O
- Used team member's implementation to build staged operations
- Combined stages together to build functioning cpu
- Fixed mistakes found in components Verilog code
Solo or Class Programming Projects
CprE308 Projects
Project Description
- Challenged myself w/ two C programs during my operating systems course
- Goto statements as a means to exit my state machine and safely free memory
- Implemented my own data structures like variable arrays and linked lists
- Data structures used to safely manage multithreaded spawing of tasks
bsdfan-rs
Project Description
- Fan controller for FreeBSD Thinkpads
- Uses FreeBSD's sysctls to control fan speed based off cpu temperature
- Simple config system to set max and min temps for each fan level
Features Implemented
- Config sanity checking to ensure levels don't overlap/invalid
- Controller that raises the fan level when temp reaches max temperature
- Lowers the fan level when temp reaches min of current level
- FreeBSD start up script to start at boot
Mines
Project Description
- Minesweeper clone written in C using GTK 3
- My first ever major C programs
- Custom draw svg images for mines, tiles and face button
Features Implemented
- Left click that to clear a mine
- Recursively clears mines when a tile has no mines next to it
- Right click that flags a tile as a mine
- Middle click that clears remaining unflagged tiles around a revealed tile
- Reset button to restart the game
- Menu option that selects the board size and number of mines
- Timer and mines remain counters