Coder Social home page Coder Social logo

atlantr's Introduction

Atlantr Imap Checker.

Fastes Email:Pass Checker on the planet.

Screencast

Atlantr is a tool to validate login credentials of email accounts via the IMAP protocol. Green threads (Gevent) are used to implement concurrent and asynchronous networking.

system requirements:

  • Python 2.7.x
  • Gevent (pip install gevent)
  • tqdm (pip install tqdm)
  • 512MB RAM
  • Linux preferred (faster)

Example usage:

python atr3.py -i input.txt -o output.txt -t 1000 -g true 

Optional Arguments:

If no optional arguments are provided the default values are used.

Short Long Description Default value
-i --input name of input text file mail_pass.txt
-o --output name of output text file mail_pass_valid.txt
-t --threads number of "threads" used 100
-iu --invunma log invalid and unmatched accounts true
-g --grabber get emails according to the provided imap queries false
-mf --matchfile define textfile with imap queries for grabber matchers.dat
-to --timeout define timeout for all sockets in seconds 5
-r --resume resume from line defined in "last_line.log" false
-b --big initialize progressbar without starting linecount false
-uh --unknownhosts check hardcoded list of subdomains for hosts without settings true
-s --snap compress "grabbed" folder at the end as .zip true
-gper --grabperformance Grabs but does not save emails false

Functions explained in detail

IMAP Login

The validation of the credentials is implemented using the IMAP standard library of Python via a SSL connection. The protocoll is not explicitly specified to work concurrently but it seems to work reliable with Gevent. Settings for domains are obtained from hosts.dat.

Email Grabber

If the login is successful as is the -g switch is true, IMAP queries obtained from matchers.dat are executed and returned emails are saved in the folder "grabbed". Each credential gets its own textfile which will be appended, even after its restart. Credentials of accounts which have >1 emails returned to the imap query are saved in a textfile and if the -gper wich is true no emails will be saved. In case -s switch is true, the "grabbed" folder will be compressed to a .zip file (however, it will not be deleted) prior to Atlantr termination.

There is no parsing of emails for information supported. Please use an external programm for that!

Pause/Resume Feature

It is possible to pause and resume at the next start of the script. Just press Ctrl+C and the program will shut down gracefully and write the last line processed into lastline.log. Resume at the next start with the -r true switch.

Hosts Without Settings

If no settings are found for a domain, a hardcoded list of subdomains will be used to find a valid imap server.

mail, pop, pop3, imap-mail, inbound, mx, imaps, smtp, me

If there is a valid subdomain found of a domain to establish a connection to an imap server, it will be saved to hoster.dat.

Usage with TOR or Proxies

There is no internal functionality for any kind of proxy implemented but it works well with external proxifier programs like "proxychains".

Tutorial for Linux (Debian, Ubuntu):

Update and and then install Tor and Proxychains:

sudo apt-get update
sudo apt-get install tor
sudo apt-get install proxychains

Edit the torrc file to get new ip after 10 seconds:

sudo nano /etc/tor/torrc 

Add this line and save to disk:

MaxCircuitDirtiness 10

Start Tor:

tor

Check if Proxychains is working:

proxychains curl https://api.ipify.org/tformat=text

The returned ip should be different when proxychains is used!

curl https://api.ipify.org/tformat=text

Start Atlantr like this:

sudo proxychains python atr3.py 

Note that Proxychains can be configured to work with Socks5 and other types of proxies. There are good Tutorials to find via Google.

Formats and conventions

Input texfile example:

hoster.dat:

domain.com:imap.domain.com:port

matchers.dat:

search|(FROM "domain.com")|discriptor

Discriptor is just an internal label. Paratmeters are seperated with |. See more how to use it here: http://php.net/manual/en/function.imap-search.php

atlantr's People

Contributors

sup3ria 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

atlantr's Issues

when check unmatched

when check the unmatched list which port by default does it check it?
is it 995?
if so how to make it check for SMTP's Ports like : 25 , 587

also what if i want to make the same on the matched list?

Atlantr does not validate correct email:pass pairs

I was using Atlantr some time ago. It was working pretty fine. Now it does not. It does not validate any email. Every of them is not valid or unmatched. On windows machine it validated 3 of 519 mail pairs. I have fulfilled every requirement.
Testing on Debian/Kali Linux with proxychains and without.
Windows10 in VM with whonix gateway.

I checked and many of pairs are correct.

Unexpected shutdown

alex@xxx:~/Desktop/tmp/Atlantr/3.0$ python ./atr3.py -i ./yyy.txt -o output.txt -t 100 -g true -r true

       db              88
      d88b       ,d    88                         ,d
     d8'`8b      88    88                         88
    d8'  `8b   MM88MMM 88 ,adPPYYba, 8b,dPPYba, MM88MMM 8b,dPPYba,
   d8YaaaaY8b    88    88 ""     `Y8 88P'   `"8a  88    88P'   "Y8
  d8""8b   88    88 ,adPPPPP88 88       88  88    88
 d8'        `8b  88,   88 88,    ,88 88       88  88,   88
d8'          `8b "Y888 88 `"8bbdP"Y8 88       88  "Y888 88
     Imap checker v3.0                          by sup3ria

 98%|█████████████████████████████████████▏| 4729/4829 [00:08<00:00, 527.19it/s]
  Valid: 0
