Columns¶
Because PyFunceble provides multiple information in a table, we chose to document them all. The objective of this page is to reflect what the code actually do in a more clear and understandable way.
Domains¶
This column is one of the basic ones as it gives us the name of the last tested domain or IP.
Status¶
There’s 3 possible output for this column.
ACTIVE¶
This status is returned when one of the following cases is met:
- We can extract the expiration date from
Lookup().whois()
.- Please note that we don’t check if the date is in the past.
Lookup().nslookup()
don’t return an error.- Please note that we don’t read the returned value.
HTTPCode().get()
return one the following code[100, 101, 200, 201, 202, 203, 204, 205, 206]
.
INACTIVE¶
This status is returned when all the following cases are met:
- We can’t extract the expiration date from
Lookup().whois()
. Lookup().nslookup()
don’t return an error.
INVALID¶
This status is returned when all the following cases are met:
Domain/IP does not match pass our syntax checker.
Domain extension is unregistered in IANA Root Zone Database.
Note
Understand by this that the extension is not present in the
iana-domains-db.json
file.
VALID¶
This status is returned when we are checking for syntax. It is the equivalent of ACTIVE
but for syntax checking.
Expiration Date¶
There’s two possible output for this column.
Unknown¶
Unknown
is returned when we could not extract the expiration date from Lookup().whois()
outputs.
A date¶
Only if we could extract the expiration date from Lookup().whois()
, the date becomes formatted like 02-jan-2017
.
Source¶
At this time, there’s 5 possible output for this column.
HTTP Code¶
This source is returned when all the following cases are met:
- We can’t extract the expiration date from
Lookup().whois()
. - The
INACTIVE
status is the one returned by other methods. HTTPCode().get()
outputs is one the following[100, 101, 200, 201, 202, 203, 204, 205, 206]
.
IANA¶
This source is always returned when the domain has the status INVALID
.
The usage of this source comes from the comparison of the element extension against the IANA Root Zone Database.
SYNTAX¶
This source is always returned when the domain has the status INVALID
or in the case that we are only checking for syntax instead of availability.
The usage of this source comes from the comparison of the element against our domain, IP or URL syntax validation system.
NSLOOKUP¶
This source is always returned when the taken decision of the status of the domain/IP comes from Lookup().nslookup()
outputs.
SPECIAL¶
As PyFunceble
grows, I thought that a bit of filtering for special cases would be great.
So I introduced the SPECIAL source.
Note
Please consider all 3 digits number that are listed in this section as the HTTP status code catched by HTTPCode().get()
.
*.blogspot.*
¶
- All
404
are returned asINACTIVE
- All
301
which are blocked by Google or does not exist are returned asINACTIVE
- All
302
which are blocked by Google are returned asINACTIVE
*.canalblog.com
¶
- All
404
are returned asINACTIVE
*.doubleclick.net
¶
- All
404
are returned asINACTIVE
*.liveadvert.com
¶
- All
404
are returned asINACTIVE
*.skyrock.com
¶
- All
404
are returned asINACTIVE
*.tumblr.com
¶
- All
404
are returned asINACTIVE
*.wordpress.com
¶
- All
301
which matchdoesn’t exist
are returned asINACTIVE
IP with range¶
- All IPv4 with a range (for example
0.0.0.0/24
) are returned asACTIVE
HTTP Code¶
Note
This section reflects exactly what the code does. So any changes made here should also be reported to the code or at least the configuration file.
Note
A ***
in this column means that it was impossible to catch the HTTP status code from the web server.
We have categorized the HTTP Code into 3 parts.
- Active
- Consider those ones like the one that influences HTTP source logic.
- Please note that the domain is automatically introduced into the official outputs but we keep a record of it
output/Analytic/ACTIVE
.
- Potentially Active
- If the domain status returned by other methods are different from
INACTIVE
orINVALID
and the HTTP status code is into that list, we save the domain intooutput/Analytic/POTENTIALLY_ACTIVE
- If the domain status returned by other methods are different from
- Inactive or potentially inactive
- If the domain status returned by other methods are different from
ACTIVE
and the HTTP status code is on that list, we save the domain intooutput/Analytic/POTENTIALLY_INACTIVE
- If the domain status returned by other methods are different from
As active¶
- 100 - Continue
- 101 - Switching Protocols
- 200 - OK
- 201 - Created
- 202 - Accepted
- 203 - Non-Authoritative Information
- 204 - No Content
- 205 - Reset Content
- 206 - Partial Content
As potentially active¶
- 000
- 300 - Multiple Choices
- 301 - Moved Permanently
- 302 - Found
- 303 - See Other
- 304 - Not Modified
- 305 - Use Proxy
- 307 - Temporary Redirect
- 403 - Forbidden
- 405 - Method Not Allowed
- 406 - Not Acceptable
- 407 - Proxy Authentication Required
- 408 - Request Timeout
- 411 - Length Required
- 413 - Request Entity Too Large
- 417 - Expectation Failed
- 500 - Internal Server Error
- 501 - Not Implemented
- 502 - Bad Gateway
- 503 - Service Unavailable
- 504 - Gateway Timeout
- 505 - HTTP Version Not Supported
As inactive or potentially inactive¶
- 400 - Bad Request
- 401 - Unauthorized
- 402 - Payment Required (Not in use but may be seen in the future)
- 404 - Not Found
- 409 - Conflict
- 410 - Gone
- 412 - Precondition Failed
- 414 - Request-URI Too Long
- 415 - Unsupported Media Type
- 416 - Requested Range Not Satisfiable