Enterprise SMS verification toolkit for security professionals
Project description
FastRecvSMS
Enterprise SMS verification toolkit for security professionals. Purchase temporary phone numbers and receive SMS verification codes through a unified CLI with multi-provider support.
Features
- Multi-Provider - Unified interface for 5sim.net and SMS-Activate
- Real-Time Monitoring - Live terminal display with animated status while waiting for SMS
- Auto-Wait - Buy a number and automatically wait for the verification code in one command
- Secure Config - API keys stored locally in TOML config, with environment variable overrides
- Rich Terminal UI - Color-coded status, formatted tables, and clear verification code display
- Graceful Interrupts - Ctrl+C during wait offers to cancel or preserve the order
Installation
git clone https://github.com/momenbasel/FastRecvSMS.git
cd FastRecvSMS
pip install -e .
Quick Start
1. Configure a provider
fastrecvsms config set-key 5sim YOUR_API_KEY
Get your key from 5sim.net/settings/security or sms-activate.org.
2. Buy a number and receive SMS
fastrecvsms buy whatsapp --country russia
The tool purchases a number, then waits in real-time until the verification code arrives.
Commands
Account
fastrecvsms balance # Check account balance
fastrecvsms balance -p sms-activate # Balance for specific provider
Services
fastrecvsms services # List all available services
fastrecvsms services russia # Services in a specific country
fastrecvsms services --search whats # Search by name
fastrecvsms services usa -p sms-activate # Specific provider + country
Buy & Receive
fastrecvsms buy telegram # Buy + auto-wait for SMS
fastrecvsms buy instagram --country usa # Specify country
fastrecvsms buy facebook --no-wait # Purchase only, check later
fastrecvsms buy google --timeout 300 # Custom timeout (seconds)
Order Management
fastrecvsms check 387141506 # Check order status
fastrecvsms check 387141506 --wait # Wait for SMS on existing order
fastrecvsms cancel 387141506 # Cancel an order
fastrecvsms cancel 387141506 -y # Cancel without confirmation
fastrecvsms finish 387141506 # Mark order complete
Configuration
fastrecvsms config set-key 5sim KEY # Save API key
fastrecvsms config set-key sms-activate KEY # Save API key
fastrecvsms config set-default sms-activate # Switch default provider
fastrecvsms config show # View current settings
fastrecvsms config path # Config file location
Configuration
Configuration is stored at ~/.config/fastrecvsms/config.toml:
default_provider = "5sim"
default_country = "any"
[providers.5sim]
api_key = "your-5sim-key"
[providers.sms-activate]
api_key = "your-sms-activate-key"
[display]
poll_interval = 5
max_wait_time = 600
Environment Variables
Override config values with environment variables:
| Variable | Description |
|---|---|
FASTRECVSMS_5SIM_API_KEY |
5sim.net API key |
FASTRECVSMS_SMS_ACTIVATE_API_KEY |
SMS-Activate API key |
Environment variables take precedence over the config file.
Supported Providers
| Provider | Website | Notes |
|---|---|---|
| 5sim | 5sim.net | Default. Fast activations, competitive pricing. |
| SMS-Activate | sms-activate.org | 600+ services, 180+ countries, large inventory. |
SMS-Activate Country Names
SMS-Activate uses numeric country codes internally. FastRecvSMS maps common names automatically:
russia, usa, uk, germany, france, india, brazil, turkey,
netherlands, indonesia, philippines, china, canada, spain,
italy, mexico, egypt, nigeria, kenya, australia, japan, ...
Pass a numeric code directly if your country isn't mapped: --country 187
CLI Aliases
Both fastrecvsms and frsms are registered as entry points:
frsms buy telegram --country russia
Programmatic Usage
Import the package directly for scripting:
from fastrecvsms.config import Config
from fastrecvsms.providers import get_provider
config = Config()
provider = get_provider("5sim", config.get_api_key("5sim"))
order = provider.buy_number("whatsapp", "russia")
print(f"Phone: {order.phone}")
result = provider.check_order(order.id)
if result.sms_code:
print(f"Code: {result.sms_code}")
Requirements
- Python 3.9+
- Dependencies: typer, rich, httpx, pydantic, tomli-w
License
MIT License - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastrecvsms-2.0.0.tar.gz.
File metadata
- Download URL: fastrecvsms-2.0.0.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98f1137f751812fbb9cb81466fc5e328f7585149f4b7e04f9f51d499e875414e
|
|
| MD5 |
048d024e6d18ec16a04989bab93eee8f
|
|
| BLAKE2b-256 |
83317ba176ee290e0f0b1a53a315269b08c46b3179d427d1622327f7bd462b04
|
File details
Details for the file fastrecvsms-2.0.0-py3-none-any.whl.
File metadata
- Download URL: fastrecvsms-2.0.0-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ecfb0b5d520b9060a49d5e665f5b604f1d55340f84af0f423b371b73fc44b0fb
|
|
| MD5 |
e72aaceb02bfd0a77883c86e7973e52f
|
|
| BLAKE2b-256 |
a29c2abe37a3c9050b4702d7a2297f99cf46999236dec17635217561f6573d53
|