{"id":29945028,"url":"https://github.com/softon/certigo","last_synced_at":"2025-10-06T21:51:36.972Z","repository":{"id":298680593,"uuid":"999443394","full_name":"softon/certigo","owner":"softon","description":"A simple cli and gui tool to generate customised certificates and email it using your gmail account.","archived":false,"fork":false,"pushed_at":"2025-06-12T19:14:42.000Z","size":1881,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-03T04:44:28.849Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/softon.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2025-06-10T08:59:15.000Z","updated_at":"2025-06-12T19:14:46.000Z","dependencies_parsed_at":"2025-06-12T10:30:22.256Z","dependency_job_id":null,"html_url":"https://github.com/softon/certigo","commit_stats":null,"previous_names":["softon/certigo"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/softon/certigo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softon%2Fcertigo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softon%2Fcertigo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softon%2Fcertigo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softon%2Fcertigo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/softon","download_url":"https://codeload.github.com/softon/certigo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/softon%2Fcertigo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278686638,"owners_count":26028325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"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":[],"created_at":"2025-08-03T04:44:24.312Z","updated_at":"2025-10-06T21:51:36.941Z","avatar_url":"https://github.com/softon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CertiGo\nA simple cli and gui tool to generate customised certificates and email it using your gmail account.\n\n## Setup\n1. Start a new `venv` if not already present\n```\npy -3.13 -m venv venv\n```\n1. Activate the `venv`\n```\nvenv\\Scripts\\activate\n```\n1. Install required packages\n```\npip install pandas yagmail reportlab pyhanko click openpyxl pyopenssl PyQt5 PyMuPDF pyinstaller\n```\n\n# Generate Self Signed Certificate for Digital Signing of Documents\n1. Run `certigen.py`\n```\npython certigen.py\n```\n2. Complete the wizard and two files will be created `cert.pem` and `key.pem`\n\n# Run the Program\nRun the main program to start the generation\n```\npython certigo.py\n```\n\n### Options of certigo\n```\npython certigo.py --help\n```\n\n```\nOptions:\n  --excel TEXT                    Excel file with cert_no,name,email\n                                  [required]\n  --bg-image TEXT                 Background PNG/JPG image  [required]\n  --config TEXT                   JSON file with font/position/color settings\n                                  [required]\n  --orientation [portrait|landscape]\n  --paper-size [A4|LETTER]\n  --sign / --no-sign\n  --cert TEXT\n  --key TEXT\n  --password TEXT                 Password for the private key. If not set,\n                                  Default password is password.\n  --email / --no-email\n  --sender TEXT                   Gmail sender email\n  --app-pass TEXT                 Gmail app password\n  --help                          Show this message and exit.\n```\n\n# How to Generate an App Password for Gmail\n\n## Prerequisites\n- ✅ **2-Step Verification** must be enabled on your Google account  \n- ⚠️ For applications that don't support OAuth (Outlook, Thunderbird, scripts, etc.)\n\n---\n\n## Step-by-Step Guide\n\n### 1. Access Google Account Settings\n🔗 [myaccount.google.com](https://myaccount.google.com)  \n→ Click **\"Security\"** in left sidebar\n\n### 2. Enable 2-Step Verification (If Needed)\n\nSkip if already enabled\nUnder \"Signing in to Google\" → \"2-Step Verification\"\n\nFollow prompts (requires phone verification)\n\n### 3. Generate App Password\nReturn to Security page\n\nFind \"App passwords\" under \"Signing in to Google\"\n(If missing, verify 2-Step Verification is active)\n\nConfigure settings:\n\nSelect App: Choose Mail\n\nSelect Device: Pick your device or Other (Custom Name)\n\nClick \"Generate\"\n\n### 4. Save Your App Password\n📋 You'll receive a 16-character code formatted like:\nxxxx xxxx xxxx xxxx\n(Remove spaces when using)\n\n# Sample Commands\n\n```\npython\n```\n\n\n# CLI Guide\n\n```\npip install pyinstaller\n\npyinstaller --onefile --name certigo --add-data \"config.json;data.xlsx;template.png\" certigo.py\npyinstaller --onefile --name certigo certigo.py\npyinstaller --onefile --name certigen certigen.py\npyinstaller splash.py --noconfirm --onefile --windowed --icon=icon.ico --name=Certigo --clean\n\n```\n\n\n# Use UPX Compression\nUPX (Ultimate Packer for eXecutables) compresses .exe files losslessly.\n\n🔧 How to use:\nInstall UPX:\nDownload from https://upx.github.io/ and add it to your PATH.\n\nRebuild with UPX enabled:\n\n```\npyinstaller yourscript.py --onefile --windowed --noconfirm --clean --upx-dir=C:\\path\\to\\upx\n```\n🎯 Compression rate: 20%–50% smaller","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofton%2Fcertigo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsofton%2Fcertigo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsofton%2Fcertigo/lists"}