Coder Social home page Coder Social logo

emissary's Introduction

Emissary

Send notifications via different channels such as Slack, Telegram, Discord etc.

Motivation

The idea is to hook Emissary into https://github.com/BountyStrike/Bountystrike-sh which will notify me on Telegram when new domains have been found.

Usage

$ emissary
Send data through chat channels. Made by @dubs3c.

Usage:
  emissary [channel] [message]

Options:
  -s,  --slack        Send via Slack
  -t,  --telegram     Send via Telegram
  -e,  --email        Send via Email
  -si, --stdin        Get message from stdin
  -m,  --message      Message to send
  -r,  --rows         Max rows/lines to send, 0 for unlimited. Default 20
  -v,  --version      Show version

Examples:
  emissary -telegram --message "Hello telegram"
  cat domins.txt | emissary --slack --stdin

Create ~/.config/emissary.ini with the following:

[Telegram]
chat_id=xxxxxx
api_key=xxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

[Slack]
webhook=https://hooks.slack.com/services/xxxxxxxxxx/xxxxxxxxxx/xxxxxxxxxx

[Email]
username=
password=
recipient=
server=smtp.gmail.com
port=587
subject="New domains found!"

When using gmail, you need to activate less secure apps on your account: https://myaccount.google.com/lesssecureapps

Now you can start using emissary :)

Pipe data via stdin:

$ cat domains.txt | emissary --telegram --stdin

Specify a message as an argument:

$ emissary --telegram --message "This is a very cool message"

Send to multiple channels:

$ cat domains.txt | emissary -t -s -si

Send only 10 lines:

$ cat domains.txt | emissary -t -si --rows 10

Send everything from the file:

$ cat domains.txt | emissary -t -si -r 0

Right now the Emissary will only deliver 20 rows, to protect against accidentally sending a gazillion domains :)

Todo

Some stuff that I plan to implement:

  • Slack
  • Telegram
  • Microsoft Teams
  • Discord
  • Email
  • Let user decide max rows to be sent
  • Place config file in ~/.config/emissary.ini

Contributing

Any feedback or ideas are welcome! Want to improve something? Create a pull request!

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

emissary's People

Contributors

mjdubell avatar

Watchers

James Cloos 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.