Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kioubit/colorping

IPv6 Canvas - draw by pinging. One IPv6 Address = a single pixel with color information
https://github.com/kioubit/colorping

canvas canvas-game icmpv6 ipv6

Last synced: about 1 month ago
JSON representation

IPv6 Canvas - draw by pinging. One IPv6 Address = a single pixel with color information

Awesome Lists containing this project

README

        

# ColorPing
![IPv6 Canvas example](screenshot.png?raw=true)

## How does it work?
Each IPv6 address in a /64 IPv6 subnet is associated to one pixel with color (RGB) information.
When an address is pinged, the corresponding pixel is changed on the canvas and displayed
to all viewers via a webpage.

## Setup
Run and assign a /64 IPv6 subnet to the created interface named `canvas`.
The program needs to run as root or with the `CAP_NET_ADMIN` capability.

Access the webpage where the canvas is displayed at: http://localhost:9090/

### Example
```
./ColorPing
ip addr add fdcf:8538:9ad5:3333::1/64 dev canvas
ip link set up canvas
```
### Ping format
```
????:????:????:????:XXXX:YYYY:11RR:GGBB
```
Where:
- ``????`` can be anything
- ``XXXX`` must be the target X coordinate of the canvas, encoded as hexadecimal
- ``YYYY`` must be the target Y coordinate of the canvas, encoded as hexadecimal
- ``RR`` target "red" value (0-255), encoded as hexadecimal
- ``GG`` target "green" value (0-255), encoded as hexadecimal
- ``BB`` target "blue" value (0-255), encoded as hexadecimal