reinstall is a shell script that performs one-click operating system reinstallation on virtual private servers.
The tool addresses the challenge of remotely reinstalling operating systems on VPS instances by automating the entire process through a single script. It works by booting into a live environment, partitioning the disk, and installing the target OS while automatically configuring network settings. The script supports reinstalling to nineteen common Linux distributions or to Windows using official ISO images rather than custom builds. It handles bidirectional reinstallation across any combination of Linux and Windows systems. Network configuration is automated with intelligent detection of static versus dynamic IP assignments, including support for edge cases like /32 and /128 subnets, gateways outside subnet ranges, pure IPv6, and split IPv4/IPv6 across different network interfaces. The tool is optimized for low-resource systems, requiring less memory than official netboot installers. Disk identification uses partition table IDs throughout to prevent writing to the wrong disk, and it supports both BIOS and EFI boot modes as well as ARM servers. All resources are fetched in real time from mirror sources rather than bundling custom packages.
The tool suits operators managing multiple VPS instances who need reliable remote OS reinstallation without physical access. It is particularly valuable for those working with low-specification servers where memory constraints make standard netboot tools impractical. The script's support for automatic VirtIO driver installation makes it well-suited to public cloud environments. Anyone considering adoption should note that the tool handles complex networking scenarios automatically, reducing manual configuration work that would otherwise be required after reinstallation.
Development activity shows consistent maintenance with regular updates addressing edge cases and expanding distribution support. The project maintains comprehensive documentation covering multiple use cases and system requirements. Bug reports and feature requests receive attention, indicating active engagement with users encountering real-world deployment scenarios.