選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Andreas Demmelbauer e21ecab2ec Add photos archiver script and update .gitignore to include photos-archive directory 1週間前
.gitignore Add photos archiver script and update .gitignore to include photos-archive directory 1週間前
README.md Update README to clarify iOS backup symlink instructions and correct backup path example 1週間前
photos_archiver.py Add photos archiver script and update .gitignore to include photos-archive directory 1週間前
whatsapp_archiver.py Update README and refactor output path handling in WhatsApp archiver 1週間前

README.md

WhatsApp HTML Archive

This tool extracts WhatsApp chats from an unencrypted iOS backup and generates a browsable HTML archive of all conversations with media support.

Features

  • Creates a complete HTML archive of all WhatsApp chats
  • Preserves all media (images, videos, audio files)
  • Supports group chats and direct messages
  • Archives data cumulatively across multiple backups
  • Preserves message history when run multiple times
  • Easy to browse with a clean, WhatsApp-like interface

Requirements

  • Python 3.6+
  • Unencrypted iOS backup
  • WhatsApp data in the backup

iOS Backup Structure

An iOS backup created by iTunes or Finder typically appears as a directory containing:

  • A Manifest.db file which serves as an index of all files in the backup
  • Numerous subdirectories with 2-character names (like 46, 8d, etc.)
  • Files within these subdirectories that have no extensions but are identified by hash-like names

The tool navigates this complex structure automatically to extract the WhatsApp data. A backup path usually looks like: /path/to/backup/46de1f4ca4a30b155985910d009edaf586236798/

iOS Backup Storage Tipp:

Make a symlink from your $HOME/Library/Application Support/MobileSync/Backup/ to a path in your external drive, if you don’t have enough internal disk space on your Mac:

ln -s /Volume/ArchiveMedia/iphone-backup $HOME/Library/Application Support/MobileSync/Backup

Usage

Run the exporter with your iOS backup path:

python3 whatsapp_exporter.py \
  --backup-path="$HOME/Library/Application Support/MobileSync/Backup/ 46de1f4ca4a30b155985910d009edaf586236798/" \
  --output-path="/Volume/ArchiveMedia/whatsapp-archive/data"

Arguments

  • --backup-path: Path to the iOS backup directory (containing Manifest.db)
  • --output-path: Directory to save whatsapp archive (appends if exists)

Archival Features

This tool acts as an archiver that:

  • Accumulates data across multiple backup imports
  • Preserves existing messages when importing new backups
  • Never deletes old content when newer backups are imported
  • Maintains a complete historical record of all chats

Direct Database Usage

If you already have extracted WhatsApp database files, you can use them directly. However, it’s not well tested:

python3 whatsapp_exporter.py /path/to/ChatStorage.sqlite /path/to/Media/ --output-path=./export/

Limitations and Caveats

The WhatsApp HTML Archive tool has the following limitations:

  • Stickers are not displayed - WhatsApp stickers appear as missing media
  • Status messages are not displayed - Status updates and replies are excluded
  • Encrypted backups not supported - Only unencrypted iOS backups can be processed
  • Some media files may require manual handling - Certain media types may not render correctly
  • Live location sharing not supported - Live locations appear as regular messages without map data

Disclaimer

USE AT YOUR OWN RISK

This tool is provided “as is”, without warranty of any kind, express or implied. The author/publisher is not responsible for any data loss, damage to software or hardware, loss of business profits, or any other damages resulting from the use or misuse of this software.

  • Always create a backup of your data before using this tool
  • The tool is designed to be non-destructive to source files, but unforeseen circumstances may occur
  • This is not an official WhatsApp product and is not affiliated with WhatsApp Inc.
  • Using this tool to extract and store WhatsApp messages may have privacy implications; ensure you have proper authorization to access and archive the messages