
Gabriel Brooks
0
4412
1340
Jedná se o scénář běžného použití: chcete vysílat veřejnou síť WiFi, aby ji mohl kdokoli použít, ale máte přísné požadavky, které povolují pouze obrázky koček. Skvělá zpráva: váš Raspberry Pi je perfektní transmoggifikace stroj. Zajímá vás? Číst dál.
Co budete potřebovat
- Raspberry Pi model B (Novinka pro Raspberry Pi? Zde je vše, co by začátečník musel vědět Právě koupil Raspberry Pi? 11 Věci, které potřebujete vědět Právě koupil Raspberry Pi? 11 Věci, které potřebujete vědět V tomto videu vysvětlíme vše, co byste mohli potřebovat vědět pokud jste si právě koupili Raspberry Pi nebo uvažujete o jeho koupi., ve formě videa)
- 4 GB nebo větší SD karta
- ethernetový kabel
- Kompatibilní adaptér WiFi
- Napájecí kabel a adaptér MicroUSB
Teorie
Tento projekt začíná identický s Onion Routerem Vytvořte si svůj vlastní: Safeplug (Tor Proxy Box) Vytvořte si svůj vlastní: Safeplug (Tor Proxy Box) Proč platit 50 USD za Tor proxy box, když si můžete vytvořit svůj vlastní pomocí Raspberry Pi a USB WiFi dongle? postavili jsme se před několika týdny. Nejprve uděláme Raspberry Pi do standardní WiFi sítě a poté umístíme proxy do středu. Proxy bude filtrovat příspěvky skriptem Perl, který nahradí obrázky na každém HTTP požadavku cat GIF z TheCatAPI.com. Sledujte, jak zmatení uživatelé jsou intenzivně frustrovaní, ale kupodivu uklidnění. Tady je BBC, post-cat modifikace.
Vytváření sítě WiFi
Protože tato část tutoriálu je přesně stejná jako DIY onionový směrovač, vytvořte si svůj vlastní: Safeplug (Tor Proxy Box) Vytvořte si svůj vlastní: Safeplug (Tor Proxy Box) Proč platit 50 USD za Tor proxy box, když si můžete vytvořit svůj vlastní Raspberry Pi a USB WiFi dongle? , postupujte podle pokynů až do bodu Nainstalujte Tor.
Jedinou malou změnou, kterou musíme udělat, je vyslat otevřenou síť WiFi namísto sítě zabezpečené pomocí WPA. Jakmile tam budete následovat nastavení, změňte /etc/hostapd/hostapd.conf, místo toho vložte do následujících konfigurací. Chcete-li použít změny, restartujte.
interface = wlan0 driver = nl80211 ssid = Koťata hw_mode = g kanál = 6 auth_algs = 1 wmm_enabled = 0
Nyní byste měli mít na svém Raspberry Pi veřejně přístupnou bezdrátovou síť. Zbytek této příručky se zaměří na to, jak se zajímavé věci odehrají.
Pokud věci nefungují, zadejte:
ifconfig -a
a hledejte IP adresu na wlan0. Pokud není při restartu přiřazen, zkuste následující:
sudo nano / etc / default / ifplugd
Změňte následující řádky z:
INTERFACES = "auto" HOTPLUG_INTERFACES = "all"
na:
INTERFACES = "eth0" HOTPLUG_INTERFACES = "eth0"
Restartujte a ověřte, že se můžete připojit k síti Wi-Fi a přistupovat k internetu.
Squid Proxy a IPTables
Začněte instalací předpokladů a vytvořte novou směrovací tabulku. Budeme zobrazovat obrázky z Raspberry Pi později, takže budeme potřebovat také webový server Apache.
sudo apt-get install squid3 bridge-utils apache perl nano iptables.sh
Vložte následující:
iptables -t nat -A POSTROUTING -j MASQUERADE iptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --port 80 -j DNAT - to-destination 192.168.42.1:3128 iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --port 80 -j REDIRECT --to-ports 3128
Uložte a poté ukončete.
chmod + x iptables.sh sudo cp iptables.sh /etc/init.d/ sudo update-rc.d iptables.sh start 99
Ignorovat varování, znamená to, že jsme nedodrželi některá pravidla Debianu (ale nic neporuší). Nakonec máme stále staré iptables pravidla pro spouštění, proto odeberte následující řádek z / etc / network / interface
up iptables-restore < /etc/iptables.ipv4.nat
(Smazat nebo okomentovat)
Poté restartujte. Další Odstraníme výchozí konfiguraci Squid proxy a uděláme nový.
sudo rm /etc/squid3/squid.conf sudo nano /etc/squid3/squid.conf
Do prázdného souboru vložte následující:
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 možný interní síť 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 # neregistrovaný porty 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 metoda CONNECT http_access povolit správce localhost http_access deny manager http_access deny CONNECT! SSL_ports http_access povolit localnet http_access povolit localhost http_access popřít všechny http_port 3128 transparentní 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
Uložit a odejít. Inicializujte adresáře mezipaměti pomocí následujícího příkazu a poté upravte skript, který použijeme katifikovat všechny obrázky:
sudo squid3 -z nano /home/pi/cats.pl
Vložit do:
#! / usr / bin / perl $ | = 1; $ count = 0; $ pid = $$; open (DEBUG, '>> / tmp / cats.log'); autoflush DEBUG 1; tisk DEBUG "################################################### ########################### \ n "; while () chomp $ _; if (m / nosquid /) print DEBUG "Input NOSQUID: $ url \ n"; tisk "$ _ \ n"; print DEBUG "Výstup 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"; tisk "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"; tisk "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"; tisk "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"; tisk "http://127.0.0.1/images/$pid-$count.gif\n"; else print "$ _ \ n"; $ count ++;
Vytvořte spustitelný skript a také jsme nedělali vytvořit nějaké adresáře, s nimiž bude pracovat.
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
Protokolovat můžete kdykoli pomocí:
tail -f /tmp/cats.log
Zkuste se přihlásit do Pinterestu a najednou budou všechny ty hloupé DIY hrnkové rostliny a pánské módy vybírat a budou mnohem přitažlivější..
Pokud byste raději sloužili obráceně (úvěr za původní skript na Ex-Parrot, já jsem upraven pouze pro řešení některých chyb oprávnění), vytvořit upsidedown.pl a vložte do následujícího.
#! / 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"; tisk "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"; tisk "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"; tisk "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"; tisk "http://127.0.0.1/images/$pid-$count.jpeg\n"; else print "$ _ \ n" ;; $ count ++;
Postupujte podle výše uvedených kroků, změňte název souboru, aby byl skript spustitelný a upravte konfiguraci Squid tak, aby ukazovala na upsidedown.pl namísto cats.pl. Nakonec budete muset Squid restartovat pomocí:
restart služby sudo služby squid3
Výsledky jsou v obou případech docela úžasné. Pokud provedete nějaké úpravy nebo vylepšení těchto skriptů s dalšími funkcemi, prosím, nechte mě v komentářích a vložte do svého skriptu odkaz na Pastebin..
Potřebujete něco složitějšího? Můžete zkusit zkombinovat tento projekt s Raspberry Pi NAS Proměňte Raspberry Pi v NAS Box Proměňte Raspberry Pi v NAS Box Máte kolem sebe pár externích pevných disků a Raspberry Pi? Vydělejte z nich levné, nízko napájené připojené paměťové zařízení. I když konečný výsledek rozhodně nebude jako ... nebo vždy zapnutý stahovač torrentů Jak proměnit svůj Malinový Pi v neustále se stahující Megalith Jak proměnit svůj Malinový Pi v neustále se stahující Megalith Udělejte svou část pro globální „Linuxová distribuční síť“ vytvořením vyhrazené, zabezpečené megality stahující z torrentu, která sotva využívá 10 W energie. Bude to samozřejmě založeno na Raspberry Pi. !