Backup images or almost anything from iPhone (any iOS) to Amazon S3

December 16, 2011 by  
Filed under hack$, iPhone, Linux, News, Uncategorized

This guide is for jailbroken iPhone/iPod touch only
I had recently needed a quick and dirty way to backup some of my images and additional content from my jailbroken iPhone 4 to a safe and accessible location. Well, you could always backup through iTunes (or any other USB/WiFi/Bluetooth means available), but being in love with the Amazon web services I decided to utilize some available tools and backup/sync to the Amazon S3.

In order to do so, I had decided to use one of my favorite FREE tools s3cmd from s3tools.

S3cmd is a command line tool for uploading, retrieving and managing data in Amazon S3. It is best suited for power users who don’t fear command line. It is also ideal for scripts, automated backups triggered from cron, etc.”

There are a few prerequisites in order to get this running. You will need the following:

  • Amazon account ( I will not get into details on how to create one, but if interested let me know and I’ll post a detail step-by-step)
  • WiFi connection
  • Computer (Mac/PC/and Linux flavor with command line)
  • SSH Access to iPhone
  • Wget package from Cydia
  • Python from Cydia
  • s3cmd tools from s3tools

So, here’s what worked for me:

The final goal was to be able to create a bucket on S3 and upload/sync some content directly to the new S3 bucket.

    1. Enable SSH access to the iPhone: On your iPhone go to Cydia and search for OpenSSH and install it.

Download OpenSSH on iPhone - Cydia

    1. Still in Cydia, search for wget and install it as well.

Install wget on iPhone - Cydia

    1. Search for Python on Cydia and install that package too.

Install Python on iPhone - Cydia

Now we have the necessary tools on the iDevice and could continue easier from the computer.

    1. Go to your computer and fire up your terminal (Putty on your Win PC).
    2. Find out the iDevice’s IP address and ssh as root into it.

On your device go to: Settings->WiFi. Click on the blue arrow on the selected WiFi network and memorize your IP address. Mine at this time is:

SSH as root (your IP will be most likely different):

ssh [email protected]

The default root password for the iOS is: alpine . At that point you will be at:

    1. You now need to download s3cmd by using wget:
    1. Unarchive the downloaded software:
tar -zxvf s3cmd-1.0.1.tar.gz

Remove the downloaded archive and rename the new folder:

rm s3cmd-1.0.1.tar.gz
mv s3cmd-1.0.1/ s3cmd
    1. Move into the new folder and fireup s3cmd. First thing we need to do is associate the tool with your existing Amazon S3 credentials:
./s3cmd --configure
Access key and Secret key are your identifiers for Amazon S3
Access Key: YouRAcceSSkEy
Secret Key: YourVeryLoNGSecrEtKey
Encryption password: YourGreatPassw0rd
Path to GPG program [/usr/bin/gpg]: leave empty
Use HTTPS protocol [No]:
HTTP Proxy server name: leave empty
New settings:
Access Key: YouRAcceSSkEy
Secret Key: YourVeryLoNGSecrEtKey+8A0Cs
Encryption password: YourGreatPassw0rd
Path to GPG program: /usr/bin/gpg
Use HTTPS protocol: False
HTTP Proxy server name:
HTTP Proxy server port: 0

Test access with supplied credentials? [Y/n]

Type Y and hit enter to save the configuration. We are now ready to create our bucket on S3 and end some files there.

  1. Create an S3 bucket
./s3cmd mb s3://my-new-S3-bucket
Bucket 's3://my-new-S3-bucket/' created

Now I’m ready to upload some images to my new S3 bucket. The images on my iPhone are located at:


Now I can upload the entire folder to S3:

./s3cmd put --acl-private --guess-mime-type --recursive /var/mobile/Media/DCIM/100APPLE s3://my-new-S3-bucket

The command above will recursively –recursive upload the entire folder to S3, it will automatically set the mime type –guess-mime-type and it will set all files to private –acl-private. If I was to set the flag to –acl-public, all of the images would become public and accessible through http/https.

In order to sync the folder, s3cmd has that option as well which is similar to the Unix rsync:

