Skip to main content

๐Ÿ”ฅ BBQR - The hottest terminal-based QR code generator that grills your data to perfection!

Project description

๐Ÿ”ฅ BBQR (Barbequer) - QR Code Generator ๐Ÿ”ฅ

Welcome to BBQR (pronounced "barbequer"), the hottest terminal-based QR code generator that grills your data to perfection!

๐Ÿ– Features

BBQR can handle all your QR code grilling needs:

Core QR Generation

  • ๐ŸŒ URLs - Grill web links into scannable codes
  • ๐Ÿ“ Text - Smoke any text into QR perfection
  • ๐Ÿ–ผ๏ธ Images - Convert images to base64 QR codes
  • ๐Ÿ“‹ Clipboard - Automatically grab clipboard content
  • ๐Ÿ”„ Piped Input - Accept data from pipes and redirects

WiFi QR Codes (Cross-Platform)

  • ๐Ÿ“ถ Saved WiFi Profiles:
    • Windows: Uses netsh commands
    • macOS: Reads from keychain
    • Linux: Uses NetworkManager
  • ๐Ÿฅฉ Manual WiFi Entry: Enter SSID, password, security type
  • Supports WPA/WPA2, WEP, and Open networks

File Operations

  • โฌ†๏ธ File Upload: Upload files to 0x0.st with QR download codes
  • ๐Ÿ“ฆ Large File Support: Automatic chunking for files >512MB
  • ๐Ÿ”— Parallel Processing: Multi-threaded uploads/downloads
  • โฐ Auto-Expiration: Files removed after 30 days

Advanced Features

  • ๐Ÿ‘€ File Watching: Auto-generate QR codes when files change
  • ๐Ÿ“‚ Multi QR Generation: Process multiple lines from files
  • ๐Ÿ” QR Code Reader: Decode and handle various QR content types
  • ๐ŸŽจ BBQ Theme: Colorful, fun interface with ASCII art

๐Ÿ”ง Installation

Prerequisites

  • Python 3.7 or higher
  • Cross-platform support (Windows, macOS, Linux)

Quick Setup

  1. Clone or download this repository:

    git clone <repository-url>
    cd bbqr
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Start grilling:

    python bbqr.py
    

๐Ÿš€ Usage

Command Line Options

# Basic QR generation
python bbqr.py --url "https://github.com"
python bbqr.py --text "Hello, World!"
python bbqr.py --image photo.jpg
python bbqr.py --clipboard
python bbqr.py --wifi

# File operations
python bbqr.py --file document.pdf
python bbqr.py --read qrcode.png

# Advanced features
python bbqr.py --watch notes.txt
python bbqr.py --multi urls.txt
python bbqr.py --watch journal.md --output qr_codes/

# Options
python bbqr.py --text "Hello" --size 15 --save --copy
python bbqr.py --url "https://github.com" --save

# Piped input
echo "Secret message" | python bbqr.py
date | python bbqr.py --save
curl -s https://api.github.com/users/octocat | python bbqr.py

Interactive Mode

Run without arguments for the BBQ-themed menu:

python bbqr.py

You'll see a beautiful interface:

๐Ÿ”ฅ Welcome to BBQR - The Barbequer! ๐Ÿ”ฅ
Time to grill your data into delicious QR codes!
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

๐Ÿ– Interactive Mode - What would you like to grill?
1. ๐ŸŒ URL
2. ๐Ÿ“ Text
3. ๐Ÿ–ผ๏ธ  Image
4. ๐Ÿ“‹ Clipboard
5. ๐Ÿ›œ  WiFi
6. โฌ†๏ธ  Upload File
7. ๐Ÿ‘€ Watch File
8. ๐Ÿ“‚ Multi QR from File
9. ๐Ÿ” Read QR Code

๐Ÿ’พ Output Options

๐Ÿ–ฅ๏ธ Terminal Display (Always)

  • Dark/Light Mode Compatible: Uses ASCII blocks optimized for both themes
  • Instant Preview: See your QR code immediately without files
  • Beautiful ASCII Art: Clean, scannable terminal QR codes

๐Ÿ’พ File Saving (Optional)

  • Auto-generated filenames: bbqr_[type]_[YYYYMMDD_HHMMSS].png
  • Safe naming: No overwriting, proper extensions
  • Multiple formats supported: PNG output for all QR types

๐Ÿ“ถ WiFi QR Codes

Cross-Platform Profile Support

Windows:

  • Uses netsh wlan show profiles to list saved networks
  • Retrieves passwords with netsh wlan show profile key=clear

macOS:

  • Reads from system keychain using security command
  • Falls back to networksetup for profile listing

Linux:

  • Uses NetworkManager (nmcli) for profile management
  • Falls back to /etc/wpa_supplicant/wpa_supplicant.conf

Manual WiFi Setup

For new networks or when automatic retrieval fails:

  1. Enter SSID (network name)
  2. Select security type (WPA/WPA2, WEP, Open)
  3. Enter password if required

Generated QR codes work with all modern smartphones!

๐Ÿ“ File Upload & Sharing

