Archive

Archive for the ‘Tips 'n trick’ Category

Cara Lain Mendapatkan Facebook Share Count

October 15, 2016 Leave a comment

Berhubung Facebook Query Language (FQL) & REST API untuk mendapatkan share count dari sebuah URL sudah deprecated alias ditutup, kita bisa menggunakan cara lain yang sebenarnya cara lama yaitu dengan menggunakan Facebook Graph, namun ada beberapa keterbatasan dalam penggunaannya, salah satunya adalah application request limit, dimana request dibatasi sehingga kita harus pintar dalam penggunaannya dengan membatasi request langsung ke Facebook Graph.

Contoh penggunaannya:

http://graph.facebook.com/?id=http://paidpost.nytimes.com/netflix/women-inmates-separate-but-not-equal.html

Dan contoh return yang sukses:

{
   "og_object": {
      "id": "794700120549820",
      "description": "As the number of women inmates soars, so does the need for programs and policies that meet their needs.",
      "title": "Women Inmates Separate But Not Equal (Paid Post by Netflix From NYTimes.com)",
      "type": "website",
      "updated_time": "2016-10-15T01:27:36+0000"
   },
   "share": {
      "comment_count": 0,
      "share_count": 8659
   },
   "id": "http://paidpost.nytimes.com/netflix/women-inmates-separate-but-not-equal.html"
}

Dan contoh return jika error:

{
   "error": {
      "message": "(#4) Application request limit reached",
      "type": "OAuthException",
      "is_transient": true,
      "code": 4,
      "fbtrace_id": "EYe9fTwFLmI"
   }
}

Untuk mengatasi keterbatasan tersebut, kita dapat menggunakan teknik caching, agar request yang mengarah ke Facebook Graph terminimalisir. Cache yang digunakan terdiri atas 2, yaitu temporary cacheΒ (bisa diset dengan ttl 5 menit) dan lifetime cache (diset dengan unlimited ttl), kenapa menggunakan 2 cache? karena jika ttl temporary cache habis, lalu saat request ke Facebook Graph return-nya error, kita masih bisa menggunakan lifetime cache sebagai cadangan.

Kurang lebih step-by-step proses yang dijelaskan dalam flowchart diagram berikut ini:

get-facebook-share-count

Selamat mencoba!

Koneksi SSH melalui SOCKS Proxy

Misalkan Anda mempunyai sebuah server di internet, katakanlah Host A, yang menjalankan servis SSH server pada port standar 22. Pada kondisi normal, Anda bisa bebas melakukan koneksi SSH ke Host A, tapi suatu ketika Anda sampai pada suatu keadaan dimana koneksi SSH tidak diperbolehkan dalam suatu jaringan tertentu (katakanlah di kampus), sang admin hanya memperbolehkan koneksi melalui HTTP Proxy dan beberapa servis lain (seperti SMTP, POP3, dan IMAP). Tapi disini saya tidak akan membahas koneksi SSH melalui HTTP Proxy (sudah banyak artikel yang membahas hal ini).

Sebelumnya saya sudah mencoba koneksi SSH melalui HTTP Proxy, tapi sepertinya sang admin tidak memperbolehkan method CONNECT yang dibutuhkan untuk membuat koneksi TCP. Kejam sekali adminnya, tapi saya belum menyerah πŸ˜€

Yang akan kita bahas adalah bagaimana melakukan koneksi SSH melalui SOCKS Proxy. Tapi sebelumnya apa itu SOCKS Proxy?

Dari Wikipedia:

SOCKS is an Internet protocol that facilitates the routing of network packets between client–server applications via a proxy server. SOCKS performs at Layer 5 of the OSI modelβ€”the session layer (an intermediate layer between the presentation layer and the transport layer). Port 1080 is the registered port designated for the SOCKS server.

Disitu juga diberikan contoh kasus:

Bill wishes to communicate with Jane over the internet, but a firewall exists on his network between them and Bill is not authorized to communicate through it himself. Therefore, he connects to the SOCKS proxy on his network and sends to it information about the connection he wishes to make to Jane. The SOCKS proxy opens a connection through the firewall and facilitates the communication between Bill and Jane. For more information on the technical specifics of the SOCKS protocol, see the sections below.