./s3cmd sync --dry-run --skip-existing --delete-removed /var/mobile/Media/DCIM/101APPLE s3://my-new-S3-bucket
upload: /var/mobile/Media/DCIM/101APPLE/IMG_1002.JPG -> s3://my-new-S3-bucket/101APPLE/IMG_1002.JPG
upload: /var/mobile/Media/DCIM/101APPLE/IMG_1003.JPG -> s3://my-new-S3-bucket/101APPLE/IMG_1003.JPG
upload: /var/mobile/Media/DCIM/101APPLE/IMG_1007.JPG -> s3://my-new-S3-bucket/101APPLE/IMG_1007.JPG
WARNING: Exitting now because of --dry-run

I had used –dry-run to check what will get synced before I run it.

Please feel free to ask any questions. I will follow with automating this and adding it to the Springboard.

Google introduces Google TV

May 20, 2010 by  
Filed under Android, Hot Devices, News, Video

On the second day of the I/O developer conference Google unveiled Google TV, internet-enabled platform that will be available as early as this fall on devices offered by Sony and Logitech.

While Sony will be selling HDTVs and Bluray players with GTV capabalities, Logitech will offer devices that will be connected to existing hardware. No pricing was revealed, but all three devices will be available at BestBuy. In addition Google TV will be integrated with Dish Network.

Along with all the cool features viewers will be able to use a special remote control and browse for upcoming TV shows, view more information online, schedule for future DVR recording or watch previous episodes on Hulu or Amazon. In addition a translation service will be available to translate LIVE TV captions in any language.

Another applouded feature is the ability to use your Android phone as a remote or speak to your device the search queries displayed on the screen.

The devices from Sony and Logitech will use a specialized version of the popular Atom processor which will be optimized for TV viewing. The integrated browser is Chrome and initialy the operating system will be powered by Android 2.1 later on to be updated to the newly introduced Android 2.2.

Most Android apps should work with the service and the source code and APIs will be released in early 2011.

2.6.34 Linux kernel has been released

May 18, 2010 by  
Filed under Linux, News, Operating Systems

Linux kernel 2.6.34After only three months of the release of Linux kernel 2.6.33 Linus Torvalds announced the release of Linux 2.6.34. As Linus states: “Nothing very interesting here, which is just how I like it.”. The new 2.6.34 introduces two major additions: distributed FS Ceph and the flash devices FS LogFS which targets flash memory-based devices and solid state drives (SSD). The Ceph Project based kernel client claims to add an Object Storage Device system (OSD) which is to distribute data through multiple storage nodes enabling the capability to manage petabytes of distributed storage.

VW Bik.e – Electric bicycle instead of a spare tire?

May 12, 2010 by  
Filed under Gaming, Hot Devices, News

Think of it as the spare tire in your new VW. Yet, you can’t ride your spare tire in case your car runs down. This is when you can pull out the Bik.e and get on your “green” way…

Volkswagen has introduced the Bik.e at Auto China 2010. This is a great and very cool looking device. Looks like a small bike without pedals. It’s nifty design allows it to fold down into a flat disc which fits perfectly into the spare compartment in the bottom of most trunks.

Even though it most likely will not come standard with your new VW commercial plans have been revealed.

The Bik.e is not meant for long distances and rather as a supplement to your car. It’s top speed officially is 20 km/h (12.5 miles per hour) though spectators say the version at the show was going much faster.

The Bik.e could use the car’s DC current or regular AC.

iPhone as a Remote Control for XBMC (Xbox Media Center)

March 11, 2009 by  
Filed under Home Entertainment, iPhone, News, Video

While searching for the ultimate FREE home media center application, I came across XBMC (Xbox Media Center). XBMC was originally created for the first-generation Xbox game console, but it is now available for Linux, Mac OS X (Leopard, Tiger, and Apple TV), Windows (Vista, XP). There is even a live CD version called XBMC Live.

XBMC plays most video formats, and I find it the ultimate player for playing HD movies. For additional features and recommended hardware, please refer to the official XBMC site.

I currently have XBMC installed on my Windows Vista Ultimate (x64), and it is running absolutely flawlessly. My windows machine is connected to my Mitsubishi HC1600 HD DLP Projector, and oh boy…do I have a movie theater in my living room?

After appreciating this set-up for a few weeks, I decided to create a similar one for my bedroom (less the projector), and this time I wanted to use my Mac Book. Fortunately XBMC has a build for Mac OS X, but for a greater positive surprise, I found that there is a XBMC port specifically designed for OS X: Plex. Plex works absolutely amazing and it utilizes both cores of the Mac Book, which is crucial for watching HD Movies.

