Short: WhatsApp client, no PC or bridge needed Author: solargrim@gmail.com (Rafal "Terror" Fajfrowski) Uploader: solargrim gmail com (Rafal Fajfrowski) Type: comm/misc Version: 0.50 Requires: 68020+, TCP/IP stack, AmiSSL 5.1+, 4 MB Fast RAM Architecture: m68k-amigaos >= 3.1.0 Distribution: Aminet Kurz: WhatsApp-Client, ohne PC oder Bridge __ ___ _ _ _ \ \ / / |__ __ _| |_ ___ / \ _ __ ___ (_) \ \ /\ / /| '_ \ / _` | __/ __| / _ \ | '_ ` _ \| | \ V V / | | | | (_| | |_\__ \/ ___ \| | | | | | | \_/\_/ |_| |_|\__,_|\__|___/_/ \_\_| |_| |_|_| A WhatsApp client for classic Amigas that looks and works like WhatsApp for Windows. It talks to the WhatsApp servers BY ITSELF - no PC, no Raspberry Pi, no bridge, no proxy. Your Amiga becomes a "linked device" of your WhatsApp account, just like WhatsApp Web. The whole WhatsApp protocol is written from scratch in C and runs on the 68k: TLS (AmiSSL), WebSocket, Noise handshake, Signal end-to-end encryption (X3DH, double ratchet, group sender keys), protobuf, media encryption, history sync, a progressive JPEG decoder, a JPEG encoder, PNG/GIF/IFF decoders, an Opus decoder for voice messages, an H.264 video decoder and an AAC audio decoder. No FPU needed. THIS IS A BETA VERSION - it is improved and updated all the time. WhatsAmi checks for new versions at start (can be turned off) and updates itself with one click. FEATURES -------- Account and connection * Pairing with a QR code shown on the Amiga screen, plus a big full-window QR code for CRT monitors (no interlace flicker) * Talks to WhatsApp directly - no PC, bridge or proxy * Checks for TCP/IP and AmiSSL at start and tells you what is missing * Device keys saved safely with a backup - no new pairing after a crash * Connection stage (DNS / TCP / TLS) and progress shown in a banner Chat list * Looks like WhatsApp for Windows: avatars, last message, time, unread counters * Filters: All / Unread / Groups / Status, plus the archive * Pin, mute, archive, mark as read / unread, clear history * Search in chat names and in the text of all messages * New chat from the contact list (with search) or any phone number * Your own profile picture in the left bar Conversations * Bubbles, day separators, "N unread messages", coloured names in groups, older history loads while scrolling, draggable scroll bar * Ticks (sent / delivered / read), "typing..." / "recording...", online / last seen, avatar in the header * Graphical emoticons in messages, reactions and the emoticon panel (or plain text smileys - your choice in Settings) * Select text with the mouse in messages and text fields (drag, Shift+click, Shift+arrows); copy, cut and paste via the clipboard Sending * Text (multi-line), replies with quote, editing your own messages (15 minutes), delete for me / for everyone, reactions * Photos: JPEG as is; PNG, GIF and IFF ILBM (also HAM6, HAM8, EHB, 24-bit) are converted to JPEG on the Amiga and arrive as a real WhatsApp photo with a preview * Any file as a document * Progress bar while sending photos and files (KB sent, %) * Forward messages to another chat: text, photos, videos, files, voice messages - no re-upload. Arrow button next to media or "Forward..." in the message menu Receiving * Photos: thumbnails and full-screen view (normal and progressive JPEG), stickers, documents, locations, contacts, polls (read only) * Videos played on the Amiga WITH SOUND: own H.264 decoder (Baseline, Main and High profile) and AAC decoder, sound through Paula (8-bit, 11 or 22 kHz). Time bar with seeking, pause, download progress, videos cached on disk. When the CPU is too slow, frames are skipped - a fast 060 or PiStorm shows the most * Voice messages played through Paula (Opus decoder on the Amiga), with a progress bar in the bubble * Save photos, videos and files to the downloads drawer or anywhere * Old photos that expired on the server are requested again from the phone * Contacts' status updates (last 24 h) in the Status tab, with a viewer for photos, videos and text Groups * Create a group: name + people picked from your contacts * Group info: description, members, admins * Add people, rename the group, leave the group * Click a member: send a message, make / dismiss admin, remove Other * Export a chat to a text file (whole history with date and sender, in the Amiga character set) * Notifications: none / sound / screen flash / sound and flash; muted chats stay silent * Automatic updates: checks at start, updates itself with one click * Log file for problem reports (WhatsAmi-Data/log/log.txt) Look and settings * Light and dark theme, English and Polish * Latin-1 / Latin-2 / AmigaPL / ASCII fonts, any font via the ASL requester (no restart needed) * Downloads drawer chosen with the ASL requester * Video picture quality (full / no B frames / half size) and video sound (off / 11 kHz / 22 kHz) * Resizable window, public screen support * Three builds: 68020/030, 68040, 68060 / PiStorm - no FPU needed REQUIREMENTS ------------ * 68020 or better, AmigaOS 3.1 or newer (3.2 recommended) * TCP/IP stack: Roadshow, AmiTCP, Miami (or Emu68/PiStorm) * AmiSSL 5.1 or newer, with the AmiSSL: assign (its installer makes it) - AmiSSL 4 is not enough * About 4 MB of free RAM * 256-colour screen or RTG recommended, helvetica.font 11/13/18 * WhatsApp on your phone (WhatsAmi is a linked device) INSTALLATION ------------ Unpack the archive - it contains the WhatsAmi drawer. Copy the drawer anywhere on your hard disk (FFS, SFS, PFS - all fine). There are three programs inside - keep the one for your CPU (or all of them): WhatsAmi ........ 68020/68030, with or without FPU (any Amiga) WhatsAmi.040 .... 68040 WhatsAmi.060 .... 68060, PiStorm / Emu68 Double-click it. On the phone open WhatsApp > Settings (or Menu) > Linked devices > Link a device and scan the QR code on the Amiga screen. Your chats and history load by themselves. The interface is English by default and Polish when your system language is Polish (change it in Settings). For Polish letters choose ISO-8859-2 or AmigaPL in Settings, depending on your fonts. From the Shell: WhatsAmi normal start WhatsAmi PUBSCREEN=name open on a public screen WhatsAmi FONT=xen.font SIZE=11 WhatsAmi ENGLISH English interface WhatsAmi DARK dark theme KEYS ---- Enter / Shift + Enter .. send / new line Esc .................... cancel reply, close window, close chat Up (empty field) ....... edit your last message Alt/Ctrl + Up/Down ..... previous / next chat Shift + Up/Down, PgUp/PgDn, mouse wheel ... scroll Shift + Left/Right/Home/End ... select text Shift + Backspace ...... clear the text field Tab .................... next field in a window Amiga + N .............. new chat Amiga + F .............. search Amiga + E .............. archive chat Amiga + W .............. close chat Amiga + P .............. settings Amiga + Q .............. quit Amiga + A .............. select all Amiga + C / X / V ...... copy / cut / paste Help ................... about FILES ----- PROGDIR:WhatsAmi-Data/ all data of this linked device: Keys/ device and encryption keys - DO NOT SHARE, this is your device identity! Messages/ chats and message history Pictures/ photos and thumbnails \ Video/ downloaded videos | cache - safe to delete, Audio/ voice messages | downloaded again when Avatars/ profile pictures / needed Media/ file keys and addresses on the server log/ log.txt (log.old - previous start) PROGDIR:Downloads/ saved files and photos ENVARC:WhatsAmi.prefs settings PRIVACY ------- Messages are end-to-end encrypted (Signal protocol) all the way to your Amiga; the connection to WhatsApp uses TLS and Noise. Each Amiga needs its own pairing - do not copy WhatsAmi-Data between computers. You can remove the device on the phone (Linked devices) or with "Log out" in Settings. KNOWN LIMITS ------------ * Pairing with a QR code only (no phone-number code yet) * No voice/video calls and no recording of voice messages * Video sound needs chip RAM (about 650 KB per minute at 11 kHz); on a 68020/68030 expect only a few frames per second * Animated GIFs are sent as a still photo (first frame) * Polls can be read but not voted in, stickers can't be sent yet * While a photo or file is being sent, the window does not react (the progress bar shows how far it is) PROBLEMS? --------- Send the author a screenshot and the files PROGDIR:WhatsAmi-Data/log/log.txt and log.old (never the Keys drawer - those are your keys). SUPPORT ------- Like WhatsAmi? Click the heart icon above the settings gear for buycoffee.to and PayPal QR codes. Thank you! AUTHOR ------ Rafal "Terror" Fajfrowski Updates: https://eterror.pl/whatsami/ The Opus decoder is libopus 1.4 (BSD licence, Xiph.Org Foundation, see src/opus/COPYING in the sources). WhatsAmi is an independent project and is not affiliated with Meta. "WhatsApp" is a trademark of Meta Platforms, Inc.