Yang kurang lebih maksudnya adalah kita menggunakan perantara untuk melakukan koneksi, karena koneksi langsung tidak diperbolehkan. Misal: A dan B sebagai host client dan server yang ingin melakukan koneksi, dan C adalah SOCKS proxy. Tapi koneksi dari A ke B tidak diperbolehkan, sedangkan koneksi C ke B diperbolehkan. Nah, kita bisa menumpang koneksi dari C ke B, sehingga A bisa terhubung ke B.

OK, langsung saja kita praktekkan. Pertama-tama kita melakukan koneksi dari A ke C, dalam hal ini kita akan membuat SOCKS proxy menggunakan openSSH.

$ ssh -p993 -D localhost:4321 -l user hostC

Dalam hai ini saya melakukan SSH ke Host C melalui port 993, bukan port standar 22 karena memang di blok oleh admin, port 993 sebenarnya adalah servis IMAP, yang diperbolehkan oleh admin, jadi sebelumnya pastikan SSH server di Host C berjalan di port 993 atau bisa dual port 22 dan 993. Sebenarnya ini hanya akal-akalan saya untuk mengelabui admin saja πŸ˜€

Sekarang kita mempunyai SOCKS Proxy di localhost port 4321. Tapi tunggu dulu, kenapa localhost? Bukankah SOCKS Proxy adalah Host C? Ya, lagi-lagi ini adalah akal-akalan saya, Anda tentu saja bisa menggunakan koneksi langsung ke Host C, tanpa melakukan binding/tunnel SSH terlebih dahulu, tapi yang menjadi masalah disini adalah saya juga tidak bisa melakukan koneksi SOCKS dari A ke C, lihat di atas, SOCKS Proxy menggunakan port 1080, yang tentu saja di blok oleh admin.

Selanjutnya tinggal menggunakan SOCKS Proxy tersebut untuk melakukan koneksi ke Host B. Tapi, untuk melakukan koneksi SSH melalui SOCKS Proxy kita membutuhkan bantuan program lain. Dalam hal ini yang sudah saya cobakan adalah nc dan connect, alternatif lain adalah connect-proxy, corkscrew tidak bisa digunakan karena belum/tidak mendukung SOCKS Proxy, hanya HTTP(s) Proxy.

$ ssh -o “ProxyCommand /usr/bin/nc -x localhost:4321 %h %p” -l user hostB

atau jika menggunakan program connect:

$ ssh -o “ProxyCommand /usr/bin/connect -S localhost:4321 %h %p” -l user hostB

Selamat ber-SSH ria πŸ˜€

.

Referensi:

Mem-POP email Yahoo! tanpa Mail Plus

March 8, 2011 6 comments

Sebenarnya sudah lama ingin menutup akun email di Yahoo!, tapi mengingat masih banyaknya registrasi website yang menggunakan email ini membuat saya mengurungkan niat untuk menutup akun di Yahoo!. Salah satu yang membuat saya ingin hengkang adalah web interface-nya yang bisa dibilang kurang “user friendly”, terutama saat membalas dan mem-forward email (selalu top post dan susah untuk men-quote), belum lagi masalah cara menampilkan email yang satu-per-satu, tidak seperti gmail yang bisa conversation.

Akhirnya saya berpikir untuk mengambil saja email dari server Yahoo! dengan menggunakan mail client (Mail di Mac OS), dimana saya sudah mulai terbiasa menggunakannya. Tapi lagi-lagi Yahoo! “ngajak ribut” karena akun free tidak bisa mengambil email melalui POP maupun IMAP, berbeda dengan gmail yang membebaskan pengguna untuk melakukannya. Agar bisa mengambil email, kita diharuskan membayar kira-kira $20 per tahun, tidak terlalu mahal sih, tapi saya sudah terlanjur kecewa dengan Yahoo!, jadi saya memutuskan mencari cara lain.

Setelah melakukan googling, saya menemukan beberapa cara:

Yang pertama, dengan mengubah settingan lokasi di akun Yahoo! ke Yahoo! Asia, tapi sayang sekali cara ini tidak berlaku lagi alias sudah di blok oleh Yahoo!.

