QBrowser is an innovative browser extension that revolutionizes command execution by providing an intelligent, context-aware interface for running commands across different platforms and applications.
- Cross-Platform Command Execution: Run commands seamlessly across various environments
- Intelligent Context Parsing: Automatically understands and suggests relevant commands
- Secure Command Management: Advanced security and permission handling
- Extensible Architecture: Easily extendable to support new command types and integrations
graph TD
A[Browser Extension] --> B[Background Service]
B --> C[Command Processor]
B --> D[Security Manager]
C --> E[Platform Adapters]
E --> F[Local System]
E --> G[Remote Systems]
D --> H[Permission Controller]
D --> I[Credential Manager]
sequenceDiagram
participant User
participant Extension
participant BackgroundService
participant CommandProcessor
participant PlatformAdapter
participant System
User->>Extension: Trigger Command
Extension->>BackgroundService: Send Command Request
BackgroundService->>CommandProcessor: Parse Command
CommandProcessor->>PlatformAdapter: Select Appropriate Adapter
PlatformAdapter->>System: Execute Command
System-->>PlatformAdapter: Return Result
PlatformAdapter-->>BackgroundService: Relay Output
BackgroundService-->>Extension: Display Results
- Browser Extension: Developed using Web Extensions API
- Backend: Node.js WebSocket and REST API server
- Security: API key-based authentication
- Cross-Platform Support: Python-based command transmission
-
Background Service (
background.js
)- Manages Chrome extension lifecycle
- Handles WebSocket communication
- Implements command processing and routing
- Provides logging and notification mechanisms
- Manages browser tab and screenshot interactions
-
Server Module (
server.js
)- Implements WebSocket and REST API endpoints
- Manages in-memory command queue
- Provides API key authentication
- Handles command processing and result tracking
- Implements answer cleanup and expiration
-
Command Sending Mechanism (
send_command.py
)- Python CLI for sending browser automation commands
- Supports various actions: screenshots, HTML retrieval/sending
- Implements request tracking and polling
- Provides comprehensive logging
- Handles base64 screenshot saving
- Implement strict permission controls
- Secure credential management
- Sandboxed command execution environment
- Comprehensive logging and audit trails
- Modern web browser (Chrome, Firefox, Edge)
- Python 3.8+
- Node.js 14+
- Clone the repository
- Install dependencies:
npm install
- Load extension in browser's developer mode
- Configure platform-specific settings
- Fork the repository
- Create feature branches
- Submit pull requests
- Follow coding standards and security guidelines
Software License Agreement
This software is provided under a flexible licensing model that encourages innovation while protecting core intellectual property.
-
Use:
- Free for non-commercial and personal use
- Commercial use requires a separate licensing agreement
- Educational and research institutions welcome
-
Modification:
- Users may modify the software for personal or internal use
- Derivative works must acknowledge the original source
- Major modifications should be contributed back to the community
-
Distribution:
- Redistribution allowed with attribution
- Must include original copyright notice
- No warranty is implied or provided
- Commercial exploitation requires written permission
- Core algorithms and unique implementations remain proprietary
- Trademark usage is not permitted without explicit consent
- Original source code and unique implementations are property of Quantalogic
- Contributions may be incorporated into future versions
We encourage:
- Bug reports and feature suggestions
- Community-driven improvements
- Responsible disclosure of security issues
For licensing inquiries or collaboration:
- Email: [email protected]
- GitHub: Quantalogic Open Source
© 2025 Quantalogic. Some Rights Reserved.
Inspired by the spirit of open innovation
For issues, feature requests, or contributions, please open a GitHub issue or contact the maintainers.