I am confused as to how to set up username/password restrictions on tinyproxy (so that not all the world can access it - ip alow/block has limited use in my setup). Any pointers?
Tinyproxy doesn't support authentication yet, there's a ticket in their bug tracker, but it doesn't look too lively: https://banu.com/bugzilla/show_bug.cgi?id=13
There's an unofficial (and possibly unstable patch) patch for tinyproxy 1.7.0 posted on their mailing list: https://banu.com/pipermail/tinyproxy-list/2006-January/000606.html
I don't believe it yet supports authentication: the man pages for the latest version make no indication of authentication being an option.
Have a look at Squid Proxy: it's a full-featured proxy and with a minimal config, is quite lightweight.
My solution to this problem is to configure tinyproxy to allow connections only from localhost (127.0.0.1) and then use ssh with port forwarding to access the proxy from a remote machine. In the remote machine you need to configure the proxy address as localhost and use whatever port you forwarded with ssh to to the remote machine.
This solves 2 problems: strong authentication from random IP addresses as well as encryption of all requests between the client and tinyproxy. The downside is that you have to open the ssh session in the remote machine.