pilipili-server
v1.0.0
Published
πΆοΈ A spicy little web server written in pure Bash - no Node.js, no Python, just shell scripting!
Downloads
4
Maintainers
Readme
πΆοΈ Pilipili Server
A spicy little web server written in pure Bash - no Node.js, no Python, just shell scripting! πΆοΈ
Perfect for local development, quick file sharing, or learning HTTP fundamentals.
β¨ Features
- πΆοΈ Small but powerful - like a pepper!
- π Static file serving with automatic MIME type detection
- π HTTP/1.1 compliant responses
- π§ Simple CLI with intuitive options
- π Request logging with optional verbose mode
- π‘οΈ Security features (directory traversal protection)
- β‘ Lightweight - perfect for containers and embedded systems
πββοΈ Quick Start
Installation Methods
Method 1: Direct Install (Recommended)
curl -sSL https://raw.githubusercontent.com/Baraka-Malila/pilipili-server/main/install.sh | bashMethod 2: npm Package
npm install -g pilipili-serverMethod 3: Manual Install
git clone https://github.com/Baraka-Malila/pilipili-server.git
cd pilipili-server
chmod +x pilipili-server install.sh
./install.shUsage
# Start server (serves ./public on port 8080)
pilipili-server
# Custom port and directory
pilipili-server -p 3000 ./my-website
# Enable verbose logging
pilipili-server --verboseVisit http://localhost:8080 in your browser! π
π Documentation
- Getting Started - Installation and first run
- Usage Guide - Command line options and examples
- Examples - Real-world use cases
π― Use Cases
- Local development - Quick server for static sites
- File sharing - Share files over HTTP on local network
- Learning - Understand HTTP protocols and Bash scripting
- Containers - Lightweight web server for Docker/embedded systems
π§ Requirements
- Bash 4.0+
socat(recommended) ornetcatfor socket handling- Standard Unix tools (
cat,date,file)
Note: socat is highly recommended for production use as it provides better connection handling and concurrent request support. The server will automatically fall back to netcat if socat is not available.
Installing socat
# Ubuntu/Debian
sudo apt-get install socat
# CentOS/RHEL/Fedora
sudo yum install socat
# or
sudo dnf install socat
# macOS
brew install socatπ Project Structure
pilipili-server/
βββ pilipili-server # Main executable πΆοΈ
βββ server.sh # Core HTTP server
βββ public/ # Default web content
βββ docs/ # Documentation
βββ examples/ # Example websitesπ€ Contributing
Contributions welcome! Please read our development guide.
π License
MIT License - see LICENSE file for details.
Made with β€οΈ and pure Bash - Small, fast, and spicy! πΆοΈ
