{"id":13762730,"url":"https://github.com/evilsocket/ditto","last_synced_at":"2025-04-05T02:11:56.442Z","repository":{"id":57563749,"uuid":"333772078","full_name":"evilsocket/ditto","owner":"evilsocket","description":"A tool for IDN homograph attacks and detection.","archived":false,"fork":false,"pushed_at":"2021-02-01T18:11:45.000Z","size":98,"stargazers_count":734,"open_issues_count":0,"forks_count":68,"subscribers_count":20,"default_branch":"main","last_synced_at":"2025-03-29T01:14:23.447Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evilsocket.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-01-28T13:46:48.000Z","updated_at":"2025-03-24T06:59:17.000Z","dependencies_parsed_at":"2022-08-31T18:22:55.145Z","dependency_job_id":null,"html_url":"https://github.com/evilsocket/ditto","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fditto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fditto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fditto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evilsocket%2Fditto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evilsocket","download_url":"https://codeload.github.com/evilsocket/ditto/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276189,"owners_count":20912288,"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-03T14:00:55.675Z","updated_at":"2025-04-05T02:11:56.421Z","avatar_url":"https://github.com/evilsocket.png","language":"Go","readme":"Ditto is a small tool that accepts a domain name as input and generates all its variants for an [homograph attack](https://en.wikipedia.org/wiki/IDN_homograph_attack) as output, checking which ones are available and which are already registered.\n\nPoC domains \n\n* https://tᴡitter.com/\n* https://clᴏudflare.com\n\n## Using with Docker\n\nThe [image on docker hub](https://hub.docker.com/r/evilsocket/ditto) is updated on every push, you can just:\n\n    docker run evilsocket/ditto -h\n\n## Compiling from sources\n\nCompiling from sources requires the go compiler, this will install the binary in `$GOPATH/bin`:\n\n    # make sure go modules are used\n    GO111MODULE=on go get github.com/evilsocket/ditto/cmd/ditto\n\n## Usage\n\nTo only transform a string:\n\n    ditto -string google\n\nFor a domain:\n\n    ditto -domain facebook.com\n\nUse more concurrent workers to increase speed (WARNING: might cause a temporary IP ban from the WHOIS servers):\n\n    ditto -workers 4 -domain facebook.com\n\nIf instead of mutating the domain name you want to check other TLDs (throttle is set to 1s in order to avoid being \nblocked by WHOIS servers due to the many requests in a short timeframe):\n\n    ditto -domain facebook.com -tld -throttle 1000 -limit 100\n\nOnly show available domains:\n\n    ditto -domain facebook.com -available\n\nOnly show registered domains:\n\n    ditto -domain facebook.com -registered\n\nOnly show registered domains that resolve to an IP:\n    \n    ditto -domain facebook.com -live\n\nShow WHOIS information:\n\n    ditto -domain facebook.com -live -whois\n\nSave to CSV file with extended WHOIS information:\n\n    ditto -domain facebook.com -whois -csv output.csv\n\nKeep running and monitoring for changes every hour:\n\n    ditto -domain facebook.com -monitor 1h\n\nThe same but also keep and store the changes as JSON files:\n\n    ditto -domain facebook.com -monitor 1h -changes /some/path -keep-changes\n\nExecute a command if changes have been detected (see example send-email-report.sh in this repo, automatically added to the docker image):\n\n        ditto -domain facebook.com \\\n              -monitor 1h \\\n              -trigger \"/usr/bin/send-email-report.sh {{.Domain}} {{.ChangesFile}} your@email.com\"\n\nFor more options:\n    \n    ditto -help\n\n## License\n\nReleased under the GPL3 license.\n","funding_links":[],"categories":["Weapons","[](#table-of-contents) Table of contents","Go"],"sub_categories":["Tools","[](#domainip-investigation)Domain/IP investigation"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilsocket%2Fditto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevilsocket%2Fditto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevilsocket%2Fditto/lists"}