{"id":22191947,"url":"https://github.com/shell-company/noirgate","last_synced_at":"2026-03-07T12:37:11.504Z","repository":{"id":136017822,"uuid":"526249562","full_name":"Shell-Company/Noirgate","owner":"Shell-Company","description":"NoirGate provides on-demand ephemeral anonymous shells secured by TOTP","archived":false,"fork":false,"pushed_at":"2024-04-29T21:00:52.000Z","size":14468,"stargazers_count":34,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-27T00:36:51.644Z","etag":null,"topics":["aws","cloud","defcon30","docker","docker-compose","security-tools"],"latest_commit_sha":null,"homepage":"https://try.noirgate.shellz.wtf","language":"Go","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/Shell-Company.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}},"created_at":"2022-08-18T14:39:04.000Z","updated_at":"2025-07-15T18:04:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"a21f4c6e-3ead-47a3-8ef1-d0b42352c68e","html_url":"https://github.com/Shell-Company/Noirgate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Shell-Company/Noirgate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shell-Company%2FNoirgate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shell-Company%2FNoirgate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shell-Company%2FNoirgate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shell-Company%2FNoirgate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Shell-Company","download_url":"https://codeload.github.com/Shell-Company/Noirgate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Shell-Company%2FNoirgate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30213266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T12:15:00.571Z","status":"ssl_error","status_checked_at":"2026-03-07T12:15:00.217Z","response_time":53,"last_error":"SSL_read: 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":["aws","cloud","defcon30","docker","docker-compose","security-tools"],"created_at":"2024-12-02T12:18:28.280Z","updated_at":"2026-03-07T12:37:11.478Z","avatar_url":"https://github.com/Shell-Company.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Noirgate ꩜\r\n\r\nNoirGate provides on-demand ephemeral anonymous shells secured by TOTP.\r\n[Try Me!](https://try.noirgate.shellz.wtf) - \u003cp\u003eText HOW to 1-337-561-1337\u003c/p\u003e\r\n\u003cp align=\"center\"\u003e\r\n\u003cimg src='media/noirgate.gif'/\u003e\r\n\u003c/p\u003e\r\n\r\n##\r\n There are often times while conducting security research where you need a quick disposable terminal environment to validate findings\r\nor conduct research anonymously. Noirgate provides on-demand web sandboxes running Tor, and DNS over TLS for layer-7 anonymity.\r\n\r\n## Features\r\n\r\n* Multiple-API Endpoints (SMS, REST, ChatOps)\r\n* Network controls\r\n  * DNS over TLS\r\n  * Torsocks + Privoxy\r\n* Container controls\r\n  * Low-Privilege Container user\r\n  * Dangerous capabilities removed\r\n  * Limits imposed via ulimit\r\n* Host controls\r\n  * Isolated client, and management networks\r\n  * Restrictions on metadata interfaces\r\n\r\n## Components\r\n\r\n* Noirgate-Manager - Lifecycle management and control for noirgate-shell containers\r\n* Noirgate-Procurement - Discord/Slack bot for Chatops integration\r\n* Noirgate-DiscoDNS - Noirgate Shell DNS server\r\n* Noirgate-Shell - Base Noirgate container containing the tools below\r\n\r\n## Tools\r\n\r\n* Cloud provider clients\r\n* Offensive security tools\r\n* Defense security tools\r\n* Developer tools\r\n\r\n## Prerequisites\r\n\r\n1. AWS Account\r\n2. IAM role to deploy the terraform code\r\n3. Twilio API Key (optional)\r\n4. Valid x509 Certificate (not self-signed)\r\n5. Terraform\r\n6. Docker-Compose\r\n7. x86_64 host\r\n\r\n## Getting Started\r\n\r\n### Method #1 \r\n1. Clone the repo locally \r\n`git clone https://github.com/Shell-Company/noirgate-public`\r\n2. Build the Noirgate host\r\n`cd noirgate-public/noirgate-terraform \u0026\u0026 terraform apply` \r\n\u003e Wait for terraform build to complete and ssh into the noirgate-host using the provided PEM file\r\n3. Set environment variables below on the host \r\n```\r\nTWILIO_SID - Twilio account ID\r\nTWILIO_TOKEN - Twilio Secret\r\nTWILIO_NUMBER - Twilio Phone Number\r\nAWS_ACCESS_KEY_ID - access key\r\nAWS_SECRET_ACCESS_KEY - secret\r\nNOIRGATE_BOT_TOKEN - Discord bot token\r\n```\r\n\r\n### Method #2 \r\n\r\n1. Same as above\r\n2. Follow step #3 from above\r\n3. Run docker-compose-no-sms.yml \r\n`sudo -E docker-compose -f ./noirgate-compose/docker-compose-no-sms.yml up`\r\n\r\n# To-Do\r\n* Add instructions for deploying on Kubernetes\r\n* Add server secret validation for discord bots and rest API\r\n\r\n\u003eThis software is provided as is without any warranty of any kind, and is currently a work in progress.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshell-company%2Fnoirgate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshell-company%2Fnoirgate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshell-company%2Fnoirgate/lists"}