# SSL Daily Check
SSL Daily Check is a Python-based tool that monitors SSL certificates for specified domains and sends notifications when certificates are nearing expiration.
## Features
- Checks SSL certificates for multiple domains
- Stores certificate information in a SQLite database
- Sends notifications via WeChat Work (企业微信) when certificates are close to expiration
- Configurable through simple text files
- Designed to run as a cron job on Linux systems
## Requirements
- Python 3.8+
- Poetry for dependency management
## Installation
1. Clone the repository:
```
git clone https://github.com/rtmax0/ssl-daily-check.git
cd ssl-checker
```
2. Install dependencies using Poetry:
```
poetry install
```
## Configuration
1. Create a `~/.ssl-daily-check/domains.txt` file with the domains you want to monitor:
```
example.com:Example Website
yourdomain.com:Your Website
```
2. Create a `~/.ssl-daily-check/notify-rule.json` file with your WeChat Work webhook URL:
```json
[
{
"id": "notify1",
"type": "qyweixin",
"url": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-key-here"
}
]
```
## Usage
Run the SSL Daily Check manually:
```
poetry run ssl-checker
```
To set up automatic checking, add a cron job:
```
0 0 * * * /path/to/your/poetry/environment/bin/ssl-checker
```
This will run the SSL Checker daily at midnight.
## Development
This project uses:
- Poetry for dependency management
- Black for code formatting
- Flake8 for linting
- Pytest for testing
To set up the development environment:
1. Install development dependencies:
```
poetry install --dev
```
2. Run tests:
```
poetry run pytest
```
3. Format code:
```
poetry run black .
```
4. Run linter:
```
poetry run flake8
```
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/rtmax0/ssl-daily-check",
"name": "ssl-daily-check",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "ssl, certificate, daily, monitoring, security",
"author": "rtmax0",
"author_email": "rtmax0@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/7b/cd/7bf43a8f0ae0efe94d698727a2dd1f1895ea24f4400630efa91d3201b1e8/ssl_daily_check-0.1.1.tar.gz",
"platform": null,
"description": "# SSL Daily Check\n\nSSL Daily Check is a Python-based tool that monitors SSL certificates for specified domains and sends notifications when certificates are nearing expiration.\n\n## Features\n\n- Checks SSL certificates for multiple domains\n- Stores certificate information in a SQLite database\n- Sends notifications via WeChat Work (\u4f01\u4e1a\u5fae\u4fe1) when certificates are close to expiration\n- Configurable through simple text files\n- Designed to run as a cron job on Linux systems\n\n## Requirements\n\n- Python 3.8+\n- Poetry for dependency management\n\n## Installation\n\n1. Clone the repository:\n ```\n git clone https://github.com/rtmax0/ssl-daily-check.git\n cd ssl-checker\n ```\n\n2. Install dependencies using Poetry:\n ```\n poetry install\n ```\n\n## Configuration\n\n1. Create a `~/.ssl-daily-check/domains.txt` file with the domains you want to monitor:\n ```\n example.com:Example Website\n yourdomain.com:Your Website\n ```\n\n2. Create a `~/.ssl-daily-check/notify-rule.json` file with your WeChat Work webhook URL:\n ```json\n [\n {\n \"id\": \"notify1\",\n \"type\": \"qyweixin\",\n \"url\": \"https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=your-key-here\"\n }\n ]\n ```\n\n## Usage\n\nRun the SSL Daily Check manually:\n\n```\npoetry run ssl-checker\n```\n\nTo set up automatic checking, add a cron job:\n\n```\n0 0 * * * /path/to/your/poetry/environment/bin/ssl-checker\n```\n\nThis will run the SSL Checker daily at midnight.\n\n## Development\n\nThis project uses:\n- Poetry for dependency management\n- Black for code formatting\n- Flake8 for linting\n- Pytest for testing\n\nTo set up the development environment:\n\n1. Install development dependencies:\n ```\n poetry install --dev\n ```\n\n2. Run tests:\n ```\n poetry run pytest\n ```\n\n3. Format code:\n ```\n poetry run black .\n ```\n\n4. Run linter:\n ```\n poetry run flake8\n ```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Daily SSL certificate monitoring and checking tool",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/rtmax0/ssl-daily-check",
"Repository": "https://github.com/rtmax0/ssl-daily-check"
},
"split_keywords": [
"ssl",
" certificate",
" daily",
" monitoring",
" security"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3b38c0277233341e6033711d67b99bee3c9f43f2cf793e581ad28f10ddb475ca",
"md5": "3f6152bdf8386cd57a434094130766a1",
"sha256": "904ed8ff17173525fbcc56fbb7e0b33e5c3f31139cbe0ebae93c5b538ddffe95"
},
"downloads": -1,
"filename": "ssl_daily_check-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f6152bdf8386cd57a434094130766a1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 6416,
"upload_time": "2024-07-05T12:24:29",
"upload_time_iso_8601": "2024-07-05T12:24:29.497104Z",
"url": "https://files.pythonhosted.org/packages/3b/38/c0277233341e6033711d67b99bee3c9f43f2cf793e581ad28f10ddb475ca/ssl_daily_check-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7bcd7bf43a8f0ae0efe94d698727a2dd1f1895ea24f4400630efa91d3201b1e8",
"md5": "9f44ad1c0549dd636623e8d9ec7beb2d",
"sha256": "88b28dfdc4f67851156c771087377304dbda983b7949ac37a23726bc055d9936"
},
"downloads": -1,
"filename": "ssl_daily_check-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9f44ad1c0549dd636623e8d9ec7beb2d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 4688,
"upload_time": "2024-07-05T12:24:31",
"upload_time_iso_8601": "2024-07-05T12:24:31.101353Z",
"url": "https://files.pythonhosted.org/packages/7b/cd/7bf43a8f0ae0efe94d698727a2dd1f1895ea24f4400630efa91d3201b1e8/ssl_daily_check-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-05 12:24:31",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "rtmax0",
"github_project": "ssl-daily-check",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "ssl-daily-check"
}