{"id":13775627,"url":"https://github.com/sirpsycho/firecall","last_synced_at":"2026-01-17T23:39:56.296Z","repository":{"id":215851012,"uuid":"116727258","full_name":"sirpsycho/firecall","owner":"sirpsycho","description":"Automate SSH communication with firewalls, switches, etc.","archived":false,"fork":false,"pushed_at":"2018-03-29T12:39:28.000Z","size":54,"stargazers_count":26,"open_issues_count":0,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-03T17:12:06.697Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/sirpsycho.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}},"created_at":"2018-01-08T20:57:54.000Z","updated_at":"2022-11-13T13:14:02.000Z","dependencies_parsed_at":"2024-01-17T16:06:50.515Z","dependency_job_id":"d8dd004e-4bb2-4be7-b4e8-712d149fb750","html_url":"https://github.com/sirpsycho/firecall","commit_stats":null,"previous_names":["sirpsycho/firecall"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirpsycho%2Ffirecall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirpsycho%2Ffirecall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirpsycho%2Ffirecall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sirpsycho%2Ffirecall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sirpsycho","download_url":"https://codeload.github.com/sirpsycho/firecall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225027480,"owners_count":17409443,"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-08-03T17:01:43.013Z","updated_at":"2026-01-17T23:39:56.290Z","avatar_url":"https://github.com/sirpsycho.png","language":"Python","funding_links":[],"categories":["\u003ca id=\"af9d2b4988d35a2a634c042a1c66bb8c\"\u003e\u003c/a\u003e工具"],"sub_categories":["\u003ca id=\"6e28befd418dc5b22fb3fd234db322d3\"\u003e\u003c/a\u003e翻墙"],"readme":"# firecall\nAutomate SSH communication with firewalls, switches, etc.\n\n\n# Description\n\nThese scripts are designed to automate sending commands to a Cisco ASA firewall.  The intended purpose here is to eliminate the need to manually log in to a firewall to make changes.  This code can be run directly via command line or it can be incorporated into other scripts.  These scripts were created with automation/orchestration in mind - if done securely, these scripts could ingest security intelligence data to automatically block malicious IPs based on certain criteria.\n\n\n# Configuration\n\n1) Run `bash install.sh` to set helpful aliases and enable logging\n2) Configure \"config\" in a text editor to add firewall address(es), authentication, \u0026 any other applicable options such as:\n\n- add multiple firewalls to configure them all simultaneously\n- configure email alerting to be alerted when an IP is blocked or un-blocked\n- whitelist IPs that you never want to get blocked\n- optional logging feature for audit capability\n\n# blockip\n\nThe \"blockip\" script is designed to quickly block a host by simply providing the IP address. \n\nJust type `blockip` and then the ip address that you want to block.\n\nExample usage:\n```\n# blockip 12.34.56.78\n[-] (firewall01) Added IP '12.34.56.78' to firewall group 'Deny_All_Group'\n```\n# removeip\n\nThis script works in the same way as blockip, except it removes an IP block from the firewall.  It can be used to quickly \"undo\" a block made by blockip.\n\nExample usage:\n```\n# removeip 12.34.56.78\n[-] (firewall01) Successfully removed IP '12.34.56.78' from firewall group 'Deny_All_Group'\n```\n\n\n# Dependencies\n\n\"paramiko\" must be installed for this program to run.  To install paramiko, try running \"pip install paramiko\".  On Macs, you may have to install a version of Python that has \"pip\".  To do this, you can use either easy_install or homebrew (run \"sudo easy_install pip\" or \"brew install python\")\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsirpsycho%2Ffirecall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsirpsycho%2Ffirecall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsirpsycho%2Ffirecall/lists"}