{"id":43822652,"url":"https://github.com/Qolors/Clam-Shell","last_synced_at":"2026-02-17T15:00:55.531Z","repository":{"id":222751452,"uuid":"758280772","full_name":"Qolors/Clam-Shell","owner":"Qolors","description":"Discord File \u0026 URL Monitoring Anti-Virus Engine","archived":false,"fork":false,"pushed_at":"2024-02-16T04:57:09.000Z","size":1360,"stargazers_count":27,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-28T00:28:32.152Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C#","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/Qolors.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}},"created_at":"2024-02-16T01:17:05.000Z","updated_at":"2026-01-08T07:27:00.000Z","dependencies_parsed_at":"2024-02-16T02:30:11.656Z","dependency_job_id":"18e1d1f1-f41e-4c2d-af11-1aa1b6e118aa","html_url":"https://github.com/Qolors/Clam-Shell","commit_stats":null,"previous_names":["qolors/clam-shell"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Qolors/Clam-Shell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qolors%2FClam-Shell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qolors%2FClam-Shell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qolors%2FClam-Shell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qolors%2FClam-Shell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Qolors","download_url":"https://codeload.github.com/Qolors/Clam-Shell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Qolors%2FClam-Shell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29548201,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-17T14:33:00.708Z","status":"ssl_error","status_checked_at":"2026-02-17T14:32:58.657Z","response_time":100,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2026-02-06T02:00:29.837Z","updated_at":"2026-02-17T15:00:55.519Z","avatar_url":"https://github.com/Qolors.png","language":"C#","funding_links":["https://www.buymeacoffee.com/Qolors"],"categories":["C\\#"],"sub_categories":[],"readme":"# Clam Shell\n\n![Clam Shell Banner](https://github.com/Qolors/Clam-Shell/blob/main/docs/clamshell_logo.png)\n\nClam Shell is a self-hosted anti-virus engine for Discord servers, powered by the open-source ClamAV engine. It provides real-time scanning of files and URLs shared within your Discord server, ensuring a safe and secure environment for your community. Clam Shell also features phishing detection by referencing a list of phishing URLs, which is automatically updated every 12 hours. Additionally, it supports posting logs to a designated Discord channel for easy monitoring if desired.\n\n## Features\n\n- **Discord Bot Integration:** Monitors your Discord server for file and URL sharing, and queues them for scanning.\n- **ClamAV Engine:** Utilizes the powerful and open-source [ClamAV](https://www.clamav.net/) engine for virus scanning.\n- **Phishing Detection:** Detects phishing URLs by referencing an up-to-date list, ensuring protection against online threats.\n- **Automatic Updates:** The phishing URL list is automatically updated every 12 hours to keep your server protected against new threats.\n- **Discord Logging:** Posts logs to a designated Discord channel for easy monitoring.\n- **Automated Safety:** Deletes, removes, reports messages that are sending infected attachment/urls.\n\n## Todo List as of v0.9.0\n\n- Improve Phishing bank ( currently this is only pulling from [Phishing Database](https://github.com/mitchellkrogza/Phishing.Database) )\n- Improve Discord Bot message formatting\n- Add other malicious URL type processing \u0026 checks\n- Add editing configurations through Discord Bot\n\n## Support\n\nIf you find any of my work useful and want to help support Development\n\n\u003ca href=\"https://www.buymeacoffee.com/Qolors\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-orange.png\" alt=\"Buy Me A Coffee\" height=\"41\" width=\"174\"\u003e\u003c/a\u003e\n\n## Prerequisites\n\n- Before you begin, ensure you have Docker and Docker Compose installed on your system.\n- According to [ClamAV Docs](https://docs.clamav.net/manual/Installing/Docker.html#memory-ram-requirements), the av server recommends having **4GiB** of available RAM, with a minimum of **3GiB**\n\n## Installation\n\n1. **Obtain the Docker Compose file and the configuration template:**\n\n   - Create a `docker-compose.yaml` file:\n```md\nversion: '3.8'\n\nservices:\n\n  clamshell_server:\n    image: clamav/clamav:latest\n    container_name: clamshell_server\n    networks:\n      - clamshell_network\n\n  rabbitmq:\n    image: rabbitmq:3-management\n    ports:\n      - \"5672:5672\"\n      - \"15672:15672\"  # For RabbitMQ management interface\n    networks:\n      - clamshell_network\n \n  clamshell_worker:\n    image: qolors/clamshell_worker:latest\n    container_name: clamshell_worker\n    volumes:\n        - ./config.json:/app/config.json\n    networks:\n      - clamshell_network\n \n  clamshell_bot:\n    image: qolors/clamshell_bot:latest\n    container_name: clamshell_bot\n    volumes:\n        - ./config.json:/app/config.json\n    networks:\n      - clamshell_network\n\nnetworks:\n  clamshell_network:\n```\n   - Create a `config.json` file:\n\n```json\n{\n  \"Settings\": {\n    \"BOT_TOKEN\": \"YOUR_BOT_TOKEN\",\n    \"WEBHOOK_URL\": \"YOUR_WEBHOOK_URL\",\n    \"USE_LOGS\": true,\n    \"USE_REACTIONS\": true\n  }\n}\n```\n\n2. **Configure Clam Shell:**\n   - Edit `config.json` to set your Discord bot token, webhook URL for logging, and other configuration options\n   - If your `config.json` file is not in the same location as your `docker-compose.yaml`, update the volumes path\n\n3. **Start Clam Shell:**\n   ```bash\n   docker-compose up -d\n   ```\n### Configuration File Properties Explained\n\n- **\"BOT_TOKEN\":** Required Bot Token. If unfamiliar take a look [here](https://discord.com/developers/docs/getting-started)\n- **\"WEBHOOK_URL\":\"** This is required if you desire to log the bot's messages. If unfamiliar take a look [here](https://github.com/Qolors/FeedCord?tab=readme-ov-file#quick-setup-docker)\n- **\"USE_LOGS\":** If you do not want to enable the logging, set this to false otherwise keep true\n- **\"USE_REACTIONS\":** If enabled, the bot will react to all files it processes with a ✅ to let you know it's been verified\n\n## Usage\n\nOnce Clam Shell is up and running, it will automatically start monitoring your Discord server for file and URL sharing. If a file or URL is detected, it will be queued for scanning by the ClamAV engine. Detected threats and logs will be reported in the designated Discord channel.\n\n## Updating\n\nTo update Clam Shell, pull the latest Docker images and restart the services:\n\n```bash\ndocker-compose pull\ndocker-compose down\ndocker-compose up -d\n```\n\n## Contributing\n\nContributions are welcome! Please feel free to submit pull requests or open issues to improve the software.\n\n## Libraries Utilized\n- [Discord.Net](https://discordnet.dev/index.html)\n- [RabbitMQ](https://rabbitmq.com/)\n- [nClam](https://github.com/tekmaven/nClam)\n\n## License\n\nClam Shell is released under the [MIT License](LICENSE).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQolors%2FClam-Shell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FQolors%2FClam-Shell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FQolors%2FClam-Shell/lists"}