BBQR integrates with 0x0.st for easy file sharing:

Features

  • Large File Support: Automatic chunking for files >512MB
  • Parallel Processing: Multi-threaded uploads/downloads
  • Progress Tracking: Real-time progress bars
  • Integrity Checking: SHA256 hash verification
  • Auto-Cleanup: Temporary files automatically removed

How It Works

  1. Upload file to 0x0.st (30-day expiration)
  2. Generate QR code containing download information
  3. Scan QR code to download and reassemble file
  4. Automatic integrity verification

๐Ÿ” QR Code Reading

BBQR can decode various QR code types:

WiFi QR Codes

  • Displays network name, security type, password
  • Can automatically connect on Windows
  • Supports standard WiFi QR format

File Upload QR Codes

  • Shows file info (name, size, chunks)
  • Downloads and reassembles automatically
  • Verifies file integrity

Image QR Codes

  • Extracts base64-encoded images
  • Saves to Pictures directory
  • Supports multiple image formats

Text/URL QR Codes

  • Displays content with formatting
  • Opens URLs in browser
  • Copies content to clipboard

๐Ÿ‘€ File Watching

Monitor files for changes and auto-generate QR codes:

# Watch file with default output
python bbqr.py --watch notes.txt

# Custom output location
python bbqr.py --watch journal.md --output qr_codes/journal_qr.png

# Custom QR size
python bbqr.py --watch data.txt --size 15

Uses cross-platform file watching (falls back to polling if needed).

๐Ÿ“‚ Multi QR Generation

Generate QR codes from multiple lines in a file:

python bbqr.py --multi urls.txt
python bbqr.py --multi contact_list.txt --size 12

Creates numbered QR code files in a qrcodes/ directory.

๏ฟฝ Technical Details

Dependencies

  • qrcode[pil]: QR code generation
  • Pillow: Image processing
  • pyperclip: Clipboard operations
  • colorama: Cross-platform colored output
  • watchdog: File monitoring
  • pyzbar: QR code decoding
  • requests: HTTP operations for file upload

File Structure

bbqr.py              # Main script
requirements.txt     # Dependencies
README.md           # This file
QUICKSTART.md       # Quick start guide
LICENSE             # MIT License

Performance

  • Multi-threaded file operations
  • Efficient chunking algorithm
  • Memory-conscious processing
  • Progress tracking for long operations

๐ŸŽจ BBQ Theme

BBQR uses a fun BBQ theme throughout:

  • ๐Ÿ”ฅ Fire emojis for active operations
  • ๐Ÿฅฉ Meat emojis for success messages
  • ๐Ÿ’จ Smoke emojis for info messages
  • ๐Ÿ’ฅ Explosion emojis for errors
  • BBQ-themed terminology ("grilling", "smoking", "cooking")

๐Ÿ”ฅ Examples

Basic Usage

# Quick URL QR
python bbqr.py -u "https://example.com"

# Text with custom size
python bbqr.py -t "Meeting at 3PM" -s 12

# Clipboard content
python bbqr.py -c

Advanced Usage

# File upload with save
python bbqr.py --file presentation.pdf --save

# Watch file with custom output
python bbqr.py --watch todo.txt --output ~/Desktop/todo_qr.png

# Multi QR generation
python bbqr.py --multi contact_list.txt

# Read and handle QR code
python bbqr.py --read wifi_qr.png

Piped Usage

# From file
cat secret.txt | python bbqr.py

# From command output
date | python bbqr.py --save

# Chain commands
curl -s https://api.github.com/users/octocat | python bbqr.py --copy

๐Ÿ’ก Tips

  • QR codes display directly in terminal using ASCII art
  • Use --save to create PNG files with auto-generated names
  • Larger --size values create more detailed QR codes
  • WiFi QR codes work with most modern smartphones
  • File watching supports both real-time monitoring and polling fallback
  • Multi QR generation creates organized numbered files
  • QR reading handles multiple content types intelligently

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add your BBQ-themed improvements
  4. Test thoroughly across platforms
  5. Submit a pull request

๐Ÿ“„ License

MIT License - Feel free to grill this code however you like!


Happy Grilling! ๐Ÿ”ฅ๐Ÿ–๐Ÿ”ฅ

"Where data meets the grill, and QR codes are always perfectly cooked!"

๐Ÿ”ง Installation

Prerequisites

  • Python 3.7 or higher
  • Windows OS (for WiFi profile management)

Quick Setup

  1. Clone or download this repository:

    git clone <repository-url>
    cd bbqr
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Make it executable (optional):

    pip install -e .
    

๐Ÿš€ Usage

Command Line Options

# Generate QR from URL
python bbqr.py --url https://github.com

# Generate QR from text
python bbqr.py --text "Hello, World!"

# Generate QR from image
python bbqr.py --image photo.jpg

# Generate QR from clipboard
python bbqr.py --clipboard

# Generate WiFi QR code
python bbqr.py --wifi

# Piped input
echo "Secret message" | python bbqr.py

# Custom size and auto-save with timestamp
python bbqr.py --text "Hello" --size 15 --save

