Cara Membuat Widget Web Proxy Helper di Blogger dengan Native JavaScript
Pada artikel lama CodeFlare, widget proxy dibuat dengan sebuah form Blogger yang langsung mengirimkan URL menuju endpoint layanan proxy pihak ketiga.
Cara tersebut memang sederhana, tetapi mempunyai beberapa masalah. Endpoint internal layanan pihak ketiga dapat berubah sewaktu-waktu, pilihan server dapat tidak lagi tersedia dan blog tidak mempunyai kontrol terhadap bagaimana layanan tersebut memproses data pengguna.
Karena itu versi baru artikel ini menggunakan konsep yang lebih transparan bernama Web Proxy Helper.
Widget tidak berpura-pura menjadi server proxy. Blogger hanya melakukan validasi URL, menyiapkan alamat tujuan dan membantu pengguna membuka layanan proxy eksternal pada tab baru.
Pendekatan seperti ini lebih mudah dirawat karena tidak bergantung pada struktur form internal sebuah layanan proxy.
HTML dan JavaScript pada Blogger tidak dapat menjadi forward proxy penuh dengan sendirinya.
Untuk menjalankan proxy sebenarnya diperlukan server/backend yang menerima koneksi pengguna kemudian meneruskannya ke server tujuan.
Widget dalam tutorial ini adalah helper/launcher untuk memvalidasi URL dan membuka layanan proxy eksternal. Aktivitas jaringan selanjutnya berada di luar sistem Blogger.
- Apa Itu Proxy Server?
- Bagaimana Proxy Bekerja?
- Live Preview Web Proxy Helper
- Kenapa Widget Lama Diperbarui?
- Source Code Web Proxy Helper
- Cara Memasang di Blogger
- Pengaturan Widget
- Proxy Bukan Jaminan Anonim
- Perbedaan Proxy VPN dan DNS
- Troubleshooting
Apa Itu Proxy Server?
Proxy server merupakan sistem yang berada di antara client dan server tujuan.
Tanpa proxy, browser biasanya berkomunikasi langsung dengan server website.
Ketika proxy digunakan, alurnya secara sederhana menjadi:
Browser mengirim permintaan menuju proxy.
Proxy menentukan bagaimana request akan diteruskan.
Server tujuan menerima koneksi melalui alamat jaringan proxy.
Data dari server tujuan diteruskan kembali kepada client.
Namun implementasi proxy dapat sangat berbeda. Ada HTTP proxy, HTTPS proxy, SOCKS proxy, reverse proxy, forward proxy hingga sistem proxy berbasis protokol modern.
Bagaimana Proxy Bekerja?
Pada forward proxy, server tujuan biasanya menerima koneksi dari IP egress milik proxy.
Tetapi hal tersebut tidak berarti semua informasi pengguna otomatis tersembunyi.
Tergantung teknologi proxy yang digunakan, penyedia proxy dapat mengetahui tujuan koneksi, metadata tertentu atau bahkan isi request apabila terminasi TLS dilakukan pada layanan tersebut.
Live Preview Web Proxy Helper
Widget berikut melakukan tiga hal: memeriksa URL, menormalkan protokol HTTPS dan membantu pengguna membuka layanan proxy eksternal.
Widget ini tidak mengirim URL ke server CodeFlare.
Setelah URL valid, tombol Open Proxy membuka homepage penyedia proxy pada tab baru. URL tujuan juga otomatis disalin ke clipboard jika browser mengizinkannya sehingga dapat langsung ditempel pada layanan tersebut.
Cara ini sengaja dipilih daripada mengirim form langsung ke endpoint internal sebuah situs proxy yang dapat berubah tanpa pemberitahuan.
Kenapa Widget Lama Diperbarui?
Widget generasi sebelumnya mengirim form secara langsung ke:
Selain itu daftar lokasi server seperti US1, US2, US3 sampai EU10 ditulis langsung pada HTML.
Masalahnya, endpoint seperti itu merupakan bagian internal dari implementasi layanan pihak ketiga. CodeFlare tidak mengontrol apakah endpoint, nama parameter atau daftar server tersebut akan tetap sama.
Endpoint internal pihak ketiga
Server di-hardcode
Regex URL sangat panjang
Sulit dirawat
Native URL parser
Tidak bergantung endpoint internal
Provider mudah diganti
Lebih transparan
Source Code Web Proxy Helper
Berikut source code widget yang dapat dipasang pada Blogger.
Validasi utama terdapat pada:
Jika URL tidak valid, constructor tersebut menghasilkan error sehingga widget tidak perlu menggunakan regex URL yang sangat panjang.
Cara Memasang di Blogger
Widget dapat ditempatkan pada postingan, halaman statis atau gadget HTML/JavaScript.
Login ke Blogger kemudian buka menu Tata Letak.
Pilih area tempat widget ingin ditampilkan.
Gunakan gadget HTML/JavaScript.
Masukkan HTML, CSS dan JavaScript widget.
Simpan gadget kemudian uji melalui halaman blog.
Pengaturan Widget
Daftar provider berada pada elemen:
Jika salah satu layanan berubah atau tidak lagi tersedia, cukup hapus option tersebut.
Provider baru juga dapat ditambahkan:
Proxy Bukan Jaminan Anonim
Salah satu klaim yang sering ditemukan pada artikel proxy adalah bahwa menggunakan proxy otomatis membuat pengguna anonim.
Kenyataannya lebih kompleks.
Artinya penyedia proxy sendiri berada pada jalur koneksi.
Cookie, fingerprint browser, login account dan data aplikasi dapat tetap mengidentifikasi pengguna.
Gunakan website HTTPS terutama ketika mengirim data sensitif.
Logging dan retention data berbeda antara satu provider dengan provider lainnya.
Perbedaan Proxy VPN dan DNS
Biasanya memproses aktivitas browser atau URL tertentu melalui website proxy.
Scope: halaman tertentuMembuat tunnel jaringan yang dapat mencakup lebih banyak trafik perangkat.
Scope: jaringan/perangkatMenerjemahkan nama domain menjadi alamat jaringan. DNS bukan forward proxy untuk konten web.
Scope: resolusi domainBerada di depan server website dan bekerja atas nama server, bukan sebagai proxy browsing pengguna.
Scope: server originSebagai contoh, reverse proxy seperti yang digunakan banyak CDN mempunyai fungsi yang berbeda dari web proxy yang dibahas dalam artikel ini.
Pada sistem privacy proxy modern, koneksi juga dapat menggunakan HTTP CONNECT atau protokol tunnel lain. Cloudflare, misalnya, mendokumentasikan Privacy Proxy berbasis HTTP CONNECT dan MASQUE sebagai layanan forward proxy terkelola.
Troubleshooting
Masukkan hostname yang benar. Jika protokol tidak ditulis, widget otomatis mencoba menggunakan https://.
Browser mungkin memblokir popup atau alamat provider sudah berubah. Buka provider secara manual dan perbarui value pada option.
Memang sengaja demikian. Widget baru tidak bergantung pada parameter internal provider. Copy URL kemudian paste pada layanan yang dipilih.
Clipboard API dapat dibatasi pada kondisi tertentu. Widget dapat tetap membuka provider dan URL dapat dicopy manual dari input.
Beberapa website menggunakan WebSocket, DRM, login khusus, anti-bot, JavaScript kompleks atau kebijakan jaringan yang tidak kompatibel dengan web proxy tertentu.
Periksa apakah request benar-benar berjalan melalui layanan proxy. Browser juga mempunyai berbagai mekanisme lain yang dapat digunakan untuk mengenali sesi atau perangkat.
Pembaruan terbesar pada widget ini adalah memisahkan fungsi Blogger dengan fungsi server proxy.
Blogger hanya menjalankan interface dan JavaScript pada browser. Blogger tidak menerima lalu meneruskan seluruh trafik website tujuan seperti server proxy sungguhan.
Karena itu istilah Web Proxy Helper lebih tepat daripada mengatakan bahwa kode HTML ini membuat sebuah proxy server di Blogger.
Pendekatan ini juga membuat widget lebih mudah dipelihara. Jika suatu layanan proxy berhenti tersedia, cukup ganti alamat providernya tanpa harus memperbaiki form, daftar server dan parameter internal yang mungkin sudah berubah.
Untuk kebutuhan privasi atau jaringan yang lebih serius, pilih layanan yang mempunyai dokumentasi teknis dan kebijakan privasi yang jelas daripada mengandalkan proxy publik yang tidak diketahui pengelolanya.
No comments
💬 Share Your Thoughts & Join the Hall of Fame!
Punya pendapat atau tips tentang artikel ini? Tuliskan komentar kamu sekarang! 🚀
💎 Komentar yang bermanfaat, relevan, dan positif berkesempatan tampil di CodeFlare Hall of Fame dan masuk ke Top Commentators Widget.
👉 Comment now. Share your ideas. Get noticed on codeflare.net