π A powerful command-line tool for downloading Android apps from Iranian app stores (Myket and CafeBazaar) with advanced APK merging capabilities.
- Multi-Store Support: Download from both Myket and CafeBazaar
- Architecture Selection: Support for ARM64, ARM32, x86, and x86_64
- Advanced APK Merging: 5 different merge methods for split APKs
- Interactive Interface: Beautiful terminal UI with arrow key navigation
- Automatic Tool Installation: Downloads and sets up required tools automatically
- Progress Tracking: Real-time download progress with speed indicators
- Cross-Platform: Works on Linux, macOS, and Windows
- Python 3.7+
- Java JDK 11+ (for APK processing tools)
# Clone the repository
git clone https://github.com/SafaSafari/Iran_Market.git
cd Iran_Market
# Install dependencies
pip install requests
# Run the tool
python main.pyOn first run, the tool will automatically offer to download and install required tools.
# Search and download interactively
python main.py
# Search for a specific app
python main.py "instagram"# Direct download
python main.py -d com.instagram.android
# Specify architecture and store
python main.py -a arm64 -s myket "telegram"
# Use specific merge method
python main.py -d com.whatsapp -m 3Options:
-d, --download PACKAGE Download package directly
-m, --method {1,2,3,4,5} Merge method (1-5)
-a, --arch {arm64,arm32,x86,x86_64} Architecture
-s, --store {both,myket,bazaar} Store preference
-c, --check Check system capabilities
--setup Setup tools interactively
--no-interactive Disable interactive menus
--config-dir Show config directory path| Architecture | Target Devices | ABI Support |
|---|---|---|
| arm64 | Modern phones | arm64-v8a, armeabi-v7a, armeabi |
| arm32 | Chinese/old phones | armeabi-v7a, armeabi |
| x86 | Emulator (32-bit) | x86 |
| x86_64 | Emulator (64-bit) | x86_64, x86 |
The tool supports 5 different methods to handle split APKs:
| Method | Description | Requirements | Best For |
|---|---|---|---|
| 1. XAPK Bundle | Creates XAPK file | None | General use, app installers |
| 2. APKS Bundle | Creates APKS file | None | SAI, Split APKs Installer |
| 3. APKEditor Merge | Merges using APKEditor | Java + APKEditor.jar | Single APK output |
| 4. ADB Install | Direct device install | ADB + connected device | Immediate installation |
| 5. Full Merge + Sign | Complete merge & resign | Java + Uber APK Signer | Production-ready APK |
- APKEditor: For merging split APKs
- Uber APK Signer: For signing merged APKs
- ADB Platform Tools: For direct device installation
If automatic installation fails, install tools manually:
# Ubuntu/Debian
sudo apt install openjdk-11-jdk
# macOS
brew install openjdk@11
# Windows
# Download from Oracle or use package managers# For ADB and signing tools
# Download Android SDK or platform-toolsIran_Market/
βββ main.py # Main application
βββ README.md # This file
βββ ~/.config/IranianAppDownloader/ # Config directory
βββ config.json # User configuration
βββ tools/ # Auto-downloaded tools
βββ APKEditor.jar
βββ uber-apk-signer.jar
βββ platform-tools/
# Interactive search
python main.py "Ψ¨Ψ§Ψ²Ϋ"
# Download specific package
python main.py -d ir.tgbs.android
# Download from specific store
python main.py -s bazaar -d com.instagram.android# For modern phones (recommended)
python main.py -a arm64 "telegram"
# For older devices
python main.py -a arm32 "whatsapp"
# For emulator testing
python main.py -a x86_64 "instagram"# Check system capabilities
python main.py --check
# Setup tools interactively
python main.py --setup
# Non-interactive mode (for scripts)
python main.py --no-interactive -d com.package.name- Token Management: Securely stores API tokens locally
- No Data Collection: No user data is transmitted to external servers
- Local Processing: All APK merging happens locally
- Open Source: Full source code available for inspection
Java not found:
# Verify Java installation
java -version
# Install if missing (Ubuntu/Debian)
sudo apt install openjdk-11-jdkADB device not found:
# Enable USB debugging on your device
# Check connection
adb devicesDownload fails:
# Try different store
python main.py -s myket -d package.name
# Check internet connection
# Some packages may be region-restricted# Enable debug output
python main.py --debug- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone for development
git clone https://github.com/SafaSafari/Iran_Market.git
cd Iran_Market
# Install development dependencies
pip install requests
# Run tests
python main.py --checkThis tool is for educational and personal use only. Users are responsible for complying with:
- App store terms of service
- Copyright laws in their jurisdiction
- Software licensing agreements
Disclaimer: This project is not affiliated with Myket, CafeBazaar, or any app developers.
This project is licensed under the MIT License - see the LICENSE file for details.
- APKEditor by REAndroid
- Uber APK Signer by Patrick Favre-Bulle
- Android Platform Tools by Google
- Iranian app store APIs (Myket & CafeBazaar)
- Issues: GitHub Issues
- Discussions: GitHub Discussions
β Star this project if you find it useful!
| Device Type | Recommended | Alternative |
|---|---|---|
| Modern Android (2019+) | arm64 |
arm32 |
| Older Android | arm32 |
- |
| Android Emulator | x86_64 |
x86 |
| Feature | Myket | CafeBazaar |
|---|---|---|
| App Coverage | Moderate | High |
| Update Frequency | Good | Excellent |
| API Stability | Stable | Very Stable |
| Split APK Support | Yes | Yes |
Made with β€οΈ by SafaSafari and Claude =))