A simple message can connect worlds with a single command
A professional command-line tool for interacting with SMS.ir APIs, featuring both a command-line interface (CLI) and an interactive terminal user interface (TUI).
- 🎨 Interactive UI: Modern terminal interface with smooth animations and intuitive navigation
- 📤 Send SMS Messages: Send bulk SMS messages via command-line or interactive UI
- 📊 Dashboard & Statistics: View your credit balance and available lines in real-time
- 🌐 Full Persian/Farsi Support: Proper UTF-8 handling for Persian text input and display
- 🔧 Easy Configuration: Simple setup and management of API credentials
- 🎯 Dual Interface: Choose between CLI commands or interactive TUI mode
-
Clone the repository:
git clone https://github.com/SaneiyanReza/smsir-cli.git cd smsir-cli -
Build the project:
go build -o smsir cmd/smsir
-
Install globally (optional):
# On Linux/macOS sudo mv smsir /usr/local/bin/ # On Windows, add to PATH
First, set up your API credentials:
smsir config set --api-key YOUR_SMS.ir_API_KEY --line YOUR_LINE_NUMBEROr use the interactive configuration:
smsir menu
# Then select "🔧 Configure API Key & Line Number"# Send to a single number
smsir send -m "Hello World" -t "09120000000"
# Send to multiple numbers
smsir send -m "Hello" -t "09120000000,09121111111"
# With custom line number
smsir send -m "Test" -t "09120000000" -l 90001234smsir creditsmsir linessmsir config showsmsir config validateLaunch the interactive menu:
smsir menuThe interactive menu provides:
- 🔧 Configure API Key & Line Number: Step-by-step configuration wizard
- 📤 Send SMS: Interactive SMS sending with Persian text support
- 📊 Dashboard: Real-time view of credit and available lines
- 💻 Command Line Mode: Quick access to command help
| Command | Description | Flags |
|---|---|---|
config |
Configuration management | set, show, validate |
send |
Send SMS message | -m, --message, -t, --to, -l, --line |
credit |
Show current credit balance | - |
lines |
Show available lines | - |
menu |
Launch interactive menu | - |
Manage your API configuration.
# Set API credentials
smsir config set --api-key YOUR_SMS.ir_KEY --line YOUR_LINE
# Show current configuration (masked)
smsir config show
# Validate configuration
smsir config validateSend SMS messages to one or more recipients.
Required flags:
-m, --message: Message text to send-t, --to: Comma-separated list of mobile numbers
Optional flags:
-l, --line: Line number (uses configured line if not provided)
Examples:
# Basic usage
smsir send -m "Hello from SMS.ir CLI" -t "09120000000"
# Multiple recipients
smsir send -m "Bulk message" -t "09120000000,09111111111"
# With Persian text (use quotes)
smsir send -m "سلام دنیا" -t "09120000000"Display your current SMS credit balance.
smsir credit
# Output: 💰 Current Credit: 1000 SMSList all available line numbers.
smsir lines
# Output: 📞 Available Lines:
# 1. 90001234
# 2. 9981234The dashboard provides a real-time view of:
- 💰 Current credit balance
- 📞 Available line numbers
- 🔄 Refresh capability (press
r)
The interactive SMS sending interface features:
- Step-by-step wizard
- Persian/Farsi text input support
- Clipboard paste support (Ctrl+V)
- Real-time validation
- Success/error feedback with detailed results
Easy setup with:
- Secure input handling
- Validation feedback
- Progress indicators
Go to the Releases page and download the binary for your OS:
| OS | File |
|---|---|
| Windows | smsir-cli-windows.exe |
| Linux | smsir-cli-linux |
| macOS | smsir-cli-macos |
- Go 1.21 or higher
- SMS.ir API credentials
# Clone the repository
git clone https://github.com/SaneiyanReza/smsir-cli.git
cd smsir-cli
# Install dependencies
go mod download
# Build
go build -o smsir cmd/smsir
# Run
./smsir --helpContributions are welcome! Please feel free to submit a Pull Request. Here's how:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- SMS.ir for providing the SMS API
- Cobra for CLI framework
- Bubbletea for TUI framework
- Lipgloss for styling
If you have any questions or encounter issues:
- Open an issue on GitHub
- Check the SMS.ir API Documentation
A simple message can connect worlds with a single command 🌍
Made with ❤️ using Go