Skip to content

A modern desktop GUI client for managing and connecting to paqet proxy configurations πŸš€

License

Notifications You must be signed in to change notification settings

AliRezaBeigy/paqetN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

28 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

paqetN

paqetN Banner

License: MIT Qt Version Platform Build Status

Features β€’ Installation β€’ Building β€’ Documentation β€’ Contributing


Overview

paqetN is a feature-rich desktop application for managing paqet proxy configurations. Built with Qt 6 and QML, it provides an intuitive Microsoft Fluent Design interface for configuring, connecting, and monitoring your packet-level proxy connections.

The application runs paqet in SOCKS-only mode, allowing you to easily route your browser or system traffic through 127.0.0.1:<port>.

Features

Core Functionality

  • Configuration Management: Add, edit, delete, and organize proxy configurations
  • Quick Connect: One-click connection to any saved profile
  • Real-time Monitoring: Live log viewer showing paqet stdout/stderr
  • Latency Testing: Test proxy connection speed before connecting
  • Import/Export: Support for paqet:// URLs, JSON, and YAML formats

Advanced Features

  • Auto-Update System: Automatic updates for both paqetN and paqet binary
  • Group Organization: Organize configs into collapsible groups
  • Clipboard Integration: Quick import from clipboard
  • File Import/Export: Import configs from files or export for backup
  • Theme Support: Dark, Light, and System theme modes
  • Single Instance Guard: Prevents multiple instances running simultaneously
  • High-DPI Support: Crisp UI on high-resolution displays

User Interface

  • Microsoft Fluent Design: Modern, polished UI using FluentUI framework
  • Card-Based Layout: Intuitive grid view for configuration browsing
  • Detail Panel: Quick access to config details and actions
  • Settings Page: Centralized configuration for app preferences
  • Log Management: Word wrap, export, copy, and clear log functionality

Installation

Pre-built Binaries

Download the latest release for your platform from the Releases page.

Windows

  1. Download paqetN-windows-x64.zip
  2. Extract and run apppaqetN.exe
  3. Ensure paqet.exe is in the same directory or in your PATH

Linux

# Download and extract
wget https://github.com/AliRezaBeigy/paqetN/releases/latest/download/paqetN-linux-x64.tar.gz
tar -xzf paqetN-linux-x64.tar.gz

# Run
./apppaqetN

macOS

# Download and mount DMG
# Drag paqetN.app to Applications folder

paqet Binary Requirement

paqetN requires the paqet proxy binary to function. The application can automatically download it for you:

  1. Auto-Download (Recommended): Navigate to Updates page and click "Download & Install" for paqet
  2. Manual Download: Get pre-built binaries from paqet releases
  3. Build from source: See docs/BUILDING.md
  4. Configure path: Set custom paqet binary path in Settings

Building

Quick Start

# Clone repository with submodules
git clone --recursive https://github.com/AliRezaBeigy/paqetN.git
cd paqetN

# Configure (adjust Qt path as needed)
export CMAKE_PREFIX_PATH=/path/to/Qt/6.8/gcc_64
cmake -B build

# Build
cmake --build build

# Run
./build/apppaqetN

Detailed Instructions

See docs/BUILDING.md for comprehensive build instructions including:

  • Platform-specific requirements
  • Qt installation and configuration
  • Compiler setup (especially Windows/MinGW)
  • Building paqet from source
  • Running tests
  • Deployment and packaging

Usage

Getting Started

  1. Launch paqetN: Run the application executable
  2. Add a Configuration:
    • Click Add button or Import from Clipboard
    • Paste a paqet://... URL or enter details manually
    • Click Add to save
  3. Connect to Proxy:
    • Select a configuration from the grid
    • Click Connect in the detail panel
    • Configure your browser/system to use SOCKS5 proxy: 127.0.0.1:<port>
  4. Monitor Connection:
    • View real-time logs in the Logs page
    • Test latency using the Test button
  5. Disconnect: Click Disconnect to stop the proxy

Settings

Access settings via the Settings navigation item:

  • Theme: Dark, Light, or System (follows OS theme)
  • SOCKS Port: Default local port for proxy (default: 1284)
  • Connection Check URL: URL for latency testing
  • Log Level: Debug, Info, Warn, or Error
  • paqet Binary Path: Custom path to paqet executable (optional)

Data Storage

  • Configurations: Stored in configs.json at:
    • Windows: %APPDATA%/paqetN/configs.json
    • Linux: ~/.local/share/paqetN/configs.json
    • macOS: ~/Library/Application Support/paqetN/configs.json
  • Settings: Platform-specific (QSettings):
    • Windows: Registry or INI file
    • Linux: ~/.config/paqetN/paqetN.conf
    • macOS: ~/Library/Preferences/paqetN.plist

Documentation

Development

Prerequisites

  • Qt 6.8+ (Quick, Network, Widgets, Svg, PrintSupport modules)
  • CMake 3.20+
  • C++17 compiler (GCC 9+, Clang 10+, MSVC 2019+, or MinGW 13.1+)

Project Structure

paqetN/
β”œβ”€β”€ .github/          # GitHub workflows and templates
β”œβ”€β”€ 3rdparty/         # FluentUI dependency
β”œβ”€β”€ docs/             # Documentation
β”œβ”€β”€ qml/              # QML UI files
β”‚   β”œβ”€β”€ components/   # Reusable UI components
β”‚   β”œβ”€β”€ dialogs/      # Dialog windows
β”‚   β”œβ”€β”€ pages/        # Main pages
β”‚   └── Main.qml      # Root window
β”œβ”€β”€ scripts/          # Build scripts
β”œβ”€β”€ src/              # C++ source files
β”œβ”€β”€ tests/            # Unit and UI tests
└── CMakeLists.txt    # CMake configuration

Running Tests

cd build
ctest -V

# Or run directly with verbose output
./tst_paqetn -v2

Tests cover:

  • Configuration parsing and serialization
  • Repository CRUD operations
  • Log buffer management
  • Qt model interface
  • Controller orchestration
  • UI smoke tests

Contributing

We welcome contributions! Please see CONTRIBUTING.md for:

  • Code of conduct
  • Development setup
  • Coding standards
  • Testing guidelines
  • Pull request process

Technology Stack

  • Qt 6: Cross-platform application framework
  • QML: Declarative UI
  • FluentUI: Microsoft Fluent Design System for Qt
  • QuaZip: Qt/C++ wrapper for ZIP/UNZIP
  • CMake: Build system
  • C++17: Backend implementation
  • Qt Test: Testing framework

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • paqet - The packet-level proxy this client manages
  • FluentUI - Fluent Design System for Qt
  • QuaZip - Qt wrapper for ZIP archives
  • Qt Project - Cross-platform application framework

Support


Made with ❀️ using Qt and FluentUI

Report Bug Β· Request Feature Β· Documentation

About

A modern desktop GUI client for managing and connecting to paqet proxy configurations πŸš€

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors