Local reverse-proxy to UMass Schedule Builder API with automatically refreshing authentication.
Edit .env with your credentials:
# Required
UMASS_EMAIL=youremail@umass.edu
UMASS_PASSWORD=your_password
# Optional (shown with defaults)
PORT: 3007
KEEPALIVE_INTERVAL: 45000
COOKIE_PATH: .cache/cookies.json
BROWSER_DATA_DIR: .browser-data
# API Security (leave empty for no authentication)
# Generate: openssl rand -base64 32
API_KEY: your_secure_key_here# Start the service
docker compose up -d
# Check status
docker compose ps
# View logs
docker compose logs -f
# Stop the service
docker compose down
# Rebuild after code changes
docker compose up -d --build# Install dependencies
bun install
# Start the reverse proxy server
bun start
# Or extract cookies only
bun cookiesOnce the reverse proxy server is running:
# Public endpoints (no auth required)
curl http://localhost:3007/health
curl http://localhost:3007/api/terms
# Protected endpoints (requires API key if configured)
curl -H "Authorization: Bearer YOUR_API_KEY" \
http://localhost:3007/api/terms/Spring%202026/coursesThis project was inspired by @cougargrades/collegescheduler, which provides similar functionality for the University of Houston's CollegeScheduler system.