{"id":28493044,"url":"https://github.com/hhftechnology/crowdsec_manager","last_synced_at":"2026-06-09T22:31:28.057Z","repository":{"id":280756237,"uuid":"943029301","full_name":"hhftechnology/crowdsec_manager","owner":"hhftechnology","description":"A web-based and mobile management interface and dashboard for CrowdSec security stack with Pangolin integration and multi proxy support- caddy, NPM, etc. This project replaces the bash script with a modern, user-friendly ShadcnUI built with Go and React.","archived":false,"fork":false,"pushed_at":"2026-05-15T04:22:37.000Z","size":36395,"stargazers_count":468,"open_issues_count":9,"forks_count":9,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-05-15T06:36:22.176Z","etag":null,"topics":["android-application","crowdsec","crowdsec-dashboard","crowdsec-manager","crowdsec-mobile","crowdsec-ui","ios-app","pangolin","traefik"],"latest_commit_sha":null,"homepage":"https://crowdsec-manager.hhf.technology/","language":"TypeScript","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/hhftechnology.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-05T04:07:50.000Z","updated_at":"2026-05-13T20:31:00.000Z","dependencies_parsed_at":"2025-12-16T16:03:33.808Z","dependency_job_id":null,"html_url":"https://github.com/hhftechnology/crowdsec_manager","commit_stats":null,"previous_names":["hhftechnology/crowdsec_manager"],"tags_count":18,"template":false,"template_full_name":null,"purl":"pkg:github/hhftechnology/crowdsec_manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhftechnology%2Fcrowdsec_manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhftechnology%2Fcrowdsec_manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhftechnology%2Fcrowdsec_manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhftechnology%2Fcrowdsec_manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hhftechnology","download_url":"https://codeload.github.com/hhftechnology/crowdsec_manager/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hhftechnology%2Fcrowdsec_manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34129072,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["android-application","crowdsec","crowdsec-dashboard","crowdsec-manager","crowdsec-mobile","crowdsec-ui","ios-app","pangolin","traefik"],"created_at":"2025-06-08T09:07:15.722Z","updated_at":"2026-06-09T22:31:28.031Z","avatar_url":"https://github.com/hhftechnology.png","language":"TypeScript","funding_links":[],"categories":["Web UIs \u0026 Management"],"sub_categories":["Other Bouncers"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003e\u003ca href=\"https://github.com/hhftechnology/crowdsec_manager\"\u003eCrowdSec Manager\u003c/a\u003e\u003c/h1\u003e\n\n[![Docker](https://img.shields.io/docker/pulls/hhftechnology/crowdsec-manager?style=flat-square)](https://hub.docker.com/r/hhftechnology/crowdsec-manager)\n![Stars](https://img.shields.io/github/stars/hhftechnology/crowdsec_manager?style=flat-square)\n[![Discord](https://img.shields.io/discord/994247717368909884?logo=discord\u0026style=flat-square)](https://discord.gg/HDCt9MjyMJ)\n![License](https://img.shields.io/badge/license-MIT-blue.svg)\n![Status](https://img.shields.io/badge/status-stable-22c55e.svg)\n\u003c/div\u003e\n\nA web-based management interface for CrowdSec — decisions, alerts, allowlists, scenarios, hub, logs, backups, and Traefik integration.\n\n## Mobile App\n\n\u003cdiv align=\"center\"\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://apps.apple.com/us/app/#\"\u003e\u003cimg width=\"135\" height=\"39\" alt=\"Download on the App Store\" src=\"https://github.com/user-attachments/assets/45e31a11-cf6b-40a2-a083-6dc8d1f01291\" /\u003e\u003c/a\u003e\u003cbr\u003e\n      \u003csub\u003eComing Soon\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://play.google.com/store/apps/details?id=com.crowdsec.manager.mobile\"\u003e\u003cimg width=\"135\" height=\"39\" alt=\"Get it on Google Play\" src=\"https://github.com/user-attachments/assets/acbba639-858f-4c74-85c7-92a4096efbf5\" /\u003e\u003c/a\u003e\u003cbr\u003e\n      \u003csub\u003eFor Pangolin Users\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://play.google.com/store/apps/details?id=com.crowdsec.manager.independent\"\u003e\u003cimg width=\"135\" height=\"39\" alt=\"Get it on Google Play (Independent)\" src=\"https://github.com/user-attachments/assets/acbba639-858f-4c74-85c7-92a4096efbf5\" /\u003e\u003c/a\u003e\u003cbr\u003e\n      \u003csub\u003eFor Multi Proxy(independent)\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e \n\u003c/div\u003e\n\n## Mobile Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/3.png\" width=\"180\" alt=\"Connection setup (3.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eConnection Setup\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/1.png\" width=\"180\" alt=\"Dashboard overview (1.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eDashboard Overview\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/2.png\" width=\"180\" alt=\"Security IP check (2.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eSecurity IP Check\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/4.png\" width=\"180\" alt=\"Security alerts list (4.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eSecurity Alerts List\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/5.png\" width=\"180\" alt=\"Security metrics (5.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eSecurity Metrics\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/6.png\" width=\"180\" alt=\"Logs viewer (6.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eLogs Viewer\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/7.png\" width=\"180\" alt=\"Management home (7.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eManagement Home\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/8.png\" width=\"180\" alt=\"Allowlists management (8.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eAllowlists Management\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/9.png\" width=\"180\" alt=\"Hub management (9.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eHub Management\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/10.png\" width=\"180\" alt=\"Scenarios management (10.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eScenarios Management\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/11.png\" width=\"180\" alt=\"Container controls (11.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eContainer Controls\u003c/sub\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003cimg src=\"images/mobile/12.png\" width=\"180\" alt=\"Terminal shell (12.png)\"\u003e\u003cbr\u003e\n      \u003csub\u003eTerminal Shell\u003c/sub\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nNative iOS and Android app. Supports **Pangolin** (token-based remote access) and **Basis** (direct URL) connection modes.\n\n## Release\n\n- Version: `2.4.0`\n- Pangolin image: `hhftechnology/crowdsec-manager:latest` — full stack with Traefik, Pangolin, Gerbil\n- Independent image: `hhftechnology/crowdsec-manager:independent` — CrowdSec only, no Traefik\n- Image size (linux/amd64): \u003c!-- IMAGE_SIZE_START --\u003e44MB\u003c!-- IMAGE_SIZE_END --\u003e\n\n## Quick Start\n\n### Pangolin (full stack)\n\n```bash\n  # Your CrowdSec Manager\n  crowdsec-manager:\n    image: hhftechnology/crowdsec-manager:latest\n    container_name: crowdsec-manager\n    restart: unless-stopped\n    environment:\n      - PORT=8080\n      - ENVIRONMENT=production\n      - TRAEFIK_DYNAMIC_CONFIG=/etc/traefik/dynamic_config.yml\n      - TRAEFIK_CONTAINER_NAME=traefik\n      - TRAEFIK_STATIC_CONFIG=/etc/traefik/traefik_config.yml\n      - CROWDSEC_METRICS_URL=http://crowdsec:6060/metrics\n      - ALERT_LIST_LIMIT=5000\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n      - /root/config:/app/config # pangolin config folder\n      - /root/docker-compose.yml:/app/docker-compose.yml # pangolin compose yml\n      - ./crowdsec-manager/backups:/app/backups\n      - ./crowdsec-manager/data:/app/data\n      # Optional GeoIP database for enriched dashboard location data\n      - ./geoip/GeoLite2-City.mmdb:/app/geoip/GeoLite2-City.mmdb:ro\n    depends_on:\n      crowdsec:\n        condition: service_healthy\ndocker compose up -d\n```\n\n### Independent (CrowdSec only)\n\n```bash\nmkdir -p ./config/crowdsec ./logs/app ./data\n```\n\n```yaml\nservices:\n  crowdsec-manager:\n    image: hhftechnology/crowdsec-manager:independent\n    container_name: crowdsec-manager\n    restart: unless-stopped\n    ports:\n      - \"8080:8080\"\n    environment:\n      - PORT=8080\n      - ENVIRONMENT=production\n      - CONFIG_DIR=/app/config\n      - DATABASE_PATH=/app/data/settings.db\n      - INCLUDE_CROWDSEC=true\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n      - ./config:/app/config\n      - ./logs/app:/app/logs\n      - ./data:/app/data\n    networks:\n      - crowdsec-network\n    depends_on:\n      - crowdsec\n\n  crowdsec:\n    image: crowdsecurity/crowdsec:latest\n    container_name: crowdsec\n    environment:\n      - COLLECTIONS=crowdsecurity/linux\n    volumes:\n      - ./config/crowdsec/acquis.yaml:/etc/crowdsec/acquis.yaml:ro\n      - crowdsec-db:/var/lib/crowdsec/data/\n      - crowdsec-config:/etc/crowdsec/\n    networks:\n      - crowdsec-network\n\nnetworks:\n  crowdsec-network:\n    driver: bridge\n\nvolumes:\n  crowdsec-db:\n  crowdsec-config:\n```\n\n```bash\ndocker compose up -d\ncurl http://localhost:8080/api/health/stack\n```\n\n## Screenshots\n\n\u003cimg width=\"1200\" height=\"630\" alt=\"Alerts Analysis Filters\" src=\"/images/alerts-analysis-filters.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Alerts Analysis Inspect Modal\" src=\"/images/alerts-analysis-inspect-modal.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Alerts Analysis Overview\" src=\"/images/alerts-analysis-overview.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Alerts Analysis Results Table\" src=\"/images/alerts-analysis-results-table.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Allowlists Management\" src=\"/images/allowlists-management.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Backup Management\" src=\"/images/backup-management.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Bouncers Management\" src=\"/images/bouncers-management.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Captcha Protection Detect\" src=\"/images/captcha-protection-detect.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Config Validation\" src=\"/images/config-validation.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Configuration Settings\" src=\"/images/configuration-settings.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Crowdsec Health Overview\" src=\"/images/crowdsec-health-overview.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Dashboard Overview Countries Systems\" src=\"/images/dashboard-overview-countries-systems.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Dashboard Overview Scenarios Blocked Ips\" src=\"/images/dashboard-overview-scenarios-blocked-ips.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Decisions Analysis Overview\" src=\"/images/decisions-analysis-overview.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Decisions Results Table\" src=\"/images/decisions-results-table.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Health Diagnostics Overview\" src=\"/images/health-diagnostics-overview.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Appsec Configurations\" src=\"/images/hub-appsec-configurations.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Appsec Rules\" src=\"/images/hub-appsec-rules.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Collections\" src=\"/images/hub-collections.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Home Categories\" src=\"/images/hub-home-categories.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Log Parsers\" src=\"/images/hub-log-parsers.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Postoverflows\" src=\"/images/hub-postoverflows.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Remediation Components\" src=\"/images/hub-remediation-components.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Hub Scenarios Install Mode\" src=\"/images/hub-scenarios-install-mode.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Ip Management\" src=\"/images/ip-management.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Logs Service Logs\" src=\"/images/logs-service-logs.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Notifications Detect\" src=\"/images/notifications-detect.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Scenarios Management\" src=\"/images/scenarios-management.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Services Management\" src=\"/images/services-management.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"System Update\" src=\"/images/system-update.jpeg\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Terminal Container Shell\" src=\"/images/terminal-container-shell.png\"/\u003e\n\u003cimg width=\"1200\" height=\"630\" alt=\"Whitelist Management\" src=\"/images/whitelist-management.jpeg\"/\u003e\n\n\n\n## Documentation\n\nFull installation guide, configuration reference, mobile app setup, and API docs:\n[crowdsec-manager.hhf.technology](https://crowdsec-manager.hhf.technology)\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n\n## Support\n\n- [GitHub Issues](https://github.com/hhftechnology/crowdsec_manager/issues)\n- [Discord](https://discord.gg/HDCt9MjyMJ)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhhftechnology%2Fcrowdsec_manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhhftechnology%2Fcrowdsec_manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhhftechnology%2Fcrowdsec_manager/lists"}