Yang kedua, menggunakan aplikasi YPOPs!, tapi sayang sekali hanya untuk Windows family.

Terakhir, ketemu dengan FreePOPs, yang support Windows, Linux, Mac OS, bahkan BeOS.
Setelah googling lebih lanjut, beruntung saya menemukan yang namanya MacFreePOPs, dimana sudah ada GUI yang tentunya memudahkan pemakaian. Perlu diketahui juga bahwa MacFreePOPs ini juga sudah menyediakan FreePOPs didalamnya, jadi tidak perlu install satu persatu.

Pertama, tentu saja download aplikasi MacFreePOPs, saya menggunakan versi 2.6 dimana versi FreePOPs nya adalah 0.2.9.

Install seperti biasa, tidak ada yang aneh-aneh. Setelah install, aplikasi FreePOPs akan berada di ~/Library/Application\ Support/MacFreePOPs/, sedangkan MacFreePOPs.app silahkan di salin ke /Applications.

Sebelum menjalankan MacFreePOPs ada sedikit penyesuaian yang perlu dilakukan, perlu diketahui FreePOPs menggunakan script LUA untuk mengambil email dari server, dan script-script tersebut ada di ~/Library/Application\ Support/MacFreePOPs/src/lua/. Dalam hal ini, jika kita menggunakan Yahoo! maka script yang dipakai adalah yahoo.lua. Tapi sayang sekali ada sedikit masalah di script ini saat melakukan koneksi ke server Yahoo! (Catatan: script yahoo.lua ini terakhir kali di update pada tahun 2009), untungnya ada seseorang yang berhasil meng-update script ini. Update script tersebut bisa di download di http://freepops.diludovico.it/showthread.php?p=56170#post56170, sayangnya butuh registrasi terlebih dahulu, bagi yang tidak mau registrasi silahkan download di sini (rename jadi zip). Catatan: script update ini dibuat pada tahun 2010.

Letakkan script update tersebut (yahoo.lua) di ~/Library/Application\ Support/MacFreePOPs/src/lua_updates/.

Selanjutnya, tinggal jalankan aplikasi MacFreePOPs dan jalankan service freepopsd, ini adalah daemon yang berfungsi mengambil email dari server melalui HTTP dan menjadikannya bisa diakses melalui POP, default port nya adalah 2000.

MacFreePOPs

MacFreePOPs

Sekarang tinggal melakukan konfigurasi di mail client, dalam hal ini saya menggunakan Mail di Mac OS X 10.5.

Lakukan Add Account seperti biasa, Type yang digunakan adalah POP, dan Incoming Mail Server adalah 127.0.0.1 dan port yang digunakan adalah 2000 dan pastikan Anda tidak menggunakan SSL.

Add Account

Add Account

Advanced Tab - Set port

Advanced Tab - Set port

Selamat mendowload email πŸ˜€

SSH tunneling dengan putty dan iSSH

February 25, 2011 1 comment

Kalau di postingan ini dan ini saya menggunakan command line untuk melakukan ssh tunneling (baca: “pencurian” bandwidth :P), tapi koq lama-lama capek juga ya karena yang diketikkan cukup panjang dan dilakukan berulang-ulang:

$ ssh -D localhost:4321 -p 993 support@hostname

Akhirnya nyari-nyari ssh client yang memiliki GUI dan bisa melakukan tunneling.

Dan, ternyata gw harus kembali bernostalgia dengan putty, tools yang pertama kali kenal pas jaman kuliah D3 πŸ˜€
Tapi ternyata config-nya ga segampang yang dibayangkan, dan agan Rasyid-lah jadi saksinya, ribet kan gan? Apa gw yg bego ya πŸ˜›

Akhirnya ngoprek-ngoprek lagi di rumah, dan akhirnya ketemu πŸ™‚

Seperti biasa, isi dulu Hostname/IP address tujuan dan portnya, Connection type yang digunakan tentu saja SSH.

Lanjut ke menu Connection –> SSH –> Tunnels

Masukin Source portnya localhost:4321, jangan centang Dynamic dan IPv4 (kalau Auto malah nanti kepilihnya IPv6).

