RQPush

A library to assist with pushing notifications to RQueue.

RQPush Overview

RQPush is only useful as a library for pushing notifications into RQueue. For this purpose, it provides the following functionality:

Notifications Overview

Notifications require the following three fields:

The following fields can optionally be defined as well:

Working With Notifications

Notifications are created as follows:

```Rust use rqpush::Notification;

let mut notification: Notification = Notification::init("app name", "title", "short text"); ```

This is enough to generate a basic notification, however additional customization is possible. For example, to set a project URL on a notification that was created per the earlier example:

Rust notification.set_title("https://github.com/jeremyandrews/rqpush");

And finally, a notification can be sent as follows:

Rust notification.send("127.0.0.1:8000", 42, 0, None);

In this example, we send the notification to port 8000 on localhost, with a priority of 42. We don't set a TTL so the notification or a shared secret.

Netgrasp Example

The following example shows a real-world example, sending a notification with Netgrasp.

```Rust use rqpush::Notification;

let mut notification: Notification = Notification::init("Netgrasp", "[netgrasp] new device: {{device}}", "A new device joined your network: {{device}}"); notification.setcategory("firstseen_device"); ```

@TODO: Finish:

```json { "app": "Netgrasp", "category": "firstseendevice", "lang": "en", "title": "[netgrasp] new device: iPhone", "shorttext": "A new device joined your network: iPhone", "shorthtml": "

A new device joined your network: iPhone

", "long_text": "A new device joined your network: * iPhone * ip: 10.202.14.37 [ff:ff:ff:ff:ff:ff] * previously seen: never * first seen: now

In the past 24 hours this device talked to 1 device:
 * Gateway: 10.202.14.1

Email generated by Netgrasp passive network observation tool.",
"long_html": "<P><UL>
 <LI>iPhone</LI>
 <LI>ip: 10.202.14.37 [ff:ff:ff:ff:ff:ff]</LI>
 <LI>previously seen: never</LI>
 <LI>first seen: now</LI>
</UL>
In the past 24 hours this device talked to 1 device:
<UL>
 <LI>Gateway: 10.202.14.1</LI>
</UL></P>
<DIV ID="footer">
 <P><SMALL><EM>Email generated by Netgrasp passive network observation tool.</EM></SMALL></P>
</DIV>",

} ```