{"id":20433963,"url":"https://github.com/cable8mm/qr-images","last_synced_at":"2026-07-02T21:00:36.485Z","repository":{"id":209235842,"uuid":"723544720","full_name":"cable8mm/qr-images","owner":"cable8mm","description":"A command-line tool to generate WiFi connection QR codes from CSV files.","archived":false,"fork":false,"pushed_at":"2026-07-02T19:28:12.000Z","size":322,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-02T20:27:26.848Z","etag":null,"topics":["automation","batch-processing","cli","command-line-tool","csv","php","qr-code","qr-generator","wifi"],"latest_commit_sha":null,"homepage":"https://www.palgle.com/qr-images/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cable8mm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-26T02:03:58.000Z","updated_at":"2026-07-02T19:28:16.000Z","dependencies_parsed_at":"2023-12-29T23:30:02.053Z","dependency_job_id":"39f8a996-fa9b-46f0-8ad3-098a325a5431","html_url":"https://github.com/cable8mm/qr-images","commit_stats":null,"previous_names":["cable8mm/qr-images"],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/cable8mm/qr-images","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fqr-images","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fqr-images/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fqr-images/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fqr-images/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cable8mm","download_url":"https://codeload.github.com/cable8mm/qr-images/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cable8mm%2Fqr-images/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35062689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-02T02:00:06.368Z","response_time":173,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","batch-processing","cli","command-line-tool","csv","php","qr-code","qr-generator","wifi"],"created_at":"2024-11-15T08:23:06.123Z","updated_at":"2026-07-02T21:00:36.479Z","avatar_url":"https://github.com/cable8mm.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"## About QR Images\n\n[![code-style](https://github.com/cable8mm/qr-images/actions/workflows/code-style.yml/badge.svg)](https://github.com/cable8mm/qr-images/actions/workflows/code-style.yml)\n[![run-tests](https://github.com/cable8mm/qr-images/actions/workflows/run-tests.yml/badge.svg)](https://github.com/cable8mm/qr-images/actions/workflows/run-tests.yml)\n![Packagist Version](https://img.shields.io/packagist/v/cable8mm/qr-images)\n![Packagist Downloads](https://img.shields.io/packagist/dt/cable8mm/qr-images)\n![Packagist Dependency Version](https://img.shields.io/packagist/dependency-v/cable8mm/qr-images/php)\n![Packagist Dependency Version](https://img.shields.io/packagist/dependency-v/cable8mm/qr-images/symfony%2Fconsole)\n![Packagist Stars](https://img.shields.io/packagist/stars/cable8mm/qr-images)\n![Packagist License](https://img.shields.io/packagist/l/cable8mm/qr-images)\n\nQR Images is a tool for converting WiFi connection information to QR codes.\n\nWe have provided the API Documentation on the web. For more information, please visit https://www.palgle.com/qr-images/ ❤️\n\n## Installation\n\n```sh\ncomposer create-project cable8mm/qr-images INSTALLED_FOLDER\n```\n\nYou have the flexibility to change INSTALLED_FOLDER to suit your preferences.\n\n## Usage\n\n### Basic Usage\n\n```sh\n# Rename example CSV file\nmv resources/SSID_QR_TEST.csv resources/SSID_QR.csv\n\n# Run the command\nbin/application save-image\n\n# Select export type (0-3)\n# 0: eps, 1: fpdf, 2: png, 3: svg\n\n# Find generated QR codes\ncd resources/export\nls\n```\n\n### Multiple CSV Files\n\nQR Images now supports processing multiple CSV files:\n\n```sh\n# Process a specific CSV file\nbin/application save-image custom_wifi.csv\n\n# Process multiple CSV files\nbin/application save-image --file=office.csv --file=home.csv\n\n# Process all CSV files in resources directory\nbin/application save-image --all\n\n# Process with wildcards\nbin/application save-image \"data/*.csv\"\n```\n\n### CSV File Format\n\nYour CSV file should have the following format (3 columns minimum):\n\n```csv\n1,WIFI:S:SK_WiFiGIGADDF0_5G;T:WPA;P:JSV38@6701;;,WIFI:S:SK_WiFiGIGADDF0_2.4G;T:WPA;P:JSV38@6701;;\n2,WIFI:S:SK_WiFiGIGADDF4_5G;T:WPA;P:KSV21@6702;;,WIFI:S:SK_WiFiGIGADDF4_2.4G;T:WPA;P:KSV21@6702;;\n```\n\n- Column 1: Network number (integer)\n- Column 2: 5GHz WiFi QR code string\n- Column 3: 2.4GHz WiFi QR code string\n\n### Notice\n\nEnsure that the source file is not saved as UTF-8 with BOM. If your source file is currently in UTF-8 with BOM, please save it **again** as UTF-8 (without BOM).\n\n## Configuration\n\nQR Images now supports flexible configuration through multiple methods.\n\n### Configuration File\n\nCreate a `config/qr-images.php` file in your project root:\n\n```php\n\u003c?php\n\nreturn [\n    // CSV file configuration\n    'csv_file' =\u003e 'SSID_QR.csv',\n\n    // QR Code settings\n    'qr_code' =\u003e [\n        'eccLevel' =\u003e \\chillerlan\\QRCode\\QRCode::ECC_L,  // Error correction: L, M, Q, H\n        'version' =\u003e 3,                // QR version (1-40)\n        'quietzoneSize' =\u003e 4,          // Quiet zone size\n    ],\n\n    // Paths configuration\n    'paths' =\u003e [\n        'resources' =\u003e 'resources',\n        'export' =\u003e 'resources/export',\n        'images' =\u003e 'resources/images',\n    ],\n];\n```\n\n### Environment Variables\n\nOverride configuration using environment variables:\n\n```sh\n# Override CSV file\nQR_CSV_FILE=custom.csv bin/application save-image\n\n# Override QR code settings\nQR_ECC_LEVEL=2 QR_VERSION=5 bin/application save-image\n\n# Override quiet zone size\nQR_QUIETZONE_SIZE=6 bin/application save-image\n```\n\n### Configuration Priority\n\nConfiguration is loaded in the following order (later sources override earlier ones):\n\n1. Default configuration (hardcoded)\n2. `config/qr-images.php` file\n3. Custom config file (via `Config::load()`)\n4. `.env` file\n5. Environment variables\n\n## Command Options\n\n```\nUsage:\n  bin/application save-image [options] [--] [\u003ccsv\u003e]\n\nArguments:\n  csv                    CSV file name or path (supports wildcards like *.csv)\n\nOptions:\n  --all                  Process all CSV files in resources directory\n  --file=FILE            Specify one or more CSV files to process\n  -h, --help             Display this help message\n```\n\n## Examples\n\n```sh\n# Basic usage with default config\nbin/application save-image\n\n# Process specific file\nbin/application save-image my_wifi.csv\n\n# Process multiple files\nbin/application save-image --file=office.csv --file=cafe.csv\n\n# Process all CSV files\nbin/application save-image --all\n\n# Use wildcards\nbin/application save-image \"networks/*.csv\"\n\n# Combine with environment variables\nQR_CSV_FILE=special.csv QR_VERSION=5 bin/application save-image\n```\n\n## Coding Style\n\n```sh\ncomposer lint\n```\n\n## Test\n\n```sh\ncomposer test\n```\n\n## Build PHAR (Standalone Executable)\n\nYou can build a standalone PHAR executable that doesn't require PHP installation:\n\n```sh\n# Install dependencies (including box)\ncomposer install\n\n# Build PHAR\ncomposer build\n\n# The executable will be created at: build/qr-images.phar\n\n# Make it executable and run\nchmod +x build/qr-images.phar\n./build/qr-images.phar save-image\n```\n\n### PHAR Features\n\n- Single standalone executable file\n- No PHP installation required on target machine\n- Includes all dependencies\n- Executable on any system with PHP 8.0+\n- Can be distributed as a single file\n\n## License\n\nThe QR Images is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcable8mm%2Fqr-images","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcable8mm%2Fqr-images","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcable8mm%2Fqr-images/lists"}