Giter VIP home page Giter VIP logo

airdroid's Introduction

airdroid •

Discover airdrops before the masses.

What is airdroid?

Airdroid is a tool that listens for new SSL certificates via CertStream websocket, and then checks if the domain names registered in the certificate are included in a list of specific keywords. If so, it will send a notification to a Telegram channel.

Why?

Official airdrops always come with a website page, which often has a new domain or subdomain. This tool will help you discover airdrops before teams announce them officially.

How does it work?

The primary flow is composed of three operations that are run concurrently:

  1. A CertStream websocket connection is opened to listen for new certificates. Each certificate is checked against a whitelist of tracked keywords, and the resulting domains are added to a "new domains" list.
  2. A thread is spawned to handle Telegram updates, periodically checking for new domains in the "new domains" list. If any are found, they are checked against the "already-known domains" list to avoid duplicates, and then returned as a Telegram message.
  3. The Teloxide dispatcher is run to handle incoming commands to manage the bot.

Airdroid also uses RocksDB to store the domains list and some Telegram-related data. A DB instance is opened at startup and shared through all the components of the bot.

How to use

To run airdroid, you need the Rust toolchain installed. You can install it by following the instructions here. Then, you can run the bot by following these steps:

  1. Clone the repository and cd into it:

    git clone [email protected]:merklefruit/airdroid.git
    cd airdroid
  2. Create a .env file and fill it with the env variables required:

    cp .env.example .env
  3. Run the bot:

    cargo run
  4. Once installed, you can open the telegram chat with the bot and should be able to send the /help command to see all the available commands.

Acknowledgements

Lastly, thanks to Rain from the Flashbots discord for the idea!

rain_flashbots

airdroid's People

Contributors

merklefruit avatar

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.