Serein
Rust로 만든 가볍고 성능 좋은 Discord 전용 네이티브 클라이언트
Retrogram - ICQ Remastered based on whatsapp/telegram
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Retro ICQ 5 -style multi-messenger — built with Electron + React . Manage WhatsApp and Telegram from one classic dark-teal desktop app. QR Code Login screens — no personal data shown. Once connected, the sidebar fills with your contacts sorted by recency. Windows — SmartScreen: Click "More info" → "Run anyway" [README 설치·사용 부분 발췌] Quick Start No browser is bundled any more - WhatsApp speaks its protocol directly, so it needs no extra Linux runtime deps.README 전문 보기 ↗
QR Code Login screens — no personal data shown. Once connected, the sidebar fills with your contacts sorted by recency.
| Feature | Details | |
|---|---|---|
| 🎨 | ICQ 5 dark teal skin | CSS variables, rem-based sizing, A−/A+ font controls |
| 💬 | QR login · persistent session · images · videos · GIFs · stickers · read receipts | |
| ✈️ | Telegram | QR or phone number login · 2FA · photos · videos · GIFs · animated stickers |
| 🪟 | Separate chat windows | Each contact gets its own floating window — true ICQ 5 style |
| 🗂️ | Collapsible groups | Groups folded away at top · per-service group sound toggle |
| 🖼️ | Profile pictures | Background-loaded for contacts + your own profile in the header |
| 🔔 | Classic ICQ sound | Global 🔔/🔕 toggle + separate group sound control per service |
| ✓✓ | Read receipts | WhatsApp ack states: pending · sent · delivered · read (blue ✓✓) |
| ⌨️ | Typing indicator | Animated tippt… shown live in the chat header |
| 🔍 | Media lightbox | Click any image or video to view fullscreen |
| 🔄 | Live contact list | Unread badges · last message preview · auto-sort by recency |
| 📦 | Portable build | Single .exe — no installation required |
| 🛫 | File Transfer | Drag and Drop and File Dialog Window included |
| 🎮 | Games | Slide a Lama and Pool included for free |
Windows — SmartScreen: Click "More info" → "Run anyway"
No browser is bundled any more - WhatsApp speaks its protocol directly, so it needs no extra Linux runtime deps.
git clone https://github.com/felix-helleckes/ICQ.git
cd ICQ
npm install
npm start
npm start launches the React dev server and Electron simultaneously.
data/telegram.sessionNo API keys or developer accounts needed for either service.
npm run build
# Windows — NSIS installer + Portable
npx electron-builder --win nsis portable
# macOS — DMG (unsigned)
npx electron-builder --mac dmg
# Linux — AppImage + .deb
npx electron-builder --linux AppImage deb
Output goes to the dist/ folder.
├── electron/
│ ├── main.js # Main process · IPC handlers · multi-window management
│ ├── preload.js # contextBridge — exposes window.api to React
│ ├── whatsapp-bridge.js # WhatsApp via Baileys (protocol, no browser)
│ └── telegram-bridge.js # Telegram MTProto via GramJS
├── src/
│ ├── App.js # Sidebar / contact list window
│ ├── ChatApp.js # Per-contact chat window
│ ├── index.css # Global ICQ 5 styles + CSS variables
│ └── components/
│ ├── TitleBar.js # Frameless title bar (minimize / maximize / close)
│ ├── Sidebar.js # Service tabs · contact list · groups · sound controls
│ ├── ChatWindow.js # Messages · emoji picker · media · lightbox · read receipts
│ └── LoginPanel.js # QR + phone login for both services
├── public/
│ ├── icq-logo.png # ICQ logo (app icon source)
│ ├── whatsapp-logo.svg # WhatsApp logo (service tab)
│ ├── telegram-logo.svg # Telegram logo (service tab)
│ ├── icon.ico # Generated Windows app icon
│ └── sounds/
│ └── icq-message.mp3 # Classic ICQ notification sound
└── package.json
BrowserWindow, tracked in a Map and reused on re-openBrowserWindow.getAllWindows().forEach(w => w.webContents.send(...)) keeps sidebar + chat windows in sync instantlyMap), pushed via wa:avatar / tg:avatar events, no re-fetchinggetChats() / getDialogs() return immediately; avatars load in background loopsuseEffect — no memory leakshtml { font-size } set at runtime, all UI sizes in remBigInt before every GramJS API call to prevent silent lookup failuresICQ Retrogram is free and stays free. If you want to chip in, there is a concrete thing the money goes to first:
A code-signing certificate — around €220 a year (OV; EV runs about €280).
Right now every Windows download triggers a SmartScreen warning, because the Windows builds are unsigned (macOS is already signed and notarized). That warning is the single biggest reason people close the page instead of trying the app.
Being precise about what it buys: signing makes the publisher verifiable, which is the prerequisite for SmartScreen to build reputation at all. It is no longer an instant switch — since 2026 even an EV certificate earns trust through download volume rather than flipping the warning off on day one.
Nothing is gated behind it. There is no paid version, no pro tier, and no plan to
add one — see docs/premium-konzept.md for why.