A full-stack solution to provide JavaScript challenges and CAPTCHA-like protection for visitors accessing your website. Inspired by Cloudflare's "Under Attack" mode.
- JavaScript-based challenge system
- Flask backend with SQLite database for challenge storage
- Next.js frontend with real-time challenge verification
- CSRF protection and rate limiting
- Logging and basic analytics
- Accessibility improvements
- Unit and integration tests
- CI/CD pipeline with GitHub Actions
cd UnderAttack/backend
pip install -r requirements.txt
python app.py
cd UnderAttack/frontend
npm install
npm run dev
cd UnderAttack/backend
python -m unittest discover tests
cd UnderAttack/frontend
npm test
The project is set up for deployment on Vercel. Push to the main branch to trigger the CI/CD pipeline.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.