{"id":23857475,"url":"https://github.com/deltalima/pixelfloot","last_synced_at":"2026-02-02T11:02:08.526Z","repository":{"id":215025533,"uuid":"737932433","full_name":"DeltaLima/pixelfloot","owner":"DeltaLima","description":"an very simple and dirty pixelflut client to draw images, written in bash. pixelfloot was built during the 37c3. ","archived":false,"fork":false,"pushed_at":"2024-09-27T16:53:17.000Z","size":19325,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T19:15:10.983Z","etag":null,"topics":["bash","bash-script","pixelflut","pixelflut-client","pv","xdotool"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DeltaLima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-02T02:03:08.000Z","updated_at":"2024-09-27T16:53:20.000Z","dependencies_parsed_at":"2024-01-05T04:38:52.897Z","dependency_job_id":"c44d18e3-0a09-4d83-91df-6395cd59310c","html_url":"https://github.com/DeltaLima/pixelfloot","commit_stats":null,"previous_names":["deltalima/pixelfloot"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DeltaLima/pixelfloot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeltaLima%2Fpixelfloot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeltaLima%2Fpixelfloot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeltaLima%2Fpixelfloot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeltaLima%2Fpixelfloot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DeltaLima","download_url":"https://codeload.github.com/DeltaLima/pixelfloot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DeltaLima%2Fpixelfloot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260745557,"owners_count":23056395,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-script","pixelflut","pixelflut-client","pv","xdotool"],"created_at":"2025-01-03T02:55:22.828Z","updated_at":"2026-02-02T11:02:03.486Z","avatar_url":"https://github.com/DeltaLima.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ./pixelfloot\n\nOrigin: https://git.la10cy.net/DeltaLima/pixelfloot\n\nan very simple and dirty pixelflut client to draw images, written in bash.\n./pixelfloot.sh was built during the 37c3. in its actual state, its just a mess. I hope i will find time to put it in a more usable and readable format. \n\n## examples\n\n- Display image: `./pixelfloot.sh floot images/lucky-cat.jpg`\n  - set position: `X=1337 Y=420 ./pixelfloot.sh floot images/lucky-cat.jpg`\n- image random position: `./pixelfloot.sh floot images/lucky-cat.jpg chaos`\n  - wider \"chaos-radio\": `X_MAX=1000 Y_MAX=600 ./pixelfloot.sh floot images/lucky-cat.jpg chaos`\n- image shake position: `./pixelfloot.sh floot images/lucky-cat.jpg shake`\n  - set the position  : `X=420 Y=420 ./pixelfloot.sh floot images/lucky-cat.jpg shake`\n- image bounce across screen: `./pixelfloot.sh floot images/lucky-cat.jpg bounce`\n  - can set the \"bounce-radius\": `X_MAX=1000 Y_MAX=500 ./pixelfloot.sh floot images/lucky-cat.jpg bounce`\n- move image with your cursor (needs `xdotool`): `./pixelfloot.sh floot images/lucky-cat.jpg cursor`\n- Use a color as \"alpha\" (remove background): `ALPHACOLOR=FF00FF ./pixelfloot.sh floot images/cursor.ppm cursor`\n- write text: `TEXT=\"pixelflut makes a lot of fun! :)\" ./pixelfloot.sh floot text`\n  - set the size of the Textbox and the textcolor: `COLOR=FF00FF SIZE=240 TEXT=\"colors, yeah!\" ./pixelfloot.sh floot text`\n  - you can also use ALPHACOLOR here, or set your: `ALPHACOLOR=000000 TEXT=\"colors, yeah!\" ./pixelfloot.sh floot text`\n  - define your own background color: `BGCOLOR=0000FF SIZE=240 TEXT=\"colors, yeah!\" ./pixelfloot.sh floot text`\n- increase No of concurrent connections: `FLOOTFORKS=8 ./pixelfloot.sh floot images/lucky-cat.jpg`\n- specify IP and PORT: `IPFLOOT=127.0.0.1 FLOOTPORT=1337 ./pixelfloot.sh floot images/lucky-cat.jpg`\n- for drawing big areas, like 1280x720, use LARGE mode: `LARGE=true ./pixelfloot.sh floot images/xphg.jpg`\n  - default field size are 64k lines. You can adjust it with LOLFIELDSIZE:\n    `LOLFIELDSIZE=16000 LARGE=true ./pixelfloot.sh floot images/xphg.jpg`\n- drawing an gif file with proper animation: `ANIMATION=true ./pixelfloot.sh floot images/dancing_banana.gif`\n  - Adjust the speed with FRAMETICKTIME in seconds: `FRAMETICKTIME=0.03 ANIMATION=true ./pixelfloot.sh floot images/shaking_cat.gif`\n- with THROTTLE you can adjust your transfer speed: `THROTTLE=4M ANIMATION=true ./pixelfloot.sh floot images/Animated-GIFs-davidope-11.gif`\n  - you can use K, M, G as suffix.\n- view the network io of the worker with PIPEVIEW: `PIPEVIEW=true ANIMATION=true ./pixelfloot.sh floot images/Tesseract2.gif`\n\n## tuning\n\nYou can play around with some env vars to optimize your throughput. Most \nobvious one is FLOOTFORKS whichs defines how many worker fors are \nspawning / tcp sessions you use. Default is 1.\n\nWhen using more then one worker, it also worth to have a look to\nSYNCFLOOTWORKER. This env var (bool) defines if all worker calculate \ntheir own OFFSET or use all the same from `[worker 1]`.\n\nYou can use PIPEVIEW to see how much bandwith a worker uses. With\nTHROTTLE you can limit the bandwith. Value given in bytes, you can use \nK, M, G as suffix.\n\n\n```shell\n$ ./pixelfloot.sh help\n./pixelfloot.sh [floot|convertimg] [FILENAME|fill|text] ([MODE])\n\nfloot: flooting the target specified with IPFLOOT\nconvertimg: converts an image to a command list file in /tmp\n            to use it, start 'USECACHE=true ./pixelfloot.sh floot [FILENAME]', where FILENAME\n            is the original image file.\n\nFILENAME: path to any picture imagemagick can handle (env X, Y, RESIZE, \n          BORDERCOLOR, ALPHACOLOR)\nfill: create a filled area with (env COLOR, W (width), H (height), X, Y)\ntext: create a textbox (env TEXT, FONTSIZE, SIZE, COLOR, BGCOLOR, BORDERCOLOR\n      ALPHACOLOR)\n\nMODE: static (env X and Y for position)\n      chaos (env X_MAX and Y_MAX for position range)\n      shake (env X and Y for position)\n      cursor\n      bounce (env Y_MAX and X_MAX for max bounce range, BOUNCESTEP for step size)\n\navailable env vars to configure:\nIPFLOOT(string), FLOOTPORT(int), USECACHE(bool), FLOOTFORKS(int)\nSIZE(int), TEXT(string), FONTSIZE(int), BGCOLOR(hex), COLOR(hex)\nBORDERCOLOR(hex), X(int), Y(int), X_MAX(int), Y_MAX(int), H(int), W(int)\nRESIZE(int), ALPHACOLOR(hex), BOUNCESTEP(int), LARGE(bool), LOLFIELDSIZE(int)\nANIMATION(bool), FRAMETICKTIME(float), SYNCFLOOTWORKER(bool), THROTTLE(string)\nPIPEVIEW(bool), VERBOSE(bool)\n```\n\nRunning on my Ryzen 4700G with [wellenbrecher](https://github.com/bits0rcerer/wellenbrecher) 1280x720 and three workers,\ni get around 1,5Gbit/s localhost traffic.\n\n![./pixelfloot screenshot](demo/screenshot_pixelfloot.png)\n\n## try it out\n\nyou can use my pixelflut server [pixelflut.la10cy.net](http://pixelflut.la10cy.net) and watch the board on the homepage, every 5s refreshed or connect by VNC to [pixelflut.la10cy.net:5900](vnc://pixelflut.la10cy.net:5900)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeltalima%2Fpixelfloot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeltalima%2Fpixelfloot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeltalima%2Fpixelfloot/lists"}