                           _     _                                             
                          | |__ (_)__ _  ___  _ __  _ __  ___   ___ __ _  ___  
                          | '_ \| |__` |/ _ \| '_ \| '_ \/ _ \ / _ ' _` |/ _ \ 
                          | |_) | |  | | (_) | |_) | |_) \__  | | | | | | (_) |
                          |_.__/|_|  |_|\___/|_.__/| .__/|___/|_| |_| |_|\___/ 
                                                    \___|                      


OMEGA|ZINE RELEASE
       04

Author: budi.khoirudin || @x4ce On Twitter
Online @ www.omega.or.id :: http://ezine.omega.or.id

== Bermain-main dengan SiriProxy!  ==


Apakah SiriProxy Itu?
---------------------
Siri Proxy adalah sebuah proxy server yang digunakan untuk memperbolehkan developer/user 
membuat/menggunakan respon maupun fungsi yang dimiliki Apple's Siri "assistant" dengan 
tujuan yang berbeda.


Instalasi Pada Server (SiriProxy)
---------------------------------
a. Persiapan
	+ Ubuntu 11.10
	+ Terhubung dengan jaringan internet

b. Instalasi DNS server (Dnsmasq)
	+ Install aplikasi, library, maupun komponen yang dibutuhkan
		sudo apt-get install dnsmasq ruby build-essential openssl libreadline6 libreadline6-dev
		curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 
		libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion
		
	+ Ubah file konfigurasi pada dnsmasq.conf agar guzzoni.apple.com pointing ke ip server yang 
	  menjalankan SiriProxy
		sudo nano /etc/dnsmasq.conf	
		address=/guzzoni.apple.com/<ip-server>

	+ Restart dnsmasq agar menjalankan file configurasi yang tadi kita sudah ubah
		sudo /etc/init.d/dnsmasq restart

		
c. Instalasi Proxy server (SiriProxy)
	+ Download dan install RVM (Jika Belum Ada): 
		- Download/install RVM:
			bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
		- Set Path RVM:
			[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
		- Setup otomatis untuk melakukan set path RVM, setiap user melakukan login:
			echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

	+ Install Ruby 1.9.3 agar berjalan didalam RVM:
		rvm install 1.9.3

	+ Set RVM untuk menggunakan Ruby Versi 1.9.3 secara default:
		rvm use 1.9.3 --default 

	+ Install Rake and Bundler agar berjalan didalam RVM:
		rvmsudo gem install rake bundler
	
	+ Download SiriProxy dari Git Repository lalu Pindah Ke Direktori SiriProxy dan Install SiriProxy gem
		git clone git://github.com/westbaer/SiriProxy.git
		cd Siriproxy/
		rake install

	+ Membuat .siriproxy direktori di home user:
		mkdir ~/.siriproxy
		
	+ Copy default config file ke direktori .siriproxy yang kita buat tadi:
		cp ./config.example.yml ~/.siriproxy/config.yml

	+ Generate SSL Sertifikat:
		siriproxy gencerts 

	+ Install ~/.siriproxy/ca.pem kedalam iDevice. Caranya adalah dengan mengirimkan file ca.pem 
	  melalu attachment ke email kita sendiri yang sudah terhubung dengan iDevice. Selanjutnya Buka 
	  email app pada iDevice, buka pesan yang berisi ca.pem lalu klik attachmentnya, lalu keluar 
	  prompt konfirmasi klik yes/allow.
	
	+ Instalasi Bundle SiriProxy  yaitu keperluan-keperluan lain yang dibutuhkan oleh siriproxy seperti 
	  plugins dan lainnya:
		siriproxy bundle 

	+ Jalankan SiriProxy (dijalankan dengan akses root karena secara default SiriProxy menggunakan port 443 
	  yang notabene port < 1024, namun kita juga bisa mengubah port dengan menambahkan opsi p <port>):
		rvmsudo siriproxy server


Instalasi Pada Client (Spire)
-----------------------------
a. Persiapan
	+ iFile
	+ Plist Editor
	+ Jailbreak iDevice

b. Instalasi Aplikasi Spire
	+ Buka Cydia Store lalu ke BigBoss repo, setelah itu download Aplikasi Spire. Besar aplikasi tweak ini 
	  kira-kira sebesar 100MB lebih, jadi iDevice diset dalam keadaan aktif terus (never sleep) dan juga 
	  koneksi Wi-fi yang stabil (internet lancar jaya).

	+ Setelah instalasi selesai iDevice akan merestart (reboot) dirinya sendiri, jadi buat iDevice yang 
	  jailbreaknya thetered mesti mengunakan tools/aplikasi seperti redsn0w atau iBooty.

c. Setup disisi Client
	+ Setelah download dan install selesai, maka akan muncul spire didalam  Extensions tab of the Settings menu.
	+ Mengaktifkan Siri.
	+ Setup Ip SiriProxy.
	+ Setup Ip DNS, agar mengarah ke SiriProxy server yang sudah kita buat sebelumnya.
	+ Menghubungkan Antara iDevice -> SiriProxy -> OfficialSiri server
		- Share Otorisasi Iphone 4S via SiriProxy (Masa Expire 1 hari)
			i. Dengan Menggunakan iFile Edit File yang terdapat pada (kalo gak ada buat sendiri)
				/Users/Library/Preferences/com.apple.assistant.plist
			
			ii.	Koneksikan Iphone 4S kedalam SiriProxy server kita dengan cara, mengarahkan DNS kedalam DNS 
			    server yang sudah kita buat sebelumnya, lalu menggunakan Siri.
			
			iii. Hal itu digunakan agar SiriProxy Mendapatkan Otorisasi yang dimiliki oleh iphone 4S dan melakukan
				 share ke iDevice lainnya
			
			iv. Gunakan Siri/Spire yang terdapat pada iDevice

		- Menggunakan Token Ototentifikasi yang terdapat pada Iphone 4S
			i. Dengan Menggunakan iFile, Edit File yang terdapat pada (kalo gak ada buat sendiri) sesuaikan dengan 
			   data yang terdapat dialam Iphone 4S
				/Users/Library/Preferences/com.apple.assistant.plist

			ii.	Gunakan Siri/Spire yang terdapat didalam iDevice

	+ Salah satu contoh untuk memastikan bahwa IDevice dan Siriproxy berjalan dengan baik adalah dengan mengucapkan 
	  Test Siri Proxy pada spire/siri!


Contoh Penggunaan
-----------------
a. Via CLI (Command Line Interface)
	laptop@ubuntu:-$ rvmsudo siriproxy -v
	SiriProxy version 0.3.0
	laptop@ubuntu:-$ rvmsudo siriproxy console
	>> test siri proxy
	=> Siri Proxy is up and running!
	>>
	
b. Via IDevice (Ipod Touch 4G, Iphone 3GS, Iphone 4, Iphone 4S)
	http://www.youtube.com/watch?v=SCr8gVoWAH8

	
Free Test, Jika Anda ingin Mencoba
----------------------------------
a. Saya sediakan free SiriServer untuk Testing yang berada di https://siri.khoirudin.com
b. SSL keynya dapat didownload di http://siri.khoirudin.com/siri.pem 
c. File *.plist nya dapat didownload di http://siri.khoirudin.com/com.apple.assistant.zip


Sumber Referensi
----------------
https://github.com/plamoni/SiriProxy
https://github.com/fopina/SiriProxy
https://github.com/westbaer/SiriProxy
http://www.ijailbreak.com/cydia/setup-a-siri-proxy-server-for-spire/
https://gist.github.com/1428474
http://blog.chpwn.com/post/14843222758
http://blog.chpwn.com/post/14612320117
http://www.addictivetips.com/mobile/spire-legal-siri-port-on-iphone-4-iphone-3gs-ipad-ipod-touch-4g-3g/

	
	
*greetz to: 
	- Allah SWT dan Rasullulah SAW!
	- Buat Temen-Temen Di Palembang Anggi, Andicka, Nanda, Lusi, Luny, dan Temen-temen lainnya
	- All Crew/Member Nyubicrew (Bius, Matdhule, Nyubi, Parcomx, Baby dan Semua Crew)
	- All Staff/Member Echo (K-159, Lirva32, Hydra, y3dips, az001 dan Temen-temen lainnya)
	- All Staff/Member RNDC (SakitJiwa, Arif Dewae, Faco, Murray, Kendi dan Temen-temen )
	- Komunitas dan Penduduk Cyber Undergroundnya Indonesia :)!
	- Pemerhati dan Periset IT yang bersedia berbagi pengetahuannya


	
	kritik & saran kirimkan ke feedback@khoirudin.com
