Instal paket di Ubuntu melalui Firefox

Firefox yang dipasang pada Ubuntu (dan BlankOn) sudah dilengkapi dengan sebuah pengaya bernama Ubufox (atau Blankfox pada BlankOn) yang digunakan khusus untuk keperluan Ubuntu (dan BlankOn). Salah satu fungsinya adalah melakukan instalasi paket!

Di Firefox, kita bisa mengatur aplikasi khusus yang akan menangani sebuah protokol yang kita tuliskan pada kotak isian alamat. Hal inilah yang dimanfaatkan oleh pengaya tersebut agar dapat membuat instalasi paket dapat dilakukan melalui Firefox.

Dengan menuliskan sebuah URL dengan protokol apt, maka kata yang disebut setelahnya akan dianggap sebagai sebuah nama paket yang mau diinstal dengan menggunakan synaptic. Contoh:

apt://minbar

Cobalah ketikkan URL di atas pada kotak isian alamat di Firefox pada Ubuntu atau BlankOn! Sebuah kotak dialog akan muncul dan menanyakan apakah Anda ingin menginstal paket minbar atau tidak. Jika Anda sudah menginstalnya, maka kotak dialog akan berisi pemberitahuan kalau Anda sudah pernah menginstalnya.

Hal ini juga yang dimanfaatkan oleh sebuah katalog online aplikasi di Ubuntu, yaitu appnr. Proses pencarian atau penemuan aplikasi bisa jadi bukan hal yang mudah. Bisa jadi masih banyak aplikasi-aplikasi menarik yang belum Anda temui di antara sekian ribu paket pada repositori Ubuntu. Oleh karena itu, situs katalog semacam ini hadir untuk membantu Anda.

Jika Anda mengklik tombol Install pada situs tersebut, maka Anda akan dialihkan ke sebuah URL baru dengan protokol apt. Jika Anda menggunakan pengaya Ubufox (atau Blankfox) yang sudah terpasang pada instalasi Firefox di Ubuntu (atau BlankOn), maka Synaptic akan dijalankan secara otomatis dan mencoba menginstal paket yang Anda pilih pada situs appnr tadi.

Klik tengah di Firefox

Klik di ..

  • Link: buka halaman yg dituju di tab baru
  • Tombol back: buka halaman sebelumnya di tab baru
  • Tombol forward: buka halaman selanjutnya di tab baru
  • Tombol home: buka halaman beranda di tab baru
  • Di tab yang ada: tutup tab tersebut.
  • Di bagian tab kosong: buka lagi tab yang sebelumnya ditutup
  • Di bookmark folder: buka semua bookmarks yg ada di folder tsb
  • Tombol Stumble! punyanya StumbleUpon: buka halaman yg disediain di tab baru. Begitu pula pada tombol Favorites, Friends, dsb.

apa lagi ya?

Tunnel koneksi

Sebagai pengembang BlankOn, maka salah satu server yang sering saya dikunjungi adalah yeyen alias irgsh alias dev.boi. Namun, mengakses server itu dari sini perlu ditemani oleh sebungkus indomie yang belum dimasak sehingga bisa masak sambil nungguin koneksi beres xD Ini apa koneksi Internet di Belanda kurang cepet tuk ngakses mesin tsb? Di Finlandia kabarnya juga seperti itu =P

Untungnya saya punya akses yang lumayan cepat ke sebuah mesin yang punya koneksi lumayan cepat ke mesin yeyen.. Dengan kata lain, ada mesin perantara yang punya koneksi lumayan ke saya dan yeyen. Hal ini berarti saya bisa menggunakan mesin tersebut untuk dijadikan tukang ojek seluruh data yang mau saya kirim/terima ke/dari mesin yeyen =D

Kalau mau mengakses layanan http dengan browser, saya biasanya membuka tunnel via ssh dengan menggunakan socks proxy. Sintaksnya kira2 seperti ini.

$ ssh -D12345 mesin.perantara

Port 12345 adalah port dari socks proxy yang akan digunakan. Browser tinggal diatur agar menggunakan socks proxy pada port tersebut supaya koneksi dilewatkan melalui mesin perantara.

Namun.. berhubung koneksi dari tempat saya itu sudah cukup cepat tuk mengakses situs2 lainnya, mengapa seluruh koneksi harus dilewatkan ke mesin perantara terlebih dahulu? Maka dari itu, akan lebih baik apabila kita bisa memilah-milih koneksi mana yang mau dilewatkan atau langsung.

Konfigurasi proxy di browser Firefox yang saya gunakan hanya bisa membuat pengecualian situs mana yang tidak dilewatkan melalui perantara. Yang saya inginkan adalah kondisi sebaliknya dimana saya ingin menentukan situs yang ingin dilewatkan melalui perantara. Untungnya, Firefox mendukung fasilitas konfigurasi proxy otomatis sehingga saya bisa mengatur lewat konfigurasi yang ini.

Caranya adalah dengan membuat berkas skrip konfigurasi proxy otomatis seperti yang berikut ini.

function FindProxyForURL(url, host) {
   if (shExpMatch(url, "*dev.blankonlinux.or.id/*") ||
       shExpMatch(url, "*irgsh.blankonlinux.or.id/*") ||
       shExpMatch(url, "*yeyen.blankonlinux.or.id/*") ||
       shExpMatch(url, "*cecunguk.blankonlinux.or.id/*") ||
       shExpMatch(url, "*.ubuntu-id.org/*")) {

      return "SOCKS 127.0.0.1:12345; DIRECT";
   }

   return "DIRECT";
}

Seperti yang tertulis di atas, koneksi ke beberapa situs akan dialihkan melalui SOCKS proxy di 127.0.0.1 port 12345. Jika proxy tersebut tidak tersedia (misalnya saya belum membuka koneksi tunnel tsb), maka koneksi langsung tanpa proxy (DIRECT) akan dibuat. Untuk koneksi menuju situs selain yang disebutkan di sana, koneksi langsung akan digunakan.

Simpan skrip di atas ke dalam sebuah berkas, misalnya proxy.pac. Lalu tunjuk berkas tersebut dari kolom pengaturan konfigurasi otomatis, misalnya file:///Users/iang/Sites/proxy.pac. URL tersebut akan menunjuk ke berkas yang ada di /Users/iang/Sites/proxy.pac. Silakan disesuaikan sendiri.

Urusan dengan koneksi http/https bisa dianggap sudah selesai. Namun, saya juga masih harus dapat mengakses mesin yeyen melalui koneksi ssh, misalnya untuk mengirim perubahan pada cabang Bazaar yang ada di mesin yeyen. Bagaimana supaya koneksi bisa dilewatkan melalui mesin perantara juga? tentu saja melalui tunneling =D

Caranya kira2 seperti ini.

$ ssh -L2222:yeyen.blankonlinux.or.id:22 mesin.perantara

Dengan menjalankan perintah tersebut, maka di mesin kita sendiri (lokal = L) akan dibuka port 2222 dimana koneksi menuju port tersebut akan diteruskan ke mesin yeyen.blankonlinux.or.id port 22 melalui si mesin.perantara.

Dengan ini, saya bisa menggunakan port tersebut saat mengirim perubahan pada cabang Bazaar. Misalnya seperti berikut.

$ bzr push bzr+ssh://[email protected]:2222/bzr/meuligoe/firefox/

Yayyaa.. begitulah kira2.. silakan dicoba2 sendiri =P