Giter VIP home page Giter VIP logo

cloudfail's Introduction

CloudFail

CloudFail is a tactical reconnaissance tool which aims to gather enough information about a target protected by Cloudflare in the hopes of discovering the location of the server. Using Tor to mask all requests, the tool as of right now has 3 different attack phases.

  1. Misconfigured DNS scan using DNSDumpster.com.
  2. Scan the Crimeflare.com database.
  3. Bruteforce scan over 2500 subdomains.

Example usage

Please feel free to contribute to this project. If you have an idea or improvement issue a pull request!

Disclaimer

This tool is a PoC (Proof of Concept) and does not guarantee results. It is possible to setup Cloudflare properly so that the IP is never released or logged anywhere; this is not often the case and hence why this tool exists. This tool is only for academic purposes and testing under controlled environments. Do not use without obtaining proper authorization from the network owner of the network under testing. The author bears no responsibility for any misuse of the tool.

Install on Kali/Debian

First we need to install pip3 for python3 dependencies:

$ sudo apt-get install python3-pip

Then we can run through dependency checks:

$ pip3 install -r requirements.txt

If this fails because of missing setuptools, do this:

sudo apt-get install python3-setuptools

Usage

To run a scan against a target:

python3 cloudfail.py --target seo.com

To run a scan against a target using Tor:

service tor start

(or if you are using Windows or Mac install vidalia or just run the Tor browser)

python3 cloudfail.py --target seo.com --tor

Please make sure you are running with Python3 and not Python2.*.

Dependencies

Python3

  • argparse
  • colorama
  • socket
  • binascii
  • datetime
  • requests
  • win_inet_pton
  • dnspython

Donate BTC

13eiCHxmAEaRZDXcgKJVtVnCKK5mTR1u1F

Buy me a beer or coffee... or both! If you donate send me a message and I will add you to the credits! Thank YOU!

cloudfail's People

Contributors

ceruleanatmonaco avatar datdraggy avatar hon1nbo avatar ifn3t avatar m0rtem avatar samsheff avatar shoxxdj avatar westlakef avatar xxdesmus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cloudfail's Issues

run error when add --tor

[14:01:42] Initializing CloudFail - the date is: 13/10/2020
Traceback (most recent call last):
  File "/root/CloudFail/socks.py", line 729, in connect
    _BaseSocket.connect(self, proxy_addr)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connection.py", line 159, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw)
  File "/usr/local/lib/python3.6/dist-packages/urllib3/util/connection.py", line 80, in create_connection
    raise err
  File "/usr/local/lib/python3.6/dist-packages/urllib3/util/connection.py", line 70, in create_connection
    sock.connect(sa)
  File "/root/CloudFail/socks.py", line 740, in connect
    raise ProxyConnectionError(msg, error)
