If you don't use adb shell much, disregard this post. For the rest of you, this is a quick procedure that allows you to terminal to your phone wirelessly from anywhere on the Internet. First, you need a SSH daemon. There's an app for that: QuickSSHd on the market. It can be set to keep your phone awake (screen dimmed) so your connection is preserved and remains fast. Next, you need a way to map your ever-changing phone IP address to a hostname. There's an app for that. It's called DynDNS. You may have used this service for your home computer that has a dynamic IP address. This app will communicate with the DynDNS servers about IP address changes. The TTL for the DNS mapping is < 1min, which is awesome, and there doesn't appear to be any limits on how often you update the IP. You can give your phone a fixed domain name like my1337evo.dyndns.org and use that to communicate with your phone permantly. Once you have this set up, you can set up a web server, FTP server, or whatever you want on your phone, and people can access it easily with that domain name. Optionally, you may want to install bash or a linux shell of your choice. This will give you additional conveniences like tab completion and text coloring, et. al., and will make your terminal render better with terminal software like PuTTY. Speaking of PuTTY, that's what you'll use to SSH into your phone. That's a free download for your computer. For transferring files wirelessly to your phone, you can download WinSCP, also a free product. You can use this to move files anywhere on your phone, not just your SD card. Google these to download them. This setup requires a fully rooted phone (NAND unlocked), specifically the ability to remount the system read/write with Android fully loaded. This setup has been a godsend for me. Now I can administrate my phone while it's still in my pocket. No need to USB tether and adb in. Just another aspect of rooting your phone in case you're sick of just flashing ROMs all the time.