__ ___ _ _ _
\ \ / / |__ __ _| |_ ___ / \ _ __ ___ (_)
\ \ /\ / /| '_ \ / _` | __/ __| / _ \ | '_ ` _ \| |
\ 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 <solargrim@gmail.com>
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.
|