My thing with piping curl to a shell was always that a severed connection will run a partial script, which can have weird consequences. I wrote about it awhile back:
bash -c "$(curl -sfL git.io/wshare || echo "echo 'Installation failed'; exit 1")"
My script itself is the core file and the installer (I used the $BASH_EXECUTION_STRING to grab the source code), i.e. it doesn't download anything additionally. I'm also planning to add a build script that checks the hash of $BASH_EXECUTION_STRING to prevent tampering. curl http://google.com/keylogger.sh > temp.sh && sh temp.sh
work?curl http://google.com/keylogger.sh > temp.sh
less temp.sh # actually read the fucking thing
sh temp.sh
rm temp.sh