Eko Fajar Yanuwarsa - 5105100061 Pembimbing Wahyu Suadi, S.Kom., M.Kom. 1
Python (PyXpcom) Perl (PlXpcom) Lam ma Java (JavaXpcom) JavaScript 2
DOM : Document Object Model XUL : XML User Interface Languange CSS : Cascading Style Sheets XBL : XML Binding Language 3
Remote server linux Penggunaan protokol ssh pada umumnya Bagaimana jika ssh di blok oleh firewall Diganti dengan protokol http Menggunakan PyXpcom dan Qweb Service 4
Bagaimana bahasa pemrograman Python dapat menggantikan bahasa pemrograman JavaScript sebagai bahasa pemrograman utama? Bagaimana sebuah aplikasi remote server dapat dibangun dengan menggunakan teknologi yang dikembangkan oleh Mozilla? Bagaimana penggunaan Remote Service pada server agar dapat dipanggil pada saat dibutuhkan? Bagaimana penggunaan enkripsi data pada PyXpcom? 5
Mengimplementasikan bahasa pemrograman python yang dijalankan bersama bahasa pemrograman XUL untuk sebuah aplikasi remote server. Dasar sebagai pengembangan aplikasi lainnya yang berbasis pada bahasa pemrograman python dan XUL untuk mozilla. 6
Client : PyXpcom, XUL, XULRunner Server: Qweb Python, AjaxTerm Aplikasi dibangun menggunakan bahasa Python sebagai bahasa utamanya dipadu dengan beberapa bahasa pemrograman lainnya untuk tampilan antar muka 7
PyXpcom : komunikasi antara Python dan Xpcom, seperti aplikasi Python yang dapat mengakses objek-objek Xpcom, dan Xpcom yang dapat mengakses setiap class pada Python yang diimplementasikan pada sebuah Xpcom Interface. 8
XUL : XML User Interface Language, adalah sebuah format dokumen dan kosa kata yang digunakan untuk mendeskripsikan crossplatfrom user interface dari engine firefox 9
sebuah runtime environment yang dikembangkan oleh Mozilla Foundation untuk menyediakan back-end dari aplikasi XUL secara umum. XULRunner menggantikan Gecko Runtime Environment, sebuah proyek dengan tujuan yang sama. XULRunner pertama dirilis pada Pebruari 2006, berdasarkan kode dasar Mozilla 1.8, dan Mozilla 1.9 versi alpha yang di rilis pada tahun 2007 10
11
sebuah WSGI (Web Server Gateway Interface) HTTP server thread dan sebuah fungsi untuk menjalankan fungsi secara otomatis sesuai dengan environment (baik standalone, CGI, atau FastCGI). 12
Ajax JavaScript CSS Base64 Wireshark Arpspoof 13
14
Operasi-operasi dasar pada UNIX, seperti: ls ps cat who mkdir rm cp rename chmod chown LINUX Editor, seperti: vim nano 15
Penggunaan enkripsi base64 untuk mengenkripsi data yang dikirim dari client ke server Ajax encoding base64 Python decoding 16
Remote client akan menampilkan halaman konsole Linux seperti halnya pada aplikasi yang sudah ada. Remote client akan menampilkan hasil perintah dari operasi-operasi yang dimaksud. Server akan menjalankan hasil dari perintah yang diinginkan untuk diproses. Data yang dikirimkan merupakan data hasil decoding. 17
NB: dalam satuan detik dimulai dari aplikasi Wireshark dijalankan Mozilla Remote Client Request Response Result ALERIA 1,087578 1,103060 0,015482 SHIRO 1,232377 1,255214 0,022837022837 ARARE 1,608240 1,626611 0,018371 PSB4 1,663817 1,681963 0,018146 PuTTy Request Response Result ALERIA 75,586832 75,799250 0,212418 SHIRO 22,966774 23,383717383717 0,416943 ARARE 12,109854 12,217914 0,108060 PSB4 38,782257 39,048092 0,265841 NB: - Pelaksanaan menggunaakan aplikasi Arpspoof dan Wireshark - Dalam satuan detik dimulai dari aplikasi Wireshark dijalankan 18
Penggunaan XULRunner memungkinkan aplikasi berjalan secara portable Dari uji coba yang telah dilakukan, pengiriman data dari client hingga di respon oleh server lebih cepat daripada aplikasi yang sudah tersedia (pembanding PuTTy) Aplikasi menggunakan open source, sehingga dapat dikembangkan sesuai keiinginan 19
Sekuritas hanya pada lingkungan pengiriman data dengan menggunakan enkripsi base64 yang merupakan jenis enkripsi umum digunakan, sehingga lebih lemah daripada aplikasi yang sudah ada. Aplikasi masih belum bisa diterapkan sebagai add-ons pada Mozilla Firefox 20
XulRunner sebagai framework dari Mozilla Firefox dikembangkan dengan berbasis pada web aplication, sehingga memungkin diimplementasikan sebuah remote service dengan memanfaatkan protokol HTTP sebagai jalan untuk transportasi data. Pemanfaatan protokol HTTP sebagai remote service memungkinkan pengguna untuk mengontrol server ketika akses ssh pada server ditutup atau di filter oleh firewall. Implementasi Python pada teknologi Mozilla membuktikan bahwa Python mampu menggantikan JavaScript sebagai bahasa utama bersama XUL dan bahasa pemrograman pendukung lainnya 21
22