[INFO]Time elapsed: 8.995 seconds.
[INFO] Done.
alex@xxx:~/Desktop/tmp/Atlantr/3.0$ python ./atr3.py -i ./yyy.txt -o output.txt -t 100 -g true -r true -to 50

       db              88
      d88b       ,d    88                         ,d
     d8'`8b      88    88                         88
    d8'  `8b   MM88MMM 88 ,adPPYYba, 8b,dPPYba, MM88MMM 8b,dPPYba,
   d8YaaaaY8b    88    88 ""     `Y8 88P'   `"8a  88    88P'   "Y8
  d8""8b   88    88 ,adPPPPP88 88       88  88    88
 d8'        `8b  88,   88 88,    ,88 88       88  88,   88
d8'          `8b "Y888 88 `"8bbdP"Y8 88       88  "Y888 88
     Imap checker v3.0                          by sup3ria

 98%|████████████████████████████████████▏| 4731/4829 [00:03<00:00, 1372.44it/s]
  Valid: 0
[INFO]Time elapsed: 3.465 seconds.
[INFO] Done.

And so, many times.

How matches works?

how -g matches.dat works?
I try to use template like in attached file, but it doesn't works:
Example:
[GitHub]|(FROM "github.com")|github.com
I try to use just headline [GitHub] or just domain github.com without | - it doesn't works.

What is wrong? How to create grabbing template?

Error!!

Traceback (most recent call last):
File "site-packages\gevent\greenlet.py", line 536, in run
File "atr3.py", line 441, in state
File "site-packages\tqdm_tqdm.py", line 868, in init
File "site-packages\tqdm_tqdm.py", line 241, in print_status
File "site-packages\tqdm_tqdm.py", line 234, in fp_write
LookupError: unknown encoding: cp65001
Thu Nov 26 20:35:40 2020 <Greenlet at 0x347a260: state> failed with LookupError

Exception LookupError: LookupError('unknown encoding: cp65001',) in <object repr() failed> ignored

python2.7 Atlantr submit error

Hello! I've installed each of the dependencies, but got error:
root@<ip>:~# python2.7 Atlantr/3.0/atr3.py -i good.txt -o output.txt -t 1000 -g true Traceback (most recent call last): File "Atlantr/3.0/atr3.py", line 11, in <module> import imaplib File "/usr/lib/python2.7/imaplib.py", line 25, in <module> import binascii, errno, random, re, socket, subprocess, sys, time File "/usr/lib/python2.7/socket.py", line 68, in <module> from _ssl import \ ImportError: cannot import name RAND_egd

Fix some code

You have done a good job with it 👍
The speed is great.
Here are some things you need to keep in mind:
Fix the shutdown, it won't shutdown or takes forever.
Sometimes is stucks in middle of checking, can't seem to find the cause of it.
Overall the code needs a clean up, need a recoding in a better way, find a better way to work around with workers and gevent :)

SyntaxError: invalid syntax

┌──(root💀kali)-[~/h4ck/Atlantr/3.0]
└─# python3 atr3.py -h 1 ⨯
File "/root/h4ck/Atlantr/3.0/atr3.py", line 246
print "\n[INFO]Shutting down gracefully (takes a while)"
^
SyntaxError: invalid syntax

On Kali and parrot the same. :-/

how can i fix it? :)

how to use it with https proxies in win32?

Thanks very much for providing this great program
i download Atr3_win32 but i just don't know how to use it with https/sock4 or 5 proxies in Windows.
i know if single ip requests frequently, ip will get blocked.
Can you leave a email so that i can get in touch you!

Cannon Checking

Why i cant check . Im install gevent and tqdm but thats automatic close (Windows) what line i must fix ? I set thread to 100 but thats same not fixed

Please help me, tool don't working

i try use it but Atlantr Imap Checker have problem
i check mail live and then use Atlantr Imap Checker check again. But Atlantr Imap Checker message is invalid.
Please help me ! Thank you so much !

Imap and bellsouth Imap settings

Hi, first of all I would like to thank you for your great work! But I think I found some problem when I try with bellsouth and att.net with valid password...

Attachments

Can you please add rhe function to grab for the names of email attachments?
I can't get it to work by myself...

Thanks

c lose

doesnt matter please close

Is it possible?

Hi Sup3ria,

Thanks for spending time to implement this great tool. I know next to nothing about codes. I'd like to get a clarification from you about how this tool works with unknown domains? the ones we don't know and it's not found in hoster.dat

Will the tool only check for like imap.domain.com? is it possible to implement more codes so this tool will check for mail portal like mail.domain.com, webmail.domain.com, domain.com/webmail, or wm.domain.com, wmail.domain.com, something like that? by going through possible port like 80, 443... etc?

I know nothing about coding, so I just ask base on what I am thinking. If this is possible, it would work alot better. Because I noticed now, the tool skip so many domains.

Or if anyone knows there is such tool already. please comment and let me know too,

Again thanks a lot !

Add proxy support

Can you add proxy support? Id prefer not to use proxychain, im using windows.

Buggy

Very buggy and misses hits frequently, solution?

proxy

please add proxy to software!!!

it works so slow and i even don't know why

my email : [email protected]
Hope you could contact me and I will send you a copy of my email:pass list file. It works really slow and sometimes the program even stops and show "[INFO] Done." ,actually it just went through a very tiny proportion of the list.

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.