Now that I have a fully functioning home media center in my living room and bedroom, I couldn’t wish for anything else but a remote that will control them all.

Being an iPhone addict, I searched for XBMC on App Store and was pleasantly surprised. There is an application called XBMC Remote that allows you to control XBMC (or Plex) through your WiFi. That was exactly what I was hoping for and installed the software immediately. XBMC Remote costs $2.99, but is worth every penny. In addition, there is an application called xbmcontrol which is free, but XBMC Remote works better for me.

Setting up XBMC to work with your XBMC Remote is very easy and it takes about a minute:

1. Open XBMC (or Plex) and Navigate to Settings. Write down or remember the IP address.

XBMC Config

2. Enter settings and scroll down to Servers

XBMC Server

3. Highlight (arrow right) Enable Web Server and enable it (hit Enter). Port 80 is preselected and you may leave it as is unless you have a web server on the same subnet accepting connections on port 80. Adding a password is optional.

4. Go to App Store on your iPhone and search for xbmc remote. Install the application and open it.

5. You’ll have to first configure it, by adding a XBMC Host. Select Add Host

XBMC Remote - Settings

6. Enter a title of your choice. Enter the same port number you used on your XBMC or just leave it 80 if you didn’t change it. For Host/IP enter the IP address of your XBMC (the one you remembered from step 1).

XBMC Remote - Config

Select Done and you are all set. Tap on your newly created host, select more and tap on Remote. Now you have a fully functional remote control for your XBMC or Plex. The remote could be used with Buttons or Gestures.

XBMC Remote - Buttons

Useful network apps for your iPhone

November 6, 2008 by  
Filed under iPhone, Mobile Phones

One of the greatest inventions of today’s tech world is the iPhone OS. It is the operating system that your nifty iPhone or iPod touch runs on. Based on the same kernel found on the Mac OS X it is capable of supporting bundled and future applications from Apple as well as third party software developers. Being a *NIX based system, it is capable of running your favorite network apps and utilities. Besides iTunes additional packages could be installed via Installer or Cydia. In addition, there is a linux utility written in Python called iDebMaker which could assist in an easy creation of Debian (.deb) packages for use with your iPhone/iPhone Touch.
I would like to share some of my favorite ones, which help me on a daily basis at home and work:


Available through Cydia – Free

Mobile Terminal is a terminal emulator for the iPhone. It is a must have for anyone requiring a sysadmin feel of the iPhone. It supports Backspace, One-Finger Swipe, Single Keyboard, Config Screen, Ctrl-C and more.


Available through Cydia – Free
With Nmap you can analyze and scan remote networks, along with your current WLAN. It is run from the terminal as root.


Available through AppStore – Free
Stumbler Plus is a very useful information that allows you to scan wifi networks and gather information such us MAC address, longtitude and latitude of the accesspoint, accesspoint manufacturer and more.
Network Ping Lite
Available through AppStore – Free
Network Ping Lite will help you in maintaining and debugging network problems on a LAN. It features:

  • Single IP ping
  • Ping a subnet
  • Traceroute
  • Telnet console
  • Display the iPhone IP

More functional version is available for $3.99.


Available through Cydia – Free
This is the best solution of using your iPhone as a modem. It requires SOCKS connection and despite the unsafe connection between your Mac and the iPhone your data is safe and encrypted by SSH. This will allow you to use 3G network when WiFi is unavailable.


Available through Cydia – Free
Serial communication software for your iPhone.


Available through Cydia – Free
OpenSSH allows you to login securely from and to your iPhone. This is a must have if you need to access your servers or desktop remotely. It works great over 3G, Edge and WiFi. Windows users may access the iPhone through Putty or WinSCP. Both available for free.

Remote Desktop (lite)

Available through AppStore – Free (paid version available as well)
rdesktop is the open source client for Windows Terminal Services. It works with XP, but does not support Vista yet.


Available through Cydia – Free
This is a simple SOCKS 4/5 proxy server. It is run from the terminal as root.


Available through Cydia – Free
Simple HTTP file transfer client. Run from terminal and get any file available on the network or internet.

Available through AppStore – Free – Requires 2.1
SubnetIT is a very useful app for the network administrator. You specify a network address and subnet mask it will calculate Network address, Broadcast address, First and Last host in the subnet and max number of hosts. Displayed in decimal, hexadecimal, and binary notation.