Sådan opretter du et WiFi-netværk, der kun sender kattebilleder med en hindbærpi

  • William Charles
  • 0
  • 4211
  • 732
Reklame

Det er et tilfælde med almindelig brug: du vil sende et offentligt WiFi-netværk, som enhver kan bruge, men du har strenge krav om, at kun kattebilleder er tilladt. God nyhed: din Raspberry Pi er en perfekt transmoggification maskine. Fascineret? Læs videre.

Hvad du har brug for

  • Raspberry Pi model B (Ny hos Raspberry Pi? Her er alt, hvad en nybegynder skulle vide, bare købte en Raspberry Pi? 11 ting, du har brug for at vide, bare købt en Raspberry Pi? 11 ting, du har brug for at vide I denne video forklarer vi alt hvad du muligvis skal vide hvis du lige har købt en Raspberry Pi, eller overvejer at købe en., i videoform)
  • 4 GB eller større SD-kort
  • Ethernet-kabel
  • Kompatibel WiFi-adapter
  • MicroUSB strømkabel og adapter

Teorien

Dette projekt starter identisk med Onion Router Byg din egen: Safeplug (Tor Proxy Box) Byg din egen: Safeplug (Tor Proxy Box) Hvorfor betale $ 50 for en Tor proxy-boks, når du kan lave din egen med en Raspberry Pi og USB WiFi dongle? vi byggede et par uger tilbage. Vi laver Raspberry Pi til et standard WiFi-netværk først, og placer derefter en proxy i midten. Proxyen filtrerer indlæg gennem et Perl-script, som erstatter billederne på hver HTTP-anmodning med GIF-katte fra TheCatAPI.com. Se, som forvirrede brugere begge er intenst frustrerede, men alligevel underligt beroligede. Her er BBC, ændringer efter katten.

Oprettelse af et WiFi-netværk

Da denne del af selvstudiet er nøjagtigt den samme som DIY Onion Router Byg din egen: Safeplug (Tor Proxy Box) Byg din egen: Safeplug (Tor Proxy Box) Hvorfor betale $ 50 for en Tor proxy-boks, når du kan lave din egen med en Raspberry Pi og USB WiFi dongle? , følg venligst instruktionerne der indtil Installer Tor.

Den eneste lille ændring, vi har brug for, er at udsende et åbent WiFi-netværk i stedet for et, der er sikret med WPA. Når du har fulgt opsætningen der, skal du ændre /etc/hostapd/hostapd.conf, limning i de følgende konfigurationer i stedet. Genstart for at anvende ændringerne.

interface = wlan0 driver = nl80211 ssid = killinger hw_mode = g kanal = 6 autor_algs = 1 wmm_enabled = 0

Du skal nu have et trådløst netværk, der udsendes på din Raspberry Pi, der er offentligt tilgængelig. Resten af ​​denne vejledning vil fokusere på at få det interessante ting til at ske.

Hvis tingene ikke fungerer, skal du skrive:

ifconfig -a 

og se efter en IP-adresse på wlan0. Hvis en ikke tildeles til genstart, kan du prøve følgende:

sudo nano / etc / default / ifplugd 

Skift følgende linjer fra:

INTERFACES = "auto" HOTPLUG_INTERFACES = "alle" 

til:

INTERFACES = "eth0" HOTPLUG_INTERFACES = "eth0" 

Genstart, og kontroller, at du er i stand til at oprette forbindelse til WiFi-netværket og få adgang til internettet.

Blæksprutte Proxy og IPTables

Start med at installere forudsætningerne, og opret derefter en ny routingtabel. Vi serverer billeder fra Raspberry Pi senere, så vi har også brug for Apache webserver.

sudo apt-get install squid3 bridge-utils apache perl nano iptables.sh 

Indsæt følgende:

iptables -t nat -A POSTROUTING -j MASQUERADE iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp - dport 80 -j DNAT - til destination 192.168.42.1:3128 iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --port 80 -j REDIRECT - til-porte 3128 

Gem, og forlad derefter.

chmod + x iptables.sh sudo cp iptables.sh /etc/init.d/ sudo update-rc.d iptables.sh start 99 

Ignorer advarslerne, det betyder bare, at vi ikke har overholdt nogle Debian-regler (men ikke bryder noget). Til sidst har vi stadig det gamle iptables regler for boot, så fjern følgende linje fra / etc / network / interfaces

op iptables-gendannelse < /etc/iptables.ipv4.nat 

(Slet eller kommenter det)

