Penting
Proyek ini diarsipkan dan tidak lagi dikelola.
Alat baris perintah untuk mengunduh aplikasi Android langsung dari Google Play Store.
PlaystoreDownloader adalah alat untuk mendownload aplikasi Android langsung dari Google Play Store. Setelah konfigurasi awal (satu kali), aplikasi dapat diunduh dengan menentukan nama paketnya.
Proyek ini dimaksudkan untuk tujuan pembelajaran saja dan tidak berafiliasi dengan Google dengan cara apa pun .
Antarmuka Baris Perintah |
---|
Antarmuka Web |
---|
Ada dua cara untuk mendapatkan salinan PlaystoreDownloader yang berfungsi di komputer Anda: baik dengan menggunakan Docker atau dengan menggunakan kode sumber secara langsung di lingkungan Python 3
. Dalam kedua kasus tersebut, hal pertama yang harus dilakukan adalah mendapatkan salinan lokal dari repositori ini, jadi buka terminal di direktori tempat Anda ingin menyimpan proyek dan kloning repositori tersebut:
$ git clone https://github.com/ClaudiuGeorgiu/PlaystoreDownloader.git
Ini adalah cara yang disarankan untuk menginstal PlaystoreDownloader, karena satu-satunya persyaratan adalah menginstal Docker versi terbaru:
$ docker --version
Docker version 20.10.7, build f0df350
Gambar Docker PlaystoreDownloader resmi tersedia di Docker Hub (secara otomatis dibuat dari repositori ini):
$ # Download the Docker image.
$ docker pull claudiugeorgiu/playstore-downloader
$ # Give it a shorter name.
$ docker tag claudiugeorgiu/playstore-downloader downloader
Jika Anda mengunduh image resmi dari Docker Hub, Anda siap menggunakan alat tersebut, jadi lanjutkan dan periksa petunjuk penggunaan, jika tidak, jalankan perintah berikut di direktori PlaystoreDownloader/
yang dibuat sebelumnya (folder yang berisi Dockerfile
) untuk membangun Gambar buruh pelabuhan:
$ # Make sure to run the command in PlaystoreDownloader/ directory.
$ # It will take some time to download and install all the dependencies.
$ docker build -t downloader .
Saat image Docker sudah siap, lakukan tes cepat untuk memeriksa apakah semuanya telah diinstal dengan benar:
$ docker run --rm -it downloader --help
usage: python3 -m playstoredownloader.cli [-h] [-b] [-s] [-c FILE] [-o DIR] [-t TAG] package [package ...]
...
PlaystoreDownloader kini siap digunakan, lihat petunjuk penggunaan untuk informasi lebih lanjut.
Selain kredensial Google Play Store yang valid, satu-satunya persyaratan proyek ini adalah instalasi Python 3
(setidaknya 3.7
) yang berfungsi dan pipenv
(untuk manajemen ketergantungan).
Jalankan perintah berikut di direktori utama proyek ( PlaystoreDownloader/
) untuk menginstal dependensi yang diperlukan:
$ # Make sure to run the commands in PlaystoreDownloader/ directory.
$ # This project uses pipenv (https://github.com/pypa/pipenv) for dependency management.
$ # It can be installed with the following command:
$ # python3 -m pip install pipenv
$ # Install PlaystoreDownloader's requirements (a virtual environment will be created).
$ pipenv install --deploy
Setelah semuanya terinstal, lakukan tes cepat untuk memeriksa apakah semuanya berfungsi dengan benar:
$ pipenv run python3 -m playstoredownloader.cli --help
usage: python3 -m playstoredownloader.cli [-h] [-b] [-s] [-c FILE] [-o DIR] [-t TAG] package [package ...]
...
PlaystoreDownloader kini siap digunakan, lihat petunjuk penggunaan untuk informasi lebih lanjut.
Sebelum berinteraksi dengan Google Play Store Anda harus memberikan kredensial yang valid dan ID ANDROID yang terkait dengan akun Anda. Harap ubah file credential.json dan masukkan informasi yang diperlukan sebelum mencoba menggunakan alat ini (dan pikirkan dua kali sebelum melakukan file ini setelah perubahan, atau Anda mungkin membocorkan kredensial Anda):
Masukkan email dan kata sandi Google Anda di bidang USERNAME
dan PASSWORD
pada file credential.json. Informasi ini diperlukan untuk mengautentikasi dengan server Google. Jika Anda mengaktifkan Verifikasi 2 Langkah, Anda perlu membuat Kata Sandi Aplikasi untuk bidang PASSWORD
.
Gunakan kredensial di atas pada perangkat Android (asli atau emulasi) dan unduh setidaknya satu aplikasi menggunakan Google Play Store resmi di perangkat. Langkah ini diperlukan untuk mengaitkan ID ANDROID perangkat ke akun Anda, sehingga Anda dapat mengunduh aplikasi seolah-olah Anda sedang menggunakan perangkat Anda secara langsung. Jangan menghapus akun dari perangkat atau ID ANDROID -nya tidak akan valid lagi.
Dapatkan ID ANDROID perangkat dan isi kolom ANDROID_ID
pada file credential.json. Anda dapat memperoleh ID ANDROID dengan menginstal aplikasi ID Perangkat pada perangkat Anda, lalu menyalin string yang sesuai dengan Google Service Framework (GSF)
(gunakan string ini sebagai ganti Android Device ID
yang diberikan oleh aplikasi).
Jika terjadi kesalahan terkait autentikasi setelah langkah di atas, pertimbangkan tindakan berikut (kunjungi tautan saat Anda masuk dengan akun yang digunakan untuk mengunduh aplikasi):
izinkan aplikasi yang kurang aman mengakses akun Anda (https://myaccount.google.com/lesssecureapps)
membuka kunci akses sementara ke akun Anda (https://accounts.google.com/DisplayUnlockCaptcha)
Perhatikan bahwa Anda hanya dapat mengunduh aplikasi yang kompatibel dengan perangkat yang sesuai dengan ID ANDROID yang disebutkan di atas dan batasan lebih lanjut dapat memengaruhi jumlah total aplikasi yang tersedia untuk diunduh .
Setelah mengonfigurasi kredensial Google Play Store seperti yang dijelaskan dalam konfigurasi, Anda harus memiliki file credentials.json
valid yang siap digunakan. Petunjuk penggunaan bergantung pada cara Anda menginstal alat tersebut.
File dengan kredensial tidak disertakan dalam image Docker, sehingga harus dipasang ke dalam container. Direktori unduhan juga harus dipasang, jika tidak, aplikasi yang diunduh tidak akan dapat diakses oleh mesin host. Jika direktori saat ini ( ${PWD}
) berisi file credentials.json
dan folder output/
, perintah untuk mengunduh aplikasi dengan nama paket com.application.example
menjadi:
$ docker run
-u $( id -u ) : $( id -g )
-v " ${PWD} /credentials.json " : " /app/credentials.json "
-v " ${PWD} /output/ " : " /app/Downloads/ "
--rm -it downloader " com.application.example "
Jika pengunduhan berhasil, file .apk
yang dihasilkan akan disimpan di folder output/
yang terdapat di direktori tempat perintah dijalankan (ketik $ docker run --rm -it downloader --help
atau periksa parameter yang tersedia untuk informasi lebih lanjut ).
Antarmuka web sederhana juga tersedia:
$ docker run
-u $( id -u ) : $( id -g )
-v " ${PWD} /credentials.json " : " /app/credentials.json "
-v " ${PWD} /output/ " : " /app/Downloads/ "
-p 5000:5000
--entrypoint=python3
--rm -it downloader flask_app.py
$ # Navigate to http://localhost:5000/ to use the web interface.
Di direktori utama proyek ( PlaystoreDownloader/
), panggil instruksi berikut menggunakan nama paket aplikasi yang akan diunduh:
$ pipenv run python3 -m playstoredownloader.cli " com.application.example "
Jika download berhasil maka secara default file .apk
hasil akan tersimpan di direktori PlaystoreDownloader/Downloads/
. Anda dapat mengubah lokasi direktori unduhan dengan memberikan argumen tambahan -o "path/to/download/folder/"
(ketik $ pipenv run python3 -m playstoredownloader.cli --help
atau periksa parameter yang tersedia untuk informasi lebih lanjut).
Antarmuka web sederhana juga tersedia:
$ pipenv run python3 flask_app.py
$ # Navigate to http://localhost:5000/ to use the web interface.
Semua parameter dijelaskan dalam pesan bantuan:
$ # With Docker.
$ docker run --rm -it downloader --help
$ # With source.
$ pipenv run python3 -m playstoredownloader.cli --help
usage: python3 -m playstoredownloader.cli [-h] [-b] [-s] [-c FILE] [-o DIR] [-t TAG] package [package ...]
...
Satu-satunya parameter wajib adalah nama package
aplikasi yang akan diunduh, seperti yang muncul di Google Play Store (misalnya com.spotify.music
atau com.whatsapp
). Argumen opsional lainnya adalah sebagai berikut:
-b
adalah tanda untuk mengunduh file .obb
tambahan beserta aplikasinya (jika ada). Lihat File Ekspansi untuk informasi lebih lanjut. File tambahan akan disimpan di direktori yang sama dengan aplikasi yang diunduh. Catatan: file perluasan tidak lagi didukung untuk aplikasi baru .
-s
adalah tanda untuk mengunduh file .apk
terpisah tambahan beserta aplikasinya (jika ada). Lihat Pengiriman Dinamis untuk informasi lebih lanjut. File tambahan akan disimpan di direktori yang sama dengan aplikasi yang diunduh.
-c CREDENTIALS
digunakan untuk menyetel jalur ke file konfigurasi JSON yang berisi kredensial Google Play Store. Jika tidak ditentukan, secara default alat akan mencoba menggunakan file bernama credentials.json
yang terletak di direktori tempat perintah dijalankan.
-o DIR
digunakan untuk mengatur jalur (relatif atau absolut) direktori tempat menyimpan file .apk
yang diunduh (misalnya, -o /home/user/Desktop/
). Jika jalur berisi direktori yang hilang, direktori tersebut akan dibuat secara otomatis. Jika tidak ditentukan, secara default file akan disimpan di direktori Downloads/
yang dibuat di tempat alat dijalankan.
-t TAG
dapat digunakan untuk menyetel tag yang akan diawali dengan nama file, misalnya dengan menggunakan -t "LABEL"
nama akhir aplikasi yang diunduh akan terlihat seperti [LABEL] filename.apk
. Catatan: tag diterapkan pada aplikasi utama dan file tambahan (jika ada).
Perhatikan bahwa saat ini hanya antarmuka baris perintah yang dapat dikonfigurasi dengan argumen di atas, antarmuka web hanya akan menanyakan nama paket dan akan menggunakan nilai default untuk semua parameter lainnya .
Anda bebas menggunakan kode ini di bawah Lisensi MIT.