Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iamd3vil/magicportal
Magicportal allows you to forward multicast UDP to places where multicast is not supported
https://github.com/iamd3vil/magicportal
multicast nats udp
Last synced: 9 days ago
JSON representation
Magicportal allows you to forward multicast UDP to places where multicast is not supported
- Host: GitHub
- URL: https://github.com/iamd3vil/magicportal
- Owner: iamd3vil
- License: mit
- Created: 2017-08-13T18:16:17.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-19T17:18:03.000Z (5 months ago)
- Last Synced: 2024-06-21T06:47:07.890Z (5 months ago)
- Topics: multicast, nats, udp
- Language: Rust
- Size: 1.07 MB
- Stars: 6
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Magicportal
Magicportal allows you to forward multicast UDP data from one place to another where multicast is not supported.
Magicportal has to be run on both servers. It uses Gnatsd(https://nats.io) message queue for sending messages between them.
It can be run on two modes:
1. `forwarder`: Has to be run in this mode on the server where data has to be received.
2. `agent`: Has to be run in this mode on the server where multicast isn't supported.> Note: TLS can be enabled, but currently `Magicportal` doesn't support client certificates. This will be suppported in the future.
## Usage
```bash
$ ./magicportal.bin -h
--config string Configuration path (default "config.toml")
```An example config:
```toml
mode = "agent"
multicast_groups = [
{multicast_addr = "233.1.2.5:34074", interface = "lo"}
]
max_packet_size = 1024[nats]
tls = false
nats_url = ["nats://127.0.0.1:4222"]
auth_enabled = false
username = ""
password = ""[agent]
send_as_unicast = true[agent.unicast_addrs]
"233.1.2.5:34074" = "127.0.0.1:24113"
```Magicportal needs a config file which can be in `json` or `toml.` See `config.sample.json` / `config.sample.toml` for example configuration.
We can give multiple multicast groups in the `multicast_groups` array. `send_as_unicast` will tell the agent to send the data as unicast to the address mapped with the multicast group in `unicast_addrs`.