socks.ProxyConnectionError: Error connecting to SOCKS5 proxy 127.0.0.1:9050: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 354, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.6/http/client.py", line 1264, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1310, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1259, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1038, in _send_output
    self.send(msg)
  File "/usr/lib/python3.6/http/client.py", line 976, in send
    self.connect()
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connection.py", line 181, in connect
    conn = self._new_conn()
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connection.py", line 168, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fd1c825b208>: Failed to establish a new connection: Error connecting to SOCKS5 proxy 127.0.0.1:9050: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/requests-2.24.0-py3.6.egg/requests/adapters.py", line 449, in send           timeout=timeout
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/local/lib/python3.6/dist-packages/urllib3/util/retry.py", line 399, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='canihazip.com', port=80): Max retries exceeded with url: /s (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd1c825b208>: Failed to establish a new connection: Error connecting to SOCKS5 proxy 127.0.0.1:9050: [Errno 111] Connection refused',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cloudfail.py", line 293, in <module>
    tor_ip = requests.get(ipcheck_url)
  File "/usr/local/lib/python3.6/dist-packages/requests-2.24.0-py3.6.egg/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/requests-2.24.0-py3.6.egg/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/requests-2.24.0-py3.6.egg/requests/sessions.py", line 530, in request        resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.6/dist-packages/requests-2.24.0-py3.6.egg/requests/sessions.py", line 643, in send           r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/requests-2.24.0-py3.6.egg/requests/adapters.py", line 516, in send           raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='canihazip.com', port=80): Max retries exceeded with url: /s (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd1c825b208>: Failed to establish a new connection: Error connecting to SOCKS5 proxy 127.0.0.1:9050: [Errno 111] Connection refused',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cloudfail.py", line 300, in <module>
    print(e, net_exc)
NameError: name 'net_exc' is not defined

does not appear to be within Cloudflare range

The domain name has CloudFlair on and I'm sure of it But CloudFail can't find it
Every time I try It says:
IP address does not appear to be within Cloudflare range, shutting down..
Any solution for this issue???

Failed to establish a new connection: [Errno 111]

Hi,

I tried a simple command with python3 cloudfail.py --target but it fails, here's a copy:

[10:25:17] Fetching initial information from: themebanks.com...
[10:25:17] No ipout file found, fetching data
[10:25:17] Just checking for updates, please wait...
[10:25:17] Updating CloudFlare subnet...
[10:25:17] Updating Crimeflare database...
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 159, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw)
  File "/usr/local/lib/python3.6/site-packages/urllib3/util/connection.py", line 80, in create_connection
    raise err
  File "/usr/local/lib/python3.6/site-packages/urllib3/util/connection.py", line 70, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 354, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib64/python3.6/http/client.py", line 1254, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1300, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1249, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.6/http/client.py", line 1036, in _send_output
    self.send(msg)
  File "/usr/lib64/python3.6/http/client.py", line 974, in send
    self.connect()
  File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 181, in connect
    conn = self._new_conn()
  File "/usr/local/lib/python3.6/site-packages/urllib3/connection.py", line 168, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f90fa9ed4e0>: Failed to establish a new connection: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.6/site-packages/urllib3/connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/local/lib/python3.6/site-packages/urllib3/util/retry.py", line 399, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='crimeflare.net', port=83): Max retries exceeded with url: /domains/ipout.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f90fa9ed4e0>: Failed to establish a new connection: [Errno 111] Connection refused',))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cloudfail.py", line 309, in <module>
    init(args.target)
  File "cloudfail.py", line 138, in init
    update()
  File "cloudfail.py", line 252, in update
    r = requests.get("http://crimeflare.net:83/domains/ipout.zip", stream=True)
  File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/requests/adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='crimeflare.net', port=83): Max retries exceeded with url: /domains/ipout.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f90fa9ed4e0>: Failed to establish a new connection: [Errno 111] Connection refused',))```

Thanks for your help

UnicodeError: label empty or too long

I'm getting this error:

/lib/python3.6/encodings/idna.py", line 165, in encode
    raise UnicodeError("label empty or too long")
UnicodeError: label empty or too long

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "cloudfail.py", line 266, in <module>
    subdomain_scan(args.target)
  File "cloudfail.py", line 167, in subdomain_scan
    target_http = requests.get("http://"+subdomain)
  File "/tmp/env/lib/python3.6/site-packages/requests/api.py", line 72, in get
    return request('get', url, params=params, **kwargs)
  File "/tmp/env/lib/python3.6/site-packages/requests/api.py", line 58, in request
    return session.request(method=method, url=url, **kwargs)
  File "/tmp/env/lib/python3.6/site-packages/requests/sessions.py", line 502, in request
    resp = self.send(prep, **send_kwargs)
  File "/tmp/env/lib/python3.6/site-packages/requests/sessions.py", line 612, in send
    r = adapter.send(request, **kwargs)
  File "/tmp/env/lib/python3.6/site-packages/requests/adapters.py", line 440, in send
    timeout=timeout
  File "/tmp/env/lib/python3.6/site-packages/urllib3/connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "/tmp/env/lib/python3.6/site-packages/urllib3/connectionpool.py", line 356, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.6/http/client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib/python3.6/http/client.py", line 1026, in _send_output
    self.send(msg)
  File "/usr/lib/python3.6/http/client.py", line 964, in send
    self.connect()
  File "/tmp/env/lib/python3.6/site-packages/urllib3/connection.py", line 166, in connect
    conn = self._new_conn()
  File "/tmp/env/lib/python3.6/site-packages/urllib3/connection.py", line 141, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/tmp/env/lib/python3.6/site-packages/urllib3/util/connection.py", line 60, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/lib/python3.6/socket.py", line 743, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
