As client radio I use a cheap rtl8812au-based single-antenna Wi-Fi USB stick by Piaek with a ALFA APA-M05 7dBi antenna, and as access point I use the on-board radio of the RPi in master mode. I use iptables to set up NAT (masquerading), optionally via an OpenVPN tunnel. It can be an odyssey finding a cheap Wi-Fi stick for which there are good drivers available (Amazon reviews and answers do help), let alone one that can be run in master mode, and you often have to compile the drivers yourself, in my case (Arch Linux ARM) I need to pull the dkms package from AUR, change the PKGBUILD to build for Pi and it builds awfully slowly (around 1 hour).
As for long-range antennas, you can check out Yagi's or Cantenna, also very nice DIY projects. The longest range can be achieved by dishes. Though check your countries dBi limit that is allowed to be emitted in any direction and then reduce your tx power to stay below that. The directivity will still help reducing interference from other directions. I like the APA-M05 for its compactness.
For the cooling, I use DHT22s and simply run a bunch of fans via a PWM-driven MOSFET, directly from the Pi, roughly following the video: https://www.youtube.com/watch?v=oJ32CMxliCQ
I send notifications (actually, not SMS) via qpush.me.
As for long-range antennas, you can check out Yagi's or Cantenna, also very nice DIY projects. The longest range can be achieved by dishes. Though check your countries dBi limit that is allowed to be emitted in any direction and then reduce your tx power to stay below that. The directivity will still help reducing interference from other directions. I like the APA-M05 for its compactness.
For the cooling, I use DHT22s and simply run a bunch of fans via a PWM-driven MOSFET, directly from the Pi, roughly following the video: https://www.youtube.com/watch?v=oJ32CMxliCQ
I send notifications (actually, not SMS) via qpush.me.