mirror of
git://git.acid.vegas/IRCP.git
synced 2024-11-22 16:06:41 +00:00
Throttle fine funed again, loop_nick more ranomized, README updated TODOs
This commit is contained in:
parent
52fbb67808
commit
3f10e115af
@ -51,10 +51,11 @@ Mass scanning *default* ports of services is nothing new & though port 6667 is n
|
|||||||
* Checking for IPv6 availability *(SSL= in 005 responses may help verify IPv6)*
|
* Checking for IPv6 availability *(SSL= in 005 responses may help verify IPv6)*
|
||||||
* Support for IRC servers using old versions of SSL
|
* Support for IRC servers using old versions of SSL
|
||||||
* Support for hostnames in targets list *(Attempt IPv6 & fallback to IPv4)*
|
* Support for hostnames in targets list *(Attempt IPv6 & fallback to IPv4)*
|
||||||
* Fix CTCP *(More involved than just sending CTCP raw to the server to get a response)*
|
* How do we handle the possibility of connecting to multiple servers linked to same network?
|
||||||
|
* Seperate lists for failed & banned networks
|
||||||
|
|
||||||
## Opt-out
|
## Opt-out
|
||||||
The IRC networks we scanned are PUBLIC networks...any person can freely connect & parse the same information. Send your hate mail to [scan@internetrelaychat.org](mailto://scan@internetrelaychat.org)
|
You can request to opt out of our scans by sending an email to [scan@internetrelaychat.org](mailto://scan@internetrelaychat.org)
|
||||||
|
|
||||||
___
|
___
|
||||||
|
|
||||||
|
33
ircp.py
33
ircp.py
@ -10,31 +10,34 @@ import ssl
|
|||||||
import sys
|
import sys
|
||||||
import time
|
import time
|
||||||
|
|
||||||
|
# Make sure you have enough RAM for logmax*threads
|
||||||
|
# For example, 5000000 log_max (5MB) on 1000 threads could *potentially* use up to 5GB in RAM
|
||||||
|
|
||||||
class settings:
|
class settings:
|
||||||
daemon = False # Run in daemon mode (24/7 throttled scanning)
|
daemon = False # Run in daemon mode (24/7 throttled scanning)
|
||||||
errors = True # Show errors in console
|
errors = True # Show errors in console
|
||||||
errors_conn = False # Show connection errors in console
|
errors_conn = False # Show connection errors in console
|
||||||
log_max = 5000000 # Maximum log size (in bytes) before starting another
|
log_max = 5000000 # 5mb # Maximum log size (in bytes) before starting another
|
||||||
nickname = 'IRCP' # None = random
|
nickname = 'IRCP' # None = random
|
||||||
username = 'ircp' # None = random
|
username = 'ircp' # None = random
|
||||||
realname = 'scan@internetrelaychat.org' # None = random
|
realname = 'scan@internetrelaychat.org' # None = random
|
||||||
ns_mail = 'scan@internetrelaychat.org' # None = random@random.[com|net|org]
|
ns_mail = 'scan@internetrelaychat.org' # None = random@random.[com|net|org]
|
||||||
ns_pass = 'changeme' # None = random
|
ns_pass = None # None = random
|
||||||
vhost = None # Bind to a specific IP address
|
vhost = None # Bind to a specific IP address
|
||||||
|
|
||||||
class throttle:
|
class throttle:
|
||||||
channels = 3 if not settings.daemon else 2 # Maximum number of channels to scan at once
|
channels = 5 if not settings.daemon else 3 # Maximum number of channels to scan at once
|
||||||
commands = 1.5 if not settings.daemon else 3 # Delay bewteen multiple commands send to the same target
|
commands = 1.5 if not settings.daemon else 3 # Delay bewteen multiple commands send to the same target
|
||||||
connect = 15 if not settings.daemon else 60 # Delay between each connection attempt on a diffferent port
|
connect = 15 if not settings.daemon else 60 # Delay between each connection attempt on a diffferent port
|
||||||
delay = 300 if not settings.daemon else 600 # Delay before registering nick (if enabled) & sending /LIST
|
delay = 300 if not settings.daemon else 600 # Delay before registering nick (if enabled) & sending /LIST
|
||||||
join = 10 if not settings.daemon else 30 # Delay between channel JOINs
|
join = 10 if not settings.daemon else 30 # Delay between channel JOINs
|
||||||
nick = 300 if not settings.daemon else 600 # Delay between every random NICK change
|
nick = 900 if not settings.daemon else 1200 # Delay between every random NICK change
|
||||||
part = 10 if not settings.daemon else 30 # Delay before PARTing a channel
|
part = 10 if not settings.daemon else 30 # Delay before PARTing a channel
|
||||||
seconds = 300 if not settings.daemon else 600 # Maximum seconds to wait when throttled for JOIN or WHOIS
|
seconds = 300 if not settings.daemon else 600 # Maximum seconds to wait when throttled for JOIN or WHOIS
|
||||||
threads = 300 if not settings.daemon else 100 # Maximum number of threads running
|
threads = 500 if not settings.daemon else 300 # Maximum number of threads running
|
||||||
timeout = 30 if not settings.daemon else 60 # Timeout for all sockets
|
timeout = 30 if not settings.daemon else 60 # Timeout for all sockets
|
||||||
whois = 15 if not settings.daemon else 30 # Delay between WHOIS requests
|
whois = 15 if not settings.daemon else 30 # Delay between WHOIS requests
|
||||||
ztimeout = 600 if not settings.daemon else 900 # Timeout for zero data from server
|
ztimeout = 600 if not settings.daemon else 900 # Timeout for zero data from server
|
||||||
|
|
||||||
class bad:
|
class bad:
|
||||||
donotscan = (
|
donotscan = (
|
||||||
@ -250,7 +253,7 @@ class probe:
|
|||||||
async def loop_nick(self):
|
async def loop_nick(self):
|
||||||
try:
|
try:
|
||||||
while True:
|
while True:
|
||||||
await asyncio.sleep(throttle.nick)
|
await asyncio.sleep(throttle.nick+random.randint(60,90))
|
||||||
self.nickname = rndnick()
|
self.nickname = rndnick()
|
||||||
await self.raw('NICK ' + self.nickname)
|
await self.raw('NICK ' + self.nickname)
|
||||||
debug(self.display + '\033[0;35mNICK\033[0m - new identity')
|
debug(self.display + '\033[0;35mNICK\033[0m - new identity')
|
||||||
|
Loading…
Reference in New Issue
Block a user