UnicodeError: encoding with 'idna' codec failed (UnicodeError: label empty or too long)```

could not complete execution

hey im gettin this error

kaliuser@kaliuser:/CloudFail$ python3 cloudfail.py --target seo.com
cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
cloudfail.py:182: SyntaxWarning: "is" with a literal. Did you mean "=="?
if choice is 'y':


/ | | ___ _ _ __| | | () |
| | | |/ _ | | | |/ | |_ / _ | | |
| |
| | (
) | |
| | (
| | | (| | | |
_||_/ _,|_,|| _,||_|
v1.0.2 by m0rtem

[11:24:00] Initializing CloudFail - the date is: 02/12/2020
[11:24:00] Fetching initial information from: seo.com...
[11:24:00] No ipout file found, fetching data
[11:24:00] Just checking for updates, please wait...
[11:24:00] Updating CloudFlare subnet...
Traceback (most recent call last):
File "cloudfail.py", line 309, in
init(args.target)
File "cloudfail.py", line 138, in init
update()
File "cloudfail.py", line 246, in update
with open('data/cf-subnet.txt', 'wb') as fd:
PermissionError: [Errno 13] Permission denied: 'data/cf-subnet.txt'

ERROR ON SCRIPT PLEASE REVIEW - 7TH JANUARY 2018

File "cloudfail.py", line 23
print(Style.NORMAL + "[" + datetimestr + "] " + data + Style.RESET_ALL,' ', end=end)
^
SyntaxError: invalid syntax

I used Kali Linux, and updated system and upgraded the system.
and updated the repositories. When using CloudFail, I get above error message.

Please review and fix. or guide what to do.

Thanks

Problem

Testing for misconfigured DNS using dnsdumpster... There was an error getting results Traceback (most recent call last): File "/root/CloudFail/cloudfail.py", line 312, in <module> dnsdumpster(args.target) File "/root/CloudFail/cloudfail.py", line 86, in dnsdumpster if res['dns_records']['host']: TypeError: list indices must be integers or slices, not str

Error

root@e:/CloudFuck# python3 cf.py seo.com
Traceback (most recent call last):
File "cf.py", line 5, in
from DNSDumpsterAPI import DNSDumpsterAPI
File "/root/CloudFuck/DNSDumpsterAPI.py", line 8, in
import requests
ImportError: No module named 'requests'
root@e:
/CloudFuck#

TypeError: list indices must be integers or slices, not str

Hi @m0rtem!
python3 cloudfail.py -u -t codeby.net
[16:28:53] Testing for misconfigured DNS using dnsdumpster... There was an error getting results Traceback (most recent call last): File "/Users/amur/CloudFail/cloudfail.py", line 312, in dnsdumpster(args.target) File "/Users/amur/CloudFail/cloudfail.py", line 86, in dnsdumpster if res['dns_records']['host']: TypeError: list indices must be integers or slices, not str
@Uonlylivetwice

Write

ModuleNotFoundError: No module named 'win inet pton'

I installed everything correctly but when I try to resolve a website I get this:

Traceback (most recent call last) :
File "cloudfail.py", line 13, in <module>
import win_inet_pton
ModuleNotFoundError: No module named 'win inet pton'

Photo:
image

ImportError: No module named 'colorama'

I did python3 cloudfail.py and I already have it installed and it says this:

Traceback (most recent call last):
File "cloudfail.py", line 10, in <module>
import colorama
ImportError: No module named 'colorama'

Unable to carry out command : sudo python3 cloudfail.py -u

I was not able to carry out command:
$ sudo python3 cloudfail.py -u
due to:
BlockingIOError: [Errno 11] Resource temporarily unavailable

[18:43:31] Initializing CloudFail - the date is: 11/02/2022
[18:43:31] Just checking for updates, please wait...
[18:43:31] Updating CloudFlare subnet...
[18:43:31] Updating Crimeflare database...
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/urllib3/connection.py", line 158, in _new_conn
conn = connection.create_connection(
File "/usr/local/lib/python3.9/dist-packages/urllib3/util/connection.py", line 80, in create_connection
raise err
File "/usr/local/lib/python3.9/dist-packages/urllib3/util/connection.py", line 70, in create_connection
sock.connect(sa)
BlockingIOError: [Errno 11] Resource temporarily unavailable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/urllib3/connectionpool.py", line 597, in urlopen
httplib_response = self._make_request(conn, method, url,
File "/usr/local/lib/python3.9/dist-packages/urllib3/connectionpool.py", line 354, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python3.9/http/client.py", line 1285, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.9/http/client.py", line 1331, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.9/http/client.py", line 1280, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.9/http/client.py", line 1040, in _send_output
self.send(msg)
File "/usr/lib/python3.9/http/client.py", line 980, in send
self.connect()
File "/usr/local/lib/python3.9/dist-packages/urllib3/connection.py", line 181, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.9/dist-packages/urllib3/connection.py", line 167, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f7c90fbac40>: Failed to establish a new connection: [Errno 11] Resource temporarily unavailable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/requests/adapters.py", line 440, in send
resp = conn.urlopen(
File "/usr/local/lib/python3.9/dist-packages/urllib3/connectionpool.py", line 637, in urlopen
retries = retries.increment(method, url, error=e, _pool=self,
File "/usr/local/lib/python3.9/dist-packages/urllib3/util/retry.py", line 399, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='crimeflare.net', port=83): Max retries exceeded with url: /domains/ipout.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7c90fbac40>: Failed to establish a new connection: [Errno 11] Resource temporarily unavailable'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/purplecrow92/CloudFail/cloudfail.py", line 304, in
update()
File "/home/purplecrow92/CloudFail/cloudfail.py", line 252, in update
r = requests.get("http://crimeflare.net:83/domains/ipout.zip", stream=True)
File "/usr/local/lib/python3.9/dist-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/requests/api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/requests/sessions.py", line 529, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python3.9/dist-packages/requests/sessions.py", line 645, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/requests/adapters.py", line 519, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='crimeflare.net', port=83): Max retries exceeded with url: /domains/ipout.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f7c90fbac40>: Failed to establish a new connection: [Errno 11] Resource temporarily unavailable'))

File "cloudfail.py", line 277, in <module> update()

Hi Any idea on the error below? I installed it in Kali Linux 2018.1
[16:21:41] Just checking for updates, please wait...
[16:21:41] Updating CloudFlare subnet...
[16:21:41] Updating Crimeflare database...
Traceback (most recent call last):
File "cloudfail.py", line 277, in
update()
File "cloudfail.py", line 229, in update
zip_ref = zipfile.ZipFile("data/ipout.zip", 'r')
File "/usr/lib/python3.6/zipfile.py", line 1108, in init
self._RealGetContents()
File "/usr/lib/python3.6/zipfile.py", line 1175, in _RealGetContents
raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file

Scanning stops at 2897 subdomains...

as above, when I run cloudfail.py the whole process stops on subdomains scans!

I waited over 2 hours for the results but he was there! 'please wait...' he's still there!!! :)

[enhancement] Add Censys API

Censys can find real IP behind cloudflare network.
Additional, you can study their module in python3 :)

Looking forward in this tool.

Target is not part of cloudflare network

Hi!
First thanks for CF, definitely a dope tool.

Do you know why would CF say a website is not part of Cloudflare network but I am seeing an error 1016 page from CloudFlare of said target?

Thanks a lot beforehand.

can't open file clloudfail.py

# python3 cloudfail.py --target seo.com

python3: can't open file 'cloudfail.py': [Errno 2] No such file or directory]

NetworkException is not defined

When running against a host that does not exist, I get an exception (tried with python2 and 3):

Traceback (most recent call last):
  File "cloudfail.py", line 130, in init
    ip = socket.gethostbyname(args.target)
socket.gaierror: [Errno -5] No address associated with hostname

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cloudfail.py", line 257, in <module>
    init(args.target)
  File "cloudfail.py", line 131, in init
    except NetworkException as net_exc:
NameError: name 'NetworkException' is not defined

Tor rejects connection "anonymous" socks from CloudFail.

Whenever I run the tool using [--tor] option, I get multiple socks related errors as follows:

python3 cloudfail.py --target domainx.com --tor

[21:41:25] Initializing CloudFail - the date is: 18/04/2021
Traceback (most recent call last):
  File "C:\Security\programs\cloudfail\socks.py", line 747, in connect
    negotiate(self, dest_addr, dest_port)
  File "C:\Security\programs\cloudfail\socks.py", line 419, in _negotiate_SOCKS5
    CONNECT, dest_addr)
  File "C:\Security\programs\cloudfail\socks.py", line 494, in _SOCKS5_request
    raise SOCKS5Error("{0:#04x}: {1}".format(status, error))
socks.SOCKS5Error: 0x01: General SOCKS server failure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 159, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\connection.py", line 80, in create_connection
    raise err
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\connection.py", line 70, in create_connection
    sock.connect(sa)
  File "C:\Security\programs\cloudfail\socks.py", line 751, in connect
    raise GeneralProxyError("Socket error", error)
socks.GeneralProxyError: Socket error: 0x01: General SOCKS server failure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 354, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1229, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1275, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1224, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 1016, in _send_output
    self.send(msg)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\http\client.py", line 956, in send
    self.connect()
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 181, in connect
    conn = self._new_conn()
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connection.py", line 168, in _new_conn
    self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x041F2C70>: Failed to establish a new connection: Socket error: 0x01: General SOCKS server failure

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 449, in send
    timeout=timeout
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\connectionpool.py", line 638, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\urllib3\util\retry.py", line 399, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='ipinfo.io', port=80): Max retries exceeded with url: /ip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x041F2C70>: Failed to establish a new connection: Socket error: 0x01: General SOCKS server failure'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cloudfail.py", line 293, in <module>
    tor_ip = requests.get(ipcheck_url)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\UserX\AppData\Local\Programs\Python\Python37-32\lib\site-packages\requests\adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='ipinfo.io', port=80): Max retries exceeded with url: /ip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x041F2C70>: Failed to establish a new connection: Socket error: 0x01: General SOCKS server failure'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "cloudfail.py", line 300, in <module>
    print(e, net_exc)
NameError: name 'net_exc' is not defined

Here is the corresponding error that the Tor proxy spits out.

[warn] Rejecting SOCKS request for anonymous connection to private address [scrubbed]. [3 similar message(s) suppressed in last 10 seconds]

I'm Using:
Cygwin in Windows 8.1 with Python3 and Tor v0.3.5.7 (which otherwise works without any issues)
Both the Tor socks[port:9050] and http[port:8118] are enabled.

When using the CloudFail without the Tor proxy it seems to work OK. Any hint what needs to be done to make Tor accept the connections?

invalid syntax : Any help please

root@kali:/Desktop/CloudFail# python cloudfail.py --target site.com
File "cloudfail.py", line 23
print(Style.NORMAL + "[" + datetimestr + "] " + data + Style.RESET_ALL,' ', end=end)
^
SyntaxError: invalid syntax
root@kali:
/Desktop/CloudFail#

Error

print(Style.NORMAL + "[" + datetimestr + "] " + data + Style.RESET_ALL,' ', end=end)
^
SyntaxError: invalid syntax

python cloudfail.py --target site.com !!

Traceback (most recent call last):
File "cloudfail.py", line 257, in
init(args.target)
File "cloudfail.py", line 138, in init
ifIpIsWithin = inCloudFlare(ip)
File "cloudfail.py", line 150, in inCloudFlare
isInNetwork = ip_in_subnetwork(ip,line)
File "cloudfail.py", line 24, in ip_in_subnetwork
(ip_integer, version1) = ip_to_integer(ip_address)
File "cloudfail.py", line 46, in ip_to_integer
raise ValueError("invalid IP address")
ValueError: invalid IP address

line fix

please fix the following
with open('data/cf-subnet.txt', 'wb') as fd:
to get real path

ERROR ON SCRIPT - 7TH JANUARY 2018 (PYTHON3)

python3 cloudfail.py --target asexampleofanysiteputhere.com --tor

Traceback (most recent call last):
File "cloudfail.py", line 9, in
import colorama
ImportError: No module named 'colorama'

Hi I'm using Kali Linux latest edition, updated system, upgraded the system, and all repositories up to date.

I submitted last error yesterday, due syntax, and was adviced to use python3
the above error I get when using "python3" instead of just "python" or "python2"

Please help or guide me to do next thing to get the script to work.

Thanks

Pls help me!

┌──(kaliomega㉿kali)-[~/soft/CloudFail]
└─$ python3 cloudfail.py --target football88.cc --tor 1 ⨯
soft/CloudFail/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
soft/CloudFail/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
soft/CloudFail/cloudfail.py:182: SyntaxWarning: "is" with a literal. Did you mean "=="?
if choice is 'y':


/ | | ___ _ _ __| | | () |
| | | |/ _ | | | |/ | |_ / _ | | |
| |
| | (
) | |
| | (
| | | (| | | |
_||_/ _,|_,|| _,||_|
v1.0.2 by m0rtem

[23:48:48] Initializing CloudFail - the date is: 21/07/2021
[23:48:48] TOR connection established!
[23:48:48] New IP: 185.220.102.251
[23:48:48] Fetching initial information from: football88.cc...
[23:48:48] Server IP: 104.21.90.45
[23:48:48] Testing if football88.cc is on the Cloudflare network...
[23:48:48] football88.cc is part of the Cloudflare network!
[23:48:48] Testing for misconfigured DNS using dnsdumpster...
There was an error getting results
Traceback (most recent call last):
File "/home/kaliomega/soft/CloudFail/cloudfail.py", line 312, in
dnsdumpster(args.target)
File "/home/kaliomega/soft/CloudFail/cloudfail.py", line 86, in dnsdumpster
if res['dns_records']['host']:
TypeError: list indices must be integers or slices, not str

Wildcard DNS

It would be smarter to query *.target.xyz at the beginning and then ask the user whether they want to continue anyway or skip the dictionary test if there was a find, because the wildcard will match every single subdomain in the subdomains.txt.
I just noticed this with my own domain since it has * on 23.78.196.226 for the lolz.

error is happening im trying to fiind the origin ip of ixl.com

here is the error message:
[15:47:35] Initializing CloudFail - the date is: 16/01/2022
[15:47:35] Fetching initial information from: ixl.com...
[15:47:35] No ipout file found, fetching data
[15:47:35] Just checking for updates, please wait...
[15:47:35] Updating CloudFlare subnet...
[15:47:35] Updating Crimeflare database...
Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/urllib3/connection.py", line 159, in _new_conn
(self._dns_host, self.port), self.timeout, **extra_kw)
File "/usr/local/lib/python3.7/dist-packages/urllib3/util/connection.py", line 80, in create_connection
raise err
File "/usr/local/lib/python3.7/dist-packages/urllib3/util/connection.py", line 70, in create_connection
sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
chunked=chunked)
File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 354, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/lib/python3.7/http/client.py", line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.7/http/client.py", line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.7/http/client.py", line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.7/http/client.py", line 1016, in _send_output
self.send(msg)
File "/usr/lib/python3.7/http/client.py", line 956, in send
self.connect()
File "/usr/local/lib/python3.7/dist-packages/urllib3/connection.py", line 181, in connect
conn = self._new_conn()
File "/usr/local/lib/python3.7/dist-packages/urllib3/connection.py", line 168, in _new_conn
self, "Failed to establish a new connection: %s" % e)
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f231dedb978>: Failed to establish a new connection: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/usr/local/lib/python3.7/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/usr/local/lib/python3.7/dist-packages/urllib3/util/retry.py", line 399, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='crimeflare.net', port=83): Max retries exceeded with url: /domains/ipout.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f231dedb978>: Failed to establish a new connection: [Errno 101] Network is unreachable'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "cloudfail.py", line 309, in
init(args.target)
File "cloudfail.py", line 138, in init
update()
File "cloudfail.py", line 252, in update
r = requests.get("http://crimeflare.net:83/domains/ipout.zip", stream=True)
File "/usr/lib/python3/dist-packages/requests/api.py", line 75, in get
return request('get', url, params=params, **kwargs)
File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/usr/lib/python3/dist-packages/requests/adapters.py", line 516, in send
raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='crimeflare.net', port=83): Max retries exceeded with url: /domains/ipout.zip (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f231dedb978>: Failed to establish a new connection: [Errno 101] Network is unreachable'))

TypeError: list indices must be integers or slices, not str

[21:46:05] Testing for misconfigured DNS using dnsdumpster...
There was an error getting results
Traceback (most recent call last):
File "cloudfail.py", line 312, in
dnsdumpster(args.target)
File "cloudfail.py", line 86, in dnsdumpster
if res['dns_records']['host']:
TypeError: list indices must be integers or slices, not str

I'm using Python 3.7.3

crimefail gives wrong ip

was using this script to test against bestgore.com, this is what I got:
[16:37:11] Initializing CloudFail - the date is: 28/11/2019
[16:37:11] Fetching initial information from: bestgore.com...
[16:37:11] Server IP: 104.27.59.89
[16:37:11] Testing if bestgore.com is on the Cloudflare network...
[16:37:11] bestgore.com is part of the Cloudflare network!
[16:37:11] Testing for misconfigured DNS using dnsdumpster...
[16:37:12] [FOUND:HOST] dc-ccc3a27fad68.bestgore.comFTP: 220 (vsFTPd 3.0.2)HTTP TECH: LiteSpeedHTTPS TECH: LiteSpeed 191.101.172.199 ASDETUK http://www.heficed.com United States
[16:37:12] [FOUND:MX] 176.32.101.207 AMAZON-02 - Amazon.com, Inc. 10 inbound-smtp.us-east-1.amazonaws.com.
[16:37:12] Scanning crimeflare database...
[16:37:12] [FOUND:IP] 198.178.124.160

I pinged the ip and it was wrong. im not sure why this script would give me the wrong and an old ip??

Unexpected status code from https://dnsdumpster.com/: 500

[03:48:58] Initializing CloudFail - the date is: 18/08/2019
[03:48:58] Fetching initial information from: minutosaudavel.com.br...
[03:48:58] Server IP: 104.25.108.102
[03:48:58] Testing if minutosaudavel.com.br is on the Cloudflare network...
[03:48:58] minutosaudavel.com.br is part of the Cloudflare network!
[03:48:58] Testing for misconfigured DNS using dnsdumpster...
Unexpected status code from https://dnsdumpster.com/: 500
Traceback (most recent call last):
File "cloudfail.py", line 285, in
dnsdumpster(args.target)
File "cloudfail.py", line 84, in dnsdumpster
if res['dns_records']['host']:
TypeError: list indices must be integers or slices, not str

Support for other Cloudflare-like services

Cloudflare is not the only service offering similar technical features (other notable encountered often is Incapsula).

This is something that would prove useful to a lot of testers. I'm currently evaluating if I can programmatically determine Incapsula's ranges effectively (since they have an AS it should be possible). However, I'm not aware of a similar database as crimeflare. Yet, it could still be useful to incorporate with thanks to the DNSDumpser API and the common subdomain checks.

Cheers,
~H

TypeError: list indices must be integers or slices, not str

python3 cloudfail.py -t cdn.duzun.me
There was an error getting results
Traceback (most recent call last):
  File "cloudfail.py", line 285, in <module>
    dnsdumpster(args.target)
  File "cloudfail.py", line 84, in dnsdumpster
    if res['dns_records']['host']:
TypeError: list indices must be integers or slices, not str

IndexError: list index out of range

Testing for misconfigured DNS using dnsdumpster...
Traceback (most recent call last):
File "cloudfail.py", line 285, in
dnsdumpster(args.target)
File "cloudfail.py", line 82, in dnsdumpster
res = DNSDumpsterAPI(False).search(target)
File "/opt/CloudFail/DNSDumpsterAPI.py", line 80, in search
res['dns_records']['dns'] = self.retrieve_results(tables[0])
File "/opt/CloudFail/DNSDumpsterAPI.py", line 32, in retrieve_results
ip = re.findall(pattern_ip, tds[1].text)[0]
IndexError: list index out of range

Have this error

ImportError: No module named DNSDumpsterAPI

Hello, i tried to install requirements on kali 4.6.0-kali1-686 and run the script, but got error. Here are steps:

$ wget https://github.com/m0rtem/CloudFail/raw/master/requirements.txt
$ wget https://github.com/m0rtem/CloudFail/raw/master/cloudfail.py
$ sudo apt-get install python3-pip

The following NEW packages will be installed:
gcc-7-base gcc-8-base libgfortran4 libpython3-dev libpython3.6 libpython3.6-dev libpython3.6-minimal libpython3.6-stdlib libssl1.1 libwebpmux3 python3-asn1crypto python3-cffi-backend python3-crypto
python3-cryptography python3-dev python3-distutils python3-idna python3-keyring python3-keyrings.alt python3-lib2to3 python3-olefile python3-pip python3-secretstorage python3-setuptools python3-wheel
python3.6 python3.6-dev python3.6-minimal

$ pip3 install -r requirements.txt

Successfully installed beautifulsoup4-4.6.0 bs4-0.0.1 certifi-2017.4.17 chardet-3.0.4 colorama-0.3.9 idna-2.5 requests-2.18.1 urllib3-1.21.1 win-inet-pton-1.0.1

$ python cloudfail.py --target domain.here
Traceback (most recent call last):
File "cloudfail.py", line 13, in
import win_inet_pton
ImportError: No module named win_inet_pton

$ pip install win_inet_pton
Collecting win_inet_pton
Using cached win_inet_pton-1.0.1.tar.gz
Building wheels for collected packages: win-inet-pton
Running setup.py bdist_wheel for win-inet-pton ... done
Stored in directory: /home/me/.cache/pip/wheels/a5/7d/5d/5488e84ec3f64ed0691dfc8a926e6020423d8980cabe7b4410
Successfully built win-inet-pton
Installing collected packages: win-inet-pton
Successfully installed win-inet-pton-1.0.1

$ python cloudfail.py --target domain.here
Traceback (most recent call last):
File "cloudfail.py", line 16, in
from DNSDumpsterAPI import DNSDumpsterAPI
ImportError: No module named DNSDumpsterAPI

$ pip install DNSDumpsterAPI
Collecting DNSDumpsterAPI
Could not find a version that satisfies the requirement DNSDumpsterAPI (from versions: )
No matching distribution found for DNSDumpsterAPI

Please how to proceed?

Run error

/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:182: SyntaxWarning: "is" with a literal. Did you mean "=="?
if choice is 'y':
Traceback (most recent call last):
File "/root/cloudfail.py", line 10, in
import requests
ModuleNotFoundError: No module named 'requests'
root@localhost:# python3 cloudfail.py --target seo.com
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:182: SyntaxWarning: "is" with a literal. Did you mean "=="?
if choice is 'y':
Traceback (most recent call last):
File "/root/cloudfail.py", line 10, in
import requests
ModuleNotFoundError: No module named 'requests'
root@localhost:
# python3 cloudfail.py --target seo.com
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:182: SyntaxWarning: "is" with a literal. Did you mean "=="?
if choice is 'y':
Traceback (most recent call last):
File "/root/cloudfail.py", line 10, in
import requests
ModuleNotFoundError: No module named 'requests'
root@localhost:~# python3 cloudfail.py --target seo.com
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:180: SyntaxWarning: "is not" with a literal. Did you mean "!="?
while choice is not 'y' and choice is not 'n':
/root/cloudfail.py:182: SyntaxWarning: "is" with a literal. Did you mean "=="?
if choice is 'y':
Traceback (most recent call last):
File "/root/cloudfail.py", line 10, in
import requests
ModuleNotFoundError: No module named 'requests'

Dnsdumpster problem

Hi !

First of all, thanks for the tool !

I have an issue with dnsdumpster.

There was an error getting results
Traceback (most recent call last):
File "cloudfail.py", line 312, in
dnsdumpster(args.target)
File "cloudfail.py", line 86, in dnsdumpster
if res['dns_records']['host']:
TypeError: list indices must be integers or slices, not str

Would you know how to fix it ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.