Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/soulshake/idncheck

A tool for checking the risk level of domain names.
https://github.com/soulshake/idncheck

Last synced: 3 days ago
JSON representation

A tool for checking the risk level of domain names.

Awesome Lists containing this project

README

        

# IDNCheck

IDNcheck performs safety checks on international domain names.
This might be useful if you want to see how likely a given domain
is to be used for nefarious purposes such as phishing.
It returns the unicode restriction level passed by a string, as described
in Unicode Technical Standard #39, Unicode Security Mechanisms (see References).

Note: On first run, it will automatically download a file if it doesn't exist:
http://www.unicode.org/Public/UNIDATA/Scripts.txt

## How to use

Typical usage might look something like this:

```python
>>> import idncheck
>>> idncheck.idncheck("hello")
1
>>> idncheck.idncheck("φilosoφia")
42
>>> idncheck.idncheck("φilosoφia", 3) # FIXME
True
>>> idncheck.idncheck("paypal")
1
>>> idncheck.idncheck("paypаl")
4
>>> idncheck.idncheck("раура1")
4
```

or

```python
#!/usr/bin/env python

import idncheck

idncheck.idencheck("φilosoφia", 3): # FIXME
print("I see what you're doing there")
```

## References

This tool serves as an implementation of the Restriction-Level detection described
in Unicode Technical Standard #39, Unicode Security Mechanisms:

- [TR 39](http://www.unicode.org/reports/tr39/#Restriction_Level_Detection)

Additional use cases and details are available in these blog posts:

- [Gmail post](http://googleonlinesecurity.blogspot.com/2014/08/protecting-gmail-in-global-world.html)
- [Another Google post](http://googleenterprise.blogspot.com/2014/08/protecting-gmail-in-global-world.html)

## TODO

- Create a web service on a Gandi Python Simple Hosting instance