Genstart derefter igen. Næste Vi sletter standard Squid-proxy-konfigurationen og laver en ny.

sudo rm /etc/squid3/squid.conf sudo nano /etc/squid3/squid.conf 

Indsæt følgende i den tomme fil:

cache_mgr pi cachemgr_passwd pi alt omdirigering_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 muligt internt netværk 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 # uregistreret porte 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 TILSLUTT metode FORBINDELSE http_access tillad manager localhost http_access afvis manager http_access afviser! Safe_ports http_access afvis CONNECT! http_access tillad localnet http_access tillad localhost http_access afviser alle http_port 3128 gennemsigtig umask 022 cache_mem 128 MB cache_dir ufs / var / spool / squid3 1500 16 256 coredump_dir / var / spool / squid3 refresh_patt ern ^ ftp: 1440 20% 10080 refresh_pattern ^ gopher: 1440 0% 1440 refresh_pattern -i (/ cgi-bin / | \?) 0 0% 0 refresh_pattern. 0 20% 4320 

Gem og luk. Initialiser cache-mapper med følgende kommando, rediger derefter det script, vi bruger til catify alle billeder:

sudo squid3 -z nano /home/pi/cats.pl 

Indsæt:

#! / usr / bin / perl $ | = 1; $ count = 0; $ pid = $$; åben (DEBUG, '>> / tmp / cats.log'); autoflush DEBUG 1; tryk DEBUG "############################################## ######################### \ n "; while () chomp $ _; if (m / nosquid /) print DEBUG "Input NOSQUID: $ url \ n"; udskriv "$ _ \ 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 / få format = src & type = gif & nosquid "); chmod 0777, "/ var / www / images / $ pid- $ count.gif"; udskriv "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 / få format = src & type = gif & nosquid "); chmod 0777, "/ var / www / images / $ pid- $ count.gif"; udskriv "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 / få format = src & type = gif & nosquid "); chmod 0777, "/ var / www / images / $ pid- $ count.gif"; udskriv "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 / få format = src & type = gif & nosquid "); chmod 0777, "/ var / www / images / $ pid- $ count.gif"; udskriv "http://127.0.0.1/images/$pid-$count.gif\n";  andet udskriv "$ _ \ n";  $ count ++;  

Gør scriptet eksekverbart, og vi ned også til at lave nogle mapper, som det kan arbejde med.

sudo chmod + x cats.pl sudo mkdir / var / www / billeder sudo chmod 777 / var / www / billeder sudo usermod -a-G www-dataproxy 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 

Du kan tilpasse loggen til enhver tid med:

hale -f /tmp/cats.log 

Prøv at logge ind på Pinterest, og pludselig plukker alle de dumme DIY-potteplanteprojekter og herre-mode-mode og vil være langt mere tiltalende.

Hvis du hellere vil servere billeder på hovedet (kredit for det originale script til Ex-Parrot, jeg modificerede kun for at håndtere nogle tilladelsesfejl), skab upsidedown.pl og indsæt følgende.

#! / 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"; udskriv "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"; udskriv "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"; udskriv "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"; udskriv "http://127.0.0.1/images/$pid-$count.jpeg\n";  andet udskriv "$ _ \ n" ;;  $ count ++;  

Følg de andre trin ovenfor, ændre filnavnet, for at gøre scriptet eksekverbart og ændre Squid-konfigurationen til at pege på upsidedown.pl i stedet for cats.pl. Til sidst skal du genstarte Squid med:

sudo service squid3 genstart 

Resultaterne er i begge tilfælde ret fantastiske. Hvis du foretager ændringer eller forbedrer disse scripts med yderligere funktioner, så lad mig kommentere og læg et Pastebin-link til dit script.

Brug for noget mere kompliceret? Du kan prøve at kombinere dette projekt med en Raspberry Pi NAS. Drej din Raspberry Pi til en NAS-boks. Drej din Raspberry Pi til en NAS-boks Har du et par eksterne harddiske liggende og en Raspberry Pi? Lav en billig, lavt drevet netværkstilsluttet lagerenhed ud af dem. Mens slutresultatet bestemt ikke vil være som ... eller en altid tændt torrent-downloader Sådan tændes din Raspberry Pi til en altid-On-downloade Megalith Sådan gør du din Raspberry Pi til en altid-On Download Megalith Gør din del for det globale "Linux distributionsnetværk" ved at opbygge en dedikeret, sikker torrent-downloadende megalith, der næppe bruger 10W strøm. Det vil naturligvis være baseret på en Raspberry Pi. !




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.