{"id":51278079,"url":"https://github.com/linggarm/whatsapp-chat-viewer","last_synced_at":"2026-06-29T23:01:50.484Z","repository":{"id":362232904,"uuid":"1232485298","full_name":"LinggarM/whatsapp-chat-viewer","owner":"LinggarM","description":"Aplikasi web berbasis Flask untuk memvisualisasikan ekspor chat WhatsApp dalam tampilan yang menyerupai antarmuka asli WhatsApp.","archived":false,"fork":false,"pushed_at":"2026-06-03T07:14:20.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T09:12:18.263Z","etag":null,"topics":["chat","css","flask","html","javascript","python","whatsapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinggarM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-08T01:27:21.000Z","updated_at":"2026-06-03T07:14:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/LinggarM/whatsapp-chat-viewer","commit_stats":null,"previous_names":["linggarm/whatsapp-chat-viewer"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/LinggarM/whatsapp-chat-viewer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinggarM%2Fwhatsapp-chat-viewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinggarM%2Fwhatsapp-chat-viewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinggarM%2Fwhatsapp-chat-viewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinggarM%2Fwhatsapp-chat-viewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinggarM","download_url":"https://codeload.github.com/LinggarM/whatsapp-chat-viewer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinggarM%2Fwhatsapp-chat-viewer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34945707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","css","flask","html","javascript","python","whatsapp"],"created_at":"2026-06-29T23:01:44.646Z","updated_at":"2026-06-29T23:01:50.076Z","avatar_url":"https://github.com/LinggarM.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WhatsApp Chat Viewer\n\nAplikasi web berbasis Flask untuk memvisualisasikan ekspor chat WhatsApp dalam tampilan yang menyerupai antarmuka asli WhatsApp.\n\n![Python](https://img.shields.io/badge/Python-3.7+-blue) ![Flask](https://img.shields.io/badge/Flask-2.x-green) ![License](https://img.shields.io/badge/license-MIT-lightgrey)\n\n---\n\n## Tampilan\n\n- Dark theme khas WhatsApp (hijau \u0026 abu-abu gelap)\n- Bubble chat dengan ekor (tail) kiri/kanan\n- Avatar inisial warna-warni per pengirim\n- Pemisah tanggal otomatis\n- Tanda centang biru untuk pesan pengirim\n\n---\n\n## Fitur\n\n- **Upload file `.txt`** — drag \u0026 drop atau klik untuk memilih file ekspor WhatsApp\n- **Paste teks langsung** — tidak perlu file, cukup paste teks chat ke textarea\n- **Parser cerdas** — mendukung format tanggal `DD/MM/YY` dan `DD/MM/YYYY`, pemisah titik maupun titik dua pada waktu\n- **Pesan multi-baris** — konten pesan yang panjang dan berbaris banyak tetap terbaca dengan benar\n- **Pesan sistem** — info enkripsi, bergabung/keluar grup ditampilkan sebagai label tengah\n- **Media placeholder** — `\u003cMedia tidak disertakan\u003e` tampil dengan ikon gambar dan teks miring\n- **Pesan terhapus** — ditampilkan dengan ikon 🚫 dan gaya italic\n- **Link clickable** — URL di dalam pesan otomatis jadi hyperlink\n- **Pencarian real-time** — filter pesan dan highlight teks hasil pencarian\n- **Pengelompokan pengirim** — avatar hanya muncul sekali di awal rangkaian pesan dari pengirim yang sama\n- **Tombol kembali** — upload chat baru tanpa restart server\n\n---\n\n## Instalasi\n\n### Prasyarat\n\n- Python 3.7 atau lebih baru\n- pip\n\n### Langkah\n\n```bash\n# 1. Clone atau download file app.py ke folder proyek\nmkdir wa-chat-viewer\ncd wa-chat-viewer\n\n# 2. (Opsional) Buat virtual environment\npython -m venv venv\nsource venv/bin/activate        # Linux/macOS\nvenv\\Scripts\\activate           # Windows\n\n# 3. Install dependensi\npip install flask\n\n# 4. Jalankan aplikasi\npython app.py\n```\n\nBuka browser dan akses **http://localhost:5000**\n\n---\n\n## Cara Mendapatkan File Ekspor WhatsApp\n\n### Di Android\n\n1. Buka chat yang ingin diekspor\n2. Ketuk ⋮ (tiga titik) → **Lainnya** → **Ekspor chat**\n3. Pilih **Tanpa media**\n4. Simpan atau kirim file `.txt` ke komputer\n\n### Di iPhone\n\n1. Buka chat → ketuk nama kontak/grup di bagian atas\n2. Scroll ke bawah → **Ekspor Chat**\n3. Pilih **Tanpa Media**\n4. Simpan file `.txt`\n\n---\n\n## Format yang Didukung\n\nParser mendukung dua format umum ekspor WhatsApp:\n\n```\nDD/MM/YY HH.MM - Nama: Pesan\nDD/MM/YYYY HH:MM - Nama: Pesan\n```\n\nContoh:\n\n```\n03/06/24 12.46 - Pesan dan panggilan terenkripsi secara end-to-end.\n05/06/24 14.47 - Irsal: http://contoh.com\n24/06/24 10.08 - Irsal: \u003cMedia tidak disertakan\u003e\n04/09/24 19.53 - Linggar FTF: Makasih banyak mas 👍🏻\n```\n\n---\n\n## Struktur File\n\n```\nwa-chat-viewer/\n└── app.py          # Aplikasi Flask (semua logika + template HTML dalam satu file)\n```\n\n---\n\n## Konfigurasi\n\nSecara default aplikasi berjalan di `host=0.0.0.0` port `5000`. Ubah di bagian bawah `app.py` jika diperlukan:\n\n```python\nif __name__ == '__main__':\n    app.run(debug=True, host='0.0.0.0', port=5000)\n```\n\nUntuk production, gunakan WSGI server seperti `gunicorn`:\n\n```bash\npip install gunicorn\ngunicorn -w 4 -b 0.0.0.0:5000 app:app\n```\n\n---\n\n## Catatan Privasi\n\nAplikasi ini berjalan **sepenuhnya lokal** di komputer Anda. Tidak ada data chat yang dikirim ke server eksternal manapun. File `.txt` hanya diproses di memori saat request berlangsung dan tidak disimpan ke disk.\n\n---\n\n## Lisensi\n\nMIT License — bebas digunakan dan dimodifikasi.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinggarm%2Fwhatsapp-chat-viewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinggarm%2Fwhatsapp-chat-viewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinggarm%2Fwhatsapp-chat-viewer/lists"}