{"id":25129482,"url":"https://github.com/bradsec/debcustom","last_synced_at":"2025-04-02T21:43:55.859Z","repository":{"id":275302321,"uuid":"925690978","full_name":"bradsec/debcustom","owner":"bradsec","description":"A bash script for customizing Debian-based Linux systems' splash screens, including GRUB bootloader background and disk encryption password entry screen.","archived":false,"fork":false,"pushed_at":"2025-02-01T14:21:30.000Z","size":710,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-01T15:22:15.844Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/bradsec.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2025-02-01T14:03:01.000Z","updated_at":"2025-02-01T14:21:34.000Z","dependencies_parsed_at":"2025-02-01T15:22:18.672Z","dependency_job_id":"8e63cb5e-7381-4edf-a27f-0a968e7d876a","html_url":"https://github.com/bradsec/debcustom","commit_stats":null,"previous_names":["bradsec/debcustom"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fdebcustom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fdebcustom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fdebcustom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradsec%2Fdebcustom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradsec","download_url":"https://codeload.github.com/bradsec/debcustom/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246899636,"owners_count":20851894,"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","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-02-08T12:17:43.546Z","updated_at":"2025-04-02T21:43:55.843Z","avatar_url":"https://github.com/bradsec.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Debian Boot-up Background Image Customization\n\nA bash script for customizing Debian-based Linux systems' boot-up splash screens, including GRUB bootloader background and disk encryption unlock/password entry screen.\n\n## Note\n\nTesting has only been done on Debian 12.\n\n## Features\n\n- Customize GRUB bootloader background image\n- Customize disk encryption password entry screen background\n- Configurable password entry bullet/dot image\n- Multiple password entry position options\n- Adjustable bullet/dot spacing\n- Automatic image format conversion (JPEG to PNG)\n- Automatic bullet image resizing (max 24px)\n- Error handling and dependency checking\n\n## Requirements\n\n- Debian-based Linux system (Debian, Ubuntu, etc.)\n- Root/sudo privileges\n- Required packages (automatically installed):\n  - plymouth\n  - imagemagick\n  - file\n\n## Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/bradsec/debcustom.git\n\n# Navigate to directory\ncd debcustom\n\n# Make script executable\nchmod +x debcustom.sh\n```\n\n### Usage Options\n\n```terminal\nUsage: sudo debcustom.sh [-g grub_image_path] [-u unlock_image_path] [-b unlock_bullet_image_path] [-s unlock_bullet_spacing] [-p position]\nOptions:\n  -g : Path to grub background image (PNG or JPEG)\n  -u : Path to unlock background image (PNG or JPEG)\n  -b : Path to password dot/bullet image (PNG or JPEG)\n  -s : Set spacing between password entry bullet images (0.2 - 2.0)\n  -p : Password entry position (top-left, top-center, top-right, middle-left,\n       middle-center, middle-right, bottom-left, bottom-center, bottom-right)\n  -r : Restore original settings\n  -h : Show this help message\n```\n\n### Available Password Entry Positions\n\n- `top-left` (default)\n- `top-center`\n- `top-right`\n- `middle-left`\n- `middle-center`\n- `middle-right`\n- `bottom-left`\n- `bottom-center`\n- `bottom-right`\n\n### Examples\n\n```bash\n# Use all defaults\nsudo ./debcustom.sh\n\n# Custom background grub background image\nsudo ./debcustom.sh -g /path/to/background.png\n\n# Custom disk encryption background image, passoword entry bullet image, password entry position\nsudo ./debcustom.sh -u /path/to/background.png -b /path/to/bullet.png -p bottom-right\n\n# Restore original settings\nsudo ./debcustom.sh -r\n```\n\n## Default Settings\n\n- GRUB Background Image: `custom_background.png` in script directory\n- Unlock Background Image: `custom_background.png` in script directory\n- Unlock Bullet Image: `custom_bullet.png` in script directory\n- Password Entry Position: `top-left`\n- Unlock Bullet Spacing: `1.2`\n\n## Included demo images (replace with your preferred images)\n\n- `custom_background.png`\n- `custom_unlock_bullet.png`\n\n## Features in Detail\n\n### GRUB Customization\n- Enables quiet splash mode\n- Sets custom background image\n\n### Encryption Screen Customization\n- Custom background image\n- Custom password entry bullet/dot image\n- Configurable password entry position with 9 preset positions\n- Adjustable bullet spacing for password entry feedback\n- Automatic image format conversion and optimization\n\n### Image Processing\n- Supports PNG and JPEG formats\n- Automatic conversion of JPEG to PNG\n- Automatic resizing of bullet images larger than 24px\n- Maintains aspect ratio during resizing\n\n## Troubleshooting\n\n1. Make sure the script is run with sudo/root privileges\n2. Verify image files exist and are readable\n3. Check if system is Debian-based (Ubuntu, Linux Mint, etc.)\n4. Ensure internet connection for package installation\n5. For GRUB customization, verify GRUB bootloader is installed\n6. For encryption screen customization, verify disk encryption is enabled\n\n## Screenshots\n\n### Default Debian 12 GRUB and Disk Encryption Unlock Screens \n\n![image](screenshots/default_grub.png)  \n![image](screenshots/default_splash_unlock.png)\n\n### Default unlock when no `splash` enabled in `/etc/defaults/grub` \n![image](screenshots/default_unlock.png)  \n\n### Customized GRUB and Disk Encryption Unlock Screens \n\n![image](screenshots/new_grub.png)\n![image](screenshots/new_unlock.png)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradsec%2Fdebcustom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradsec%2Fdebcustom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradsec%2Fdebcustom/lists"}