jsgsm
v1.2.0
Published
A full-featured CLI tool for sending, receiving, and managing SMS via GSM modem (Huawei, Wavecom, Quectel, etc)
Downloads
6
Maintainers
Readme
JSGSM CLI
A full-featured command-line tool for managing SMS via GSM modems (Huawei, Wavecom, Quectel, etc).
📦 Installation
Install globally via NPM:
npm install -g jsgsmRequires Node.js and a supported GSM modem connected via serial/USB.
📖 Usage
jsgsm <command> [options]Core Commands
| Command | Description |
| ------------------------------------------ | --------------------------------------------------- |
| --help | Show help / usage |
| --version | Print CLI version |
| --about | Show about & developer info |
| --listport | List available serial ports |
| --read <COM> | Read all SMS (text mode) |
| --readunread <COM> | Read unread SMS only |
| --readall <COM> | Read SMS from all storage (SM, ME, MT) |
| --jsonout <COM> | Output SMS as JSON |
| --backup <COM> | Save SMS to sms_backup.json |
| --monitor <COM> | Real-time SMS monitoring |
| --send <COM> <number> <message> | Send SMS (text mode) |
| --delete <COM> <index> | Delete SMS by index |
| --sendcmd <COM> <AT command> | Send raw AT command |
| --sendpdu <COM> <PDU> <length> | Send SMS in PDU mode |
| --pduencode <number> <message> [options] | Encode PDU string (customizable) |
| --at <COM> <AT command> | Alias for --sendcmd |
| --contacts <COM> | List SIM contacts |
| --siminf <COM> | Show SIM & network info via AT commands |
| --init <COM> | Initialize modem (disable echo, set text mode, etc) |
| --pin <COM> <PIN> | Enter SIM PIN if required |
| --ussd <COM> <code> | Send USSD code |
| --balance <COM> | Check balance via USSD (*888#) |
| --config <COM> [options] | Configure APN, dial, auth, network mode, etc. |
--pduencode Options
Customize PDU parameters:
--smsc <hex> SMSC address (default: 00)
--mti <hex> Message Type Indicator (default: 11)
--mr <hex> Message Reference (default: 00)
--pid <hex> Protocol ID (default: 00)
--dcs <hex> Data Coding Scheme (default: 00)
--vp <hex> Validity Period (default: A7)Example:
jsgsm --pduencode "08123456789" "Hello" --smsc 07911326040010F0 --vp 05⚙️ Configuration
Use --config to set up APN, dial number, credentials, connection & network mode:
jsgsm --config COM3 --apn telkomsel --static --dial *99# \
--user wap --pass wap123 --conn RAS --net HSDPA🛠️ Requirements
- Node.js v14+ (ES Modules support)
- A supported GSM modem
- npm dependencies installed via
npm install
🤝 Contributing
Feel free to open issues or pull requests on the GitHub repository.
👤 Developer
RasiTech