Udah, gitu doang πŸ˜€ Jangan lupa di Save biar nanti ga capek-capek setting lagi.

 

Oiya, ternyata ada yang lebih mudah lagi, yaitu iSSH. Berhubung putty tidak berjalan secara native di Mac OS, jadinya gw milih iSSH aja, dan putty memang lebih “ribet” karena menunya lebih banyak (tidak hanya SSH), sedangkan iSSH khusus untuk SSH jadi lebih simpel πŸ˜€

Semuanya di satu halaman, dan memang sudah ada templatenya πŸ˜€

Kalo begini kan tunneling jadi lebih lancar *digeplak admin πŸ˜€

Categories: Tips 'n trick Tags: , , ,

Jangan curi cookie saya!

February 10, 2011 Leave a comment

Sebenarnya ini isu yang sudah cukup lama beredar dan mungkin sudah basi tapi sepertinya masih banyak yang belum concern atau memang belum mengerti akan hal ini.

Pernahkah suatu saat tiba-tiba Anda tidak bisa login ke akun Facebook atau Twitter Anda? Setelah Anda ingat-ingat lagi ternyata Anda baru saja browsing di suatu hotspot cafe dan Anda curiga ada orang yang melakukan hacking atas akun Anda di tempat itu. Anda mungkin mengira sang hacker adalah benar-benar ahli komputer dan seorang geek sejati.

Tapi, tunggu dulu! Tebakan Anda salah besar, dengan modal sedikit googling dan selalu update akan keamanan internet, sekarang anak SD pun bisa mencuri akun Anda dengan mudah.

Ya, berkat software yang dibuat oleh Eric Butler yang bernama Firesheep ini, seseorang dapat dengan mudah mencuri akun Anda dalam hitungan menit bahkan detik. Sebenarnya teknik yang digunakan cukup sederhana yaitu dengan meng-capture cookie yang “berterbangan” di koneksi WiFi/Wireless Anda. Tapi dulu seorang hacker harus menganalisa packet yang telah tercapture satu persatu, namun dengan Firesheep ini segalanya menjadi mudah karena sudah ada interface yang cukup sederhana dan packet-packet yang telah ter-capture tadi dapat dianalisa otomatis oleh Firesheep.

Nanti dulu, apa itu cookie?
Cookie disini tentu saja bukan kue yang biasa Anda makan, melainkan sebuah data yang disimpan dalam browser saat Anda login ke website tertentu, Facebook dan Twitter misalnya. Fungsinya untuk memudahkan Anda jika lain waktu Anda kembali membuka website tersebut sehingga Anda tidak perlu repot-repot login kembali.

Kenapa cookie saya bisa di curi?
Tentu saja tidak semua kondisi seorang hacker dapat mencuri cookie Anda, sang hacker bisa saja meng-capture packet-packet jaringan yang lewat koneksi wireless, tapi yang menjadi persoalan adalah apakah packet-packet tersebut berarti atau memiliki nilai tertentu. Bisa saja sang hacker hanya mendapatkan “sampah” (packet-packet yang tak ada artinya), tapi bisa mendapatkan “berlian” (packet-packet yang berisi informasi login Anda semisal cookie dan telnet).

Nah, yang menjadi perbedaan apakah packet Anda bisa dicuri atau tidak adalah dengan mengetahui apakah koneksi yang Anda gunakan memiliki fasilitas enkripsi atau tidak. Packet yang terenkripsi menyebabkan packet Anda menjadi sulit untuk dibaca karena tentu saja ada fungsi enkripsi didalamnya. Enkripsi yang digunakan dalam koneksi wireless contohnya adalah WEP, WPA, WPA2.

