Skip to content

A lightweight HTTP server and client implementation in Python using raw sockets.

Notifications You must be signed in to change notification settings

bkmulusew/PyWyrm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

PyWyrm ๐Ÿ

A lightweight HTTP server and client implementation in Python using raw sockets.

Overview

PyWyrm is a minimal HTTP implementation built for learning network programming fundamentals. No external dependencies, no frameworks - just pure Python and sockets.

Features

  • HTTP Server: Simple HTTP/1.1 server with GET method support
    • Non-blocking I/O with select() for concurrent connections
    • Directory traversal protection
    • Serves only .html/.htm
  • HTTP Client: Minimal client with automatic redirect following
  • Dual Stack: IPv4 and IPv6 support
  • Zero Dependencies: Uses only Python standard library

Quick Start

Server

python http_server.py 8080

Client

python http_client.py http://localhost:8080/index.html

Why PyWyrm?

Perfect for understanding how HTTP works under the hood without the complexity of production frameworks.

About

A lightweight HTTP server and client implementation in Python using raw sockets.

Topics

Resources

Stars

Watchers

Forks