m0rtem / CloudFail

Utilize misconfigured DNS and old database records to find hidden IP's behind the CloudFlare network
MIT License
2.18k stars 463 forks source link

AttributeError: module 'collections' has no attribute 'Callable' #99

Open khan-shaheb69 opened 1 year ago

khan-shaheb69 commented 1 year ago

python3 cloudfail.py --target target.com

After executing this command I am getting following error.

if (isinstance(value, str) or isinstance(value, collections.Callable) or hasattr(value, 'match') AttributeError: module 'collections' has no attribute 'Callable'. Although my socks.py is updated.

import socket import struct from errno import EOPNOTSUPP, EINVAL, EAGAIN from io import BytesIO from os import SEEK_CUR from collections.abc import Callable from base64 import b64encode

I am using kali linux 2022.4. Thanks in advance.

mike993 commented 1 year ago

same error here...

L00PBACK commented 1 year ago

Hello, collections.Callable has been moved to collections.abc.Callable in python 3.10+. A hacky solution is to add the reference back to collections before importing the problem library. Or use python 3.9 To fix the bug you need to add to whateverpath/lib/python3.10/site-packages/bs4/element.py

collections.Callable = collections.abc.Callable at the begining of the file.

th3knv commented 1 year ago

Modify cloufail.py and add somewhere in imports this:

import collections collections.Callable = collections.abc.Callable

Better add Callable after the following import.

import dns.resolver