Swipe
swipe is a simple, lightweight multi-protocol downloader designed as a minimal alternative to cURL.
Project Goals
- Full code cleanup and modernization
- Compatible with ANSI C (C89) compilers
- Optimized and minimized for efficiency
- Simple, dependency-light alternative to cURL
- Educationally structured source code (<400 LOC per file)
Current Features
- Supports HTTP, HTTPS, FTP, Gemini, and Gopher
- Built-in TLS via
mbedTLS
- Clean Makefile build system (no autoconf)
- Modular protocol separation for easy maintenance
Known Limitations
- FTP over SSL is not supported
- SSL certificates are not verified (accepted unconditionally)
- Progress bar may overflow to negative values in the current version.
Build Instructions
Swipe is currently designed for POSIX systems and has been tested on Ubuntu, NetBSD, and IRIX. Other platforms are welcome.
You must have:
mbedtls 2.x
- A decent
make utility (GNU Make, smake, etc.)
Steps:
- Edit
config.h to fit your system paths.
- Run
make -f <appropriate makefile> after reviewing path info.
- Manual installation is required (installation script not yet provided).
License
This program is licensed under the MIT License.
⚠ Note: Swipe is experimental. Use with caution, especially when connecting to untrusted HTTPS or FTP servers.