Skip to content

2FA not sent via container when using cn domain, but works on icloud.com.cn #925

Description

@AemonCao

System:

  • OS: Docker (Alpine Linux inside container)
  • Version: Alpine Linux v3.23.3
  • Container version: boredazfcuk/icloudpd v1.0.1340_23-02-2026
  • icloud-photos-downloader version: 1.32.2
  • Python version: 3.12.12

Describe the bug

When running the container with --Initialise, the script requires two-factor authentication (2FA), but no verification code is sent to the trusted Apple device.

The process stops at:

Two-factor authentication is required (2fa)
Please enter two-factor authentication code:

However:

  • No push notification is received on any trusted Apple device
  • No SMS verification code is received
  • Authentication cannot proceed

The authentication domain is set to cn, and the download domain is icloud.com.cn.


Important comparison

I am able to log in successfully via https://icloud.com.cn in a browser, and 2FA works normally there (push notification is received immediately).

This suggests:

  • The Apple ID itself is functioning correctly
  • 2FA delivery is working normally
  • The issue appears specific to the container / API authentication flow

Expected behaviour

When 2FA is required, Apple should send a verification code (push notification or SMS) to the trusted device, allowing the code to be entered and authentication to complete successfully.


Actual behaviour

The script prompts for a 2FA code, but:

  • No verification code is delivered
  • No notification appears on any trusted device
  • The process remains blocked waiting for input
  • Initialisation cannot be completed

Debug log file

Below is the relevant log output (personal information redacted):

root@3ee2bf67dd7f:/> /usr/local/bin/sync-icloud.sh --Initialise
2026-02-25 22:09:19 INFO     ***** boredazfcuk/icloudpd container v1.0.1341_23-02-2026 started *****
2026-02-25 22:09:19 INFO     ***** For support, please go here: https://github.com/boredazfcuk/docker-icloudpd *****
2026-02-25 22:09:19 INFO     Alpine Linux v3.23.3
2026-02-25 22:09:19 INFO     Python version: 3.12.12
2026-02-25 22:09:19 INFO     icloud-photos-downloader version: 1.32.2
2026-02-25 22:09:19 INFO     Loading configuration from: /config/icloudpd.conf
2026-02-25 22:09:19 INFO      | Apple ID: b******8@g******.com
2026-02-25 22:09:19 INFO        - Cookie path: /config/b******8g******com
2026-02-25 22:09:19 INFO      | Debug logging: Disabled
2026-02-25 22:09:19 INFO      | Local user: user:1000
2026-02-25 22:09:19 INFO      | Local group: group:1000
2026-02-25 22:09:19 INFO      | Authentication domain: cn
2026-02-25 22:09:19 INFO      | Downloading from: icloud.com.cn
2026-02-25 22:09:19 INFO      | Cookie expiry notification period: 7
2026-02-25 22:09:19 INFO      | Download destination directory: /home/user/iCloud
2026-02-25 22:09:19 INFO      | Folder structure: {:%Y/%m/%d}
2026-02-25 22:09:19 INFO      | Keep Unicode: false
2026-02-25 22:09:19 INFO      | Live Photo MOV Filename Policy: suffix
2026-02-25 22:09:19 INFO      | File Match Policy: name-size-dedup-with-suffix
2026-02-25 22:09:19 INFO      | Download interval: 86400
2026-02-25 22:09:19 INFO      | Download delay (minutes): 0
2026-02-25 22:09:19 INFO      | Set EXIF date/time: false
2026-02-25 22:09:19 INFO      | Auto delete: false
2026-02-25 22:09:19 INFO      | Delete after download: false
2026-02-25 22:09:19 INFO      | Delete empty directories: false
2026-02-25 22:09:19 INFO      | Photo size: original
2026-02-25 22:09:19 INFO      | Align RAW: as-is
2026-02-25 22:09:19 INFO      | Single pass mode: false
2026-02-25 22:09:19 INFO      | Skip download check: false
2026-02-25 22:09:19 INFO      | Skip live photos: false
2026-02-25 22:09:19 INFO      | Number of most recently added photos to download: Download All Photos
2026-02-25 22:09:19 INFO      | Downloading photos from: Download All Photos
2026-02-25 22:09:19 INFO      | Stop downloading when prexisiting files count is: Download All Photos
2026-02-25 22:09:19 INFO      | Live photo size: original
2026-02-25 22:09:19 INFO      | Skip videos: false
2026-02-25 22:09:19 INFO      | Convert HEIC to JPEG: true
2026-02-25 22:09:19 INFO     Finished loading configuration file
2026-02-25 22:09:19 INFO     Configuring notifications
2026-02-25 22:09:19 INFO      | Bark notifications enabled
2026-02-25 22:09:19 INFO     Configuring of notifications complete
2026-02-25 22:09:19 INFO     Sending Bark startup notification
2026-02-25 22:09:21 INFO     Script launch parameters: --Initialise
2026-02-25 22:09:21 INFO     Starting container initialisation
2026-02-25 22:09:22 INFO     Processing user: b******8@g******.com
2026-02-25 22:09:22 DEBUG    Authenticating...
2026-02-25 22:09:27 INFO     Two-factor authentication is required (2fa)
Please enter two-factor authentication code: 

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions