{ "info": { "author": "Fabian Martinez Portantier", "author_email": "fabian@portantier.com", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.7", "Topic :: Security", "Topic :: System :: Networking" ], "description": "Habu: Hacking Toolkit\n=====================\n\nI'm developing Habu to teach (and learn) some concepts about Python and\nNetwork Hacking.\n\nSome techniques implemented in the current version are:\n\n* ARP Poisoning\n* ARP Sniffing\n* DHCP Discover\n* DHCP Starvation\n* Fake FTP Server\n* LAND Attack\n* SNMP Cracking\n* Subdomains Identification\n* SSL/TLS Certificate Cloner\n* SYN Flooding\n* TCP Flags Analysis\n* TCP ISN Analysis\n* TCP Port Scan\n* Username check on social networks\n* Virtual Hosts Identification\n* Web Techonologies Identification\n\nThe development of this software is supported by Securetia SRL (https://www.securetia.com/)\n\nUsage Videos\n------------\n\nThe following Youtube Playlist has videos that shows the installation\nand usage:\n\nhttps://www.youtube.com/watch?v=rgp9seLLyqE&list=PL4HZnX8VnFXqSvNw7x-bXOn0dgxNdfnVD\n\nTelegram Group\n--------------\n\nIf you want to discuss some Habu features, possible improvements, etc,\nyou can use the Habu Telegram Group: https://t.me/python_habu\n\nIssues and pull requests must be sent to github repo:\nhttps://github.com/portantier/habu\n\nInstallation\n------------\n\n**Kali Linux:**\n\nYou can install the package created for Kali Linux. See\nhttps://github.com/portantier/habu/releases\n\n**Python Package (PyPi):**\n\nHabu is on PyPi, so you can install it directly with pip:\n\n```\n$ pip3 install habu\n```\n\n**Microsoft Windows**:\n\nInstall it with the pip method.\n\nGet Help\n--------\n\nAll the commands implement the option '--help', that shows the help,\narguments, options, and default values.\n\nVerbose Mode\n------------\n\nAlmost all commands implement the verbose mode with the '-v' option.\nThis can give you some extra info about what habu is doing.\n\nCommands Index\n--------------\n\n* `arp.ping <#habuarpping>`_\n* `arp.poison <#habuarppoison>`_\n* `arp.sniff <#habuarpsniff>`_\n* `asydns <#habuasydns>`_\n* `b64 <#habub64>`_\n* `cert.clone <#habucertclone>`_\n* `cert.names <#habucertnames>`_\n* `config.del <#habuconfigdel>`_\n* `config.set <#habuconfigset>`_\n* `config.show <#habuconfigshow>`_\n* `contest <#habucontest>`_\n* `crack.luhn <#habucrackluhn>`_\n* `crack.snmp <#habucracksnmp>`_\n* `crtsh <#habucrtsh>`_\n* `cve.2018.9995 <#habucve20189995>`_\n* `cymon.ip <#habucymonip>`_\n* `cymon.ip.timeline <#habucymoniptimeline>`_\n* `decrypt.gppref <#habudecryptgppref>`_\n* `dhcp.discover <#habudhcpdiscover>`_\n* `dhcp.starvation <#habudhcpstarvation>`_\n* `dns.lookup.forward <#habudnslookupforward>`_\n* `dns.lookup.reverse <#habudnslookupreverse>`_\n* `eicar <#habueicar>`_\n* `expand <#habuexpand>`_\n* `extract.domain <#habuextractdomain>`_\n* `extract.email <#habuextractemail>`_\n* `extract.hostname <#habuextracthostname>`_\n* `extract.ipv4 <#habuextractipv4>`_\n* `fernet <#habufernet>`_\n* `fernet.genkey <#habufernetgenkey>`_\n* `filter <#habufilter>`_\n* `forkbomb <#habuforkbomb>`_\n* `gateway.find <#habugatewayfind>`_\n* `hasher <#habuhasher>`_\n* `host <#habuhost>`_\n* `http.headers <#habuhttpheaders>`_\n* `http.options <#habuhttpoptions>`_\n* `interfaces <#habuinterfaces>`_\n* `ip <#habuip>`_\n* `ip2asn <#habuip2asn>`_\n* `ip.geolocation <#habuipgeolocation>`_\n* `ip.internal <#habuipinternal>`_\n* `isn <#habuisn>`_\n* `jshell <#habujshell>`_\n* `karma <#habukarma>`_\n* `karma.bulk <#habukarmabulk>`_\n* `land <#habuland>`_\n* `nc <#habunc>`_\n* `nmap.excluded <#habunmapexcluded>`_\n* `nmap.open <#habunmapopen>`_\n* `nmap.ports <#habunmapports>`_\n* `ping <#habuping>`_\n* `protoscan <#habuprotoscan>`_\n* `server.ftp <#habuserverftp>`_\n* `shodan <#habushodan>`_\n* `shodan.open <#habushodanopen>`_\n* `shodan.query <#habushodanquery>`_\n* `synflood <#habusynflood>`_\n* `tcpflags <#habutcpflags>`_\n* `tcpscan <#habutcpscan>`_\n* `traceroute <#habutraceroute>`_\n* `usercheck <#habuusercheck>`_\n* `vhosts <#habuvhosts>`_\n* `virustotal <#habuvirustotal>`_\n* `web.report <#habuwebreport>`_\n* `web.screenshot <#habuwebscreenshot>`_\n* `web.tech <#habuwebtech>`_\n* `whois.domain <#habuwhoisdomain>`_\n* `whois.ip <#habuwhoisip>`_\n* `xor <#habuxor>`_\n\nhabu.arp.ping\n-------------\n\n.. code-block::\n\n Usage: habu.arp.ping [OPTIONS] IP\n \n Send ARP packets to check if a host it's alive in the local network.\n \n Example:\n \n # habu.arp.ping 192.168.0.1\n Ether / ARP is at a4:08:f5:19:17:a4 says 192.168.0.1 / Padding\n \n Options:\n -i TEXT Interface to use\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.arp.poison\n---------------\n\n.. code-block::\n\n Usage: habu.arp.poison [OPTIONS] VICTIM1 VICTIM2\n \n Send ARP 'is-at' packets to each victim, poisoning their ARP tables for\n send the traffic to your system.\n \n Note: If you want a full working Man In The Middle attack, you need to\n enable the packet forwarding on your operating system to act like a\n router. You can do that using:\n \n # echo 1 > /proc/sys/net/ipv4/ip_forward\n \n Example:\n \n # habu.arpoison 192.168.0.1 192.168.0.77\n Ether / ARP is at f4:96:34:e5:ae:1b says 192.168.0.77\n Ether / ARP is at f4:96:34:e5:ae:1b says 192.168.0.70\n Ether / ARP is at f4:96:34:e5:ae:1b says 192.168.0.77\n ...\n \n Options:\n -i TEXT Interface to use\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.arp.sniff\n--------------\n\n.. code-block::\n\n Usage: habu.arp.sniff [OPTIONS]\n \n Listen for ARP packets and show information for each device.\n \n Columns: Seconds from last packet | IP | MAC | Vendor\n \n Example:\n \n 1 192.168.0.1 a4:08:f5:19:17:a4 Sagemcom Broadband SAS\n 7 192.168.0.2 64:bc:0c:33:e5:57 LG Electronics (Mobile Communications)\n 2 192.168.0.5 00:c2:c6:30:2c:58 Intel Corporate\n 6 192.168.0.7 54:f2:01:db:35:58 Samsung Electronics Co.,Ltd\n \n Options:\n -i TEXT Interface to use\n --help Show this message and exit.\n \n\nhabu.asydns\n-----------\n\n.. code-block::\n\n Usage: habu.asydns [OPTIONS]\n \n Requests a DNS domain name based on public and private RSA keys using the\n AsyDNS protocol https://github.com/portantier/asydns\n \n Example:\n \n $ habu.asydns -v\n Generating RSA key ...\n Loading RSA key ...\n {\n \"ip\": \"181.31.41.231\",\n \"name\": \"07286e90fd6e7e6be61d6a7919967c7cf3bbfb23a36edbc72b6d7c53.a.asydns.org\"\n }\n \n $ dig +short 07286e90fd6e7e6be61d6a7919967c7cf3bbfb23a36edbc72b6d7c53.a.asydns.org\n 181.31.41.231\n \n Options:\n -u TEXT API URL\n -g Force the generation of a new key pair\n -r Revoke the public key\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.b64\n--------\n\n.. code-block::\n\n Usage: habu.b64 [OPTIONS] [F]\n \n Encodes or decode data in base64, just like the command base64.\n \n $ echo awesome | habu.b64\n YXdlc29tZQo=\n \n $ echo YXdlc29tZQo= | habu.b64 -d\n awesome\n \n Options:\n -d decode instead of encode\n --help Show this message and exit.\n \n\nhabu.cert.clone\n---------------\n\n.. code-block::\n\n Usage: habu.cert.clone [OPTIONS] HOSTNAME PORT KEYFILE CERTFILE\n \n Connect to an SSL/TLS server, get the certificate and generate a\n certificate with the same options and field values.\n \n Note: The generated certificate is invalid, but can be used for social\n engineering attacks\n \n Example:\n \n $ habu.certclone www.google.com 443 /tmp/key.pem /tmp/cert.pem\n \n Options:\n --copy-extensions Copy certificate extensions (default: False)\n --expired Generate an expired certificate (default: False)\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.cert.names\n---------------\n\n.. code-block::\n\n Usage: habu.cert.names [OPTIONS] [NETWORK]\n \n Connects to each host/port and shows a summary of the certificate names.\n \n The hosts to connect to are taken from two possible options:\n \n 1) -i option (stdin by default). A file where each line is a host or\n network 2) An argument that can be a host or network\n \n If you use both methods, the hosts and networks are merged into one list.\n \n Example:\n \n $ habu.cert.names 2.18.60.240/29\n 2.18.60.241 443 i.s-microsoft.com microsoft.com privacy.microsoft.com\n 2.18.60.242 443 aod-ssl.itunes.apple.com aod.itunes.apple.com aodp-ssl.itunes.apple.com\n 2.18.60.243 443 *.mlb.com mlb.com\n 2.18.60.244 443 [SSL: TLSV1_ALERT_INTERNAL_ERROR] tlsv1 alert internal error (_ssl.c:1056)\n 2.18.60.245 443 cert2-cn-public-ubiservices.ubi.com cert2-cn-public-ws-ubiservices.ubi.com\n 2.18.60.246 443 *.blog.sina.com.cn *.dmp.sina.cn\n \n aod.itunes.apple.com aodp-ssl.itunes.apple.com aod-ssl.itunes.apple.com\n *.blog.sina.com.cn cert2-cn-public-ubiservices.ubi.com cert2-cn-public-ws-\n ubiservices.ubi.com *.dmp.sina.cn i.s-microsoft.com microsoft.com\n *.mlb.com mlb.com privacy.microsoft.com\n \n Options:\n -p TEXT Ports to connect to (comma separated list)\n -i FILENAME Input file (Default: stdin)\n -t FLOAT Time to wait for each connection\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.config.del\n---------------\n\n.. code-block::\n\n Usage: habu.config.del [OPTIONS] KEY\n \n Delete a KEY from the configuration.\n \n Note: By default, KEY is converted to uppercase.\n \n Example:\n \n $ habu.config.del DNS_SERVER\n \n Options:\n --help Show this message and exit.\n \n\nhabu.config.set\n---------------\n\n.. code-block::\n\n Usage: habu.config.set [OPTIONS] KEY VALUE\n \n Set VALUE to the config KEY.\n \n Note: By default, KEY is converted to uppercase.\n \n Example:\n \n $ habu.config.set DNS_SERVER 8.8.8.8\n \n Options:\n --help Show this message and exit.\n \n\nhabu.config.show\n----------------\n\n.. code-block::\n\n Usage: habu.config.show [OPTIONS]\n \n Show the current config.\n \n Note: By default, the options with 'KEY' in their name are shadowed.\n \n Example:\n \n $ habu.config.show\n {\n \"DNS_SERVER\": \"8.8.8.8\",\n \"FERNET_KEY\": \"*************\"\n }\n \n Options:\n --show-keys Show also the key values\n --option TEXT... Write to the config(KEY VALUE)\n --help Show this message and exit.\n \n\nhabu.contest\n------------\n\n.. code-block::\n\n Usage: habu.contest [OPTIONS]\n \n Try to connect to various services and check if can reach them using your\n internet connection.\n \n Example:\n \n $ habu.contest\n IP: True\n DNS: True\n FTP: True\n SSH: True\n HTTP: True\n HTTPS: True\n \n Options:\n --help Show this message and exit.\n \n\nhabu.crack.luhn\n---------------\n\n.. code-block::\n\n Usage: habu.crack.luhn [OPTIONS] NUMBER\n \n Having known values for a Luhn validated number, obtain the possible\n unknown numbers.\n \n Numbers that use the Luhn algorithm for validation are Credit Cards, IMEI,\n National Provider Identifier in the United States, Canadian Social\n Insurance Numbers, Israel ID Numbers and Greek Social Security Numbers\n (\u0391\u039c\u039a\u0391).\n \n The '-' characters are ignored.\n \n Define the missing numbers with the 'x' character.\n \n Reference: https://en.wikipedia.org/wiki/Luhn_algorithm\n \n Example:\n \n $ habu.crack.luhn 4509-xxxx-3160-6445\n \n Options:\n --help Show this message and exit.\n \n\nhabu.crack.snmp\n---------------\n\n.. code-block::\n\n Usage: habu.crack.snmp [OPTIONS] IP\n \n Launches snmp-get queries against an IP, and tells you when finds a valid\n community string (is a simple SNMP cracker).\n \n The dictionary used is the distributed with the onesixtyone tool\n https://github.com/trailofbits/onesixtyone\n \n Example:\n \n # habu.crack.snmp 179.125.234.210\n Community found: private\n Community found: public\n \n Note: You can also receive messages like \\ \\, I don't know how to supress\n them for now.\n \n Options:\n -p INTEGER Port to use\n -c TEXT Community (default: list of most used)\n -s Stop after first match\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.crtsh\n----------\n\n.. code-block::\n\n Usage: habu.crtsh [OPTIONS] DOMAIN\n \n Downloads the certificate transparency logs for a domain and check with\n DNS queries if each subdomain exists.\n \n Uses multithreading to improve the performance of the DNS queries.\n \n Example:\n \n $ sudo habu.crtsh securetia.com\n [\n \"karma.securetia.com.\",\n \"www.securetia.com.\"\n ]\n \n Options:\n -c Disable cache\n -n Disable DNS subdomain validation\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.cve.2018.9995\n------------------\n\n.. code-block::\n\n Usage: habu.cve.2018.9995 [OPTIONS] IP\n \n Exploit the CVE-2018-9995 vulnerability, present on various DVR systems.\n \n Note: Based on the original code from Ezequiel Fernandez (@capitan_alfa).\n \n Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-9995\n \n Example:\n \n $ python habu.cve.2018-9995 82.202.102.42\n [\n {\n \"uid\": \"admin\",\n \"pwd\": \"securepassword\",\n \"role\": 2,\n \"enmac\": 0,\n \"mac\": \"00:00:00:00:00:00\",\n \"playback\": 4294967295,\n \"view\": 4294967295,\n \"rview\": 4294967295,\n \"ptz\": 4294967295,\n \"backup\": 4294967295,\n \"opt\": 4294967295\n }\n ]\n \n Options:\n -p INTEGER Port to use (default: 80)\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.cymon.ip\n-------------\n\n.. code-block::\n\n Usage: habu.cymon.ip [OPTIONS] IP\n \n Simple cymon API client.\n \n Prints the JSON result of a cymon IP query.\n \n Example:\n \n $ habu.cymon.ip 8.8.8.8\n {\n \"addr\": \"8.8.8.8\",\n \"created\": \"2015-03-23T12:03:42Z\",\n \"updated\": \"2018-08-24T04:06:07Z\",\n \"sources\": [\n \"safeweb.norton.com\",\n \"botscout.com\",\n \"virustotal.com\",\n \"phishtank\"\n ],\n \"events\": \"https://www.cymon.io/api/nexus/v1/ip/8.8.8.8/events\",\n \"domains\": \"https://www.cymon.io/api/nexus/v1/ip/8.8.8.8/domains\",\n \"urls\": \"https://www.cymon.io/api/nexus/v1/ip/8.8.8.8/urls\"\n }\n \n Options:\n -c Disable cache\n -v Verbose output\n -o FILENAME Output file (default: stdout)\n --help Show this message and exit.\n \n\nhabu.cymon.ip.timeline\n----------------------\n\n.. code-block::\n\n Usage: habu.cymon.ip.timeline [OPTIONS] IP\n \n Simple cymon API client.\n \n Prints the JSON result of a cymon IP timeline query.\n \n Example:\n \n $ habu.cymon.ip.timeline 8.8.8.8\n {\n \"timeline\": [\n {\n \"time_label\": \"Aug. 18, 2018\",\n \"events\": [\n {\n \"description\": \"Posted: 2018-08-18 23:37:39 CEST IDS Alerts: 0 URLQuery Alerts: 1 ...\",\n \"created\": \"2018-08-18T21:39:07Z\",\n \"title\": \"Malicious activity reported by urlquery.net\",\n \"details_url\": \"http://urlquery.net/report/b1393866-9b1f-4a8e-b02b-9636989050f3\",\n \"tag\": \"malicious activity\"\n }\n ]\n },\n ...\n \n Options:\n -c Disable cache\n -v Verbose output\n -o FILENAME Output file (default: stdout)\n -p Pretty output\n --help Show this message and exit.\n \n\nhabu.decrypt.gppref\n-------------------\n\n.. code-block::\n\n Usage: habu.decrypt.gppref [OPTIONS] PASSWORD\n \n Decrypt the password of local users added via Windows 2008 Group Policy\n Preferences.\n \n This value is the 'cpassword' attribute embedded in the Groups.xml file,\n stored in the domain controller's Sysvol share.\n \n Example:\n \n # habu.decrypt.gppref AzVJmXh/J9KrU5n0czX1uBPLSUjzFE8j7dOltPD8tLk\n testpassword\n \n Options:\n --help Show this message and exit.\n \n\nhabu.dhcp.discover\n------------------\n\n.. code-block::\n\n Usage: habu.dhcp.discover [OPTIONS]\n \n Send a DHCP request and show what devices has replied.\n \n Note: Using '-v' you can see all the options (like DNS servers) included\n on the responses.\n \n # habu.dhcp_discover\n Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.5:bootpc / BOOTP / DHCP\n \n Options:\n -i TEXT Interface to use\n -t INTEGER Time (seconds) to wait for responses\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.dhcp.starvation\n--------------------\n\n.. code-block::\n\n Usage: habu.dhcp.starvation [OPTIONS]\n \n Send multiple DHCP requests from forged MAC addresses to fill the DHCP\n server leases.\n \n When all the available network addresses are assigned, the DHCP server\n don't send responses.\n \n So, some attacks, like DHCP spoofing, can be made.\n \n # habu.dhcp_starvation\n Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.6:bootpc / BOOTP / DHCP\n Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.7:bootpc / BOOTP / DHCP\n Ether / IP / UDP 192.168.0.1:bootps > 192.168.0.8:bootpc / BOOTP / DHCP\n \n Options:\n -i TEXT Interface to use\n -t INTEGER Time (seconds) to wait for responses\n -s INTEGER Time (seconds) between requests\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.dns.lookup.forward\n-----------------------\n\n.. code-block::\n\n Usage: habu.dns.lookup.forward [OPTIONS] HOSTNAME\n \n Perform a forward lookup of a given hostname.\n \n Example:\n \n $ habu.dns.lookup.forward google.com\n {\n \"ipv4\": \"172.217.168.46\",\n \"ipv6\": \"2a00:1450:400a:802::200e\"\n }\n \n Options:\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.dns.lookup.reverse\n-----------------------\n\n.. code-block::\n\n Usage: habu.dns.lookup.reverse [OPTIONS] IP_ADDRESS\n \n Perform a reverse lookup of a given IP address.\n \n Example:\n \n $ $ habu.dns.lookup.reverse 8.8.8.8\n {\n \"hostname\": \"google-public-dns-a.google.com\"\n }\n \n Options:\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.eicar\n----------\n\n.. code-block::\n\n Usage: habu.eicar [OPTIONS]\n \n Print the EICAR test string that can be used to test antimalware engines.\n \n More info: http://www.eicar.org/86-0-Intended-use.html\n \n Example:\n \n $ habu.eicar\n X5O!P%@AP[4\\XZP54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*\n \n Options:\n --help Show this message and exit.\n \n\nhabu.expand\n-----------\n\n.. code-block::\n\n Usage: habu.expand [OPTIONS]\n \n Expand data to add interesting information.\n \n Example:\n \n $ cat /var/log/auth.log | habu.extract.ipv4 | habu.expand\n [\n {\n \"asset\": \"8.8.8.8\",\n \"family\": \"IPAddress\",\n \"asn\": \"15169\",\n \"net\": \"8.8.8.0/24\",\n \"cc\": \"US\",\n \"rir\": \"ARIN\",\n \"asname\": \"GOOGLE - Google LLC, US\"\n },\n {\n \"asset\": \"8.8.4.4\",\n \"family\": \"IPAddress\",\n \"asn\": \"15169\",\n \"net\": \"8.8.4.0/24\",\n \"cc\": \"US\",\n \"rir\": \"ARIN\",\n \"asname\": \"GOOGLE - Google LLC, US\"\n }\n ]\n \n Options:\n -i FILENAME Input file (Default: stdin)\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.extract.domain\n-------------------\n\n.. code-block::\n\n Usage: habu.extract.domain [OPTIONS] [INFILE]\n \n Extract valid domains from a file or stdin.\n \n Optionally, check each domain for the presence of NS registers.\n \n Example:\n \n $ cat /var/log/some.log | habu.extract.domain -c\n google.com\n ibm.com\n redhat.com\n \n Options:\n -c Check if domain has NS servers defined\n -v Verbose output\n -j JSON output\n --help Show this message and exit.\n \n\nhabu.extract.email\n------------------\n\n.. code-block::\n\n Usage: habu.extract.email [OPTIONS] [INFILE]\n \n Extract email addresses from a file or stdin.\n \n Example:\n \n $ cat /var/log/auth.log | habu.extract.email\n john@securetia.com\n raven@acmecorp.net\n nmarks@fimax.com\n \n Options:\n -v Verbose output\n -j JSON output\n --help Show this message and exit.\n \n\nhabu.extract.hostname\n---------------------\n\n.. code-block::\n\n Usage: habu.extract.hostname [OPTIONS] [INFILE]\n \n Extract hostnames from a file or stdin.\n \n Example:\n \n $ cat /var/log/some.log | habu.extract.hostname\n www.google.com\n ibm.com\n fileserver.redhat.com\n \n Options:\n -c Check if hostname resolves\n -v Verbose output\n -j JSON output\n --help Show this message and exit.\n \n\nhabu.extract.ipv4\n-----------------\n\n.. code-block::\n\n Usage: habu.extract.ipv4 [OPTIONS] [INFILE]\n \n Extract IPv4 addresses from a file or stdin.\n \n Example:\n \n $ cat /var/log/auth.log | habu.extract.ipv4\n 172.217.162.4\n 23.52.213.96\n 190.210.43.70\n \n Options:\n --json JSON output\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.fernet\n-----------\n\n.. code-block::\n\n Usage: habu.fernet [OPTIONS]\n \n Fernet cipher.\n \n Uses AES-128-CBC with HMAC\n \n Note: You must use a key to cipher with Fernet.\n \n Use the -k paramenter or set the FERNET_KEY configuration value.\n \n The keys can be generated with the command habu.fernet.genkey\n \n Reference: https://github.com/fernet/spec/blob/master/Spec.md\n \n Example:\n \n $ \"I want to protect this string\" | habu.fernet\n gAAAAABbXnCGoCULLuVNRElYTbEcwnek9iq5jBKq9JAN3wiiBUzPqpUgV5oWvnC6xfIA...\n \n $ echo gAAAAABbXnCGoCULLuVNRElYTbEcwnek9iq5jBKq9JAN3wiiBUzPqpUgV5oWvnC6xfIA... | habu.fernet -d\n I want to protect this string\n \n Options:\n -k TEXT Key\n -d Decrypt instead of encrypt\n --ttl INTEGER Time To Live for timestamp verification\n -i FILENAME Input file (default: stdin)\n -o FILENAME Output file (default: stdout)\n --help Show this message and exit.\n \n\nhabu.fernet.genkey\n------------------\n\n.. code-block::\n\n Usage: habu.fernet.genkey [OPTIONS]\n \n Generate a new Fernet Key, optionally write it to ~/.habu.json\n \n Example:\n \n $ habu.fernet.genkey\n xgvWCIvjwe9Uq7NBvwO796iI4dsGD623QOT9GWqnuhg=\n \n Options:\n -w Write this key to ~/.habu.json\n --help Show this message and exit.\n \n\nhabu.filter\n-----------\n\n.. code-block::\n\n Usage: habu.filter [OPTIONS] FIELD [gt|lt|eq|ne|ge|le|in|contains|defined|un\n defined|true|false] [VALUE]\n \n Filter data based on operators.\n \n Example:\n \n $ cat /var/log/auth.log | habu.extract.ipv4 | habu.expand | habu.filter cc eq US\n [\n {\n \"asset\": \"8.8.8.8\",\n \"family\": \"IPAddress\",\n \"asn\": \"15169\",\n \"net\": \"8.8.8.0/24\",\n \"cc\": \"US\",\n \"rir\": \"ARIN\",\n \"asname\": \"GOOGLE - Google LLC, US\"\n }\n ]\n \n Options:\n -i FILENAME Input file (Default: stdin)\n -v Verbose output\n --not Negate the comparison\n --help Show this message and exit.\n \n\nhabu.forkbomb\n-------------\n\n.. code-block::\n\n Usage: habu.forkbomb [OPTIONS] [bash|batch|c|haskell|perl|php|python|ruby]\n \n A shortcut to remember how to use fork bombs in different languages.\n \n Currently supported: bash, batch, c, haskell, perl, php, python, ruby.\n \n Example:\n \n $ habu.forkbomb c\n #include \n int main()\n {\n while(1)\n {\n fork();\n }\n return 0;\n }\n \n Options:\n --help Show this message and exit.\n \n\nhabu.gateway.find\n-----------------\n\n.. code-block::\n\n Usage: habu.gateway.find [OPTIONS] NETWORK\n \n Try to reach an external IP using any host has a router.\n \n Useful to find routers in your network.\n \n First, uses arping to detect alive hosts and obtain MAC addresses.\n \n Later, create a network packet and put each MAC address as destination.\n \n Last, print the devices that forwarded correctly the packets.\n \n Example:\n \n # habu.find.gateway 192.168.0.0/24\n 192.168.0.1 a4:08:f5:19:17:a4 Sagemcom\n 192.168.0.7 b0:98:2b:5d:22:70 Sagemcom\n 192.168.0.8 b0:98:2b:5d:1f:e8 Sagemcom\n \n Options:\n -i TEXT Interface to use\n --host TEXT Host to reach (default: 8.8.8.8)\n --tcp Use TCP instead of ICMP\n --dport INTEGER RANGE Destination port for TCP (default: 80)\n --timeout INTEGER Timeout in seconds (default: 5)\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.hasher\n-----------\n\n.. code-block::\n\n Usage: habu.hasher [OPTIONS] [F]\n \n Compute various hashes for the input data, that can be a file or a stream.\n \n Example:\n \n $ habu.hasher README.rst\n md5 992a833cd162047daaa6a236b8ac15ae README.rst\n ripemd160 0566f9141e65e57cae93e0e3b70d1d8c2ccb0623 README.rst\n sha1 d7dbfd2c5e2828eb22f776550c826e4166526253 README.rst\n sha256 6bb22d927e1b6307ced616821a1877b6cc35e... README.rst\n sha512 8743f3eb12a11cf3edcc16e400fb14d599b4a... README.rst\n whirlpool 96bcc083242e796992c0f3462f330811f9e8c... README.rst\n \n You can also specify which algorithm to use. In such case, the output is\n only the value of the calculated hash:\n \n $ habu.hasher -a md5 README.rst\n 992a833cd162047daaa6a236b8ac15ae README.rst\n \n Options:\n -a [md5|sha1|sha256|sha512|ripemd160|whirlpool]\n Only this algorithm (Default: all)\n --help Show this message and exit.\n \n\nhabu.host\n---------\n\n.. code-block::\n\n Usage: habu.host [OPTIONS]\n \n Collect information about the host where habu is running.\n \n Example:\n \n $ habu.host\n {\n \"kernel\": [\n \"Linux\",\n \"demo123\",\n \"5.0.6-200.fc29.x86_64\",\n \"#1 SMP Wed Apr 3 15:09:51 UTC 2019\",\n \"x86_64\",\n \"x86_64\"\n ],\n \"distribution\": [\n \"Fedora\",\n \"29\",\n \"Twenty Nine\"\n ],\n \"libc\": [\n \"glibc\",\n \"2.2.5\"\n ],\n \"arch\": \"x86_64\",\n \"python_version\": \"3.7.3\",\n \"os_name\": \"Linux\",\n \"cpu\": \"x86_64\",\n \"static_hostname\": \"demo123\",\n \"fqdn\": \"demo123.lab.sierra\"\n }\n \n Options:\n -v Verbose output.\n --help Show this message and exit.\n \n\nhabu.http.headers\n-----------------\n\n.. code-block::\n\n Usage: habu.http.headers [OPTIONS] SERVER\n \n Retrieve the HTTP headers of a web server.\n \n Example:\n \n $ habu.http.headers http://duckduckgo.com\n {\n \"Server\": \"nginx\",\n \"Date\": \"Sun, 14 Apr 2019 00:00:55 GMT\",\n \"Content-Type\": \"text/html\",\n \"Content-Length\": \"178\",\n \"Connection\": \"keep-alive\",\n \"Location\": \"https://duckduckgo.com/\",\n \"X-Frame-Options\": \"SAMEORIGIN\",\n \"Content-Security-Policy\": \"default-src https: blob: data: 'unsafe-inline' 'unsafe-eval'\",\n \"X-XSS-Protection\": \"1;mode=block\",\n \"X-Content-Type-Options\": \"nosniff\",\n \"Referrer-Policy\": \"origin\",\n \"Expect-CT\": \"max-age=0\",\n \"Expires\": \"Mon, 13 Apr 2020 00:00:55 GMT\",\n \"Cache-Control\": \"max-age=31536000\"\n }\n \n Options:\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.http.options\n-----------------\n\n.. code-block::\n\n Usage: habu.http.options [OPTIONS] SERVER\n \n Retrieve the available HTTP methods of a web server.\n \n Example:\n \n $ habu.http.options -v http://google.com\n {\n \"allowed\": \"GET, HEAD\"\n }\n \n Options:\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.interfaces\n---------------\n\n.. code-block::\n\n Usage: habu.interfaces [OPTIONS]\n \n Show the network interfaces available on the system.\n \n Example:\n \n # habu.interfaces\n # NAME MAC INET INET6\n 0 eth0 80:fa:5b:4b:f9:18 None None\n 1 lo 00:00:00:00:00:00 127.0.0.1 ::1\n 2 wlan0 f4:96:34:e5:ae:1b 192.168.0.6 None\n 3 vboxnet0 0a:00:27:00:00:00 192.168.56.1 fe80::800:27ff:fe00:0\n \n Options:\n -j Output in JSON format\n --help Show this message and exit.\n \n\nhabu.ip\n-------\n\n.. code-block::\n\n Usage: habu.ip [OPTIONS]\n \n Get the public IP address of the connection from https://api.ipify.org.\n \n Example:\n \n $ habu.ip\n {\n \"ip_external\": \"80.219.53.185\"\n }\n \n Options:\n --help Show this message and exit.\n \n\nhabu.ip2asn\n-----------\n\n.. code-block::\n\n Usage: habu.ip2asn [OPTIONS] IP\n \n Use Team Cymru ip2asn service to get information about a public IPv4/IPv6.\n \n Reference: https://www.team-cymru.com/IP-ASN-mapping.html\n \n $ habu.ip2asn 8.8.8.8\n {\n \"asn\": \"15169\",\n \"net\": \"8.8.8.0/24\",\n \"cc\": \"US\",\n \"rir\": \"ARIN\",\n \"asname\": \"GOOGLE - Google LLC, US\",\n \"country\": \"United States\"\n }\n \n Options:\n --help Show this message and exit.\n \n\nhabu.ip.geolocation\n-------------------\n\n.. code-block::\n\n Usage: habu.ip.geolocation [OPTIONS] IP_ADDRESS\n \n Get the geolocation of an IP adddress from https://ipapi.co/.\n \n Example:\n \n $ habu.ip.geolocation 8.8.8.8\n {\n \"ip\": \"8.8.8.8\",\n \"city\": \"Mountain View\",\n ...\n \"asn\": \"AS15169\",\n \"org\": \"Google LLC\"\n }\n \n Options:\n -v Verbose output.\n --help Show this message and exit.\n \n\nhabu.ip.internal\n----------------\n\n.. code-block::\n\n Usage: habu.ip.internal [OPTIONS]\n \n Get the local IP address(es) of the local interfaces.\n \n Example:\n \n $ habu.ip.internal\n {\n \"lo\": {\n \"ipv4\": [\n {\n \"addr\": \"127.0.0.1\",\n \"netmask\": \"255.0.0.0\",\n \"peer\": \"127.0.0.1\"\n }\n ],\n \"link_layer\": [\n {\n \"addr\": \"00:00:00:00:00:00\",\n \"peer\": \"00:00:00:00:00:00\"\n }\n ],\n \"ipv6\": [\n {\n \"addr\": \"::1\",\n \"netmask\": \"ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128\"\n }\n ]\n },\n ...\n \n Options:\n -v Verbose output.\n --help Show this message and exit.\n \n\nhabu.isn\n--------\n\n.. code-block::\n\n Usage: habu.isn [OPTIONS] IP\n \n Create TCP connections and print the TCP initial sequence numbers for each\n one.\n \n $ sudo habu.isn -c 5 www.portantier.com\n 1962287220\n 1800895007\n 589617930\n 3393793979\n 469428558\n \n Note: You can get a graphical representation (needs the matplotlib\n package) using the '-g' option to better understand the randomness.\n \n Options:\n -p INTEGER Port to use (default: 80)\n -c INTEGER How many packets to send/receive (default: 5)\n -i TEXT Interface to use\n -g Graph (requires matplotlib)\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.jshell\n-----------\n\n.. code-block::\n\n Usage: habu.jshell [OPTIONS]\n \n Control a web browser through Websockets.\n \n Bind a port (default: 3333) and listen for HTTP connections.\n \n On connection, send a JavaScript code that opens a WebSocket that can be\n used to send commands to the connected browser.\n \n You can write the commands directly in the shell, or use plugins, that are\n simply external JavaScript files.\n \n Using habu.jshell you can completely control a web browser.\n \n Reference: https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API\n \n Example:\n \n $ habu.jshell\n >> Listening on 192.168.0.10:3333. Waiting for a victim connection.\n >> HTTP Request received from 192.168.0.15. Sending hookjs\n >> Connection from 192.168.0.15\n $ _sessions\n 0 * 192.168.0.15:33432 Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0\n $ _info\n {\n \"user-agent\": \"Mozilla/5.0 (X11; Linux x86_64; rv:57.0) Gecko/20100101 Firefox/57.0\",\n \"location\": \"http://192.168.0.10:3333/\",\n \"java-enabled\": false,\n \"platform\": \"Linux x86_64\",\n \"app-code-name\": \"Mozilla\",\n \"app-name\": \"Netscape\",\n \"app-version\": \"5.0 (X11)\",\n \"cookie-enabled\": true,\n \"language\": \"es-AR\",\n \"online\": true\n }\n $ document.location\n http://192.168.0.10:3333/\n \n Options:\n -v Verbose\n -i TEXT IP to listen on\n -p INTEGER Port to listen on\n --help Show this message and exit.\n \n\nhabu.karma\n----------\n\n.. code-block::\n\n Usage: habu.karma [OPTIONS] HOST\n \n Use the Karma service https://karma.securetia.com to check an IP against\n various Threat Intelligence / Reputation lists.\n \n $ habu.karma www.google.com\n www.google.com -> 64.233.190.99\n [\n \"hphosts_fsa\",\n \"hphosts_psh\",\n \"hphosts_emd\"\n ]\n \n Note: You can use the hostname or the IP of the host to query.\n \n Options:\n --help Show this message and exit.\n \n\nhabu.karma.bulk\n---------------\n\n.. code-block::\n\n Usage: habu.karma.bulk [OPTIONS] [INFILE]\n \n Show which IP addresses are inside blacklists using the Karma online\n service.\n \n Example:\n \n $ cat /var/log/auth.log | habu.extract.ipv4 | habu.karma.bulk\n 172.217.162.4 spamhaus_drop,alienvault_spamming\n 23.52.213.96 CLEAN\n 190.210.43.70 alienvault_malicious\n \n Options:\n --json JSON output\n --bad Show only entries in blacklists\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.land\n---------\n\n.. code-block::\n\n Usage: habu.land [OPTIONS] IP\n \n This command implements the LAND attack, that sends packets forging the\n source IP address to be the same that the destination IP. Also uses the\n same source and destination port.\n \n The attack is very old, and can be used to make a Denial of Service on old\n systems, like Windows NT 4.0. More information here:\n https://en.wikipedia.org/wiki/LAND\n \n # sudo habu.land 172.16.0.10\n ............\n \n Note: Each dot (.) is a sent packet. You can specify how many packets send\n with the '-c' option. The default is never stop. Also, you can specify the\n destination port, with the '-p' option.\n \n Options:\n -c INTEGER How many packets send (default: infinit)\n -p INTEGER Port to use (default: 135)\n -i TEXT Interface to use\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.nc\n-------\n\n.. code-block::\n\n Usage: habu.nc [OPTIONS] HOST PORT\n \n Some kind of netcat/ncat replacement.\n \n The execution emulates the feeling of this popular tools.\n \n Example:\n \n $ habu.nc --crlf www.portantier.com 80\n Connected to 45.77.113.133 80\n HEAD / HTTP/1.0\n \n HTTP/1.0 301 Moved Permanently\n Date: Thu, 26 Jul 2018 21:10:51 GMT\n Server: OpenBSD httpd\n Connection: close\n Content-Type: text/html\n Content-Length: 443\n Location: https://www.portantier.com/\n \n Options:\n --family [4|6|46] IP Address Family\n --ssl Enable SSL\n --crlf Use CRLF for EOL sequence\n --protocol [tcp|udp] Layer 4 protocol to use\n --source-ip TEXT Source IP to use\n --source-port INTEGER RANGE Source port to use\n --help Show this message and exit.\n \n\nhabu.nmap.excluded\n------------------\n\n.. code-block::\n\n Usage: habu.nmap.excluded [OPTIONS]\n \n Prints a random port that is not present on nmap-services file so is not\n scanned automatically by nmap.\n \n Useful for services like SSH or RDP, that are continuously scanned on\n their default ports.\n \n Example:\n \n # habu.nmap.excluded\n 58567\n \n Options:\n -l INTEGER RANGE Lowest port to consider\n -h INTEGER RANGE Highest port to consider\n --help Show this message and exit.\n \n\nhabu.nmap.open\n--------------\n\n.. code-block::\n\n Usage: habu.nmap.open [OPTIONS] SCANFILE\n \n Read an nmap report and print the open ports.\n \n Print the ports that has been resulted open reading the generated nmap\n output.\n \n You can use it to rapidly reutilize the port list for the input of other\n tools.\n \n Supports and detects the 3 output formats (nmap, gnmap and xml)\n \n Example:\n \n # habu.nmap.open portantier.nmap\n 22,80,443\n \n Options:\n -p [tcp|udp|sctp] The protocol (default=tcp)\n --help Show this message and exit.\n \n\nhabu.nmap.ports\n---------------\n\n.. code-block::\n\n Usage: habu.nmap.ports [OPTIONS] SCANFILE\n \n Read an nmap report and print the tested ports.\n \n Print the ports that has been tested reading the generated nmap output.\n \n You can use it to rapidly reutilize the port list for the input of other\n tools.\n \n Supports and detects the 3 output formats (nmap, gnmap and xml)\n \n Example:\n \n # habu.nmap.ports portantier.nmap\n 21,22,23,80,443\n \n Options:\n -p [tcp|udp|sctp] The protocol (default=tcp)\n --help Show this message and exit.\n \n\nhabu.ping\n---------\n\n.. code-block::\n\n Usage: habu.ping [OPTIONS] IP\n \n The classic ping tool that send ICMP echo requests.\n \n # habu.ping 8.8.8.8\n IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding\n IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding\n IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding\n IP / ICMP 8.8.8.8 > 192.168.0.5 echo-reply 0 / Padding\n \n Options:\n -i TEXT Wich interface to use (default: auto)\n -c INTEGER How many packets send (default: infinit)\n -t INTEGER Timeout in seconds (default: 2)\n -w INTEGER How many seconds between packets (default: 1)\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.protoscan\n--------------\n\n.. code-block::\n\n Usage: habu.protoscan [OPTIONS] IP\n \n Send IP packets with different protocol field content to guess what layer\n 4 protocols are available.\n \n The output shows which protocols doesn't generate a 'protocol-unreachable'\n ICMP response.\n \n Example:\n \n $ sudo python cmd_ipscan.py 45.77.113.133\n 1 icmp\n 2 igmp\n 4 ipencap\n 6 tcp\n 17 udp\n 41 ipv6\n 47 gre\n 50 esp\n 51 ah\n 58 ipv6_icmp\n 97 etherip\n 112 vrrp\n 115 l2tp\n 132 sctp\n 137 mpls_in_ip\n \n Options:\n -i TEXT Interface to use\n -t INTEGER Timeout for each probe (default: 2 seconds)\n --all Probe all protocols (default: Defined in /etc/protocols)\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.server.ftp\n---------------\n\n.. code-block::\n\n Usage: habu.server.ftp [OPTIONS]\n \n Basic fake FTP server, whith the only purpose to steal user credentials.\n \n Supports SSL/TLS.\n \n Example:\n \n # sudo habu.server.ftp --ssl --ssl-cert /tmp/cert.pem --ssl-key /tmp/key.pem\n Listening on port 21\n Accepted connection from ('192.168.0.27', 56832)\n Credentials collected from 192.168.0.27! fabian 123456\n \n Options:\n -a TEXT Address to bind (default: all)\n -p INTEGER Which port to use (default: 21)\n --ssl Enable SSL/TLS (default: False)\n --ssl-cert TEXT SSL/TLS Cert file\n --ssl-key TEXT SSL/TLS Key file\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.shodan\n-----------\n\n.. code-block::\n\n Usage: habu.shodan [OPTIONS] IP\n \n Simple shodan API client.\n \n Prints the JSON result of a shodan query.\n \n Example:\n \n $ habu.shodan 8.8.8.8\n {\n \"hostnames\": [\n \"google-public-dns-a.google.com\"\n ],\n \"country_code\": \"US\",\n \"org\": \"Google\",\n \"data\": [\n {\n \"isp\": \"Google\",\n \"transport\": \"udp\",\n \"data\": \"Recursion: enabled\",\n \"asn\": \"AS15169\",\n \"port\": 53,\n \"hostnames\": [\n \"google-public-dns-a.google.com\"\n ]\n }\n ],\n \"ports\": [\n 53\n ]\n }\n \n Options:\n -c Disable cache\n -v Verbose output\n -o FILENAME Output file (default: stdout)\n --help Show this message and exit.\n \n\nhabu.shodan.open\n----------------\n\n.. code-block::\n\n Usage: habu.shodan.open [OPTIONS] IP\n \n Output the open ports for an IP against shodan (nmap format).\n \n Example:\n \n $ habu.shodan.open 8.8.8.8\n T:53,U:53\n \n Options:\n -c Disable cache\n -j Output in JSON format\n -x Output an nmap command to scan open ports\n -v Verbose output\n -o FILENAME Output file (default: stdout)\n --help Show this message and exit.\n \n\nhabu.shodan.query\n-----------------\n\n.. code-block::\n\n Usage: habu.shodan.query [OPTIONS] QUERY\n \n Simple shodan API client.\n \n Prints the JSON result of a shodan query.\n \n Example:\n \n $ habu.shodan 8.8.8.8\n {\n \"hostnames\": [\n \"google-public-dns-a.google.com\"\n ],\n \"country_code\": \"US\",\n \"org\": \"Google\",\n \"data\": [\n {\n \"isp\": \"Google\",\n \"transport\": \"udp\",\n \"data\": \"Recursion: enabled\",\n \"asn\": \"AS15169\",\n \"port\": 53,\n \"hostnames\": [\n \"google-public-dns-a.google.com\"\n ]\n }\n ],\n \"ports\": [\n 53\n ]\n }\n \n Options:\n -c Disable cache\n -v Verbose output\n -o FILENAME Output file (default: stdout)\n --help Show this message and exit.\n \n\nhabu.synflood\n-------------\n\n.. code-block::\n\n Usage: habu.synflood [OPTIONS] IP\n \n Launch a lot of TCP connections and keeps them opened.\n \n Some very old systems can suffer a Denial of Service with this.\n \n Reference: https://en.wikipedia.org/wiki/SYN_flood\n \n Example:\n \n # sudo habu.synflood 172.16.0.10\n .................\n \n Each dot is a packet sent.\n \n You can use the options '-2' and '-3' to forge the layer 2/3 addresses.\n \n If you use them, each connection will be sent from a random layer2 (MAC)\n and/or layer3 (IP) address.\n \n You can choose the number of connections to create with the option '-c'.\n The default is never stop creating connections.\n \n Note: If you send the packets from your real IP address and you want to\n keep the connections half-open, you need to setup for firewall to don't\n send the RST packets.\n \n Options:\n -i TEXT Wich interface to use (default: auto)\n -c INTEGER How many packets send (default: infinit)\n -p INTEGER Port to use (default: 135)\n -2 Forge layer2/MAC address (default: No)\n -3 Forge layer3/IP address (default: No)\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.tcpflags\n-------------\n\n.. code-block::\n\n Usage: habu.tcpflags [OPTIONS] IP\n \n Send TCP packets with different flags and tell what responses receives.\n \n It can be used to analyze how the different TCP/IP stack implementations\n and configurations responds to packet with various flag combinations.\n \n Example:\n \n # habu.tcpflags www.portantier.com\n S -> SA\n FS -> SA\n FA -> R\n SA -> R\n \n By default, the command sends all possible flag combinations. You can\n specify which flags must ever be present (reducing the quantity of\n possible combinations), with the option '-f'.\n \n Also, you can specify which flags you want to be present on the response\n packets to show, with the option '-r'.\n \n With the next command, you see all the possible combinations that have the\n FIN (F) flag set and generates a response that contains the RST (R) flag.\n \n Example:\n \n # habu.tcpflags -f F -r R www.portantier.com\n FPA -> R\n FSPA -> R\n FAU -> R\n \n Options:\n -p INTEGER Port to use (default: 80)\n -f TEXT Flags that must be sent ever (default: fuzz with all flags)\n -r TEXT Filter by response flags (default: show all responses)\n -v Verbose\n --help Show this message and exit.\n \n\nhabu.tcpscan\n------------\n\n.. code-block::\n\n Usage: habu.tcpscan [OPTIONS] IP\n \n TCP Port Scanner.\n \n Print the ports that generated a response with the SYN flag or (if show\n use -a) all the ports that generated a response.\n \n It's really basic compared with nmap, but who is comparing?\n \n Example:\n \n # habu.tcpscan -p 22,23,80,443 -s 1 45.77.113.133\n 22 S -> SA\n 80 S -> SA\n 443 S -> SA\n \n Options:\n -p TEXT Ports to use (default: 80) example: 20-23,80,135\n -i TEXT Interface to use\n -f TEXT Flags to use (default: S)\n -s TEXT Time between probes (default: send all together)\n -t INTEGER Timeout for each probe (default: 2 seconds)\n -a Show all responses (default: Only containing SYN flag)\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.traceroute\n---------------\n\n.. code-block::\n\n Usage: habu.traceroute [OPTIONS] IP\n \n TCP traceroute.\n \n Identify the path to a destination getting the ttl-zero-during-transit\n messages.\n \n Note: On the internet, you can have various valid paths to a device.\n \n Example:\n \n # habu.traceroute 45.77.113.133\n IP / ICMP 192.168.0.1 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror\n IP / ICMP 10.242.4.197 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror / Padding\n IP / ICMP 200.32.127.98 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror / Padding\n .\n IP / ICMP 4.16.180.190 > 192.168.0.5 time-exceeded ttl-zero-during-transit / IPerror / TCPerror\n .\n IP / TCP 45.77.113.133:http > 192.168.0.5:ftp_data SA / Padding\n \n Note: It's better if you use a port that is open on the remote system.\n \n Options:\n -p INTEGER Port to use (default: 80)\n -i TEXT Interface to use\n --help Show this message and exit.\n \n\nhabu.usercheck\n--------------\n\n.. code-block::\n\n Usage: habu.usercheck [OPTIONS] USERNAME\n \n Check if the given username exists on various social networks and other\n popular sites.\n \n $ habu.usercheck portantier\n {\n \"aboutme\": \"https://about.me/portantier\",\n \"disqus\": \"https://disqus.com/by/portantier/\",\n \"github\": \"https://github.com/portantier/\",\n \"ifttt\": \"https://ifttt.com/p/portantier\",\n \"lastfm\": \"https://www.last.fm/user/portantier\",\n \"medium\": \"https://medium.com/@portantier\",\n \"pastebin\": \"https://pastebin.com/u/portantier\",\n \"pinterest\": \"https://in.pinterest.com/portantier/\",\n \"twitter\": \"https://twitter.com/portantier\",\n \"vimeo\": \"https://vimeo.com/portantier\"\n }\n \n Options:\n -c Disable cache\n -v Verbose output\n -w Open each valid url in a webbrowser\n --help Show this message and exit.\n \n\nhabu.vhosts\n-----------\n\n.. code-block::\n\n Usage: habu.vhosts [OPTIONS] HOST\n \n Use Bing to query the websites hosted on the same IP address.\n \n $ habu.vhosts www.telefonica.com\n www.telefonica.com -> 212.170.36.79\n [\n 'www.telefonica.es',\n 'universitas.telefonica.com',\n 'www.telefonica.com',\n ]\n \n Options:\n -c Disable cache\n -p INTEGER Pages count (Default: 10)\n -f INTEGER First result to get (Default: 1)\n --help Show this message and exit.\n \n\nhabu.virustotal\n---------------\n\n.. code-block::\n\n Usage: habu.virustotal [OPTIONS] INPUT\n \n Send a file to VirusTotal https://www.virustotal.com/ and print the report\n in JSON format.\n \n Note: Before send a file, will check if the file has been analyzed before\n (sending the sha256 of the file), if a report exists, no submission will\n be made, and you will see the last report.\n \n $ habu.virustotal meterpreter.exe\n Verifying if hash already submitted: f4826b219aed3ffdaa23db26cfae611979bf215984fc71a1c12f6397900cb70d\n Sending file for analysis\n Waiting/retrieving the report...\n {\n \"md5\": \"0ddb015b5328eb4d0cc2b87c39c49686\",\n \"permalink\": \"https://www.virustotal.com/file/c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23/analysis/1526850717/\",\n \"positives\": 49,\n \"resource\": \"c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23\",\n \"response_code\": 1,\n \"scan_date\": \"2018-05-20 21:11:57\",\n \"scan_id\": \"c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23-1526850717\",\n \"scans\": {\n \"ALYac\": {\n \"detected\": true,\n \"result\": \"Trojan.CryptZ.Gen\",\n \"update\": \"20180520\",\n \"version\": \"1.1.1.5\"\n },\n ... The other scanners ...\n },\n \"sha1\": \"5fa33cab1729480dd023b08f7b91a945c16d0a9e\",\n \"sha256\": \"c9a2252b491641e15753a4d0c4bb30b1f9bd26ecff2c74f20a3c7890f3a1ea23\",\n \"total\": 67,\n \"verbose_msg\": \"Scan finished, information embedded\"\n }\n \n Options:\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.web.report\n---------------\n\n.. code-block::\n\n Usage: habu.web.report [OPTIONS] [INPUT_FILE]\n \n Makes a report that includes HTTP headers of websites.\n \n Optionally, uses Firefox or Chromium to take a screenshot of the websites.\n \n The expected format is one url per line.\n \n Creates a directory called 'report' with the content inside.\n \n $ echo https://www.portantier.com | habu.web.report\n \n Options:\n -v Verbose output\n -s Take a screenshot for each website\n -b [firefox|chromium-browser] Browser to use for screenshot.\n --help Show this message and exit.\n \n\nhabu.web.screenshot\n-------------------\n\n.. code-block::\n\n Usage: habu.web.screenshot [OPTIONS] URL\n \n Uses Firefox or Chromium to take a screenshot of the website.\n \n $ habu.web.screenshot https://www.portantier.com\n \n Options:\n -b [firefox|chromium-browser] Browser to use for screenshot.\n -o TEXT Output file. (default: screenshot.png)\n --help Show this message and exit.\n \n\nhabu.web.tech\n-------------\n\n.. code-block::\n\n Usage: habu.web.tech [OPTIONS] URL\n \n Use Wappalyzer apps.json database to identify technologies used on a web\n application.\n \n Reference: https://github.com/AliasIO/Wappalyzer\n \n Note: This tool only sends one request. So, it's stealth and not\n suspicious.\n \n $ habu.web.tech https://woocomerce.com\n {\n \"Nginx\": {\n \"categories\": [\n \"Web Servers\"\n ]\n },\n \"PHP\": {\n \"categories\": [\n \"Programming Languages\"\n ]\n },\n \"WooCommerce\": {\n \"categories\": [\n \"Ecommerce\"\n ],\n \"version\": \"6.3.1\"\n },\n \"WordPress\": {\n \"categories\": [\n \"CMS\",\n \"Blogs\"\n ]\n },\n }\n \n Options:\n -c Disable cache\n -v Verbose output\n --help Show this message and exit.\n \n\nhabu.whois.domain\n-----------------\n\n.. code-block::\n\n Usage: habu.whois.domain [OPTIONS] DOMAIN\n \n Simple whois client to check domain names.\n \n Example:\n \n $ habu.whois.domain portantier.com\n {\n \"domain_name\": \"portantier.com\",\n \"registrar\": \"Amazon Registrar, Inc.\",\n \"whois_server\": \"whois.registrar.amazon.com\",\n ...\n \n Options:\n --help Show this message and exit.\n \n\nhabu.whois.ip\n-------------\n\n.. code-block::\n\n Usage: habu.whois.ip [OPTIONS] IP\n \n Simple whois client to check IP addresses (IPv4 and IPv6).\n \n Example:\n \n $ habu.whois.ip 8.8.8.8\n {\n \"nir\": null,\n \"asn_registry\": \"arin\",\n \"asn\": \"15169\",\n \"asn_cidr\": \"8.8.8.0/24\",\n \"asn_country_code\": \"US\",\n \"asn_date\": \"1992-12-01\",\n \"asn_description\": \"GOOGLE - Google LLC, US\",\n \"query\": \"8.8.8.8\",\n ...\n \n Options:\n --help Show this message and exit.\n \n\nhabu.xor\n--------\n\n.. code-block::\n\n Usage: habu.xor [OPTIONS]\n \n XOR cipher.\n \n Note: XOR is not a 'secure cipher'. If you need strong crypto you must use\n algorithms like AES. You can use habu.fernet for that.\n \n Example:\n \n $ habu.xor -k mysecretkey -i /bin/ls > xored\n $ habu.xor -k mysecretkey -i xored > uxored\n $ sha1sum /bin/ls uxored\n $ 6fcf930fcee1395a1c95f87dd38413e02deff4bb /bin/ls\n $ 6fcf930fcee1395a1c95f87dd38413e02deff4bb uxored\n \n Options:\n -k TEXT Encryption key\n -i FILENAME Input file (default: stdin)\n -o FILENAME Output file (default: stdout)\n --help Show this message and exit.\n \n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/portantier/habu", "keywords": "security", "license": "BSD 3-clause", "maintainer": "", "maintainer_email": "", "name": "habu", "package_url": "https://pypi.org/project/habu/", "platform": "", "project_url": "https://pypi.org/project/habu/", "project_urls": { "Homepage": "https://github.com/portantier/habu" }, "release_url": "https://pypi.org/project/habu/0.1.26/", "requires_dist": null, "requires_python": "", "summary": "Python Hacking Toolkit", "version": "0.1.26" }, "last_serial": 5429218, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "caba1cae782ac6b2fea704da5ba5389f", "sha256": "656c2c2c5072eabf83157180c3eddfa983b5bd3cc633cb90e2595afe86371659" }, "downloads": -1, "filename": "habu-0.0.1.tar.gz", "has_sig": false, "md5_digest": "caba1cae782ac6b2fea704da5ba5389f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25278, "upload_time": "2016-10-18T18:07:20", "url": "https://files.pythonhosted.org/packages/12/57/451f0b740a1932e3384cca004d2c3b989cf4c5f5f623212fb2e54255c914/habu-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "1e22f76d82adce6887c075a8e91492bc", "sha256": "726f6f89c13f6f561f59cb583428d3f47e84936fd217cd7d186d0b15b6408829" }, "downloads": -1, "filename": "habu-0.0.10.tar.gz", "has_sig": false, "md5_digest": "1e22f76d82adce6887c075a8e91492bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1952, "upload_time": "2016-10-21T01:48:36", "url": "https://files.pythonhosted.org/packages/7e/44/4c2eee21c9b8379ff862da2bb6fe48e9dd8a8962d15ce997eed778e79c8e/habu-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "2fe7879c429f56f9d656394292f5da5a", "sha256": "b28e8c14fb425a2ffb8134a39954c8eafc41721322d2c23ae3f3d4957253be21" }, "downloads": -1, "filename": "habu-0.0.11.tar.gz", "has_sig": false, "md5_digest": "2fe7879c429f56f9d656394292f5da5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1922, "upload_time": "2016-11-09T18:09:47", "url": "https://files.pythonhosted.org/packages/13/5c/127d6ff9e7e255277dc5546c71ca8186ad762b3125853b6b852f0db94e0d/habu-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "3d264276dac51fa3259a2632ce0d9954", "sha256": "72b2277251647c07addc7d41b19edde22214113a30dd1e9d57c9fa73de4231c7" }, "downloads": -1, "filename": "habu-0.0.12.tar.gz", "has_sig": true, "md5_digest": "3d264276dac51fa3259a2632ce0d9954", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1917, "upload_time": "2016-11-09T18:16:43", "url": "https://files.pythonhosted.org/packages/71/d7/b678f34b1a5b625259fbe90d27fd9177b436a06e341b5c85c26410d31bac/habu-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "4bad9b3f849c8c53202cdfda64d03ce3", "sha256": "3776c1356a2447217e70c113b1859dd0febddcb925da520215ab61f4634a4923" }, "downloads": -1, "filename": "habu-0.0.13.tar.gz", "has_sig": true, "md5_digest": "4bad9b3f849c8c53202cdfda64d03ce3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1717, "upload_time": "2016-11-09T18:18:11", "url": "https://files.pythonhosted.org/packages/c3/ee/451c0c65c0aa38c2e6447dbb3bc087212d8c2e0beeed7d2fa4f559fa0455/habu-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "652631a0a86438386b324e8acf35bc89", "sha256": "2fb14dd65ba05847a7a16b63d38a5a2ef025bad8c91996de8f6d3780b0c65898" }, "downloads": -1, "filename": "habu-0.0.14.tar.gz", "has_sig": false, "md5_digest": "652631a0a86438386b324e8acf35bc89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2070, "upload_time": "2017-09-03T03:59:20", "url": "https://files.pythonhosted.org/packages/ec/36/a567f5046b90ee1699821b1f39d33c2316b3e078609038c50df642adcf40/habu-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "cd42f4dc5e0d246f0e9b0f45eaf1bf5b", "sha256": "814c56de69c35e692f546591c37f40767cd6077218aea686889d4ff33a70998c" }, "downloads": -1, "filename": "habu-0.0.15.tar.gz", "has_sig": false, "md5_digest": "cd42f4dc5e0d246f0e9b0f45eaf1bf5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2070, "upload_time": "2017-09-03T19:38:28", "url": "https://files.pythonhosted.org/packages/e3/a3/5b208eb3ca9d662f5d6df0f909dca0eaf352405095e1595ca22319ecbc2d/habu-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "d3435c0715b6c119b2af20742b649d58", "sha256": "c2a9e8584ce7e90102602a93541e7292ea6350b4b457d3e998ecd87e0ef48f65" }, "downloads": -1, "filename": "habu-0.0.16.tar.gz", "has_sig": false, "md5_digest": "d3435c0715b6c119b2af20742b649d58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14252, "upload_time": "2017-09-14T16:53:50", "url": "https://files.pythonhosted.org/packages/15/6f/1d1991bca841961da3e4afcf84f6ac01777fe133d0d10f874612951265d0/habu-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "b08c5fa481e70150d7c5a15ccc4f59cf", "sha256": "4395f0d9e9358f213f040e289e2ad40365823cc8d729ff67319e6a0e4f1a7226" }, "downloads": -1, "filename": "habu-0.0.17.tar.gz", "has_sig": false, "md5_digest": "b08c5fa481e70150d7c5a15ccc4f59cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14253, "upload_time": "2017-09-14T16:55:14", "url": "https://files.pythonhosted.org/packages/13/8d/4c30f00ec686bc27b94c2d28d1272ac1d1ceefe8a3415d13ccd2defef02c/habu-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "24ef66082193d102f34bfc9e12cce77f", "sha256": "396cd0ba2d57d5a34529159a2ebcac9b12f09a3129c7b4e327fdf0f6a623d41b" }, "downloads": -1, "filename": "habu-0.0.18.tar.gz", "has_sig": false, "md5_digest": "24ef66082193d102f34bfc9e12cce77f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14265, "upload_time": "2017-09-14T18:20:18", "url": "https://files.pythonhosted.org/packages/9f/a9/30b7ea3f10b8999bab89875ffbeb7bd93ba26220fe5f56de77cc483ce4f2/habu-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "83857e75a44c997b54dfdf2412e556aa", "sha256": "138e67c059a6a5fbda46e4a0ea3b224611f3f8e3fab559853986caf0126d7d9a" }, "downloads": -1, "filename": "habu-0.0.19.tar.gz", "has_sig": false, "md5_digest": "83857e75a44c997b54dfdf2412e556aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14261, "upload_time": "2017-09-14T18:21:29", "url": "https://files.pythonhosted.org/packages/78/19/1600ae6cf9c4af712286669230c6be4a8e45104082d38d5d8ca19c57bfd0/habu-0.0.19.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "f1d2b1ba40fe9900e2ab1f173ebd9efb", "sha256": "c2387db45fa97896c02e13f60ea585cb748d9dd428ea5413a1986e2c2ff37ead" }, "downloads": -1, "filename": "habu-0.0.2.tar.gz", "has_sig": false, "md5_digest": "f1d2b1ba40fe9900e2ab1f173ebd9efb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25278, "upload_time": "2016-10-19T13:59:18", "url": "https://files.pythonhosted.org/packages/ad/c2/7d3d0d7bdef6d9f19f0b598b340ecf73ca17a3b672d59781ad255490fe50/habu-0.0.2.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "e4a0b15f203374fae830ec8fa8355be4", "sha256": "ac273acdd9a081361baa19816da4741a2dafa0636d571dc2ec1ef879105a1cc4" }, "downloads": -1, "filename": "habu-0.0.20.tar.gz", "has_sig": false, "md5_digest": "e4a0b15f203374fae830ec8fa8355be4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 577231, "upload_time": "2017-09-14T18:25:09", "url": "https://files.pythonhosted.org/packages/06/e3/8d61c2e46d8ec0a9cf052d4eeb09386aadff73c93a63ee381050bbae94d8/habu-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "0fa5ed45d1590986d30f6de6f8d96782", "sha256": "3c86c2bd19fa01e3cc879b86fefc61821c7ef0b8851b40b416de0a4836aa7a7e" }, "downloads": -1, "filename": "habu-0.0.21.tar.gz", "has_sig": false, "md5_digest": "0fa5ed45d1590986d30f6de6f8d96782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 581155, "upload_time": "2017-09-15T00:34:37", "url": "https://files.pythonhosted.org/packages/c9/53/ad3ae31a254b17fb20b41a19aa89ecc7077a1e0be36c54768b79eb7d20f3/habu-0.0.21.tar.gz" } ], "0.0.22": [ { "comment_text": "", "digests": { "md5": "ad32e7abfe2a6cc47ec291f689936962", "sha256": "6ca5cbe37986755ba383efffb07ffe73c52fffbe648c80190b7c5ea800974101" }, "downloads": -1, "filename": "habu-0.0.22.tar.gz", "has_sig": false, "md5_digest": "ad32e7abfe2a6cc47ec291f689936962", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 581166, "upload_time": "2017-09-15T01:04:52", "url": "https://files.pythonhosted.org/packages/25/61/42dde315b8c9253d4a582b17226974caeea20b579f1cb91d6e72e8f0cfee/habu-0.0.22.tar.gz" } ], "0.0.23": [ { "comment_text": "", "digests": { "md5": "38a29becbb98d21f91c327ee389c9bd8", "sha256": "a7fc4f80f6b38328e3ac75780333c3d8002743edd74efe5b7d40ce91818b13f7" }, "downloads": -1, "filename": "habu-0.0.23.tar.gz", "has_sig": false, "md5_digest": "38a29becbb98d21f91c327ee389c9bd8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 588274, "upload_time": "2017-09-15T01:06:24", "url": "https://files.pythonhosted.org/packages/94/45/c86705341dfcbbbf1cfb10da38b6ed20a8186c9040236c8425059034404e/habu-0.0.23.tar.gz" } ], "0.0.24": [ { "comment_text": "", "digests": { "md5": "52652fae012b02ce1e6b5544008b7b5c", "sha256": "e18a7364007479c842ae5c7148186cc291ae6a73c591899f1e3393247ee77630" }, "downloads": -1, "filename": "habu-0.0.24.tar.gz", "has_sig": false, "md5_digest": "52652fae012b02ce1e6b5544008b7b5c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 588262, "upload_time": "2017-09-15T01:07:18", "url": "https://files.pythonhosted.org/packages/b5/d6/8cec53498d1a634ac2204467adc28358fde904713df4c10a90f5e36c4e3f/habu-0.0.24.tar.gz" } ], "0.0.25": [ { "comment_text": "", "digests": { "md5": "0ef57a99182cfb982e3b1d5ab0a0d8e8", "sha256": "9be5ba7343ec5db77a2fb33faccc52b5334b8b03fd298dd462a36a4a547d922b" }, "downloads": -1, "filename": "habu-0.0.25.tar.gz", "has_sig": false, "md5_digest": "0ef57a99182cfb982e3b1d5ab0a0d8e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590644, "upload_time": "2017-09-15T15:14:31", "url": "https://files.pythonhosted.org/packages/20/33/7c3928bea4a61e4ad679ae05df1ab684a65098cb3adfdd3932dd35901cde/habu-0.0.25.tar.gz" } ], "0.0.26": [ { "comment_text": "", "digests": { "md5": "8aa3d8c93fa982461a933896690c7dd6", "sha256": "38d727e04155cf9417a1738e5c85f1cd44618188a3826958d54d17c08667a4a4" }, "downloads": -1, "filename": "habu-0.0.26.tar.gz", "has_sig": false, "md5_digest": "8aa3d8c93fa982461a933896690c7dd6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 590649, "upload_time": "2017-09-15T15:18:55", "url": "https://files.pythonhosted.org/packages/0d/c3/1c38e95d7bbd2f3a31dfc354bda1c36adc6be480b5488185c5b63eb500b3/habu-0.0.26.tar.gz" } ], "0.0.27": [ { "comment_text": "", "digests": { "md5": "437d4a9c293afced9e883a9f3b3ddf4c", "sha256": "2f585a7c42bd80a6f69dac8446aaaee19b8f4eb2b94b8d1c547c26841f6595f0" }, "downloads": -1, "filename": "habu-0.0.27.tar.gz", "has_sig": false, "md5_digest": "437d4a9c293afced9e883a9f3b3ddf4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 591364, "upload_time": "2017-09-17T05:28:10", "url": "https://files.pythonhosted.org/packages/e1/35/71bd12cba74a06067e8b33f3a00c56c2b623f41841f3873cb34ff771ad2e/habu-0.0.27.tar.gz" } ], "0.0.28": [ { "comment_text": "", "digests": { "md5": "38ba501932aa2903873c60019f441fd7", "sha256": "dd21ac255182e30bd27461750f55fca2633d08bf82b30517a226df7086e4a77d" }, "downloads": -1, "filename": "habu-0.0.28.tar.gz", "has_sig": false, "md5_digest": "38ba501932aa2903873c60019f441fd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 591664, "upload_time": "2017-09-21T02:38:22", "url": "https://files.pythonhosted.org/packages/c7/e7/ef905c6c02d0b4aefe7298bb19da56baef93c2be341abe7597a82b362bcb/habu-0.0.28.tar.gz" } ], "0.0.29": [ { "comment_text": "", "digests": { "md5": "46881afd70fff13fdb6eede96e58e0e2", "sha256": "491c916602da07e153a31c10ae8574e98cab40c38c8e7be0bcac080d153595c2" }, "downloads": -1, "filename": "habu-0.0.29.tar.gz", "has_sig": false, "md5_digest": "46881afd70fff13fdb6eede96e58e0e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 584866, "upload_time": "2017-09-21T15:26:57", "url": "https://files.pythonhosted.org/packages/d2/87/00243d362ef107aae94416d151c6b110c1989974ea81d69e887d2c79099b/habu-0.0.29.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "822dda44612de5d40829d21d083c3252", "sha256": "f24bbca2385a7ed95f974ce2eb908dc009fba698d1ff567e6a559ac4bd43cc82" }, "downloads": -1, "filename": "habu-0.0.3.tar.gz", "has_sig": false, "md5_digest": "822dda44612de5d40829d21d083c3252", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25521, "upload_time": "2016-10-19T14:04:28", "url": "https://files.pythonhosted.org/packages/be/bd/dcd190cbdfd8b6047e1db27aff7c2b147a15462b78f2739fffc5db2605e6/habu-0.0.3.tar.gz" } ], "0.0.30": [ { "comment_text": "", "digests": { "md5": "e252a3c2ae89f63b8de913c068b00a55", "sha256": "99f68fd4841acc801dadf658e293765bbc7f4b4cb75b798d63a8daa7071c5447" }, "downloads": -1, "filename": "habu-0.0.30.tar.gz", "has_sig": false, "md5_digest": "e252a3c2ae89f63b8de913c068b00a55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 585387, "upload_time": "2017-09-28T03:01:39", "url": "https://files.pythonhosted.org/packages/67/09/609efa086107830d4745ef6cd46bd164f2653360cd36ddc8ce89c65aab18/habu-0.0.30.tar.gz" } ], "0.0.31": [ { "comment_text": "", "digests": { "md5": "30e8ecf26a0139f970833539bfa984c3", "sha256": "fa4ebc215d039a26947e1bc3406da5f4da030416b030030e2e7f4a8a8996433a" }, "downloads": -1, "filename": "habu-0.0.31.tar.gz", "has_sig": false, "md5_digest": "30e8ecf26a0139f970833539bfa984c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 585389, "upload_time": "2017-09-28T03:03:10", "url": "https://files.pythonhosted.org/packages/5d/dd/bb58875074a2ef4092e7052539f455da6e9c31564810b25365f69cee2eed/habu-0.0.31.tar.gz" } ], "0.0.32": [ { "comment_text": "", "digests": { "md5": "11cb1779c97c40e96380c05d88d709fc", "sha256": "b7dcd117c16981d84a657a47cc2132f05668ed5874cf7ae7720ff598bf35d4ed" }, "downloads": -1, "filename": "habu-0.0.32.tar.gz", "has_sig": false, "md5_digest": "11cb1779c97c40e96380c05d88d709fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 585395, "upload_time": "2017-09-28T03:19:04", "url": "https://files.pythonhosted.org/packages/d5/8b/4b32f527950256bdc34d5fe35ff6330e9da788297925497d92675552969e/habu-0.0.32.tar.gz" } ], "0.0.33": [ { "comment_text": "", "digests": { "md5": "f6e7271641f1f18c286201b2215f37dc", "sha256": "9c5b88406490122ba114df2c9f10f6f04b4d9743ae58b61f6ffe8b357815d060" }, "downloads": -1, "filename": "habu-0.0.33.tar.gz", "has_sig": false, "md5_digest": "f6e7271641f1f18c286201b2215f37dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 585398, "upload_time": "2017-09-28T03:25:55", "url": "https://files.pythonhosted.org/packages/5c/30/4acd230f175619ecf0d1e6248277cf48a63965808a8464ac1e990b43c57b/habu-0.0.33.tar.gz" } ], "0.0.35": [ { "comment_text": "", "digests": { "md5": "8412f937de56b084a63648704a1549b1", "sha256": "95006c66a409250802e5179f00c554a2eaf9638ac3921c35b39c0efdc19995a7" }, "downloads": -1, "filename": "habu-0.0.35.tar.gz", "has_sig": false, "md5_digest": "8412f937de56b084a63648704a1549b1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 585933, "upload_time": "2017-09-29T03:27:04", "url": "https://files.pythonhosted.org/packages/18/25/981006dabaee8736b6d0ab943b26dedbe5b39b1a84740de1824180073bcb/habu-0.0.35.tar.gz" } ], "0.0.36": [ { "comment_text": "", "digests": { "md5": "44104fe7062cf315bc71cc6cc4eade21", "sha256": "1ceedfda13d5be08cb0c43bcf26d08a5c9d1bd97d8afd1967f45a88943e6a19b" }, "downloads": -1, "filename": "habu-0.0.36.tar.gz", "has_sig": true, "md5_digest": "44104fe7062cf315bc71cc6cc4eade21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 642072, "upload_time": "2018-01-06T22:54:15", "url": "https://files.pythonhosted.org/packages/4a/a5/11475a0f3802793f7cf1376859d35a7555571aeea4e8db39f86155591cc8/habu-0.0.36.tar.gz" } ], "0.0.37": [ { "comment_text": "", "digests": { "md5": "81f67f0b46b694c45663237088da4434", "sha256": "b1c1110b00bcb6215ebe743629e8bb3888bcdd3fc960c6b6a42a6ea7e3e1ce48" }, "downloads": -1, "filename": "habu-0.0.37.tar.gz", "has_sig": true, "md5_digest": "81f67f0b46b694c45663237088da4434", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 642199, "upload_time": "2018-01-06T23:15:25", "url": "https://files.pythonhosted.org/packages/39/19/2e8b18be420b5ba18a0913db815370ffd69196cb49bd12fe37efdb3676c1/habu-0.0.37.tar.gz" } ], "0.0.38": [ { "comment_text": "", "digests": { "md5": "7f5d81bc3ea30897889c3652765a95c2", "sha256": "35cf57528cf80e7d00806e21ed766a9175d568eaabf4a7ce09a1b02fce524913" }, "downloads": -1, "filename": "habu-0.0.38.tar.gz", "has_sig": true, "md5_digest": "7f5d81bc3ea30897889c3652765a95c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 642204, "upload_time": "2018-01-06T23:38:50", "url": "https://files.pythonhosted.org/packages/76/3c/8c01fe92eb78f059992cc4b8c5b8add1a6d61e214f24d21c1a3e4920b5db/habu-0.0.38.tar.gz" } ], "0.0.39": [ { "comment_text": "", "digests": { "md5": "3494875b837d353a86475720549608e5", "sha256": "0be021c3529fc04259affa135546f7a854d93889e1279000f8bbbe9e30e7bcaf" }, "downloads": -1, "filename": "habu-0.0.39.tar.gz", "has_sig": true, "md5_digest": "3494875b837d353a86475720549608e5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 642213, "upload_time": "2018-01-06T23:41:47", "url": "https://files.pythonhosted.org/packages/4c/68/e1818425dfddb6c7bc54d8d24030ea76dd4d0300e739f7ad79cddcd70fc9/habu-0.0.39.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "d40dda60088630ed15fadb5c8040c5d7", "sha256": "84610544126654f7447bff06d1297edcf055e53760ce4bd5dc68e68ba9d9b21f" }, "downloads": -1, "filename": "habu-0.0.4.tar.gz", "has_sig": false, "md5_digest": "d40dda60088630ed15fadb5c8040c5d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2036, "upload_time": "2016-10-19T14:40:34", "url": "https://files.pythonhosted.org/packages/e5/0c/94620987719fed3bd76f13fe63abea3498a4e020e8031c02f4816624747b/habu-0.0.4.tar.gz" } ], "0.0.40": [ { "comment_text": "", "digests": { "md5": "d8996a92ecda85f5da84e4ad7bbc8cf3", "sha256": "3156b232925b08a0f5d7ff31ace3a8396bb9d57f34dd2fbdcbb814a73419a801" }, "downloads": -1, "filename": "habu-0.0.40.tar.gz", "has_sig": false, "md5_digest": "d8996a92ecda85f5da84e4ad7bbc8cf3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 643491, "upload_time": "2018-01-07T01:13:54", "url": "https://files.pythonhosted.org/packages/7c/d8/7c875acc04f898b46f56ac5ff4f53af291cb23a82ecf213eb0b72a64b752/habu-0.0.40.tar.gz" } ], "0.0.42": [ { "comment_text": "", "digests": { "md5": "b0a7034fde15f961cc871dd0c3dc844f", "sha256": "b404f8f84d4ada0bd3d18e185aaf85ea3dccacd2129f830b92a52dacd7ad4e1e" }, "downloads": -1, "filename": "habu-0.0.42.tar.gz", "has_sig": true, "md5_digest": "b0a7034fde15f961cc871dd0c3dc844f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 643968, "upload_time": "2018-01-07T01:34:13", "url": "https://files.pythonhosted.org/packages/2c/e1/9aef98e089c88bab342cc69573aba1e2f280737687669f31033f58e095d1/habu-0.0.42.tar.gz" } ], "0.0.43": [ { "comment_text": "", "digests": { "md5": "2755b890a662c5451d239c0b80e04060", "sha256": "206ca729a652aa8f9f0b2b85941d9fa6e65bcbfeb7f818f0ff0cdaaebb1b010f" }, "downloads": -1, "filename": "habu-0.0.43.tar.gz", "has_sig": true, "md5_digest": "2755b890a662c5451d239c0b80e04060", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 645124, "upload_time": "2018-01-08T01:01:37", "url": "https://files.pythonhosted.org/packages/2e/ea/51f6f3407dc17311465f38d7065a244c5b1c702a2fa9592dd1bd5b6633fc/habu-0.0.43.tar.gz" } ], "0.0.45": [ { "comment_text": "", "digests": { "md5": "4417a7db01837d003a731598ab84a0ac", "sha256": "a19d9e7c0937a6f37e4d32fd16144633588d18fe066fb6a98a27b18a8fcc1a88" }, "downloads": -1, "filename": "habu-0.0.45.tar.gz", "has_sig": true, "md5_digest": "4417a7db01837d003a731598ab84a0ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 648451, "upload_time": "2018-01-30T13:51:03", "url": "https://files.pythonhosted.org/packages/1b/4e/baa245d48beb3c6a95c47f1b284a62e501d881ecdaef2506e39a66afdbaf/habu-0.0.45.tar.gz" } ], "0.0.46": [ { "comment_text": "", "digests": { "md5": "5ce48a6489ddbb475abd525f54e477a7", "sha256": "d02ae36180e5b5394dd62d874a8f69b84d457aca1fb17c6f30682d9c6103b20c" }, "downloads": -1, "filename": "habu-0.0.46.tar.gz", "has_sig": true, "md5_digest": "5ce48a6489ddbb475abd525f54e477a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 648645, "upload_time": "2018-03-14T17:40:09", "url": "https://files.pythonhosted.org/packages/b0/28/645159cd2cf5bf4c687615282b4d717d3fb379b26fab1e4401e6e020ccc3/habu-0.0.46.tar.gz" } ], "0.0.47": [ { "comment_text": "", "digests": { "md5": "c35fd4a1df3f74039522ffa3b0b3576f", "sha256": "7150d4ac31db19747151e8978029b3bc5eb1261b39953a8049d4d34ef6e2b555" }, "downloads": -1, "filename": "habu-0.0.47.tar.gz", "has_sig": true, "md5_digest": "c35fd4a1df3f74039522ffa3b0b3576f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 648664, "upload_time": "2018-03-14T17:44:03", "url": "https://files.pythonhosted.org/packages/d9/d4/e1849b4beaf54c5bbcdb69b8bb8f3b5e56fcc6b0081b49293cf7197d9c82/habu-0.0.47.tar.gz" } ], "0.0.48": [ { "comment_text": "", "digests": { "md5": "e49a42a63f9cf8c4b08a74aacf0bf6db", "sha256": "a6a69d8deb1e0627677084850d7334fab69a7521d778c17d7466f6e0a6c15913" }, "downloads": -1, "filename": "habu-0.0.48.tar.gz", "has_sig": true, "md5_digest": "e49a42a63f9cf8c4b08a74aacf0bf6db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 648858, "upload_time": "2018-03-16T14:27:06", "url": "https://files.pythonhosted.org/packages/ef/59/75a53faeecfb0f1a17af9b3964c1ca0d680c45d9df53695803e3e788a41e/habu-0.0.48.tar.gz" } ], "0.0.49": [ { "comment_text": "", "digests": { "md5": "a70baca43514070fe017346e328562f0", "sha256": "8d73993c229e2c880c980bb7ebc29c712922027efff2ed3e28a4f4f755588c64" }, "downloads": -1, "filename": "habu-0.0.49.tar.gz", "has_sig": true, "md5_digest": "a70baca43514070fe017346e328562f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 648872, "upload_time": "2018-03-16T15:32:40", "url": "https://files.pythonhosted.org/packages/b0/1a/00c7d00a3bd725546c429c08e9c9c07e7fe0eba49829980910bebe7aa8b6/habu-0.0.49.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "8be35c7a8c23529ae108735a1caae782", "sha256": "9a69b962a4549d8483d042da572db0c373527282bd57b4ba9c4cd79c18c3696a" }, "downloads": -1, "filename": "habu-0.0.5.tar.gz", "has_sig": false, "md5_digest": "8be35c7a8c23529ae108735a1caae782", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1990, "upload_time": "2016-10-19T14:42:21", "url": "https://files.pythonhosted.org/packages/a1/e6/1ac8392e760a5844a5045ccbcc6fae3e8a0aab907a37bd8996918bc56fde/habu-0.0.5.tar.gz" } ], "0.0.50": [ { "comment_text": "", "digests": { "md5": "867d3176b57b4e4e122879b8e9762a6b", "sha256": "0655514adfbfb6c3db2cacaae886b95ed92e19964357492904bd2703015eee74" }, "downloads": -1, "filename": "habu-0.0.50.tar.gz", "has_sig": true, "md5_digest": "867d3176b57b4e4e122879b8e9762a6b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 649018, "upload_time": "2018-03-16T15:56:42", "url": "https://files.pythonhosted.org/packages/ec/9e/933dc0338dc8c7909e3b39d91714f0fcd168bc472fbcd6050b040ee9a59f/habu-0.0.50.tar.gz" } ], "0.0.51": [ { "comment_text": "", "digests": { "md5": "03100cd064804dcff25d6a480b54e4a2", "sha256": "05ba951e60a2293422e757af11e9a6bb12d2c0de41381cf9d9ff0ad7b119df8e" }, "downloads": -1, "filename": "habu-0.0.51.tar.gz", "has_sig": true, "md5_digest": "03100cd064804dcff25d6a480b54e4a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 653011, "upload_time": "2018-03-29T04:02:41", "url": "https://files.pythonhosted.org/packages/bb/1e/b77591467585114ef032aa5ae8a724dbd016c1b845322535553444bd858b/habu-0.0.51.tar.gz" } ], "0.0.54": [ { "comment_text": "", "digests": { "md5": "18e1121630fe160f9a8203227f143b18", "sha256": "caa8efa4526c3be7d4d6c7b8ad83512e89cf2107e3df752580d578fa119fcd47" }, "downloads": -1, "filename": "habu-0.0.54.tar.gz", "has_sig": true, "md5_digest": "18e1121630fe160f9a8203227f143b18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 657212, "upload_time": "2018-04-11T22:37:05", "url": "https://files.pythonhosted.org/packages/45/69/730861d583f0f6e664534b149214223ca368afb65e3dea2ae8a797a52fe7/habu-0.0.54.tar.gz" } ], "0.0.55": [ { "comment_text": "", "digests": { "md5": "5c00f20760a20409eddaecb3558c462e", "sha256": "ac8659582181f49cf8d88313022fd3fdc7c31aac9c1b5d292294917740837097" }, "downloads": -1, "filename": "habu-0.0.55.tar.gz", "has_sig": true, "md5_digest": "5c00f20760a20409eddaecb3558c462e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 660192, "upload_time": "2018-04-23T02:33:30", "url": "https://files.pythonhosted.org/packages/b3/f5/85caa3acac6f0b1738d34a84be329533ecf62940155c57051f1909682ba8/habu-0.0.55.tar.gz" } ], "0.0.56": [ { "comment_text": "", "digests": { "md5": "4b5053a9a75d652a58e20796e87a7abc", "sha256": "833cdea320270d841b238dca3cce4cea565ee7370e40f26db39a79cd7059c8fd" }, "downloads": -1, "filename": "habu-0.0.56.tar.gz", "has_sig": true, "md5_digest": "4b5053a9a75d652a58e20796e87a7abc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 660207, "upload_time": "2018-04-23T02:36:30", "url": "https://files.pythonhosted.org/packages/94/4b/45015b28be4e15d1d1ec7df2771a77482702093841ecc6825c7d1743175e/habu-0.0.56.tar.gz" } ], "0.0.57": [ { "comment_text": "", "digests": { "md5": "27016fecbee1d268875868727195bdb7", "sha256": "0dbb393204f85efb9e599b2b2ed982205281bfb13098eaa1bcbbbb95e3440925" }, "downloads": -1, "filename": "habu-0.0.57.tar.gz", "has_sig": true, "md5_digest": "27016fecbee1d268875868727195bdb7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 660201, "upload_time": "2018-04-23T02:45:38", "url": "https://files.pythonhosted.org/packages/c4/66/4503f341278c4928c712dd639a743415f96a7f78430fb97f208f25d55de2/habu-0.0.57.tar.gz" } ], "0.0.58": [ { "comment_text": "", "digests": { "md5": "e8554ca531ae158f681b6a281acf5ada", "sha256": "f8590db94e05ce68e3c0badcef5cbe8e57af735e59da287e01fbd962fed0d7a5" }, "downloads": -1, "filename": "habu-0.0.58.tar.gz", "has_sig": true, "md5_digest": "e8554ca531ae158f681b6a281acf5ada", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716177, "upload_time": "2018-04-23T03:17:23", "url": "https://files.pythonhosted.org/packages/df/f3/5f05ca00b77d5d915be823d93b8e7ec9a736132c15f642c96752eafa71a5/habu-0.0.58.tar.gz" } ], "0.0.59": [ { "comment_text": "", "digests": { "md5": "482c62aeb22370f3247b9b1dc8b9509f", "sha256": "2f12ad4dd701fb3e88c3b95cbb7488f16a876b5d256e6d8211558ada8cc16510" }, "downloads": -1, "filename": "habu-0.0.59.tar.gz", "has_sig": true, "md5_digest": "482c62aeb22370f3247b9b1dc8b9509f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716181, "upload_time": "2018-04-23T03:19:15", "url": "https://files.pythonhosted.org/packages/68/37/6ab5ee9fe692fe7b66e9e876ae117e8b107a87e30fe53dddf0a4d42f3cf4/habu-0.0.59.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "2a9bf58d21308e0114eb515462c3c059", "sha256": "b47df350658fd7b5512beceb08409a9c579fef260b1fdeeca9cb35bda6418f51" }, "downloads": -1, "filename": "habu-0.0.6.tar.gz", "has_sig": false, "md5_digest": "2a9bf58d21308e0114eb515462c3c059", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2197, "upload_time": "2016-10-19T20:56:35", "url": "https://files.pythonhosted.org/packages/cb/cb/c4712733742ccdfe17973e831ea156e46f2cda71f35f3129dcb75fd65cf8/habu-0.0.6.tar.gz" } ], "0.0.60": [ { "comment_text": "", "digests": { "md5": "c6ed47a74ff60f461b95598501a858ed", "sha256": "b903b8d88a7bfd26a5aa354bf16098ed5c260e7a60b5bbb83b0fe8941ebcdb04" }, "downloads": -1, "filename": "habu-0.0.60.tar.gz", "has_sig": true, "md5_digest": "c6ed47a74ff60f461b95598501a858ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 715886, "upload_time": "2018-04-23T03:50:32", "url": "https://files.pythonhosted.org/packages/5f/b2/daded37807afe82f8e599cd95744e3a01770c14bdc0e8c06e8e6c8de2f67/habu-0.0.60.tar.gz" } ], "0.0.61": [ { "comment_text": "", "digests": { "md5": "aafb4620bab1a228708f84aec6036556", "sha256": "e7266219818eebbf8d84491f09ebb4e5c34e1ba918d0a37f6d8f0349d1da9bd1" }, "downloads": -1, "filename": "habu-0.0.61.tar.gz", "has_sig": true, "md5_digest": "aafb4620bab1a228708f84aec6036556", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 715016, "upload_time": "2018-05-17T04:41:36", "url": "https://files.pythonhosted.org/packages/b2/42/98d89f2eb04a87b7af120fec1c1e966270ad08cdbc572ca95d113b5ad3af/habu-0.0.61.tar.gz" } ], "0.0.62": [ { "comment_text": "", "digests": { "md5": "4df5bf8d9fc4bfff1b81ae3194af77d4", "sha256": "e1f1918f73407d80ba1994b71964fbfce91dbf3bb473fcda86645df4e1dcb408" }, "downloads": -1, "filename": "habu-0.0.62.tar.gz", "has_sig": true, "md5_digest": "4df5bf8d9fc4bfff1b81ae3194af77d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716419, "upload_time": "2018-05-17T04:45:59", "url": "https://files.pythonhosted.org/packages/f6/49/377995581e7bf1f6b3507ec622869b77a2ec1df6d7f75c7d29ee02a21d99/habu-0.0.62.tar.gz" } ], "0.0.63": [ { "comment_text": "", "digests": { "md5": "c1569d936016c4bde7778f14358ea8a4", "sha256": "3256d4d31d1678e4047328094f95b4841dcfea1cd0555727f250779f408db744" }, "downloads": -1, "filename": "habu-0.0.63.tar.gz", "has_sig": true, "md5_digest": "c1569d936016c4bde7778f14358ea8a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716453, "upload_time": "2018-05-17T04:48:32", "url": "https://files.pythonhosted.org/packages/5d/15/25ac030ef839b90aa5088862d8fd33831fc2ae10511852da0894c3545e49/habu-0.0.63.tar.gz" } ], "0.0.64": [ { "comment_text": "", "digests": { "md5": "bd52572e29f48de9f30c9312b00177f5", "sha256": "c85b318231ea36cb21ce82734108b826b8e8f708cab2cb7e89bb744f7c1e6362" }, "downloads": -1, "filename": "habu-0.0.64.tar.gz", "has_sig": true, "md5_digest": "bd52572e29f48de9f30c9312b00177f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716408, "upload_time": "2018-05-17T04:51:02", "url": "https://files.pythonhosted.org/packages/73/4a/deece004a0ad052b7ebfb3202f907e4377f01990859f2304755fb15fd9ce/habu-0.0.64.tar.gz" } ], "0.0.65": [ { "comment_text": "", "digests": { "md5": "f0bfab4763c82c88ac2c35aeeb158c14", "sha256": "1d8e5b76031409fa1fd305b8450012383338d46cd1849d58c2460d25cd008007" }, "downloads": -1, "filename": "habu-0.0.65.tar.gz", "has_sig": true, "md5_digest": "f0bfab4763c82c88ac2c35aeeb158c14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 714729, "upload_time": "2018-05-18T01:40:40", "url": "https://files.pythonhosted.org/packages/35/70/4f5a906cbbb8c6a601f032e102d34a3df2b69c813c89bfd78cd895c1380a/habu-0.0.65.tar.gz" } ], "0.0.67": [ { "comment_text": "", "digests": { "md5": "6371688b9bae092930cbc13fdb538bff", "sha256": "6d366f5d3c671dd85220f599fb5aaf74d8b5835edb45d308bb017d0adf9e7ae9" }, "downloads": -1, "filename": "habu-0.0.67.tar.gz", "has_sig": true, "md5_digest": "6371688b9bae092930cbc13fdb538bff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 715957, "upload_time": "2018-05-20T04:28:09", "url": "https://files.pythonhosted.org/packages/e7/84/35bff886654cc5244cc15fa7434ccc05a0997286a09c52ef07a47b6d6e63/habu-0.0.67.tar.gz" } ], "0.0.68": [ { "comment_text": "", "digests": { "md5": "936990f17457d4eddd7381b467979f55", "sha256": "452298bd8989fc896fecbb8e24a5f9f377e20e97ffe9973713f7e86aaa1c4352" }, "downloads": -1, "filename": "habu-0.0.68.tar.gz", "has_sig": true, "md5_digest": "936990f17457d4eddd7381b467979f55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 716464, "upload_time": "2018-05-20T21:26:00", "url": "https://files.pythonhosted.org/packages/13/30/312c87cb49947b6630f93817c8144ca1f026696a45eab6c1e8afaf136767/habu-0.0.68.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "133b17d386528b962c36e8e2fde198da", "sha256": "0c6d6f5352ac9f6b0eef1a48c77315f684601c8618072e0d79ba7be4b62df2fa" }, "downloads": -1, "filename": "habu-0.0.7.tar.gz", "has_sig": false, "md5_digest": "133b17d386528b962c36e8e2fde198da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2221, "upload_time": "2016-10-19T23:14:24", "url": "https://files.pythonhosted.org/packages/48/62/eaca63b2abec017482a0a0b042139d78f7f231d0f43ac2a912852d92c27a/habu-0.0.7.tar.gz" } ], "0.0.70": [ { "comment_text": "", "digests": { "md5": "4489639517a25b939b67fac93d71376c", "sha256": "0a1a44d719f7024d5df609d379fc2acce7954bb85e424f61d5459115aa7218e7" }, "downloads": -1, "filename": "habu-0.0.70.tar.gz", "has_sig": true, "md5_digest": "4489639517a25b939b67fac93d71376c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 717568, "upload_time": "2018-05-21T00:08:54", "url": "https://files.pythonhosted.org/packages/bd/6f/deafc4390ac7a526345f9833b0967a671049e740dda0f4961861798c4ed8/habu-0.0.70.tar.gz" } ], "0.0.72": [ { "comment_text": "", "digests": { "md5": "42e64083b00903537f0e1e950c006e44", "sha256": "29fa15cfb22e833b362f2d659304e5c7d22f9b84f21e3bfa9f965e5e5801ced0" }, "downloads": -1, "filename": "habu-0.0.72.tar.gz", "has_sig": true, "md5_digest": "42e64083b00903537f0e1e950c006e44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 731605, "upload_time": "2018-07-16T15:39:31", "url": "https://files.pythonhosted.org/packages/c1/a5/db298f9b1e094167c39a39015336834c13482d05a97577770ce8cc539ab0/habu-0.0.72.tar.gz" } ], "0.0.73": [ { "comment_text": "", "digests": { "md5": "297b02e64d20810364b02bdf0c59d216", "sha256": "7672795c14c53e701b238d5aa32c7395784a5a8e7c35dc5c877eb8323c4b7d9b" }, "downloads": -1, "filename": "habu-0.0.73.tar.gz", "has_sig": true, "md5_digest": "297b02e64d20810364b02bdf0c59d216", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 722014, "upload_time": "2018-07-18T18:26:39", "url": "https://files.pythonhosted.org/packages/a4/f1/8956cc2ac2a6b9167bae115f2b8f8c20680361f66df255057c73dfaad15e/habu-0.0.73.tar.gz" } ], "0.0.74": [ { "comment_text": "", "digests": { "md5": "bd57cc3512d21f52540add236bf0359a", "sha256": "2703a823581812556e17c2f21274bfb2119cfc14180b515fb17b1195227aace8" }, "downloads": -1, "filename": "habu-0.0.74.tar.gz", "has_sig": true, "md5_digest": "bd57cc3512d21f52540add236bf0359a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 722852, "upload_time": "2018-07-24T02:50:27", "url": "https://files.pythonhosted.org/packages/ea/b6/971cae6da2a56a71906163b496244ef9f9fb6bb607728dfa063e43f752c2/habu-0.0.74.tar.gz" } ], "0.0.75": [ { "comment_text": "", "digests": { "md5": "8cce2888878f409bc77bdb916e904990", "sha256": "e0d84d5b360b2544e14f8e1714bac6a7bdaaa7449404b3f57a6bdfc123f1c06b" }, "downloads": -1, "filename": "habu-0.0.75.tar.gz", "has_sig": true, "md5_digest": "8cce2888878f409bc77bdb916e904990", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 724898, "upload_time": "2018-07-26T21:09:50", "url": "https://files.pythonhosted.org/packages/58/f5/1f2ef19ec1f30615a1bd87d8bbd07916dcfb5aa3c80b02ef5d5c24d728eb/habu-0.0.75.tar.gz" } ], "0.0.76": [ { "comment_text": "", "digests": { "md5": "eb38be0914a1c672eddc2fcde8235b17", "sha256": "2790e79dcf10325dd7b52f048c0a0997bc6496884b4d3841492ce660c521c0ff" }, "downloads": -1, "filename": "habu-0.0.76.tar.gz", "has_sig": true, "md5_digest": "eb38be0914a1c672eddc2fcde8235b17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 231129, "upload_time": "2018-07-27T16:30:33", "url": "https://files.pythonhosted.org/packages/3c/27/84673b06128aad3638f5d7c87cbf10ca41054fd6d1d37745fe391561ffb1/habu-0.0.76.tar.gz" } ], "0.0.77": [ { "comment_text": "", "digests": { "md5": "dd1a385de286ca682dcc0c2e96475db3", "sha256": "bd94164f201ce06f089f0516ab43aebb577313f77eb48d0717df618ff7aefec6" }, "downloads": -1, "filename": "habu-0.0.77.tar.gz", "has_sig": true, "md5_digest": "dd1a385de286ca682dcc0c2e96475db3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 231560, "upload_time": "2018-07-27T19:05:34", "url": "https://files.pythonhosted.org/packages/c9/cd/b1fe4c7801b747534842e92aa290e50d5ea284c056b0e2b554d6461be7e9/habu-0.0.77.tar.gz" } ], "0.0.79": [ { "comment_text": "", "digests": { "md5": "9f3d4c500fb70368ac6ed6ca76fabb59", "sha256": "ddbfd655e4dbdab3b8463f7bb172c9d70292a82970d2204bfe4f6077f509cfab" }, "downloads": -1, "filename": "habu-0.0.79.tar.gz", "has_sig": true, "md5_digest": "9f3d4c500fb70368ac6ed6ca76fabb59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 231479, "upload_time": "2018-07-27T21:58:16", "url": "https://files.pythonhosted.org/packages/1f/73/e0b6ada7a899862893fbfb1ce19cfd42e4d260644f42427e5348a8ebc596/habu-0.0.79.tar.gz" } ], "0.0.81": [ { "comment_text": "", "digests": { "md5": "8e8604485ee548348ee610dd58d5bd26", "sha256": "90eb928c734ce28e888e4a1fd5ef1d32c4b4245091dfafce5fc802aabc118ab8" }, "downloads": -1, "filename": "habu-0.0.81.tar.gz", "has_sig": true, "md5_digest": "8e8604485ee548348ee610dd58d5bd26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 238608, "upload_time": "2018-08-01T16:31:47", "url": "https://files.pythonhosted.org/packages/ef/0a/b553df3199a24c8a113d7106984b065e2ed77686ab0aabbd69572e3d9aa9/habu-0.0.81.tar.gz" } ], "0.0.82": [ { "comment_text": "", "digests": { "md5": "9926138e3bb26e4bdede6537f8713cdd", "sha256": "972f1497b38f3c38c20da8f5c8bd46c71875614fdf4b046d0be906f6a95688cc" }, "downloads": -1, "filename": "habu-0.0.82.tar.gz", "has_sig": true, "md5_digest": "9926138e3bb26e4bdede6537f8713cdd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 238624, "upload_time": "2018-09-19T20:05:30", "url": "https://files.pythonhosted.org/packages/37/05/f9b125be67b67abd3d84d4d9681897e4c22e293a8d123e42b66342d46214/habu-0.0.82.tar.gz" } ], "0.0.83": [ { "comment_text": "", "digests": { "md5": "95891e309fa01f188015df82d86a5def", "sha256": "f2b3ac0b0b4aa58dc4d6ba572a36bd4f57d22b7bec73ab20bff3bbe701ff9b3c" }, "downloads": -1, "filename": "habu-0.0.83.tar.gz", "has_sig": true, "md5_digest": "95891e309fa01f188015df82d86a5def", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 239632, "upload_time": "2018-10-08T03:27:42", "url": "https://files.pythonhosted.org/packages/ae/ff/427bb23a4b10b0a39afcb4f67907895315343ea3838d0c3634f02cf4a32a/habu-0.0.83.tar.gz" } ], "0.0.84": [ { "comment_text": "", "digests": { "md5": "4bd13809617337219b92f9650bdbd8ce", "sha256": "e193281c581b3cb63f984d35196218934681b7a4cdbb95d2b7de15f998979b94" }, "downloads": -1, "filename": "habu-0.0.84.tar.gz", "has_sig": true, "md5_digest": "4bd13809617337219b92f9650bdbd8ce", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 259441, "upload_time": "2018-10-14T23:35:00", "url": "https://files.pythonhosted.org/packages/f6/35/69e25a75b02d9d7bdb6caea21ff48a65065da32914f2ecc411808a6f367b/habu-0.0.84.tar.gz" } ], "0.0.85": [ { "comment_text": "", "digests": { "md5": "ccb5c8879d03cabdd4e034d7d7b466b9", "sha256": "a9c1a1b439375e1889040ea970eec0afa704376e0f2c0b8328eb60d98ff0a8e9" }, "downloads": -1, "filename": "habu-0.0.85.tar.gz", "has_sig": true, "md5_digest": "ccb5c8879d03cabdd4e034d7d7b466b9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 261604, "upload_time": "2018-10-24T16:21:10", "url": "https://files.pythonhosted.org/packages/3c/84/5b4d520b519f0657d377aebd761baf15f1ce551a679f362230c7b520d0f9/habu-0.0.85.tar.gz" } ], "0.0.86": [ { "comment_text": "", "digests": { "md5": "956c66e0ee79a684f9d12a37daecf4e0", "sha256": "ed44a01a71c0034640cc6f2a4908216e91903576a735e8cf8e3c28a1d1544dcf" }, "downloads": -1, "filename": "habu-0.0.86.tar.gz", "has_sig": true, "md5_digest": "956c66e0ee79a684f9d12a37daecf4e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241521, "upload_time": "2018-11-02T22:00:46", "url": "https://files.pythonhosted.org/packages/0f/7a/d05d48fb340b4c78e6ce04f6d87375eac10d19359fe55fd9416b2a19d33e/habu-0.0.86.tar.gz" } ], "0.0.87": [ { "comment_text": "", "digests": { "md5": "02d8c577ffc5283650a546978df900b2", "sha256": "2353a2a88c45a2363e2bf10186982acb203704dda913637e1f558eb0510eb757" }, "downloads": -1, "filename": "habu-0.0.87.tar.gz", "has_sig": true, "md5_digest": "02d8c577ffc5283650a546978df900b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241612, "upload_time": "2018-11-03T19:31:40", "url": "https://files.pythonhosted.org/packages/95/d2/897873aa2ae19d5a0406a4919d7333c920345fa8dbca267773e02b45c5ee/habu-0.0.87.tar.gz" } ], "0.0.88": [ { "comment_text": "", "digests": { "md5": "0ccb836c98729c7a866fb470057f36a8", "sha256": "9cf08236abe4dd52b162b45fb977682f05d12c1330d0ce277e79e245d6f9e240" }, "downloads": -1, "filename": "habu-0.0.88.tar.gz", "has_sig": true, "md5_digest": "0ccb836c98729c7a866fb470057f36a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 241706, "upload_time": "2018-11-03T19:45:13", "url": "https://files.pythonhosted.org/packages/58/26/64db80625557ab260b35dcddcac1bb6ac246be48f2481cfa7164545e5740/habu-0.0.88.tar.gz" } ], "0.0.89": [ { "comment_text": "", "digests": { "md5": "35de2b04215aaf997d4d257504df2ac7", "sha256": "f1631c1a6a4190741341dd5aca4d24806f1ac8d0afe023bc0ca3ada5199929b1" }, "downloads": -1, "filename": "habu-0.0.89.tar.gz", "has_sig": true, "md5_digest": "35de2b04215aaf997d4d257504df2ac7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242149, "upload_time": "2018-11-17T17:51:02", "url": "https://files.pythonhosted.org/packages/1f/8f/e3daa1235cdf11bd904a8e4428a0c81235c21a52702d1b836f33eaa64ffa/habu-0.0.89.tar.gz" } ], "0.0.90": [ { "comment_text": "", "digests": { "md5": "eb62e06ffd13db0e6ed304ec8dd2bc9d", "sha256": "7ac6b14b28e3458f583ed41359aa679f1ccd687e131e1303dae9107e5a5b6422" }, "downloads": -1, "filename": "habu-0.0.90.tar.gz", "has_sig": true, "md5_digest": "eb62e06ffd13db0e6ed304ec8dd2bc9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242164, "upload_time": "2018-11-17T17:56:09", "url": "https://files.pythonhosted.org/packages/72/f9/4821f0c1773b921f33510b7e25bbbaf02ed2003512010280438ad0c860f4/habu-0.0.90.tar.gz" } ], "0.0.91": [ { "comment_text": "", "digests": { "md5": "4f3f60e360a0cb9484b2d4b1b8f4ddaa", "sha256": "f63495aab8e8ad9eb568b120bf98922d29e12f97cf499a3488d3b8c301b2bc1e" }, "downloads": -1, "filename": "habu-0.0.91.tar.gz", "has_sig": true, "md5_digest": "4f3f60e360a0cb9484b2d4b1b8f4ddaa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242452, "upload_time": "2018-12-08T18:18:27", "url": "https://files.pythonhosted.org/packages/53/4e/681cbe43772b8127206f16e0561788af2c76e8c130165647c88938482b49/habu-0.0.91.tar.gz" } ], "0.0.92": [ { "comment_text": "", "digests": { "md5": "f0fdb825d9ad4b72b7be2fb8e7efe82d", "sha256": "e24c703f288f9ac917e09ddb5cd82da94b8bb1fc6576e41ff29786e67b3d1f3a" }, "downloads": -1, "filename": "habu-0.0.92.tar.gz", "has_sig": true, "md5_digest": "f0fdb825d9ad4b72b7be2fb8e7efe82d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 242973, "upload_time": "2018-12-13T20:09:03", "url": "https://files.pythonhosted.org/packages/2a/46/221552a63f3fc306450b339c1336d2892d87b55f45eb651dfdd6cc915527/habu-0.0.92.tar.gz" } ], "0.0.94": [ { "comment_text": "", "digests": { "md5": "3f8628a7e8503fd41d788956f2e7b583", "sha256": "508eaeb87c8bfc95322ffa78ddde6218cc735d2c565661cac8508d17b3129011" }, "downloads": -1, "filename": "habu-0.0.94.tar.gz", "has_sig": true, "md5_digest": "3f8628a7e8503fd41d788956f2e7b583", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 268639, "upload_time": "2018-12-30T19:23:18", "url": "https://files.pythonhosted.org/packages/98/f2/cc6badca658ea6c1be3b83c3673affaa0cb061ff2caea5e9dd1e66774a41/habu-0.0.94.tar.gz" } ], "0.0.95": [ { "comment_text": "", "digests": { "md5": "0a86ae0d8da183a7f7f370b149b391b8", "sha256": "11a6b76d55399e710bd46fecc1fb879319eb78cb0e758a8cd35eda1ddac3749c" }, "downloads": -1, "filename": "habu-0.0.95.tar.gz", "has_sig": true, "md5_digest": "0a86ae0d8da183a7f7f370b149b391b8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 276138, "upload_time": "2018-12-30T19:53:34", "url": "https://files.pythonhosted.org/packages/4a/31/b8d16ac18dfc2e27fb16579be6f731164915334e7290c98daf3ddf25cf0b/habu-0.0.95.tar.gz" } ], "0.0.96": [ { "comment_text": "", "digests": { "md5": "b984c398fccf3739db51033ad7b02342", "sha256": "fb20fb9d4ea732d213ce31dd8a64045344ce23abf35783f6d0e3f67e97ce4ca1" }, "downloads": -1, "filename": "habu-0.0.96.tar.gz", "has_sig": true, "md5_digest": "b984c398fccf3739db51033ad7b02342", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 279453, "upload_time": "2018-12-30T20:59:24", "url": "https://files.pythonhosted.org/packages/31/63/ec85c4dcd78b0ccdd29fb0d80bbe418018c10d6ab5f3c59374811850c007/habu-0.0.96.tar.gz" } ], "0.0.97": [ { "comment_text": "", "digests": { "md5": "1d85841898ba83ac73102abf9d69ff52", "sha256": "3a3c50c9910400008845ee943bc9e0a68857523eb98567c621e5d5cb1ab1a280" }, "downloads": -1, "filename": "habu-0.0.97.tar.gz", "has_sig": true, "md5_digest": "1d85841898ba83ac73102abf9d69ff52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 279437, "upload_time": "2018-12-30T21:00:54", "url": "https://files.pythonhosted.org/packages/e0/20/084b8abcb9589be4bb6d967b1354df4a3189e444d75e2717e2fc4b86564b/habu-0.0.97.tar.gz" } ], "0.0.98": [ { "comment_text": "", "digests": { "md5": "fd60b76dfc1574199caefea314703976", "sha256": "947c979998c35dddef4d08280bcabedc73e47aecec9d8f32568146bf18f53cd6" }, "downloads": -1, "filename": "habu-0.0.98.tar.gz", "has_sig": true, "md5_digest": "fd60b76dfc1574199caefea314703976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 281986, "upload_time": "2019-01-19T00:19:16", "url": "https://files.pythonhosted.org/packages/40/1e/743508b44801ecd374fc469f47d6c719df897d3b2975b7dc4d5999b6f140/habu-0.0.98.tar.gz" } ], "0.0.99": [ { "comment_text": "", "digests": { "md5": "3083d07c708d725fde87a118799e2f40", "sha256": "bf768429be70e60577887bbea9c3c46b5fef2000ef6981f3f1ffb04855bd4fd6" }, "downloads": -1, "filename": "habu-0.0.99.tar.gz", "has_sig": true, "md5_digest": "3083d07c708d725fde87a118799e2f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 486605, "upload_time": "2019-01-28T18:22:06", "url": "https://files.pythonhosted.org/packages/95/b7/ad1bdb544a8ea5c4d6467e8820b510ac950ab409fa271b4ca61a972d3e29/habu-0.0.99.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "168d48bea8681c86fa0d9406a9db6137", "sha256": "0916449115ba655cd585eccf6e654b7dc967823e94f751af48d75f138d1fec51" }, "downloads": -1, "filename": "habu-0.1.10.tar.gz", "has_sig": true, "md5_digest": "168d48bea8681c86fa0d9406a9db6137", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 493690, "upload_time": "2019-06-08T23:01:19", "url": "https://files.pythonhosted.org/packages/60/39/282d1736e51aec1125e8221e18d7a0846399e6eccbdf8558cd8e23f67e20/habu-0.1.10.tar.gz" } ], "0.1.11": [ { "comment_text": "", "digests": { "md5": "44fbeeaf3268cc84ab8756c79f6225d1", "sha256": "51dab38239f7fb7de64249b81272566828992887d19f9d35ca7c9c3f6e578b6a" }, "downloads": -1, "filename": "habu-0.1.11.tar.gz", "has_sig": true, "md5_digest": "44fbeeaf3268cc84ab8756c79f6225d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 493387, "upload_time": "2019-06-08T23:12:17", "url": "https://files.pythonhosted.org/packages/af/ba/f3a905ab884ac655e0d701b0a58900ba9e9d1161e65e1e1044bd7badda27/habu-0.1.11.tar.gz" } ], "0.1.12": [ { "comment_text": "", "digests": { "md5": "3abc2097cdecb5c8b1a994557be4f4fe", "sha256": "f248246cfcb691c105db38af0606b1d9262b0706909c92668cedf72b2c92e924" }, "downloads": -1, "filename": "habu-0.1.12.tar.gz", "has_sig": true, "md5_digest": "3abc2097cdecb5c8b1a994557be4f4fe", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 493259, "upload_time": "2019-06-08T23:51:59", "url": "https://files.pythonhosted.org/packages/d3/dc/3683c983c318e5489b772df54e4f30b76bea814130aa8ffd72a0b788e3ba/habu-0.1.12.tar.gz" } ], "0.1.14": [ { "comment_text": "", "digests": { "md5": "ba7db6fc2785bf4281054c878b8c095d", "sha256": "f97b26ea8fd94b9e3fbc473eb7d4b642e4eab6ca80479996b8e0f8c174a9cb95" }, "downloads": -1, "filename": "habu-0.1.14.tar.gz", "has_sig": true, "md5_digest": "ba7db6fc2785bf4281054c878b8c095d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 495958, "upload_time": "2019-06-09T23:25:44", "url": "https://files.pythonhosted.org/packages/aa/fa/cd37a8f63500519b8d42928db2b40b642e003ca570a529a50f9fd434b10f/habu-0.1.14.tar.gz" } ], "0.1.15": [ { "comment_text": "", "digests": { "md5": "076124056370d11f85ddc8af02965aea", "sha256": "6bcade422d1cc182f0dd083661cc88e33631ca8d2b985ab9face2dc640c59285" }, "downloads": -1, "filename": "habu-0.1.15.tar.gz", "has_sig": true, "md5_digest": "076124056370d11f85ddc8af02965aea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494819, "upload_time": "2019-06-10T00:05:47", "url": "https://files.pythonhosted.org/packages/ba/e4/712ddbd3ddf2d93539d7bb7c972e280391f6851b607831a28f21a564b1e9/habu-0.1.15.tar.gz" } ], "0.1.16": [ { "comment_text": "", "digests": { "md5": "20760b9990134c3e26bdfb135377b711", "sha256": "9f3beaf67a93648d853306399c931d8a3e6024c2e519d52fe12c69b682852192" }, "downloads": -1, "filename": "habu-0.1.16.tar.gz", "has_sig": true, "md5_digest": "20760b9990134c3e26bdfb135377b711", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494871, "upload_time": "2019-06-10T03:00:45", "url": "https://files.pythonhosted.org/packages/27/ad/9242eeacd56011c1a7979b9fcdfdfc40b4bdaa2daead52c0f24019e8f49a/habu-0.1.16.tar.gz" } ], "0.1.18": [ { "comment_text": "", "digests": { "md5": "fb581d8a111d509bdc0781d6da68d911", "sha256": "1b5c2f94a6a0416a8ee02a7eeeae0031247faaf557cc0fb21abf6cf9777cb81f" }, "downloads": -1, "filename": "habu-0.1.18.tar.gz", "has_sig": true, "md5_digest": "fb581d8a111d509bdc0781d6da68d911", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494588, "upload_time": "2019-06-10T03:27:46", "url": "https://files.pythonhosted.org/packages/b3/96/5afa229221a6f787519668c72ed99f371b82e5b9c8c79257f8afd27dcf3e/habu-0.1.18.tar.gz" } ], "0.1.19": [ { "comment_text": "", "digests": { "md5": "ea8db929fd79da88bd5fb19935c8f538", "sha256": "aa90b9a0d6704d87410a2447aba1b14c40942a6a9a1a45605fb03674871390ee" }, "downloads": -1, "filename": "habu-0.1.19.tar.gz", "has_sig": true, "md5_digest": "ea8db929fd79da88bd5fb19935c8f538", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494591, "upload_time": "2019-06-10T03:37:27", "url": "https://files.pythonhosted.org/packages/f2/74/3ce6ad053d8a20bf89c86c87f28914d353093f9955adf7d6003693c3e715/habu-0.1.19.tar.gz" } ], "0.1.20": [ { "comment_text": "", "digests": { "md5": "5c66e48795835d4e2e8672235e64add4", "sha256": "0b5c0407c8fa41b3762110e8d41f23ad4db0a0d3382675e364faac922f5ca17e" }, "downloads": -1, "filename": "habu-0.1.20.tar.gz", "has_sig": true, "md5_digest": "5c66e48795835d4e2e8672235e64add4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494579, "upload_time": "2019-06-10T03:43:46", "url": "https://files.pythonhosted.org/packages/0c/18/e7e692ad3e062e12d1bf0b86f1562cad9204d6c866a869f7d0d79a6aea18/habu-0.1.20.tar.gz" } ], "0.1.21": [ { "comment_text": "", "digests": { "md5": "9899b6f1f41676350365df609f98e247", "sha256": "999b59f52697fa79e28211fe856e75c5b1a6e9c697e0ec2fab031573db264c94" }, "downloads": -1, "filename": "habu-0.1.21.tar.gz", "has_sig": true, "md5_digest": "9899b6f1f41676350365df609f98e247", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494570, "upload_time": "2019-06-10T03:45:42", "url": "https://files.pythonhosted.org/packages/7c/81/a3fe7a3a18999460e3f8aa3c62b8fb63433c59dedd9db8311d7da3c37525/habu-0.1.21.tar.gz" } ], "0.1.22": [ { "comment_text": "", "digests": { "md5": "c8bf96adac76c1d5063e2957223ca83f", "sha256": "7f8caac9ac4a352bc6800dc65e1e072b06fa26ce60263bf7262977457256c52d" }, "downloads": -1, "filename": "habu-0.1.22.tar.gz", "has_sig": true, "md5_digest": "c8bf96adac76c1d5063e2957223ca83f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 494558, "upload_time": "2019-06-10T03:46:56", "url": "https://files.pythonhosted.org/packages/e9/87/dd7d4dfe6a11f7e40ed30b8636d848e8c2732c601fe3ab489b9d48f668a7/habu-0.1.22.tar.gz" } ], "0.1.24": [ { "comment_text": "", "digests": { "md5": "7c4e55f1c7ed734e06e24261f55211b5", "sha256": "b7001358e1edb9934a22c7f9f347ae4308b405cebc0d4a64188576ccb786fe03" }, "downloads": -1, "filename": "habu-0.1.24.tar.gz", "has_sig": true, "md5_digest": "7c4e55f1c7ed734e06e24261f55211b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501815, "upload_time": "2019-06-21T05:57:08", "url": "https://files.pythonhosted.org/packages/7f/83/06865b7a396615b7556172ae310c5e4c7c4e244099bdaf39a873b6a7daae/habu-0.1.24.tar.gz" } ], "0.1.25": [ { "comment_text": "", "digests": { "md5": "83599fdb5ff6bc64241de7fb8dc3cd3c", "sha256": "72cd0c90febd5a1292371bbb09580b4954191f7687dbb24700f054911cfcdeca" }, "downloads": -1, "filename": "habu-0.1.25.tar.gz", "has_sig": true, "md5_digest": "83599fdb5ff6bc64241de7fb8dc3cd3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501827, "upload_time": "2019-06-21T05:58:53", "url": "https://files.pythonhosted.org/packages/46/52/db967b59b942170497992feb6a6413e467927dab5833d28c445da1ef9023/habu-0.1.25.tar.gz" } ], "0.1.26": [ { "comment_text": "", "digests": { "md5": "1c437d7998639702ef289cbc348ad692", "sha256": "6f4b544de1a516e712d7a07f6495d9f7b5cf60d1d0d40fd7268ff349bd6a9c80" }, "downloads": -1, "filename": "habu-0.1.26.tar.gz", "has_sig": true, "md5_digest": "1c437d7998639702ef289cbc348ad692", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501873, "upload_time": "2019-06-21T06:12:17", "url": "https://files.pythonhosted.org/packages/11/da/766c9e497953b0d13c5b1afbb887168803727569f509273c2b8d6180e8bb/habu-0.1.26.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "02413b4d6e1a4c803365616340c70a4c", "sha256": "b31f3cac47b8365178ea6ca8cd86446c852d217395426b43e3595d08b79fb142" }, "downloads": -1, "filename": "habu-0.1.3.tar.gz", "has_sig": true, "md5_digest": "02413b4d6e1a4c803365616340c70a4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 486264, "upload_time": "2019-04-15T00:17:14", "url": "https://files.pythonhosted.org/packages/3d/54/0d03fecd0ffbc1dee8e85300b731244ee9e6f1611d9554b8db4e57fedcfd/habu-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "772af85b98a630e432958e4ec3995500", "sha256": "98c921338a67a509552571d0708b7cff3d3bcf84eb8a406fc3a85016d941ee5d" }, "downloads": -1, "filename": "habu-0.1.4.tar.gz", "has_sig": true, "md5_digest": "772af85b98a630e432958e4ec3995500", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487693, "upload_time": "2019-04-15T04:10:43", "url": "https://files.pythonhosted.org/packages/c6/fd/effc0aaa1ae7666612a0717475c64f288351e47a9a4800cfc530cba630f2/habu-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "f7e8325e386f9ca992626f289c5032b4", "sha256": "b637d27d7802794bb8eb394f68174e2988b72376093b9d158afc03bc0e233f1f" }, "downloads": -1, "filename": "habu-0.1.5.tar.gz", "has_sig": true, "md5_digest": "f7e8325e386f9ca992626f289c5032b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487712, "upload_time": "2019-04-15T04:14:13", "url": "https://files.pythonhosted.org/packages/48/aa/d3088971c193aa9bad31095ac4458683d958a54a8c3776db37ccea90c45b/habu-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "bbbb63b4826e426d41087d45ca250f14", "sha256": "78d62f7e23a612716504f27501c5187f846b702e5779026ab5cecfea4201f7f7" }, "downloads": -1, "filename": "habu-0.1.6.tar.gz", "has_sig": true, "md5_digest": "bbbb63b4826e426d41087d45ca250f14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 487733, "upload_time": "2019-04-15T04:21:48", "url": "https://files.pythonhosted.org/packages/e8/07/701b7fe0563f7c6631d48c1d0c5e26612456c70ed151a27ef883e9724401/habu-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "bce13a2631146ab75acd1aa97a29cf11", "sha256": "b2db6240805b79d82f893293ee7f236fd308ef8f36b95b030578cc9c1af13828" }, "downloads": -1, "filename": "habu-0.1.7.tar.gz", "has_sig": true, "md5_digest": "bce13a2631146ab75acd1aa97a29cf11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 489396, "upload_time": "2019-04-20T19:41:10", "url": "https://files.pythonhosted.org/packages/c4/a3/9721512396f9bc497dd47ed01fbc68b3c4e7ac9545a8a6be404f1c1dfad9/habu-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "a5868ed764d8febe04d6e1dd91b78808", "sha256": "ef6de58bac240afe5bc1061ed709458db23b9930248e17e8227259c6881b959a" }, "downloads": -1, "filename": "habu-0.1.8.tar.gz", "has_sig": true, "md5_digest": "a5868ed764d8febe04d6e1dd91b78808", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 477834, "upload_time": "2019-05-11T02:43:24", "url": "https://files.pythonhosted.org/packages/65/b6/216adeb31c9754602b168f4f62c780d599fa4f9f223267b3d2d7e516f46c/habu-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "2d46ad65fbc0006f1fa7491377a29888", "sha256": "13de2ab143c1e35c8951ff4bad935f85b5b4b19d9a124fd56e140a38fde24855" }, "downloads": -1, "filename": "habu-0.1.9.tar.gz", "has_sig": true, "md5_digest": "2d46ad65fbc0006f1fa7491377a29888", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 493240, "upload_time": "2019-06-08T21:23:10", "url": "https://files.pythonhosted.org/packages/15/ce/48811ba126db4a52cb3a6a5e07f7f8e3bb4218eafa6cbb75abfff72a349d/habu-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1c437d7998639702ef289cbc348ad692", "sha256": "6f4b544de1a516e712d7a07f6495d9f7b5cf60d1d0d40fd7268ff349bd6a9c80" }, "downloads": -1, "filename": "habu-0.1.26.tar.gz", "has_sig": true, "md5_digest": "1c437d7998639702ef289cbc348ad692", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 501873, "upload_time": "2019-06-21T06:12:17", "url": "https://files.pythonhosted.org/packages/11/da/766c9e497953b0d13c5b1afbb887168803727569f509273c2b8d6180e8bb/habu-0.1.26.tar.gz" } ] }