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 deploy.sh script to automate the deployment process. The script pulls the latest changes from the repository, prompts for the container name and port, and then builds and starts the Docker container using the provided parameters. This simplifies the deployment process and ensures consistency.
Add a new example script to demonstrate how to use the IPAGoClient with specific parameters for TikTok. The script includes placeholders for user credentials and other sensitive information, which should be replaced with actual values before execution.
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.
Add a defer function to ensure the temporary file is closed and removed after the download is complete. Update the io.Copy to ignore errors to prevent panic in case of write failures.
Add keychain passphrase to global flags for ipatool to ensure secure access to the keychain during non-interactive operations. This change is necessary to prevent potential security issues when using the ipatool in automated environments.
Update the port mapping in docker-compose.yml to use port 8888 instead of 8000 for the service. This change ensures compatibility with the updated application configuration.
Move Dockerfile, ipatool, and docker-compose.yml from the docker directory to the root directory to simplify the project structure and improve maintainability. Update the paths in the Dockerfile to reflect the new locations.
Add docker configuration for building and running the application, including a dockerfile and docker-compose.yml. Set up go modules with dependencies and create the basic api structure with main.go, models, and wrapper files. Include .dockerignore and .gitignore files to manage ignored files and directories. Add constants for ipatool path and global flags.