2017-12-30 21:29:24 +01:00
2017-12-29 14:53:40 +01:00
2017-12-30 12:45:22 +01:00
2017-12-29 22:57:17 +01:00
2017-12-30 21:20:47 +01:00

pixelpwnr

A quick pixelflut (video) client in Rust for use at 34C3, that pwns whole pixelflut panels.

Note: This is a prototype project. Some things may not work correctly. Or some things may work slow.

Features

  • Many concurrent drawing pipes, fast multithreading
  • Animated images, with multiple frames
  • Control over render sizes and offset
  • Automatic image sizing and formatting
  • Faster than most other clients :-)
  • Linux, Windows and macOS

Usage

Pixelflut a simple image:

# Flut a simple image.
# - To host 127.0.0.1 on port 8080
# - With the image: image.png
# - With 4 painting threads
# - With a size of (400, 400)
pixelpwnr 127.0.0.1:8080 -i image.png -c 4 -w 400 -h 400

# Other CLI syntax is also supported
pixelpwnr "127.0.0.1:8080" -i="image.png" -c=4 -w=400 -h=400

Pixelflut an animated image:

# Flut an animated image, with multiple frames.
# - To host 127.0.0.1 on port 8080
# - With the images: *.png
# - With 5 frames per second
# - With 4 painting threads
# - With a size of (400, 400)
# - With an offset of (100, 100)
pixelpwnr 127.0.0.1:8080 -i *.png --fps 5 -c 4 -w 400 -h 400 -x 100 -y 100

Installation

For installation, Rust cargo is required. Install the latest version of Rust with rustup.

Then, clone and install pixelpwnr with:

# Clone the project
git clone https://github.com/timvisee/pixelpwnr.git
cd pixelpwnr

# Install pixelpwnr
cargo install

# Start using pixelpwnr
pixelpwnr --help

# or run it directly from Cargo
cargo run --release -- --help

Or just build it and invoke the binary directly:

# Clone the project
git clone https://github.com/timvisee/pixelpwnr.git
cd pixelpwnr

# Build the project (release version)
cargo build --release

# Start using pixelpwnr
./target/release/pixelpwnr --help

Help

pixelpwnr --help

pixelpwnr 0.1
Tim Visee <timvisee@gmail.com>
Pwns pixelflut

USAGE:
    pixelpwnr [OPTIONS] <HOST> --images <PATH>...

FLAGS:
        --help       Prints help information
    -V, --version    Prints version information

OPTIONS:
    -c, --count <COUNT>       Number of simultanious  threads (def: 4)
    -r, --fps <RATE>          Frames per second with multiple images (def: 1)
    -h, --height <PIXELS>     Drawing height in pixels (def: 1080)
    -i, --images <PATH>...    Paths of the images to print
    -w, --width <PIXELS>      Drawing width in pixels (def: 1920)
    -x, --x <PIXELS>          Drawing X offset in pixels (def: 0)
    -y, --y <PIXELS>          Drawing Y offset in pixels (def: 0)

ARGS:
    <HOST>    The host to pwn "host:port"

License

This project is released under the GNU GPL-3.0 license. Check out the LICENSE file for more information.

Description
No description provided
Readme GPL-3.0 267 KiB
Languages
Rust 100%