# Save any QR code with auto-generated filename (works with all input types)
python bbqr.py --url "https://github.com" --save
python bbqr.py --wifi --save

๐Ÿ’พ Output Functionality

BBQR has a safe dual output system:

๐Ÿ–ฅ๏ธ Terminal Display (Always)

  • Dark Mode Compatible: Uses white blocks that show clearly on dark backgrounds
  • Light Mode Compatible: Uses proper spacing for light backgrounds
  • ASCII Art: Beautiful terminal-based QR code display
  • Instant View: See your QR code immediately without opening files

Interactive Mode

Run without arguments for interactive mode:

python bbqr.py

You'll see a beautiful BBQ-themed menu:

๐Ÿ”ฅ Welcome to BBQR - The Barbequer! ๐Ÿ”ฅ
Time to grill your data into delicious QR codes!
โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”

๐Ÿ– Interactive Mode - What would you like to grill?
1. ๐ŸŒ URL
2. ๐Ÿ“ Text
3. ๐Ÿ–ผ๏ธ  Image
4. ๐Ÿ“‹ Clipboard
5. ๐Ÿ“ถ WiFi

WiFi QR Codes

The WiFi feature offers two grilling methods:

๐Ÿ”ฅ Saved WiFi Profiles

  • Automatically discovers all saved Windows WiFi profiles
  • Retrieves stored passwords using Windows netsh
  • One-click QR generation for known networks

๐Ÿฅฉ Manual WiFi Entry

  • Enter SSID, security type, and password manually
  • Supports WPA/WPA2, WEP, and Open networks
  • Perfect for sharing guest networks

๐Ÿ“ฑ WiFi QR Code Format

Generated WiFi QR codes use the standard format:

WIFI:T:WPA;S:NetworkName;P:password;;

When scanned, devices will automatically prompt to join the network!

๐ŸŽจ BBQ Theme

BBQR brings the heat with:

  • ๐Ÿ”ฅ Fire emojis for emphasis
  • ๐Ÿฅฉ Meat-themed progress indicators
  • ๐Ÿ– Grill terminology throughout
  • ๐Ÿ’จ Smoke effects for processing

๐Ÿ”ง Technical Details

Dependencies

  • qrcode[pil] - QR code generation with PIL imaging
  • Pillow - Image processing
  • pyperclip - Clipboard access
  • click - Command-line interface enhancements
  • colorama - Cross-platform colored terminal text

Windows WiFi Integration

Uses Windows netsh command for:

  • Listing saved WiFi profiles
  • Retrieving stored passwords
  • No additional dependencies required

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Add your BBQ-themed improvements
  4. Test thoroughly
  5. Submit a pull request

๐Ÿ“„ License

MIT License - Feel free to grill this code however you like!

๐Ÿ”ฅ Examples

Basic Usage

# Quick URL QR
python bbqr.py -u "https://example.com"

# Text with custom size
python bbqr.py -t "Meeting at 3PM" -s 12

# Clipboard content
python bbqr.py -c

Piped Usage

# From file
cat secret.txt | python bbqr.py

# From command output
date | python bbqr.py

# Chain commands
curl -s https://api.github.com/users/octocat | python bbqr.py

WiFi Sharing

# Interactive WiFi setup
python bbqr.py --wifi

# This will show:
# 1. ๐Ÿ”ฅ Use saved WiFi profile
# 2. ๐Ÿฅฉ Add new WiFi credentials

๐Ÿ’ก Tips

  • QR codes are displayed directly in the terminal using ASCII art
  • Use --output to save QR codes as image files
  • Larger --size values create more detailed QR codes
  • WiFi QR codes work with most modern smartphones
  • Pipe any command output to instantly create QR codes

Happy Grilling! ๐Ÿ”ฅ๐Ÿ–๐Ÿ”ฅ

"Where data meets the grill, and QR codes are always perfectly cooked!"

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

bbqr-0.1.0.tar.gz (36.9 kB view details)

Uploaded Source

Built Distribution

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

bbqr-0.1.0-py3-none-any.whl (35.9 kB view details)

Uploaded Python 3

File details

Details for the file bbqr-0.1.0.tar.gz.

File metadata

  • Download URL: bbqr-0.1.0.tar.gz
  • Upload date:
  • Size: 36.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for bbqr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8efc7e3ff184814710c5d9725366f9c02a1700d0805d513cb68b7c62bcec6030
MD5 4051408d94b8d61907d49b95e749f5ea
BLAKE2b-256 f0d658d2f17170ad7f85b399d38069fd80cd86e3a7e8495b7cee3610ab2aea0f

See more details on using hashes here.

File details

Details for the file bbqr-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: bbqr-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 35.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.1

File hashes

Hashes for bbqr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6dc458b53effce29fcb50cf3ec292397abec0feb52f6731049cad77139ae2333
MD5 c753aa568300fde30a69ee2ba7ecbfa6
BLAKE2b-256 4865fe61b88e44c4e9e46c545a3c18f2b51b661486c2baedfd8a878124ee1ca7

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