Comment faire un réseau wifi qui ne transmet que des photos de chat avec un pi de framboise
Il est un scénario d`usage commun: vous souhaitez diffuser un réseau WiFi public pour quiconque d`utiliser, mais vous avez eu des exigences strictes qui sont autorisées que les images de chat. Bonnes nouvelles: votre Raspberry Pi est un parfait transmoggification
Contenu
Qu`est-ce que vous aurez besoin
- modèle Raspberry Pi B (Nouveau à Raspberry Pi? Voici tout débutant doit connaître, sous forme de vidéo)
- 4 Go ou plus carte SD
- câble Ethernet
- Compatible adaptateur WiFi
- câble et l`adaptateur secteur MicroUSB
La théorie
Ce projet commence identique à Onion Router nous avons construit quelques semaines. Nous allons faire le Raspberry Pi dans un réseau WiFi standard, puis placez un proxy au milieu. Le proxy sera le filtrage par les messages d`un script Perl, qui remplacera les images à chaque requête HTTP avec GIFs de chat de TheCatAPI.com. Regardez comme les utilisateurs sont à la fois embrouillé intensément frustrés, mais étrangement apaisée. Voici la BBC, des modifications post-chat.Build Your Own: Safeplug (Tor Proxy Box)Build Your Own: Safeplug (Tor Proxy Box)Pourquoi payer 50 $ pour une boîte de proxy Tor quand vous pouvez faire votre propre avec un Raspberry Pi et connexion Wi-Fi USB dongle?Lire la suite
Création d`un réseau Wi-Fi
Étant donné que cette partie du tutoriel est exactement le même que le Routeur bricolage oignon, s`il vous plaît suivez les instructions jusqu`au point de installer Tor.Build Your Own: Safeplug (Tor Proxy Box)Build Your Own: Safeplug (Tor Proxy Box)Pourquoi payer 50 $ pour une boîte de proxy Tor quand vous pouvez faire votre propre avec un Raspberry Pi et connexion Wi-Fi USB dongle?Lire la suite
Le seul petit changement que nous devons faire est de diffuser un réseau WiFi ouvert au lieu d`un sécurisée par WPA. Une fois que vous avez suivi la configuration là, le changement /etc/hostapd/hostapd.conf, coller dans les configurations suivantes au lieu. Redémarrez pour appliquer les modifications.
interface=wlan0driver=nl80211ssid=Kittenshw_mode=gchannel=6auth_algs=1wmm_enabled=0
Vous devriez maintenant avoir un réseau sans fil en cours de diffusion sur votre Pi framboise qui est accessible au public. Le reste de ce guide se concentrera sur l`obtention des choses intéressantes qui se passe.
Si les choses ne fonctionnent pas, tapez:
ifconfig -une
et rechercher une adresse IP sur wlan0. Si l`on est pas affecté au redémarrage, procédez comme suit:
Video: Raspberry Pi Chat Server with Hubot Tutorial
sudo nano / Etc / default / ifplugd
Modifiez les lignes suivantes:
INTERFACES="auto"HOTPLUG_INTERFACES="tout"
à:
INTERFACES="eth0"HOTPLUG_INTERFACES="eth0"
Redémarrez et vérifiez que vous êtes en mesure de se connecter au réseau WiFi, et accéder à Internet.
Proxy Squid et iptables
Commencez par installer les conditions préalables, puis créez une nouvelle table de routage. Nous servirons des images de la Raspberry Pi plus tard, nous allons donc aussi besoin d`Apache serveur web.
Video: Comment configurer sa Raspberry Pi en un point d'accès Wifi
sudo apt-get installer squid3 bridge-utils apache perlnano iptables.sh
Coller les éléments suivants:
iptables -t nat -A POSTROUTING -j MASQUERADEiptables -t nat -A PREROUTING -i wlan0 -p tcp -m tcp --dport 80 -j DNAT 192.168.42.1:3128iptables -t nat --to-destination -A PREROUTING -i eth1 -p tcp tcp -m --dport 80 -j REDIRECT --to-ports 3128
Enregistrer, puis quittez.
chmod +x iptables.shsudo cp iptables.sh /etc/init.d/sudo update-rc.d iptables.sh start 99
Ignorer les avertissements, cela signifie que nous n`avons pas respecté certaines règles Debian (mais ne casse rien). Enfin, nous avons encore l`ancien iptables règles de démarrage, donc supprimer la ligne suivante / etc / network / interfaces
iptables-restore lt; /etc/iptables.ipv4.nat
(Supprimer ou en commentaire)
Redémarrez ensuite. Ensuite, nous allons supprimer la valeur par défaut Squid proxy config, et faire un nouveau.
sudo rm /etc/squid3/squid.confsudo nano /etc/squid3/squid.conf
Collez le texte suivant dans le fichier vide:
cache_mgr picachemgr_passwd pi allredirect_program manager /home/pi/cats.placl proto cache_objectacl localhost src 127.0.0.1/32 :: 1acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 :: 1acl localnet src 192.168.42.0/24 # RFC1918 possible réseau internePort SSL_ports acl 443acl orifice 80 Safe_ports # httpacl Safe_ports orifice 21 # ftpPort acl Safe_ports 443 # httpsacl Safe_ports orifice 70 # gopherPort acl Safe_ports 210 # WAISacl Port Safe_ports 1025-65535 # ports non enregistrésPort acl Safe_ports 280 # Http-MgmtPort acl Safe_ports 488 # GSS-httpPort acl Safe_ports 591 # filemakerPort acl Safe_ports 777 # Http MultiLingméthode acl CONNECT permet CONNECThttp_access gestionnaire localhosthttp_access nier managerhttp_access nier !Safe_portshttp_access deny CONNECT !SSL_portshttp_access permettre localnethttp_access permettre localhosthttp_access nie allhttp_port 3128 transparentumask 022cache_mem 128 MBcache_dir UFS / var / spool / squid3 1500 16 256coredump_dir / var / spool / squid3refresh_pattern ^ ftp: 1440 20% 10080refresh_pattern ^ Gopher: 1440 0% 1440refresh_pattern -i (/ Cgi-bin /|?) 0 0% 0refresh_pattern . 0 20% 4320
Sauvegarder et quitter. Initialiser les répertoires de cache avec la commande suivante, puis modifiez le script que nous allons utiliser pour catify toutes les images:
sudo squid3 -Znano /home/pi/cats.pl
Coller:
#! / Usr / bin / perl$|=1-$ count = 0-$ pid = $$-ouvrir (DÉBOGUER, `Gt; gt; /tmp/cats.log`)-autoflush DEBUG 1-Imprimer DEBUG "################################################## ###################### n"-tandis que (lt;gt;) {Chomp $ _-si (m / nosquid /) {Imprimer DEBUG "Entrée NOSQUID: $ url n"-impression "$ _ n"-Imprimer DEBUG "Sortie NOSQUID: $ _ n"-}ELSIF ($ _ =~ /(.* . Jpg)/je) {$ url = 1 $-Imprimer DEBUG "Contribution: $ url n"-système("/ 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"-impression "http://127.0.0.1/images/$ pid-$ count.gif n"-}ELSIF ($ _ =~ /(.* . Gif)/je) {$ url = 1 $-Imprimer DEBUG "Contribution: $ url n"-système("/ 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"-impression "http://127.0.0.1/images/$ pid-$ count.gif n"-}ELSIF ($ _ =~ /(.* . .png)/je) {$ url = 1 $-Imprimer DEBUG "Contribution: $ url n"-système("/ 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"-impression "http://127.0.0.1/images/$ pid-$ count.gif n"-}ELSIF ($ _ =~ /(.* . Jpeg)/je) {$ url = 1 $-Imprimer DEBUG "Contribution: $ url n"-système("/ 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"-impression "http://127.0.0.1/images/$ pid-$ count.gif n"-}autre {impression "$ _ n"-}$ count++-}
Faire le script exécutable, et nous avons également défini pour faire quelques répertoires pour que cela fonctionne avec.
sudo chmod +x cats.plsudo mkdir / Var / www / imagessudo chmod 777 / var / www / imagessudo usermod -un proxy www-data -Gsudo chown www-data: www-data / var / wwwsudo chown www-data: www-data / var / www / imagestoucher /tmp/cats.logchmod 777 /tmp/cats.log
Vous pouvez la queue le journal à tout moment:
queue -f /tmp/cats.log
Video: DIY WiFi Raspberry Pi Touchscreen Camera
Essayez de vous connecter à Pinterest, et tout à coup tous ces stupides projets de bricolage de plantes en pot et les modes des hommes choix et sera beaucoup plus attrayant.
Si vous préférez servir la tête en bas images (Crédit pour le script original à Ex-Parrot, je modifié que pour faire face à certaines erreurs d`autorisations), créer upsidedown.pl coller dans ce qui suit.
#! / Usr / bin / perl$|=1-$ count = 0-$ pid = $$-tandis que (lt;gt;) {Chomp $ _-si ($ _ =~ /(.* . Jpg)/je) {$ url = 1 $-système("/ Usr / bin / wget", "-q", "-O","/ Var / www / images /$ pid-$ count.jpg", "$ url")-système("/ Usr / bin / mogrify", "-flip","/ Var / www / images /$ pid-$ count.jpg")-chmod 0777,"/ Var / www / images /$ pid-$ count.jpg"-impression "http://127.0.0.1/images/$ pid-$ count.jpg n"-}ELSIF ($ _ =~ /(.* . Gif)/je) {$ url = 1 $-système("/ Usr / bin / wget", "-q", "-O","/ Var / www / images /$ pid-$ count.gif", "$ url")-système("/ Usr / bin / mogrify", "-flip","/ Var / www / images /$ pid-$ count.gif")-chmod 0777,"/ Var / www / images /$ pid-$ count.gif"-impression "http://127.0.0.1/images/$ pid-$ count.gif n"-}ELSIF ($ _ =~ /(.* . .png)/je) {$ url = 1 $-système("/ Usr / bin / wget", "-q", "-O","/ Var / www / images /$ pid-$ count..png", "$ url")-système("/ Usr / bin / mogrify", "-flip","/ Var / www / images /$ pid-$ count..png")-chmod 0777,"/ Var / www / images /$ pid-$ count..png"-impression "http://127.0.0.1/images/$ pid-$ count.png n"-}ELSIF ($ _ =~ /(.* . Jpeg)/je) {$ url = 1 $-système("/ Usr / bin / wget", "-q", "-O","/ Var / www / images /$ pid-$ count.jpeg", "$ url")-système("/ Usr / bin / mogrify", "-flip","/ Var / www / images /$ pid-$ count.jpeg")-chmod 0777,"/ Var / www / images /$ pid-$ count.jpeg"-impression "http://127.0.0.1/images/$ pid-$ count.jpeg n"-}autre {impression "$ _ n"--}$ count++-}
Suivez les autres étapes ci-dessus, en changeant le nom du fichier, pour rendre le script exécutable, et modifier la configuration Squid pour pointer upsidedown.pl au lieu de cats.pl. Enfin, vous devrez redémarrer Squid avec:
sudo un service redémarrage squid3
Les résultats sont assez impressionnant dans les deux cas. Si vous apportez des modifications ou améliorer ces scripts avec des fonctionnalités supplémentaires, s`il vous plaît laissez-moi dans les commentaires et mettre un lien Pastebin à votre script.
Vous avez besoin quelque chose de plus compliqué? Vous pouvez essayer de combiner ce projet avec Raspberry Pi NAS ou toujours sur téléchargeur torrent!Transformez votre Raspberry Pi dans une boîte NASTransformez votre Raspberry Pi dans une boîte NASAvez-vous un couple de disques durs externes qui traînent et un Raspberry Pi? Faire un pas cher, faible dispositif de stockage en réseau joint alimenté hors d`eux. Bien que le résultat final ne sera certainement pas comme ...Lire la suite