Add outputPath parameter to download and checkVersionInDownloaded functions to allow specifying the download directory. Update main function to pass the outputPath parameter to these functions.
Add a new flag `-o` to specify the output path for saving the app. Create the output directory if it doesn't exist. Remove the hardcoded directory creation for the "apps" directory. Update the main function to check if the output path is provided and display an error message if it's not.
Add a new Go client implementation for interacting with the IPAGo server. The client includes functionality for authentication, searching for apps, and downloading apps. The client is structured to handle errors and retries, and includes progress reporting for downloads. The client is added to the .gitignore file and the README.md file is updated with installation instructions. The server-side code is also updated to include the Content-Length header for download progress reporting.