Pixelnuke Server auf Banana Pi / Raspberry Pi
Posted: Sat 4. Apr 2015, 17:22
Hier eine kurze Anleitung den Pixelnuke-Server auf dem Pi zu installieren von https://bitbucket.org/defnull/pixelnuke
Voraussetzung zum kompilieren schaffen
Quelldateien via Git holen
In das Verzeichnis pixelnuke wechseln
zum kompilieren make ausführen
Für den Client
Voraussetzung
Client Beispiel Quellcode für Python3
Voraussetzung zum kompilieren schaffen
Code: Select all
apt-get install libevent-dev libssl-dev libglew-dev xorg-dev libglu1-mesa-dev
Quelldateien via Git holen
Code: Select all
git clone https://bitbucket.org/defnull/pixelnuke.git
In das Verzeichnis pixelnuke wechseln
Code: Select all
cd pixelnuke
Code: Select all
git submodule init
git submodule update
zum kompilieren make ausführen
Code: Select all
make
Für den Client
Voraussetzung
Code: Select all
apt-get install libjpeg-dev libfreetype6 libfreetype6-dev zlib1g-dev python3 python3-pip python3-dev python3-imaging python3-pil
Client Beispiel Quellcode für Python3
Code: Select all
__author__ = 'progamler'
from PIL import Image, ImageFilter
import subprocess
import socket
from time import sleep
from random import shuffle,randrange
TCP_IP = '192.168.123.234'
TCP_PORT = 1234
BUFFER_SIZE = 1024
MESSAGE = "Hello, World!"
conns = 1
start_ip = 50
loc_w = 300
loc_h = 300
max_w = 800
max_h = 576
im = Image.open("/home/BENUTZER/pixelflut/bild.jpg")
x, y = im.size
max_w = max_w - x
max_h = max_h - y
print(im.size)
rgb = im.convert('RGB')
list = []
print(x)
print(y)
for i in range(0,3,1):
for x_i in range(1, x):
for y_i in range(1, y):
r, g, b = rgb.getpixel((x_i,y_i))
r = str(hex(r))
g = str(hex(g))
b = str(hex(b))
r = r[2:]
g = g[2:]
b = b[2:]
if len(r) == 1:
r = "0" + r
if len(g) == 1:
g = "0" + g
if len(b) == 1:
b = "0" + b
list.append([x_i,y_i,r,g,b])
shuffle(list)
# generate ip addresses
#for ip in range(start_ip,start_ip+conns+1,1):
# subprocess.Popen(["/usr/bin/ip addr add 10.20.30." + str(ip) +"/22 dev enp0s25"], shell=True)
sleep(1)
s = []
ip = start_ip
for i in range(0,conns,1):
print("a")
s.append(socket.socket(socket.AF_INET, socket.SOCK_STREAM))
print("b")
# s[i].bind(('10.20.30.' + str(ip) ,0))
print("c")
s[i].connect((TCP_IP, TCP_PORT))
print("d")
ip = ip+1
print("con " + str(i))
while True:
loc_h = randrange(0,max_h,1)
loc_w = randrange(0,max_w,1)
print("y=" + str(loc_h) + " x=" + str(loc_w))
i = 0
for bla in range(0, len(list), conns):
bar = 0
for bar in range(0,conns,1):
try:
msg = "PX " + str(int(list[bla+bar][0]+loc_w)) + " " + str(list[bla+bar][1]+loc_h) + " " + list[bla+bar][2] + list[bla+bar][3] + list[bla+bar][4] + "\n"
s[bar].send(bytes(msg, 'UTF-8'))
except:
pass
bar = bar + 1
i = i+1
if i == 99:
sleep(0.0001)
i = 0
print("wait")
for i in range(0,conns,1):
s[i].close()
for ip in range(start_ip,start_ip+conns,1):
subprocess.call(["ip addr del 10.20.30." + str(ip) +"/22 dev enp0s25"], shell=True)