Skip to content

4ndymcfly/4ndy-bspwm

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

80 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Andy-Bspwm

Tests Security Audit Code Quality License

Note

This is a Bash script that automates the setup of a professional hacking environment for Kali Linux using the tiled window manager bspwm and is forked from r1v3sc repository.

✨ What's New (Latest Update)

Important

Major Security & Quality Improvements

  • πŸ”’ Security Hardened: Fixed critical command injection vulnerabilities
  • πŸ§ͺ Fully Tested: 144 automated tests with continuous integration
  • πŸš€ Updated Dependencies: LSD v1.2.0, Go v1.23.5, latest packages
  • βœ… Modern Compatibility: Migrated from deprecated tools to modern alternatives
  • πŸ“š Professional Documentation: 1000+ lines of test documentation
πŸ” View detailed changelog

Security Fixes

  • βœ… Fixed command injection vulnerabilities in whichSystem.py
  • βœ… Added proper variable quoting in all shell functions
  • βœ… Improved input validation and error handling
  • βœ… 40 dedicated security tests ensure ongoing protection

Compatibility Improvements

  • βœ… Migrated from deprecated ifconfig to modern ip command
  • βœ… Rewrote checkupdates script for apt-based systems
  • βœ… Auto-detection of primary network interface
  • βœ… Fixed wallpaper directory path expansion

Software Updates

  • βœ… LSD updated to v1.2.0 (from v1.1.5)
  • βœ… Go updated to v1.23.5 (from v1.23.0)
  • βœ… Added missing zsh plugins (syntax-highlighting, autosuggestions)

Testing & Quality

  • βœ… 73 unit tests for setup.sh components
  • βœ… 40 security-focused tests
  • βœ… 31 integration tests
  • βœ… GitHub Actions CI/CD with 7 automated jobs
  • βœ… 90%+ code coverage

πŸ“¦ Installation

Prerequisites

# Update your system
sudo apt update
sudo apt upgrade -y

Quick Install

# 1. Clone the repository
git clone https://github.com/4ndymcfly/4ndy-bspwm
cd 4ndy-bspwm

# 2. Execute the setup script
./setup.sh

# 3. Reboot and select bspwm as window manager

Tip

After the script finishes, you'll be prompted to restart. Once rebooted, select bspwm as the window manager and log in.


πŸ–ΌοΈ Environment Overview

Desktop Overview 1

πŸ“Έ View more screenshots

Desktop Overview 2

Desktop Overview 3


⌨️ Keyboard Shortcuts

Expand shortcuts section ⬇

Window Management

Shortcut Action
Super + Enter Open terminal (kitty)
Super + W Close window
Super + D Open Rofi launcher
Super + Arrow Keys Navigate between windows
Super + 1-0 Switch to workspace 1-10

Window Modes

Shortcut Action
Super + T Tile mode
Super + M Monocle mode (full without bar)
Super + F Fullscreen mode
Super + S Floating mode

Window Movement

Shortcut Action
Super + Shift + 1-0 Move window to workspace
Super + Alt + Arrows Resize window (floating)
Super + Ctrl + Arrows Move window (floating)

Quick Launch

Shortcut Action
Super + Shift + F Firefox (workspace 3)
Super + Shift + B Burpsuite (workspace 9)

System

Shortcut Action
Super + Alt + R Restart bspwm
Super + Alt + Q Logout
Ctrl + Alt + L Lock screen
Ctrl + Shift + ↑↓ Volume control
Ctrl + Shift + M Mute/unmute

Terminal (Kitty)

Shortcut Action
Ctrl + Shift + Enter New split window
Ctrl + Shift + T New tab
Ctrl + Shift + W Close tab/window
Ctrl + Shift + Z Zoom current pane
Ctrl + Arrows Navigate between panes
Ctrl + Shift + C/V Copy/Paste
F1 / F2 Copy/Paste buffer A
F3 / F4 Copy/Paste buffer B

πŸ› οΈ Software Stack

Core Components

  • WM: bspwm - Tiling window manager
  • Hotkey Daemon: sxhkd - Keyboard shortcuts
  • Bar: polybar - Status bar
  • Compositor: picom - Window compositor
  • Launcher: rofi - Application launcher
  • Terminal: kitty - GPU-accelerated terminal