Lalu, bagaimana agar cookie saya tidak bisa dicuri?

  • Gunakan HTTPS, karena HTTPS menggunakan enkripsi di dalamnya, tapi tentu ini adalah pencegahan dari pihak server (pemilik website), karena sepertinya masih jarang yang memakai HTTPS (facebook dan twitter tetap menggunakan HTTP) karena HTTPS menambah berat load koneksi, karena tentu saja ada fungsi enkripsi didalamnya, berbeda dengan HTTP yang plainteks.
  • SSH Tunneling atau VPN, sama seperti HTTPS, SSH juga menggunakan enkripsi didalamnya, tapi ini bukan pencegahan dari pihak server, karena server tetap menggunakan HTTP, tetapi kita sebagai klien menggunakan tunneling sehingga koneksi kita tidak akan bisa dibaca oleh sang hacker.
  • Gunakan BlackSheep, ini adalah software yang diciptakan untuk melawan Firesheep dengan mengirim fake/dummy data ke Firesheep secara terus menerus.
  • Jangan connect ke open WiFi, ini tentu saja cara yang paling ampuh karena WiFi yang memiliki security key akan mengamankan koneksi Anda. Sebisa mungkin sarankan kepada pemilik hotspot untuk memproteksi WiFi nya karena tentu saja ini untuk kebaikan bersama.
  • Teknik preventif yang paling aman adalah dengan menghapus cookie Anda secara berkala dan sebisa mungkin jangan gunakan fitur “Remember Me” yang ada pada fasilitas website.Atau jika Anda terpaksa connect ke open WiFi, gunakanlah browser yangΒ  berbeda dengan yang sering Anda pakai, misal Anda menyimpan banyak cookie di Firefox maka gunakan Google Chrome (yg tak ada cookie-nya) saat Anda browsing di open WiFi.
  • … Ada yang ingin menambahkan?Β  πŸ˜€

Hmm, tentu saja tulisan tanpa bukti kurang menarik :P, kalau kata orang KasKus “No Pic = Hoax” πŸ˜›

Ini saat saya “mencuri” cookie akun twitter seseorang di salah satu cafe di Bogor πŸ˜€
Tenang saja, akun ini tidak saya apa-apain koq, cuma jadi bahan percobaan doang πŸ˜€

Sekian…
Tulisan gw bener ga sih, acakadut gini… =))

Categories: Tips 'n trick Tags: ,

Logout paksa user di Linux

January 29, 2011 Leave a comment

Kondisi: Anda login secara remote ke server Linux lalu tiba-tiba koneksi jaringan terputus, maka session login Anda akan tetap tersimpan sampai waktu tertentu. Gambarannya kurang lebih seperti ini:

Terlihat bahwa user pertama (pts/0) adalah login awal kita yang terputus, lalu kita login lagi sebagai user kedua (sebenarnya usernya sama, hanya sessionnya yang berbeda). Jika diperhatikan, perbedaan dari kedua session adalah waktu IDLE time yang tinggi di session pertama (3:15).

Nah, untuk mematikan secara paksa session yang sudah tidak dipakai itu, caranya cukup mudah:

$ pkill -9 -t pts/0

Categories: GNU/Linux, Tips 'n trick Tags:

Using HP Laserjet 1020 from network printer on Mac OS

January 27, 2011 Leave a comment
HP Laserjet 1020

HP Laserjet 1020

The situation is pretty similar to my previous post Using HP Laserjet P1006 from network printer on mac os, but the printer we are about to install now is HP Laserjet 1020. The printer is attached to Windows server 2003 as printer server, and you as a client want to use it from local network. But unfortunately Mac OS doesn’t provide driver for network use, otherwise we use foo2zjs.

foo2zjs is an open source printer driver for printers that use the Zenographics ZjStream wire protocol for their print data, such as the Minolta/QMS magicolor 2300 DL or Konica Minolta magicolor 2430 DL or HP LaserJet 1020 or HP LaserJet Pro P1102 or HP LaserJet Pro P1102w or HP LaserJet Pro CP1025nw.

As you can see, HP Laserjet 1020 is listed there.

OK, let’s install it. First, follow instruction step 1 to 3 on my previous post. Step 4 is pretty similar too, the difference is only on the ./getweb command.

$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz
$ tar zxf foo2zjs.tar.gz
$ cd foo2zjs
$ ./getweb 1020
$ sudo make install

Last, add the printer using Print & Fax Preferences. Select HP Laserjet 1020 Foomatic/foo2zjs-z1(recommended).

Adding the printer

Adding the printer

Happy printing πŸ˜€

Categories: Tips 'n trick Tags: , ,