Automatic I2P router update installer and processor.
This class handles the complete update process when an i2pupdate.zip
file is present in the router or base directory. It performs a
comprehensive update including verification, extraction, cleanup,
and restart procedures.
Update Process:
- Searches for i2pupdate.zip in router dir or base dir
- Verifies write permissions to target directory
- Validates ZIP file integrity and structure
- Updates router configuration with version information
- Extracts update files to base directory
- Processes deletelist.txt for obsolete file removal
- Cleans up native libraries (jbigi, jcpuid)
- Removes update file and restarts JVM
Error Handling:
- Renames failed updates to "BAD-i2pupdate.zip"
- Summarizes file deletions at end of process
- Handles permission issues gracefully
- Performs cleanup even on partial failures
Restart Behavior:
- With wrapper: Automatic restart after update
- Without wrapper: Manual restart required
- Exit code: Router.EXIT_HARD_RESTART
If no update file is found, performs routine maintenance
including native library cleanup and deletion list processing.