{"id":17693127,"url":"https://github.com/toolstack/bravenet-certbot","last_synced_at":"2025-03-30T23:17:19.898Z","repository":{"id":85642180,"uuid":"90319090","full_name":"toolstack/BraveNet-CertBot","owner":"toolstack","description":"BraveNet Support for CertBot","archived":false,"fork":false,"pushed_at":"2017-05-05T00:19:35.000Z","size":316,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-06T04:44:23.561Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/toolstack.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}},"created_at":"2017-05-04T23:42:55.000Z","updated_at":"2017-05-05T00:24:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"5a0b7ffe-7ad5-4bff-9928-0b00a6e28ec8","html_url":"https://github.com/toolstack/BraveNet-CertBot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolstack%2FBraveNet-CertBot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolstack%2FBraveNet-CertBot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolstack%2FBraveNet-CertBot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/toolstack%2FBraveNet-CertBot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/toolstack","download_url":"https://codeload.github.com/toolstack/BraveNet-CertBot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246390858,"owners_count":20769478,"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":"2024-10-24T13:44:15.289Z","updated_at":"2025-03-30T23:17:19.883Z","avatar_url":"https://github.com/toolstack.png","language":"PHP","readme":"# BraveNet Support for CertBot\n\nThis script works with CertBot's `--renew-hook` option to automatically update BraveNet.com's certificate list with the new Let's Encrypt cert.\n\nIt accomplishes this by a scripted web session to the BraveNet administrative site.\n\n## Requirements\n\n1. A host with shell access you can run cron jobs on as root\n2. CertBot\n3. PHP (available via the command line) with MCRYPT\n\n## Installation\n\n1. Install [CertBot](https://certbot.eff.org/).\n2. Clone the script repo to somewhere on the system that you run CertBot and that CertBot has access too.\n3. Copy and edit the `BraveNet-CertBot.ini-example` file, adding your BraveNet user name and password.\n4. Run `php BraveNet-CertBot.php`, which will update the ini file with an encrypted version of your password.\n5. Configure CertBot to run daily using the `--renewal` mode and then add the following option: `--renew-hook /path/to/BraveNet-CertBot/BraveNet-CertBot.sh`.\n\n## Usage\n\nWARNING: Since this script is basically a screen scraper it is prone to breakage if BraveNet decides to change their admin site.  \n\nWARNING: This script must know your username/password to connect to BraveNet with, it stores these in the ini file and \"encrypts\" your password so as to obfscate it.  However it is easily recoverable and the secruity of the ini file should be set such that only the user that is running CertBot (usually root) has access to it.\n\nThe script is intended to be run as part of CertBot's renewal mode, it takes only one parameter, the domain to update.\n\nYou can run it manually and it will update the BraveNet certificate with whatever one is currently in the CertBot store (/etc/letsencrypt/active) for the passed in domain name.\n\n## CertBot with multiple hosting providers\n\nThe current script assumes all of your CertBot certificates are for BraveNet hosted domains, this may not be the case so you can change the `BraveNet-CertBot.sh` script to only update your BraveNet domains.\n\nTo do so, load the script in to an editor, line 8 will be:\n\n`\tphp $BNCB $domain`\n\nComment this out like so:\n\n`#\tphp $BNCB $domain`\n\nThen uncomment the block of lines from line 15 to 19:\n\n```\n\tcase $domain in\n\texample.com)\n\t\tphp $BNCB $domain\n\t\t;;\n\tesac\n```\n\nChange line 16, `example.com)`, to be whatever domain you want to update (make sure to include the closing bracket, it's not a typo).\n\nIf you have mulitple domains you want to update, copy lines 15 to 18 and update the domain name as required:\n\n`\n\tcase $domain in\n\texample.com)\n\t\tphp $BNCB $domain\n\t\t;;\n\tcase $domain in\n\tsecondexample.com)\n\t\tphp $BNCB $domain\n\t\t;;\n\tesac\n`\n## CertBot with multiple BraveNet accounts\n\nIf you have multiple BraveNet accounts, you'll need to have multiple copies of the script available to support them.\n\nSo for example, you could create a copy of the script in \"BNCB-Account1\" and a second copy in \"BNCB-Account2\" and edit the ini file with each account details.\n\nThen, following the example above, change the shell script in one used on the command line of CertBot to call the script from the appropriate directory for each domain.\n\n```\n\tcase $domain in\n\texample.com)\n\t\tphp /path/to/script/BNCB-Account1/BraveNet-CertBot.php $domain\n\t\t;;\n\tcase $domain in\n\tsecondexample.com)\n\t\tphp /path/to/script/BNCB-Account2/BraveNet-CertBot.php $domain\n\t\t;;\n\tesac\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoolstack%2Fbravenet-certbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftoolstack%2Fbravenet-certbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftoolstack%2Fbravenet-certbot/lists"}