Skip to content

namehash/ens-label-inspector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NameHash Label Inspector

The Label Inspector is a critical component of the NameHash software stack that is used to protect users from malicious domain names.

  • ENS-tailored domain name label inspection
    • Character and grapheme information, scripts, codepoints, ...
    • Confusable grapheme detection
    • Rendering checks for different fonts
    • ENSIP-15 verification with detailed explanations and auto-suggestions
    • Punycode and DNS hostname compatibility checks
  • Supports many use cases

Getting Started

Installing the library

The Label Inspector is available as a Python library on PyPI. You can install it with pip:

pip install ens-label-inspector

Starting the web server

A FastAPI application is included in the label_inspector.web_api module. The default installation from PyPI does not include an ASGI server, so you will need to install one separately. For example, to install uvicorn:

pip install 'uvicorn[standard]'

You can start the web server with:

uvicorn label_inspector.web_api:app

Make an example request:

curl -d '{"label":"nick"}' -H "Content-Type: application/json" -X POST http://localhos
t:8000
# {"label":"nick","status":"normalized", ...

Using the AWS Lambda handler

The Label Inspector includes a handler for Amazon AWS Lambda. It is available in the label_inspector.lambda module. You can use it to create a Lambda function that will respond to HTTP requests. It uses the mangum library.

See the included Dockerfile for an example of how to build a Lambda deployment package.

License

Licensed under the MIT License, Copyright © 2023-present NameHash Labs.

See LICENSE for more information.