[
  {
    "path": ".gitignore",
    "content": "*.DS_Store\nnode_modules/\ntmp/\n.vscode\n/dist"
  },
  {
    "path": "LICENSE",
    "content": "\n\nCopyright 2019 HASH1da1\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software\nand associated documentation files (the \"Software\"), to deal in the Software without restriction,\nincluding without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,\nand/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or\nsubstantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,\nINCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. \nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, \nDAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, \nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# Gotanda \n\nGotanda is OSINT(Open Source Intelligence) Web Extension for Firefox/Chrome.\n\nThis Web Extension could search OSINT information from some IOC in web page.(IP,Domain,URL,SNS...etc)\n\nThis Repository partly the studying and JavaScript practice.\n\nDownload link below.\n\n- [FireFox](https://addons.mozilla.org/ja/firefox/addon/gotanda/)\n\n- [Chrome](https://chrome.google.com/webstore/detail/gotanda/jbmdcdfnnpenkgliplbglfpninigbiml)\n\n## Usage\n\nRight click highlighted IOC strings, It will show contextmenus.(Or right clicking any link. )\n\nWhen You want to search using some engine, You choose one of list.\n\n## Search Engine List\n\n|Name|URL|Category|\n|:---|:--|:-------|\n|Domain Tools|https://whois.domaintools.com/|whois Lookup|\n|Security Trails|https://securitytrails.com/|whois lookup|\n|whoisds|https://whoisds.com/|whois lookup|\n|ThreatCrowd|https://www.threatcrowd.org/|Domain, IPv4|\n|AbuseIPDB|https://www.abuseipdb.com/|IPv4|\n|HackerTarget|https://hackertarget.com/|IPv4|\n|Censys|https://censys.io/|IP, Domain|\n|Shodan|https://shodan.io/|IP, Domain|\n|VirusTotal|https://virustotal.com/|IP, Domain, URL,Hash|\n|GreyNoise|https://viz.greynoise.io/|IPv4|\n|IPAlyzer|https://ipalyzer.com/|IPv4|\n|Tor Relay Search|https://metrics.torproject.org/|IP,Domain|\n|Domain Watch|https://domainwat.ch/|Domain, Email,whois lookup|\n|crt.sh|https://crt.sh/|SSL-certificate|\n|SecurityHeaders|https://securityheaders.com/|URL, Domain|\n|DNSlytics|https://dnslytics.com/|IPv4,IPv6,ASN|\n|URLscan|https://urlscan.io/|URL|\n|Ultratools|https://www.ultratools.com/|IPv6|\n|Wayback Machine|https://web.archive.org|URL|\n|aguse|https://www.aguse.jp/|URL|\n|check-host|https://check-host.net/|URL|\n|CIRCL|https://cve.circl.lu/|CVE|\n|FortiGuard|https://fortiguard.com/|CVE|\n|Sploitus|https://sploitus.com/|CVE|\n|Vulmon|https://vulmon.com/|CVE|\n|CXSecurity|https://cxsecurity.com/|CVE|\n|Vulncode-DB|https://www.vulncode-db.com/|CVE|\n|Malshare|https://malshare.com/|MD5 Hash|\n|ThreatCrowd|https://www.threatcrowd.org/|IP,Domain|\n|Hybrid Analysis|https://www.hybrid-analysis.com/|hash|\n|Twitter|https://twitter.com/|SNS, w/TimeLine|\n|Qiita|https://qiita.com|SNS|\n|GitHub|https://github.com|SNS|\n|Facebook|https://www.facebook.com/|SNS, w/TimeLine|\n|Instagram|https://www.instagram.com/|SNS|\n|LinkedIn|https://linkedin.com/|SNS|\n|Pinterest|https://www.pinterest.jp|SNS|\n|reddit|https://www.reddit.com/|SNS|\n\nAbout Twitter and FaceBook could search timeline with any words.\n\n\n## Misc\n\n**This extension is optimized for the Japanese environment.**\n\n\n"
  },
  {
    "path": "background.js",
    "content": "// create Whois context menus\r\nchrome.contextMenus.create({\r\n    \"id\": \"whois\",\r\n    \"title\": \"whois\",\r\n    \"contexts\":[\"selection\", \"link\"]\r\n});\r\n\r\n// child whois menu\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"domaintools whois\",\r\n    \"title\": \"Domain Tools\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"whois\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"domainwatch whois\",\r\n    \"title\": \"Domainwatch whois\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\":\"whois\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"securitytrails whois\",\r\n    \"title\": \"SecurityTrails\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\":\"whois\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"whoisds\",\r\n    \"title\": \"WHOISDS\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"whois\"\r\n});\r\n\r\n// create IP address context menus\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"IP\",\r\n    \"title\": \"IP\",\r\n    \"contexts\": [\"selection\", \"link\"]\r\n})\r\n//IPv4\r\nchrome.contextMenus.create({\r\n    \"id\": \"IPv4\",\r\n    \"title\": \"IPv4\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\":\"IP\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"abuseIPDB\",\r\n    \"title\":\"AbuseIPDB\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"hackertarget IP\",\r\n    \"title\":\"HackerTarget\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"censys IP\",\r\n    \"title\":\"Censys\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"shodan\",\r\n    \"title\":\"Shodan IP\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"virustotal\",\r\n    \"title\":\"VirusTotal IP\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\nchrome.contextMenus.create({\r\n    \"id\": \"greynoise\",\r\n    \"title\": \"Greynoise\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"dnslytics ip\",\r\n    \"title\": \"DNSlytics\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n})\r\n//IPv4\r\nchrome.contextMenus.create({\r\n    \"id\": \"IPv4\",\r\n    \"title\": \"IPv4\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\":\"IP\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"abuseIPDB\",\r\n    \"title\":\"AbuseIPDB\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"hackertarget IP\",\r\n    \"title\":\"HackerTarget\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"censys IP\",\r\n    \"title\":\"Censys\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"shodan\",\r\n    \"title\":\"Shodan IP\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"virustotal\",\r\n    \"title\":\"VirusTotal IP\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\nchrome.contextMenus.create({\r\n    \"id\": \"greynoise\",\r\n    \"title\": \"Greynoise\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"dnslytics ip\",\r\n    \"title\": \"DNSlytics\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"tor ip\",\r\n    \"title\": \"Tor Relay IP\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"tor ip\",\r\n    \"title\": \"Tor Relay IP\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"threatcrowd ip\",\r\n    \"title\": \"ThreatCrowd IP\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\",\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"ipalyzer\",\r\n    \"title\": \"IPAlyzer\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"bgpview ip\",\r\n    \"title\": \"BGPView IP\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv4\"\r\n});\r\n\r\n//IPv6\r\nchrome.contextMenus.create({\r\n    \"id\": \"IPv6\",\r\n    \"title\": \"IPv6\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IP\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"dnslytics v6\",\r\n    \"title\": \"DNSlytics IPv6\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv6\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"ultratools v6\",\r\n    \"title\": \"Ultratools v6\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv6\",\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"dnslytics v6\",\r\n    \"title\": \"DNSlytics IPv6\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv6\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"ultratools v6\",\r\n    \"title\": \"Ultratools v6\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"IPv6\"\r\n});\r\n\r\n\r\n// create ASN search context menus\r\nchrome.contextMenus.create({\r\n    \"id\": \"asn\",\r\n    \"title\": \"ASN\",\r\n    \"contexts\": [\"selection\", \"link\"]\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"dnslytics asn\",\r\n    \"title\": \"DNSlytics ASN\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"asn\",\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"dnslytics asn\",\r\n    \"title\": \"DNSlytics ASN\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"asn\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"bgpview asn\",\r\n    \"title\": \"BGPView ASN\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"asn\"\r\n});\r\n\r\n// create Domain search context menus\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"domain\",\r\n    \"title\": \"Domain\",\r\n    \"contexts\":[\"selection\", \"link\"]\r\n});\r\n\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"censys Domain\",\r\n    \"title\":\"Censys\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"shodan Domain\",\r\n    \"title\":\"Shodan\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"domainwatch\",\r\n    \"title\":\"DomainWatch\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"virustotal Domain\",\r\n    \"title\":\"VirusTotal\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"tor domain\",\r\n    \"title\": \"Tor Relay domain\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"threatcrowd domain\",\r\n    \"title\": \"ThreatCrowd Domain\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"domain\",\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"censys Domain\",\r\n    \"title\":\"Censys\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"shodan Domain\",\r\n    \"title\":\"Shodan\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"hackertarget traceroute\",\r\n    \"title\": \"HakcerTarget Traceroute\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"domainwatch\",\r\n    \"title\":\"DomainWatch\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"virustotal Domain\",\r\n    \"title\":\"VirusTotal\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"tor domain\",\r\n    \"title\": \"Tor Relay domain\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"threatcrowd domain\",\r\n    \"title\": \"ThreatCrowd Domain\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"domain\"\r\n});\r\n\r\n// create SSL certificate search context menus\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"sslcertificate\",\r\n    \"title\":\"SSL-Certificate\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"crt.sh\",\r\n    \"title\":\"crt.sh\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\":\"sslcertificate\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"ssl-bl\",\r\n    \"title\":\"Abuse.ch SSLBL-Hash\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\":\"sslcertificate\"\r\n});\r\n\r\n// create URL search context menus\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"URL\",\r\n    \"title\": \"URL\",\r\n    \"contexts\": [\"selection\", \"link\"]\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"urlscan\",\r\n    \"title\":\"URLscan\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"URL\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"aguse\",\r\n    \"title\":\"aguse.jp\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\":\"URL\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"check-host\",\r\n    \"title\":\"Check-Host\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\":\"URL\",\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"urlscan\",\r\n    \"title\":\"URLscan\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"URL\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"archive\",\r\n    \"title\": \"Wayback Machine\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"URL\"\r\n});\r\n\r\n\r\n//create Vulnerability context menus\r\nchrome.contextMenus.create({\r\n    \"id\": \"Vuln\",\r\n    \"title\": \"Vuln\",\r\n    \"contexts\":[\"selection\", \"link\"]\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"fortiguard\",\r\n    \"title\": \"FortiGuard CVE\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"sploitus\",\r\n    \"title\": \"Sploitus\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"vulmon\",\r\n    \"title\":\"Vulmon\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"cxsecurity\",\r\n    \"title\": \"CXSecurity\",\r\n    \"contexts\":[\"selection\", \"link\" ],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"vulncode\",\r\n    \"title\": \"Vulncode DB\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\n// Create Malicious Software Search context menus\r\nchrome.contextMenus.create({\r\n    \"id\": \"hash\",\r\n    \"title\": \"Hashes\",\r\n    \"contexts\":[\"selection\", \"link\"]\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"malshare\",\r\n    \"title\": \"Malshare\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"hash\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"virustotal hash\",\r\n    \"title\": \"VirusTotal Hash\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"hash\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"circl\",\r\n    \"title\": \"CIRCL CVE\",\r\n    \"contexts\": [\"selection\",\"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"fortiguard\",\r\n    \"title\": \"FortiGuard CVE\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"sploitus\",\r\n    \"title\": \"Sploitus\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"vulmon\",\r\n    \"title\":\"Vulmon\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"cxsecurity\",\r\n    \"title\": \"CXSecurity\",\r\n    \"contexts\":[\"selection\", \"link\" ],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"vulncode\",\r\n    \"title\": \"Vulncode DB\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"Vuln\"\r\n});\r\n\r\n// Create Malicious Software Search context menus\r\nchrome.contextMenus.create({\r\n    \"id\": \"hash\",\r\n    \"title\": \"Hashes\",\r\n    \"contexts\":[\"selection\", \"link\"]\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"malshare\",\r\n    \"title\": \"Malshare\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"hash\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"virustotal hash\",\r\n    \"title\": \"VirusTotal Hash\",\r\n    \"contexts\": [\"selection\", \"link\"],\r\n    \"parentId\": \"hash\" \r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"hybrid analysis\",\r\n    \"title\": \"Hybrid Analysis Hash\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\":\"hash\"\r\n});\r\n\r\n//create SNS search context menus\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"social\",\r\n    \"title\": \"Social\",\r\n    \"contexts\":[\"selection\", \"link\"]\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"twitter\",\r\n    \"title\":\"Twitter\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"qiita\",\r\n    \"title\":\"Qiita\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"github\",\r\n    \"title\":\"Github\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\n//SNS Account search\r\nchrome.contextMenus.create({\r\n    \"id\": \"social account\",\r\n    \"title\": \"Social Account\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"twitter\",\r\n    \"title\":\"Twitter\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"qiita\",\r\n    \"title\":\"Qiita\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"github\",\r\n    \"title\":\"Github\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"facebook\",\r\n    \"title\":\"FaceBook\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"instagram\",\r\n    \"title\":\"Instagram\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"linkedin\",\r\n    \"title\":\"LinkedIn\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"pinterest\",\r\n    \"title\": \"Pinterest\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"facebook\",\r\n    \"title\":\"FaceBook\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"instagram\",\r\n    \"title\":\"Instagram\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\":\"linkedin\",\r\n    \"title\":\"LinkedIn\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"pinterest\",\r\n    \"title\": \"Pinterest\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social account\"\r\n});\r\n\r\n\r\n//SNS Timeline search\r\nchrome.contextMenus.create({\r\n    \"id\": \"timeline\",\r\n    \"title\": \"TimeLine\",\r\n    \"contexts\":[\"selection\", \"link\"],\r\n    \"parentId\": \"social\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"twittertl\",\r\n    \"title\": \"Twitter Timeline\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\": \"timeline\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"facebooktl\",\r\n    \"title\": \"FaceBook TimeLine\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\": \"timeline\"\r\n});\r\n\r\nchrome.contextMenus.create({\r\n    \"id\": \"reddit\",\r\n    \"title\": \"reddit\",\r\n    \"contexts\":[\"selection\",\"link\"],\r\n    \"parentId\": \"timeline\"\r\n});\r\n\r\n\r\n//create empty variables\r\nvar url = \"\";\r\nvar artifact = \"\";\r\nvar v6URI = \"\";\r\n\r\n//refang function\r\nfunction refangArtifact(artifact){\r\n    while(artifact.includes(\"[.]\")){\r\n        artifact = artifact.replace(\"[.]\",\".\");\r\n    }\r\n    if(artifact.includes(\"hxxp://\")){\r\n        artifact = artifact.replace(\"hxxp://\",\"http://\");\r\n    }\r\n    if(artifact.includes(\"hxxps://\")){\r\n        artifact = artifact.replace(\"hxxps://\",\"https://\");\r\n    }\r\n    if(artifact.includes(\"[:]//\")){\r\n        artifact = artifact.replace(\"[:]//\",\"://\")\r\n    }\r\n    return artifact;\r\n};\r\n\r\n\r\n// when you click event listener function\r\n\r\nchrome.contextMenus.onClicked.addListener((info, tab) => {\r\n    // strip leading and trailing spaces\r\n    if (info.selectionText) {\r\n        artifact = String(info.selectionText).trim();\r\n        v6URI = encodeURIComponent(info.selectionText);\r\n    } else if (info.linkUrl) {\r\n        var link = new URL(info.linkUrl);\r\n        artifact = link.host;\r\n    } else if (info.srcUrl) {\r\n        var src = new URL(info.srcUrl);\r\n        artifact = src.host;\r\n    }\r\n    \r\n    artifact = refangArtifact(artifact);\r\n\r\nswitch (info.menuItemId){\r\n    //whois\r\n    case \"domaintools whois\":\r\n        url = \"https://whois.domaintools.com/\"+artifact;\r\n        break;\r\n\r\n    case \"domainwatch whois\":\r\n        url =\"https://domainwat.ch/whois/\"+artifact;\r\n        break;\r\n\r\n    case \"securitytrails whois\":\r\n        url = \"https://securitytrails.com/domain/\"+artifact+\"/dns\";\r\n        break;\r\n\r\n    case \"whoisds\":\r\n        url = \"https://whoisds.com/whois-lookup/lookup?domain=\"+artifact;\r\n        break;\r\n\r\n    //IPv4\r\n    case \"abuseIPDB\":\r\n        url = \"https://www.abuseipdb.com/check/\"+artifact;\r\n        break;\r\n    \r\n    case \"hackertarget IP\":\r\n        url = \"https://api.hackertarget.com/reverseiplookup/?q=\"+artifact;\r\n        break;\r\n    \r\n    case \"censys IP\":\r\n        url = \"https://search.censys.io/hosts/\"+artifact;\r\n        break;\r\n    \r\n    case \"shodan\":\r\n        url = \"https://www.shodan.io/host/\"+artifact;\r\n        break;\r\n\r\n    case \"virustotal\":\r\n        url = \"https://virustotal.com/#/ip-address/\"+artifact;\r\n        break;\r\n\r\n    case \"greynoise\":\r\n        url = \"https://viz.greynoise.io/ip/\"+artifact;\r\n        break;\r\n    case \"dnslytics ip\":\r\n        url = \"https://dnslytics.com/ip/\"+artifact;\r\n        break;  \r\n\r\n    case \"tor ip\":\r\n        url = \"https://metrics.torproject.org/rs.html#search/\"+artifact;\r\n        break;\r\n\r\n    case \"threatcrowd ip\":\r\n        url = \"https://www.threatcrowd.org/ip.php?ip=\"+artifact;\r\n        break;  \r\n    \r\n    case \"ipalyzer\":\r\n        url = \"https://ipalyzer.com/\"+artifact;\r\n        break;\r\n\r\n    case \"bgpview ip\":\r\n        url = \"https://bgpview.io/ip/\"+artifact;\r\n        break;\r\n    //IPv6\r\n\r\n    case \"dnslytics v6\":\r\n        url =\"https://dnslytics.com/ipv6/\"+artifact;\r\n        break;\r\n    \r\n    case \"ultratools v6\":\r\n        url =\"https://www.ultratools.com/tools/ipv6InfoResult?ipAddress=\"+v6URI;\r\n        break;\r\n\r\n    //ASN\r\n    case \"dnslytics asn\":\r\n        url =\"https://dnslytics.com/bgp/\"+artifact.toLowerCase();\r\n        break;\r\n\r\n    case \"bgpview asn\":\r\n        url = \"https://bgpview.io/asn\"+artifact;\r\n        break;\r\n    \r\n        \r\n    //Domain\r\n\r\n    case \"censys Domain\":\r\n        url = \"https://search.censys.io/search?resource=hosts&sort=RELEVANCE&per_page=25&virtual_hosts=EXCLUDE&q=\"+artifact;\r\n        break;\r\n    \r\n    case \"shodan Domain\":\r\n        url = \"https://www.shodan.io/search?query=\"+artifact;\r\n        break;\r\n\r\n    case \"hackertarget traceroute\":\r\n        url = \"https://api.hackertarget.com/mtr/?q=\"+artifact;\r\n        break;\r\n\r\n    case \"domainwatch\":\r\n        url = \"https://domainwat.ch/site/\"+artifact;\r\n        break;\r\n    \r\n    case \"virustotal Domain\":\r\n        url = \"https://virustotal.com/#/domain/\"+artifact;\r\n        break;\r\n\r\n    case \"tor domain\":\r\n        url = \"https://metrics.torproject.org/rs.html#search/\"+artifact;\r\n        break;\r\n\r\n    case \"threatcrowd domain\":\r\n        url= \"https://www.threatcrowd.org/domain.php?domain=\"+artifact;\r\n        break;\r\n\r\n    case \"urlhaus domain\":\r\n        url = \"https://urlhaus.abuse.ch/browse.php?search=\"+artifact;\r\n        break;\r\n\r\n    case \"securityheaders domain\":\r\n        url = \"https://securityheaders.com/?q=\"+artifact+\"&followRedirects=on\";\r\n        break;\r\n\r\n    // certificate\r\n    \r\n    case \"crt.sh\":\r\n        url=\"https://crt.sh/?q=\"+artifact;\r\n        break;\r\n\r\n    case \"ssl-bl\":\r\n        url =\"https://sslbl.abuse.ch/ssl-certificates/sha1/\"+artifact;\r\n        break;\r\n\r\n    //URL\r\n\r\n    case \"urlscan\":\r\n        url = \"https://urlscan.io/api/v1/search/?q=domain:\"+artifact;\r\n        break;\r\n    \r\n    case \"aguse\":\r\n        url = \"https://www.aguse.jp/?url=\"+encodeURIComponent(artifact);\r\n        break;\r\n\r\n    case \"check-host\":\r\n        url = \"https://check-host.net/ip-info?host=\"+artifact;\r\n        break;\r\n\r\n    case \"archive\":\r\n        url = \"https://web.archive.org/web/*/\"+artifact;\r\n        break;\r\n\r\n    //Vuln\r\n    case \"circl\":\r\n        url = \"https://cve.circl.lu/cve/\"+artifact;\r\n        break;\r\n\r\n    case \"fortiguard\":\r\n        url = \"https://fortiguard.com/search?q=\"+artifact+\"&engine=3\";\r\n        break;\r\n\r\n    case \"sploitus\":\r\n        url = \"https://sploitus.com/?query=\"+artifact+\"#exploits\";\r\n        break;\r\n\r\n    case \"vulmon\":\r\n        url = \"https://vulmon.com/searchpage?q=\"+artifact;\r\n        break;\r\n    \r\n    case \"cxsecurity\":\r\n        url = \"https://cxsecurity.com/cveshow/\"+artifact;\r\n        break;\r\n\r\n    case \"vulncode\":\r\n        url = \"https://www.vulncode-db.com/\"+artifact;\r\n        break;\r\n\r\n    //hashes\r\n    case \"malshare\":\r\n        url = \"https://malshare.com/search.php?query=\"+artifact;\r\n        break;\r\n\r\n    case \"virustotal hash\":\r\n        url = \"https://www.virustotal.com/gui/search/\"+artifact;\r\n        break;\r\n\r\n    case \"hybrid analysis\":\r\n        url = \"https://www.hybrid-analysis.com/sample/\"+artifact;\r\n        break;\r\n\r\n    //SNS\r\n\r\n    case \"twitter\":\r\n        url = \"https://twitter.com/\"+artifact;\r\n        break;\r\n\r\n    case \"qiita\":\r\n        url = \"https://qiita.com/\"+artifact;\r\n        break;\r\n\r\n    case \"github\":\r\n        url = \"https://github.com/\"+artifact;\r\n        break;\r\n\r\n    case \"facebook\":\r\n        url = \"https://www.facebook.com/public/\"+artifact;\r\n        break;\r\n    \r\n    case \"instagram\":\r\n        url = \"https://www.instagram.com/\"+artifact;\r\n        break;\r\n\r\n    case \"linkedin\":\r\n        url = \"https://www.linkedin.com/in/\"+artifact;\r\n        break;\r\n\r\n    case \"pinterest\":\r\n        url = \"https://www.pinterest.jp/\"+artifact;\r\n        break;\r\n    \r\n    //SNS timeline search\r\n    case \"twittertl\":\r\n        url = \"https://twitter.com/search?q=\"+artifact;\r\n        break;\r\n    \r\n    case \"facebooktl\":\r\n        url = \"https://www.facebook.com/search/top/?q=\"+artifact;\r\n        break;\r\n    \r\n    case \"reddit\":\r\n        url = \"https://www.reddit.com/search/?q=\"+artifact;\r\n        break;\r\n\r\n};\r\n\r\nchrome.tabs.create({url: url});\r\n});\r\n"
  },
  {
    "path": "manifest.json",
    "content": "{\r\n    \"manifest_version\": 2,\r\n    \"name\": \"Gotanda\",\r\n    \"description\": \"OSINT addon\",\r\n    \"version\": \"1.8.2\",\r\n    \"icons\": {\r\n        \"128\": \"image/128.png\"\r\n    },\r\n    \"background\": {\r\n        \"scripts\": [\"background.js\"],\r\n        \"persistent\": false\r\n    },\r\n    \"permissions\": [\r\n        \"contextMenus\",\r\n        \"background\"\r\n    ]\r\n}\r\n"
  }
]