Είναι ένα συνηθισμένο σενάριο χρήσης: θέλετε να μεταδώσετε ένα δημόσιο δίκτυο WiFi για οποιονδήποτε να χρησιμοποιήσει, αλλά έχετε αυστηρές απαιτήσεις που επιτρέπουν μόνο εικόνες γάτας. Μεγάλη είδηση: Το Raspberry Pi είναι ένα τέλειο μηχάνημα μετάγγισης . Ενδιαφέρουσες; Συνέχισε να διαβάζεις.
Τι χρειάζεστε
- Το Raspberry Pi μοντέλο Β (νέο για το Raspberry Pi; Εδώ είναι όλα όσα ένας αρχάριος θα πρέπει να γνωρίζουμε Αγόρασε ένα σμέουρο pi; 11 πράγματα που πρέπει να ξέρετε ακριβώς αγόρασε ένα σμέουρο pi; 11 πράγματα εσείς πρέπει να ξέρετε Σε αυτό το βίντεο, εξηγούμε όλα όσα ίσως χρειαστεί να μάθετε αν έχετε αγοράσει ένα Raspberry Pi ή σκέφτεστε να αγοράσετε ένα. Διαβάστε περισσότερα, σε μορφή βίντεο)
- 4GB ή μεγαλύτερη κάρτα SD
- Καλώδιο Ethernet
- Συμβατό προσαρμογέα WiFi
- Καλώδιο τροφοδοσίας MicroUSB και προσαρμογέα
Η θεωρία
Αυτό το έργο ξεκινάει όμοιο με το ρομπότ κυλίνδρων Δημιουργήστε τη δική σας: Safeplug (Tor Proxy Box) Δημιουργήστε τη δική σας: Safeplug (Tor Proxy Box) Γιατί να πληρώσετε 50 δολάρια για ένα κουτί Proxy Pro, όταν μπορείτε να φτιάξετε το δικό σας με Raspberry Pi και USB WiFi dongle; Διαβάστε περισσότερα που χτίσαμε μερικές εβδομάδες πίσω. Θα κάνουμε το Raspberry Pi σε ένα πρότυπο δίκτυο WiFi πρώτα, στη συνέχεια, τοποθετήστε ένα πληρεξούσιο στη μέση. Ο διακομιστής μεσολάβησης θα φιλτράρει αναρτήσεις μέσω μιας δέσμης ενεργειών Perl, η οποία θα αντικαταστήσει τις εικόνες σε κάθε αίτηση HTTP με GIF cat από το TheCatAPI.com. Παρακολουθήστε ως befuddled χρήστες είναι τόσο έντονα απογοητευμένοι, αλλά παράξενα ήρεμα. Εδώ είναι οι τροποποιήσεις BBC, post-cat.
Δημιουργία δικτύου WiFi
Δεδομένου ότι αυτό το μέρος του φροντιστηρίου είναι ακριβώς το ίδιο με το DIY Router κρεμμυδιών Δημιουργήστε τη δική σας: Safeplug (Tor Proxy Box) Δημιουργήστε τη δική σας: Safeplug (Tor Proxy Box) Γιατί να πληρώσετε 50 δολάρια για ένα κουτί Pro μεσολάβηση όταν μπορείτε να φτιάξετε το δικό σας ένα Raspberry Pi και ένα USB WiFi dongle; Διαβάστε περισσότερα, ακολουθήστε τις οδηγίες εκεί μέχρι το σημείο του Install Tor .
Η μόνη μικρή αλλαγή που πρέπει να κάνουμε είναι να μεταδώσουμε ένα ανοιχτό δίκτυο WiFi αντί για ένα με WPA. Μόλις ακολουθήσετε την εγκατάσταση εκεί, αλλάξτε το /etc/hostapd/hostapd.conf, επικολλώντας τις παρακάτω διαμορφώσεις. Κάντε επανεκκίνηση για να εφαρμόσετε τις αλλαγές.
interface=wlan0 driver=nl80211 ssid=Kittens hw_mode=g channel=6 auth_algs=1 wmm_enabled=0
Θα πρέπει τώρα να έχετε ένα ασύρματο δίκτυο που μεταδίδεται στο Raspberry Pi που είναι προσβάσιμο από το κοινό. Ο υπόλοιπος οδηγός θα επικεντρωθεί στο να πάρει τα ενδιαφέροντα πράγματα που συμβαίνουν.
Εάν τα πράγματα δεν λειτουργούν, πληκτρολογήστε:
ifconfig -a
και αναζητήστε μια διεύθυνση IP στο wlan0. Εάν κάποιος δεν έχει εκχωρηθεί κατά την επανεκκίνηση, δοκιμάστε τα εξής:
sudo nano /etc/default/ifplugd
Αλλάξτε τις ακόλουθες γραμμές από:
INTERFACES="auto" HOTPLUG_INTERFACES="all"
προς την:
INTERFACES="eth0" HOTPLUG_INTERFACES="eth0"
Κάντε επανεκκίνηση και επαληθεύστε ότι είστε σε θέση να συνδεθείτε στο δίκτυο WiFi και να έχετε πρόσβαση στο Internet.
Squid Proxy και IPTables
Ξεκινήστε εγκαθιστώντας τις προϋποθέσεις και, στη συνέχεια, δημιουργήστε έναν νέο πίνακα δρομολόγησης. Θα προσφέρουμε αργότερα εικόνες από το Raspberry Pi, επομένως θα χρειαστεί επίσης web server του Apache.
sudo apt-get install squid3 bridge-utils apache perl nano iptables.sh
Επικολλήστε τα εξής:
iptables -t nat -A POSTROUTING -j MASQUERADE iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.42.1:3128 iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
Αποθηκεύστε και μετά έξοδο.
chmod +x iptables.sh sudo cp iptables.sh /etc/init.d/ sudo update-rc.d iptables.sh start 99
Αγνοήστε τις προειδοποιήσεις, σημαίνει απλώς ότι δεν συμμορφώναμε με κάποιους κανόνες του Debian (αλλά δεν σπάει τίποτα). Τέλος, εξακολουθούμε να έχουμε τους παλαιούς κανόνες iptables κατά την εκκίνηση, οπότε αφαιρέστε την ακόλουθη γραμμή από το / etc / network / interfaces
up iptables-restore< /etc/iptables.ipv4.nat
(Διαγραφή ή σχολιασμός)
Στη συνέχεια επανεκκινήστε. Επόμενο Θα διαγράψουμε την προεπιλεγμένη διαμόρφωση διακομιστή μεσολάβησης Squid και θα φτιάξουμε ένα νέο.
sudo rm /etc/squid3/squid.conf sudo nano /etc/squid3/squid.conf
Επικολλήστε τα ακόλουθα στο κενό αρχείο:
cache_mgr pi cachemgr_passwd pi all redirect_program /home/pi/cats.pl acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl localnet src 192.168.42.0/24 # RFC1918 possible internal network acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_access allow manager localhost http_access deny manager http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localnet http_access allow localhost http_access deny all http_port 3128 transparent umask 022 cache_mem 128 MB cache_dir ufs /var/spool/squid3 1500 16 256 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
Αποθήκευση και έξοδος. Αρχικοποιήστε τους καταλόγους cache με την ακόλουθη εντολή και στη συνέχεια επεξεργαστείτε το σενάριο που θα χρησιμοποιήσουμε για να εξομοιώσουμε όλες τις εικόνες:
sudo squid3 -z nano /home/pi/cats.pl
Επικόλληση σε:
#!/usr/bin/perl $|=1; $count = 0; $pid = $$; open (DEBUG, '>>/tmp/cats.log'); autoflush DEBUG 1; print DEBUG "########################################################################\n"; while () { chomp $_; if (m/nosquid/) { print DEBUG "Input NOSQUID: $url\n"; print "$_\n"; print DEBUG "Output NOSQUID: $_\n"; } elsif ($_ =~ /(.*\.jpg")/i) { $url = $1; print DEBUG "Input: $url\n"; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.gif", "http://thecatapi.com/api/images/get?format=src&type=gif&nosquid"); chmod 0777, "/var/www/images/$pid-$count.gif"; print "http://127.0.0.1/images/$pid-$count.gif\n"; } elsif ($_ =~ /(.*\.gif)/i) { $url = $1; print DEBUG "Input: $url\n"; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.gif", "http://thecatapi.com/api/images/get?format=src&type=gif&nosquid"); chmod 0777, "/var/www/images/$pid-$count.gif"; print "http://127.0.0.1/images/$pid-$count.gif\n"; } elsif ($_ =~ /(.*\.png")/i) { $url = $1; print DEBUG "Input: $url\n"; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.gif", "http://thecatapi.com/api/images/get?format=src&type=gif&nosquid"); chmod 0777, "/var/www/images/$pid-$count.gif"; print "http://127.0.0.1/images/$pid-$count.gif\n"; } elsif ($_ =~ /(.*\.jpeg)/i) { $url = $1; print DEBUG "Input: $url\n"; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.gif", "http://thecatapi.com/api/images/get?format=src&type=gif&nosquid"); chmod 0777, "/var/www/images/$pid-$count.gif"; print "http://127.0.0.1/images/$pid-$count.gif\n"; } else { print "$_\n"; } $count++; }
Κάντε το σενάριο εκτελέσιμο, και εμείς επίσης να κάνετε μερικούς καταλόγους για να συνεργαστεί με.
sudo chmod +x cats.pl sudo mkdir /var/www/images sudo chmod 777 /var/www/images sudo usermod -a -G www-data proxy sudo chown www-data:www-data /var/www sudo chown www-data:www-data /var/www/images touch /tmp/cats.log chmod 777 /tmp/cats.log
Μπορείτε να προσαρμόσετε το ημερολόγιο ανά πάσα στιγμή με:
tail -f /tmp/cats.log
Δοκιμάστε να συνδεθείτε με το Pinterest και ξαφνικά όλα αυτά τα ηλίθια DIY έργα φυτών σε φυτά και mens mash επιλογές και θα είναι πολύ πιο ελκυστική.
Αν προτιμάτε να εμφανίζετε ανάποδα εικόνες (πίστωση για το αρχικό σενάριο στο Ex-Parrot, τροποποιήσαμε μόνο για να αντιμετωπίσουμε ορισμένα λάθη αδειών), δημιουργήστε upsidedown.pl και επικολλήστε τα παρακάτω.
#!/usr/bin/perl $|=1; $count = 0; $pid = $$; while () { chomp $_; if ($_ =~ /(.*\.jpg")/i) { $url = $1; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.jpg"", "$url"); system("/usr/bin/mogrify", "-flip", "/var/www/images/$pid-$count.jpg""); chmod 0777, "/var/www/images/$pid-$count.jpg""; print "http://127.0.0.1/images/$pid-$count.jpg"\n"; } elsif ($_ =~ /(.*\.gif)/i) { $url = $1; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.gif", "$url"); system("/usr/bin/mogrify", "-flip", "/var/www/images/$pid-$count.gif"); chmod 0777, "/var/www/images/$pid-$count.gif"; print "http://127.0.0.1/images/$pid-$count.gif\n"; } elsif ($_ =~ /(.*\.png")/i) { $url = $1; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.png"", "$url"); system("/usr/bin/mogrify", "-flip", "/var/www/images/$pid-$count.png""); chmod 0777, "/var/www/images/$pid-$count.png""; print "http://127.0.0.1/images/$pid-$count.png"\n"; } elsif ($_ =~ /(.*\.jpeg)/i) { $url = $1; system("/usr/bin/wget", "-q", "-O", "/var/www/images/$pid-$count.jpeg", "$url"); system("/usr/bin/mogrify", "-flip", "/var/www/images/$pid-$count.jpeg"); chmod 0777, "/var/www/images/$pid-$count.jpeg"; print "http://127.0.0.1/images/$pid-$count.jpeg\n"; } else { print "$_\n";; } $count++; }
Ακολουθήστε τα παραπάνω βήματα, αλλάζοντας το όνομα του αρχείου, για να καταστήσετε εκτελέσιμη τη δέσμη ενεργειών και τροποποιήστε το Squid config για να το κάνετε στο upsidedown.pl αντί για το cats.pl. Τέλος, θα χρειαστεί να κάνετε επανεκκίνηση της Squid με:
sudo service squid3 restart
Τα αποτελέσματα είναι πολύ φοβερά σε κάθε περίπτωση. Εάν κάνετε οποιεσδήποτε τροποποιήσεις ή βελτιώσεις σε αυτά τα σενάρια με πρόσθετες λειτουργίες, παρακαλώ επιτρέψτε μου στα σχόλια και βάλτε ένα σύνδεσμο Pastebin στο σενάριό σας.
Χρειάζεστε κάτι πιο περίπλοκο; Θα μπορούσατε να δοκιμάσετε να συνδυάσετε αυτό το έργο με ένα Raspberry Pi NAS Γυρίστε το βατόμουρο Pi σας σε ένα κουτί NAS Γυρίστε το βατόμουρο Pi σας σε ένα κουτί NAS Έχετε δύο εξωτερικούς σκληρούς δίσκους που βρίσκονται γύρω και ένα Raspberry Pi; Κάντε μια φτηνή, χαμηλής ισχύος δικτυακή συσκευή αποθήκευσης που προσαρτάται σε αυτά. Ενώ το τελικό αποτέλεσμα σίγουρα δεν θα είναι όπως ... Διαβάστε περισσότερα ή ένα πάντα-on torrent downloader Πώς να μετατρέψει το βατόμουρο Pi σας σε μια πάντα-On Downloading Megalith Πώς να μετατρέψει το βατόμουρο Pi σας σε μια πάντα-On Downloading Megalith Κάντε σας μέρος για το παγκόσμιο δίκτυο διανομής του Linux με την οικοδόμηση ενός αποκλειστικού, ασφαλούς, megalith download-torrent που χρησιμοποιεί μόλις 10W ισχύος. Φυσικά, θα βασίζεται σε ένα Raspberry Pi. Διαβάστε περισσότερα !