Step-by-Step Guide to Building an Automated Program to Detect and Unlock Apple ID: A Must-Have for Card Selling Websites
Introduction
appleid_auto, an automated Apple ID detection & unlocking program based on security questions.
The front-end is used to manage accounts, supporting the addition of multiple accounts and displaying an account page.
Supports creating sharing pages with multiple accounts and setting passwords for them.
The back-end periodically checks whether accounts are locked; if locked or if two-step verification is enabled, it automatically unlocks them, changes passwords, and reports the passwords to the API.
Logs into Apple ID and automatically deletes devices in Apple ID.
Enables proxy pools and Selenium clusters to increase unlocking success rates and prevent risk control.
Card selling websites can use it to build an account sharing interface to attract traffic.
Features
- Multi-user usage, access control
- Multi-account management
- Account sharing pages, support for setting passwords, expiration dates, custom HTML content
- Automatic unlocking and disabling two-step verification
- Automatic/scheduled password changes
- Automatic deletion of devices in Apple ID
- Proxy pools and Selenium clusters to increase unlocking success rates
- Allows manual unlocking
Deployment method:
Step One: Update sources and install dependencies
Ubuntu/Debian:
apt update -y && apt upgrade -y
sudo apt install curl wget git -y
Centos:
sudo yum update -y && yum upgrade -y
sudo yum install curl wget git -y
Step Two: Install PHP 7.4 and necessary PHP extensions
Ubuntu/Debian:
sudo apt install php7.4 php7.4-cli php7.4-fpm php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath php7.4-json php7.4-fileinfo -y
Centos:
sudo yum install epel-release -y
sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
sudo yum-config-manager --enable remi-php74
sudo yum install php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-json php-fileinfo -y
Some systems' repositories don't have PHP 7.4 packages, so you need to add an external PPA to install PHP 7.4.
Ubuntu/Debian:
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php7.4 php7.4-cli php7.4-fpm php7.4-json php7.4-common php7.4-mysql php7.4-zip php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php7.4-bcmath php7.4-json php7.4-fileinfo -y
Step Three: Configure PHP 7.4
- Remove the disablement of the
putenv
function
Find the PHP CLI and FPM configuration files:
sudo nano /etc/php/7.4/cli/php.ini
sudo nano /etc/php/7.4/fpm/php.ini
In these two files, look for the following line:
disable_functions=...
Make sure putenv
is not listed on this line. If it is, delete it, then save the file.
Restart PHP-FPM:
sudo systemctl restart php7.4-fpm
- Install the
fileinfo
extension
Generally, the fileinfo
extension should be included when installing PHP 7.4. You can check if it is enabled using the following command:
php -m | grep fileinfo
If it is enabled, you should see fileinfo
as the output.
If not enabled, you can enable it with the following command:
sudo phpenmod fileinfo
sudo systemctl restart php7.4-fpm
Step Four: Install MySQL 8.0 and configure
Install MySQL Server.
Ubuntu/Debian:sudo apt install mysql-server -y
Centos:
sudo wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
sudo yum install mysql-server -y
- Start MySQL and set up security options.
sudo systemctl start mysql
sudo mysql_secure_installation
Step Five: Create Database
This is the data filled in during the following configuration process; you can modify it as needed.
- DATABASE = appleid_auto
- USERNAME = appleid_user
- PASSWORD = password
mysql -u root -p
CREATE DATABASE appleid_auto;
CREATE USER 'appleid_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON appleid_auto.* TO 'appleid_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Step Six: Download Project Source Code and Extract
wget https://github.com/pplulee/appleid_auto/archive/refs/tags/v2.1.1.tar.gz
tar -xzvf v2.1.1.tar.gz
Step Seven: Configure Project
cd appleid_auto-2.1.1
cp .example.env .env
nano .env
Mainly modify the following content:
- Whether to enable registration function
ENABLE_REGISTER = true - API Key for calling the front-end API
API_KEY = 123456 - Whether to enable task background running, i.e., not displaying the browser window
TASK_HEADLESS = true - Whether to enable the proxy pool
ENABLE_PROXY_POOL = false - Whether to automatically disable the proxy when the back-end reports it as unavailable
PROXY_AUTO_DISABLE = false - Whether to retry 5 minutes after task failure or wait for the next task execution
FAIL_RETRY = true - Whether to enable back-end API to implement real-time updates in the front-end control unlocking task, and allow users to trigger unlocking
ENABLE_API = true - Database connection information
- DATABASE = appleid_auto
- USERNAME = appleid_user
PASSWORD = password
Step Eight: Install Composer Dependencies
wget https://getcomposer.org/installer -O composer.phar
php composer.phar
php composer.phar install
Step Nine: Configure Reverse Proxy and Pseudo-Static
Move the project to the
/var/www
directorysudo mv appleid_auto-2.1.1 /var/www/
Ensure that the
www-data
user has access permissionssudo chown -R www-data:www-data /var/www/appleid_auto-2.1.1
- Install Nginx
Ubuntu/Debian:
sudo apt install nginx -y
Centos:
sudo yum install epel-release -y
sudo yum install nginx -y
- Create a new Nginx configuration file
sudo nano /etc/nginx/sites-available/appleid_auto
- Paste the following configuration (note to modify the domain name, here I use
test.adonis142857.ir
as an example):
server {
listen 80;
server_name test.adonis142857.ir;
root /var/www/appleid_auto-2.1.1/public;
location ~* (runtime|application)/{
return 403;
}
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
Enable the new site configuration:
sudo ln -s /etc/nginx/sites-available/appleid_auto /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Step Ten: Import Database
mysql -u root -p appleid_auto < /var/www/appleid_auto-2.1.1/db/db.sql
Step Eleven: Create Admin Account
cd /var/www/appleid_auto-2.1.1
php think register username password
Step Twelve: Configure Back-end
bash <(curl -Ls https://raw.githubusercontent.com/pplulee/appleid_auto/backend/backend/install_unblocker.sh)
Follow the instructions to enter parameters during installation. By default, it will deploy a Docker container with the name appleauto.
Step Thirteen: Log into the Website to Configure Apple ID
Open the URL in the browser
https://Domain name/index
Example:
https://test.adonis142857.ir/index
- Add accounts in account management
- Add sharing pages in sharing page management
- Add proxies in the proxy pool (optional)
Add push notifications in the personal information interface (optional)
Relevant Links:
GitHub Address: https://github.com/pplulee/appleid_auto
Official Usage Tutorial: https://appleid-auto.gitbook.io/doc_zhcn/
Original link:http://enblog.fuyiran.link/Technology/30.html
Copyright: All posts on this blog, unless otherwise stated, are published using theCC BY-NC-SA 4.0 license agreement. Please indicate the source for reprinting Fu Speaking (enblog.fuyiran.link)