Ένας απλός Screenshot server

Projects from the ubuntucy community...

Ένας απλός Screenshot server

Postby avr_freak » Mon Jul 13, 2009 12:46 am

Image Image
Το Screenshot Server είναι ένα bash script, ο σκοπός του οποίου είναι να αποθηκεύει ένα στιγμιότυπο από την webcam, καθώς και ένα screenshot από το desktop μας στο φάκελο ρίζας του Apache Web Server (DocumentRoot). Οι εικόνες αυτές ταξινομούνται σε φακέλους για κάθε μία μέρα ξεχωριστά (αυτόματα). Η "σύλληψη" και η αποθήκευση των εικόνων γίνετε κάθε 5 δευτερόλεπτά (πράγμα το οποίο μπορούμε να ρυθμίσουμε εμείς ανάλογα με τις προτιμήσεις μας) ενώ ο χρόνος εκτέλεσης του script κυμαίνεται από 1 ως 2 δευτερόλεπτα (η δοκιμή έγινε σε ένα P4 στα 3GHz με 1 GB RAM και ΛΣ Fedora 10). Τα εργαλεία που χρειάστηκαν για να δημιουργηθούν οι εικόνες είναι:

* scrot - εργαλείο για την δημιουργία screenshot.
* mogrify - εργαλείο του ImageMagick για τη τροποποίηση του μεγέθους της εικόνας
* convert - εργαλείο του ImageMagick για τη μετατροπή αρχείων εικόνας. Μας επιτρέπει επίσης την εισαγωγή αντικειμένων στην εικόνα (πχ text).
* streamer - Εργαλείο που μας βοήθησε να "συλλάβουμε" ένα frame από τη webcam.

ακολουθεί το script που πρέπει να εκτελέσουμε ως χρήστες root:

Code: Select all
#!/bin/bash

#elegxos an yparxoun oi fakeloi

if [ -d /var/www/html/desktop/ ]
then
echo "directory 'desktop' exists [OK]"
else
mkdir /var/www/html/desktop/
echo "directory 'desktop' created [OK]"
fi

if [ -d /var/www/html/webcam/ ]
then
echo "directory 'webcam' exists [OK]"
else
mkdir /var/www/html/webcam/
echo "directory 'webcam' created [OK]"
fi

echo "Screenshots running ..."
echo "Press Ctrl + C to exit. "

while [ 1 ]
do
start_time=$(date +%s)
date_desktop=$(date +%d-%m-%y)
date_webcam=$(date +%d-%m-%y)
timestamp=$(date +%d%m%y-%H%M%S)

if [ -d /var/www/html/desktop/$date_desktop/ ]
then
sleep 0
else
mkdir /var/www/html/desktop/$date_desktop/
fi

if [ -d /var/www/html/webcam/$date_webcam/ ]
then
sleep 0
else
mkdir /var/www/html/webcam/$date_webcam/
fi

screen=/var/www/html/desktop/$date_desktop/$timestamp.jpeg
cam=/var/www/html/webcam/$date_webcam/$timestamp.jpeg

scrot $screen
mogrify -resize 800x600 $screen
convert $screen -background YellowGreen label:"George Hadjikyriacou - Desktop - $timestamp" -gravity Center -append $screen

streamer -q -c /dev/video1 -b 16 -s 800x600 -o $cam
convert $cam -background YellowGreen label:"George Hadjikyriacou - Webcam - $timestamp" -gravity Center -append $cam
finish_time=$(date +%s)
exec_time=$((finish_time - start_time))
sleep $((300 - exec_time))
done
Last edited by avr_freak on Wed Oct 21, 2009 1:30 pm, edited 1 time in total.
User avatar
avr_freak
Expert Forum Member
 
Posts: 304
Joined: Tue Oct 14, 2008 2:46 pm

Re: Ένας απλός Screenshot server

Postby constantinosm » Thu Oct 15, 2009 9:03 am

Αρκετά ενδιαφέρον...
User avatar
constantinosm
Linux Enthusiast
 
Posts: 559
Joined: Tue May 06, 2008 2:03 pm
Location: Lemesos

Re: Ένας απλός Screenshot server

Postby avr_freak » Fri Oct 16, 2009 9:53 pm

constantinosm wrote:Αρκετά ενδιαφέρον...

ναι, ίσος το ποιο φτηνό σύστημα παρακολούθησης του υπολογιστή του γραφείου σου από ανεπιθύμητους εισβολείς :)
User avatar
avr_freak
Expert Forum Member
 
Posts: 304
Joined: Tue Oct 14, 2008 2:46 pm

Re: Ένας απλός Screenshot server

Postby demas » Tue Dec 15, 2009 3:32 am

Ναι ίσως γιατί όχι...
Our Portfolio: GPS Cyprus | PiratePartyCyprus | GO-Nethost | More...
Hosted by Us: Kapouti |
User avatar
demas
How much time you spend in here?
 
Posts: 882
Joined: Fri Nov 14, 2008 2:16 am


Return to Projects

Who is online

Users browsing this forum: No registered users and 1 guest

cron