From ec7cafd6b6936f0c8383b08cc070e9c3d60d5609 Mon Sep 17 00:00:00 2001 From: Knugi <24708955+KnugiHK@users.noreply.github.com> Date: Tue, 7 Jan 2025 16:18:48 +0000 Subject: [PATCH 1/8] Update README.md --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1a2ae5b..cc3daa7 100644 --- a/README.md +++ b/README.md @@ -82,7 +82,10 @@ To support Crypt15 backup, install javaobj-py3 if it is not installed pip install javaobj-py3 # Or pip install whatsapp-chat-exporter["crypt15"] # install along with this software ``` -Place the encrypted WhatsApp Backup (msgstore.db.crypt15) in the working directory. If you also want the name of your contacts, get the contact database, which is called wa.db. And copy the WhatsApp (Media) directory from your phone directly. +Before proceeding with this method, you must first create an end-to-end encrypted backup. For detailed instructions, refer to [WhatsApp's help center](https://faq.whatsapp.com/490592613091019). + +Once you have copied the backup files to your computer, place the encrypted WhatsApp backup file (msgstore.db.crypt15) into the working directory. If you also wish to include your contacts' names, obtain the contact database file, named wa.db. Additionally, copy the WhatsApp Media folder directly from your phone. + If you do not have the 32 bytes hex key (64 hexdigits), place the decryption key file (encrypted_backup.key) extracted from Android. If you gave the 32 bytes hex key, simply put the key in the shell. Now, you should have something like this in the working directory (if you do not have 32 bytes hex key). From 5b3d0e2b3afd2ac9a01baedba24a7c2dc0e4b36e Mon Sep 17 00:00:00 2001 From: Knugi <24708955+KnugiHK@users.noreply.github.com> Date: Wed, 8 Jan 2025 15:57:04 +0000 Subject: [PATCH 2/8] Update README.md --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index cc3daa7..013f796 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,6 @@ If you would like to support this project, all you need to do is to contribute o > [!NOTE] > Usage in README may be removed in the future. Check the usage in [Wiki](https://github.com/KnugiHK/Whatsapp-Chat-Exporter/wiki) -> -> If you want to use the old release (< 0.5) of the exporter, please follow the [old usage guide](https://github.com/KnugiHK/Whatsapp-Chat-Exporter/wiki/Old-Usage#usage). First, install the exporter by: ```shell From 05505eb3bab6d7785cb25b8785e0f02a06baf2cb Mon Sep 17 00:00:00 2001 From: KnugiHK <24708955+KnugiHK@users.noreply.github.com> Date: Sun, 9 Feb 2025 16:23:04 +0800 Subject: [PATCH 3/8] Bump version --- README.md | 37 ++++++++++++++++++++++++++----------- pyproject.toml | 2 +- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 00325c3..45b56a9 100644 --- a/README.md +++ b/README.md @@ -135,12 +135,18 @@ After extracting, you will get these: Invoke the wtsexporter with --help option will show you all options available. ```sh > wtsexporter --help -usage: wtsexporter [-h] [-a] [-i] [-e EXPORTED] [-w WA] [-m MEDIA] [-b BACKUP] [-o OUTPUT] [-j [JSON]] [--avoid-encoding-json] [--pretty-print-json [PRETTY_PRINT_JSON]] [-d DB] [-k KEY] [-t TEMPLATE] [-s] - [-c] [--offline OFFLINE] [--size [SIZE]] [--no-html] [--check-update] [--assume-first-as-me] [--no-avatar] [--import] [--business] [--wab WAB] [--time-offset {-12 to 14}] [--date DATE] - [--date-format FORMAT] [--include [phone number ...]] [--exclude [phone number ...]] [--dont-filter-empty] [--per-chat] [--create-separated-media] [--decrypt-chunk-size DECRYPT_CHUNK_SIZE] - [--enrich-from-vcards ENRICH_FROM_VCARDS] [--default-country-code DEFAULT_CONTRY_CODE] [--txt [TEXT_FORMAT]] +usage: wtsexporter [-h] [-a] [-i] [-e EXPORTED] [-w WA] [-m MEDIA] [-b BACKUP] [-o OUTPUT] [-j [JSON]] + [--avoid-encoding-json] [--pretty-print-json [PRETTY_PRINT_JSON]] [-d DB] [-k KEY] [-t TEMPLATE] + [-s] [-c] [--offline OFFLINE] [--size [SIZE]] [--no-html] [--check-update] [--assume-first-as-me] + [--no-avatar] [--import] [--business] [--wab WAB] [--time-offset {-12 to 14}] [--date DATE] + [--date-format FORMAT] [--include [phone number ...]] [--exclude [phone number ...]] + [--dont-filter-empty] [--per-chat] [--create-separated-media] + [--decrypt-chunk-size DECRYPT_CHUNK_SIZE] [--enrich-from-vcards ENRICH_FROM_VCARDS] + [--default-country-code DEFAULT_CONTRY_CODE] [--txt [TEXT_FORMAT]] [--experimental-new-theme] + [--call-db [CALL_DB_IOS]] [--headline HEADLINE] -A customizable Android and iOS/iPadOS WhatsApp database parser that will give you the history of your WhatsApp conversations in HTML and JSON. Android Backup Crypt12, Crypt14 and Crypt15 supported. +A customizable Android and iOS/iPadOS WhatsApp database parser that will give you the history of your WhatsApp +conversations in HTML and JSON. Android Backup Crypt12, Crypt14 and Crypt15 supported. options: -h, --help show this help message and exit @@ -186,20 +192,29 @@ options: Include chats that match the supplied phone number --exclude [phone number ...] Exclude chats that match the supplied phone number - --dont-filter-empty By default, the exporter will not render chats with no valid message. Setting this flag will cause the exporter to render those. + --dont-filter-empty By default, the exporter will not render chats with no valid message. Setting this flag will + cause the exporter to render those. This is useful if chat(s) are missing from the output --per-chat Output the JSON file per chat --create-separated-media Create a copy of the media seperated per chat in /separated/ directory --decrypt-chunk-size DECRYPT_CHUNK_SIZE Specify the chunk size for decrypting iOS backup, which may affect the decryption speed. --enrich-from-vcards ENRICH_FROM_VCARDS - Path to an exported vcf file from Google contacts export. Add names missing from WhatsApp's default database + Path to an exported vcf file from Google contacts export. Add names missing from WhatsApp's + default database --default-country-code DEFAULT_CONTRY_CODE - Use with --enrich-from-vcards. When numbers in the vcf file does not have a country code, this will be used. 1 is for US, 66 for Thailand etc. Most likely use the number of your own - country - --txt [TEXT_FORMAT] Export chats in text format similar to what WhatsApp officially provided (default if present: result/) + Use with --enrich-from-vcards. When numbers in the vcf file does not have a country code, this + will be used. 1 is for US, 66 for Thailand etc. Most likely use the number of your own country + --txt [TEXT_FORMAT] Export chats in text format similar to what WhatsApp officially provided (default if present: + result/) + --experimental-new-theme + Use the newly designed WhatsApp-alike theme + --call-db [CALL_DB_IOS] + Path to call database (default: 1b432994e958845fffe8e2f190f26d1511534088) iOS only + --headline HEADLINE The custom headline for the HTML output. Use '??' as a placeholder for the chat name -WhatsApp Chat Exporter: 0.10.5 Licensed with MIT. See https://wts.knugi.dev/docs?dest=osl for all open source licenses. +WhatsApp Chat Exporter: 0.11.0 Licensed with MIT. See https://wts.knugi.dev/docs?dest=osl for all open source +licenses. ``` # To do diff --git a/pyproject.toml b/pyproject.toml index e442fe0..7ae70b2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "whatsapp-chat-exporter" -version = "0.10.5" +version = "0.11.0" description = "A Whatsapp database parser that provides history of your Whatsapp conversations in HTML and JSON. Android, iOS, iPadOS, Crypt12, Crypt14, Crypt15 supported." readme = "README.md" authors = [ From c8b71213ae6dac5b306638d2e7cc3ef61537b5ed Mon Sep 17 00:00:00 2001 From: KnugiHK <24708955+KnugiHK@users.noreply.github.com> Date: Sun, 9 Feb 2025 16:26:08 +0800 Subject: [PATCH 4/8] Remove --iphone --- README.md | 2 +- Whatsapp_Chat_Exporter/__main__.py | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/README.md b/README.md index 45b56a9..fb39ad2 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,7 @@ conversations in HTML and JSON. Android Backup Crypt12, Crypt14 and Crypt15 supp options: -h, --help show this help message and exit -a, --android Define the target as Android - -i, --ios, --iphone Define the target as iPhone/iPad + -i, --ios, Define the target as iPhone/iPad -e EXPORTED, --exported EXPORTED Define the target as exported chat file and specify the path to the file -w WA, --wa WA Path to contact database (default: wa.db/ContactsV2.sqlite) diff --git a/Whatsapp_Chat_Exporter/__main__.py b/Whatsapp_Chat_Exporter/__main__.py index ac1d3dc..d8d9b2a 100644 --- a/Whatsapp_Chat_Exporter/__main__.py +++ b/Whatsapp_Chat_Exporter/__main__.py @@ -43,7 +43,6 @@ def main(): parser.add_argument( '-i', '--ios', - '--iphone', dest='ios', default=False, action='store_true', @@ -475,12 +474,6 @@ def main(): db.row_factory = sqlite3.Row contacts(db, data) elif args.ios: - import sys - if "--iphone" in sys.argv: - print( - "WARNING: The --iphone flag is deprecated and will" - "be removed in the future. Use --ios instead." - ) contacts = ios_handler.contacts messages = ios_handler.messages media = ios_handler.media From 63c27f63bd7430c50083eeecca7698ca1056bb89 Mon Sep 17 00:00:00 2001 From: Knugi <24708955+KnugiHK@users.noreply.github.com> Date: Fri, 14 Feb 2025 18:30:55 +0000 Subject: [PATCH 5/8] Update docs.html --- docs.html | 1 - 1 file changed, 1 deletion(-) diff --git a/docs.html b/docs.html index 7b2e841..e64e2c5 100644 --- a/docs.html +++ b/docs.html @@ -1,7 +1,6 @@ -