Skip to content

artemchik12/node-icq-server

 
 

Repository files navigation

node-icq-server

A self-hostable ICQ server. Written in JavaScript.

Features

Core Protocol

  • Dual Authentication — MD5 (BUCP) + XOR Roasting
  • FLAP/SNAC/TLV — Full binary protocol implementation
  • Rate Limiting — Proper rate response for strict clients

Messaging

  • Channel 1 — Plain text messages (ASCII, UTF-8, UTF-16, CP1251)
  • Channel 2 — Rendezvous / Extended messages
  • Channel 4 — Old-style ICQ messages
  • Message ACK — Server acknowledgement support

Contacts & Presence

  • SSI (Server-Side Information) — Full contact list management
    • Add / Update / Delete contacts and groups
    • Persistent storage in SQLite
    • SSI Activate handling
    • SSI Check with "no changes" optimization
  • Buddy Statuses — Real-time online/offline notifications
  • Standard Statuses — Online, Away, DND, NA, Occupied, Free for Chat, Invisible
  • X-Statuses — Angry, Depression, At Home, At Work, etc.
  • Extended Statuses — Mood, status notes via BART (TLV 0x001D)
  • Capabilities — Full TLV passthrough for client compatibility
  • Search by UIN (QIP 2005 only for now)

Needs to be implemented/fixed

  • Full user info support

Client Compatibility

Client Version Auth Method Status
QIP 2005 Build 8095+ XOR (Roasted) ✅ Full
QIP Infium 9040+ MD5 (BUCP) ✅ Full
Pidgin Any MD5 ✅ Full
Jimm Any XOR(?) ✅ Full
QIP 2012 Any MD5 ✅ Full
D[i]chat Any MD5(?) ✅ Full

Installation

Caution

PLEASE CONFIGURE THE SERVER IN CONFIG.JS | ПОЖАЛУЙСТА ПРОИЗВЕДИТЕ КОНФИГУРАЦИЮ СЕРВЕРА В config.js

git clone https://github.com/Artemchik-Development/node-icq-server.git
cd node-icq-server
npm install
node server.js

User registration

Tip

Use the built-in web frontend to register users easily.

# Basic registration
node database.js add 1000 password

# Full registration with details
node database.js add 1000 mypass Alice Alice Smith alice@mail.com

# List all users
node database.js list

# Search users
node database.js search Alice

# Delete user
node database.js del 1000

Made with ❤️ for the ICQ community

About

A self-hostable ICQ server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 100.0%