Shell Environment

  • Shell: zsh - Advanced shell
  • Framework: Oh My Zsh - Zsh configuration
  • Theme: Powerlevel10k - Beautiful prompt
  • Syntax Highlighting: zsh-syntax-highlighting
  • Autosuggestions: zsh-autosuggestions

Utilities


πŸ”§ Hacking Tools Included

Development & Analysis

Tool Version Description
lsd v1.2.0 Modern ls replacement
Go v1.23.5 Programming language
Neovim Latest Hyperextensible text editor
Docker Latest Container platform

Security Tools

Tool Description
nuclei Vulnerability scanner
gobuster Directory/DNS fuzzer
dirsearch Web path scanner
ligolo-ng Advanced tunneling tool
rustscan Fast port scanner (Docker)
arsenal Pentest command cheatsheet
cupp Password profiler

Wordlists & Resources

  • SecLists - Security wordlists
  • RockyYou - Password list

Utilities

  • jq - JSON processor
  • btop - Resource monitor
  • pipx - Isolated Python apps
  • And many more...

πŸ’‘ Features & Tips

Polybar Integration

Tip

Click on any IP address in Polybar (VPN, Target, LAN) to automatically copy it to clipboard!

Custom Aliases & Functions

Tip

A comprehensive collection of aliases and functions has been added to streamline your pentesting workflow. Check .zshrc for details.

πŸ” View example aliases
# Penetration Testing
mkt           # Create nmap/content/exploits directories
settarget     # Set target IP for polybar display
scanNmap      # Automated nmap scan with OS detection
extractPorts  # Extract open ports from nmap output

# Network Tools
smbshare      # Quick SMB server setup
geoip         # IP geolocation lookup

# Development
cat -> batcat # Syntax highlighting for files
ls -> lsd     # Modern ls with icons and colors

🎨 Wallpaper Gallery

πŸ–ΌοΈ View all wallpapers


πŸ§ͺ Testing & Quality Assurance

This project includes a comprehensive test suite to ensure reliability and security.

Test Coverage

  • βœ… 73 Unit Tests - Core functionality validation
  • βœ… 40 Security Tests - Vulnerability prevention
  • βœ… 31 Integration Tests - End-to-end workflows
  • βœ… 7 CI/CD Jobs - Automated quality checks

Running Tests Locally

# Install Bats (testing framework)
sudo apt install bats

# Run all tests
./tests/run_tests.sh

# Run specific test suite
bats tests/test_setup.bats      # Unit tests
bats tests/test_security.bats   # Security tests
bats tests/test_integration.bats # Integration tests

Continuous Integration

Every commit is automatically tested via GitHub Actions:

  • πŸ” Code syntax validation
  • πŸ”’ Security vulnerability scanning
  • πŸ§ͺ 144 automated tests
  • πŸ“¦ Dependency version validation
  • βœ… Quality assurance checks

View test results: GitHub Actions

For detailed testing documentation, see tests/README.md


πŸ“š Documentation


🀝 Contributing

Contributions are welcome! Whether it's:

  • πŸ› Bug reports
  • ✨ Feature requests
  • πŸ”§ Code improvements
  • πŸ“– Documentation updates

Please feel free to open an issue or submit a pull request.

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Run the test suite (./tests/run_tests.sh)
  5. Ensure all tests pass
  6. Submit a pull request

πŸ”’ Security

Security is a top priority. This project:

  • βœ… Regularly audited for vulnerabilities
  • βœ… Uses modern, secure coding practices
  • βœ… Includes 40 dedicated security tests
  • βœ… Follows principle of least privilege

Found a security issue? Please report it privately via GitHub Security Advisories.


πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ™ Credits

  • Original Creator: r1vs3c - For the initial auto-bspwm script
  • Fork Maintainer: 4ndymcfly - Extended features and security improvements
  • Polybar Themes: adi1090x
  • Community: All contributors who help improve this project

⭐ Support

If you find this project useful, please consider:

  • ⭐ Starring the repository
  • πŸ› Reporting bugs
  • πŸ’‘ Suggesting new features
  • πŸ”€ Contributing code

Happy Hacking! πŸš€

Made with ❀️ for the cybersecurity community

About

Script that automates the setup of a professional hacking environment for Kali Linux using the tiled window manager bspwm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 99.5%
  • Python 0.5%