mirror of
https://github.com/Kioubit/ColorPing
synced 2024-11-24 16:50:41 +08:00
31 lines
1.1 KiB
Markdown
31 lines
1.1 KiB
Markdown
# 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
|