ssl-daily-check


Namessl-daily-check JSON
Version 0.1.1 PyPI version JSON
download
home_pagehttps://github.com/rtmax0/ssl-daily-check
SummaryDaily SSL certificate monitoring and checking tool
upload_time2024-07-05 12:24:31
maintainerNone
docs_urlNone
authorrtmax0
requires_python<4.0,>=3.8
licenseMIT
keywords ssl certificate daily monitoring security
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.78560s