1 poin oleh GN⁺ 2023-10-21 | 1 komentar | Bagikan ke WhatsApp
  • Saya memisahkan Firefox default yang ketat dan Firefox sekunder untuk mengizinkan JavaScript, lalu menyiapkan profil Firefox tambahan khusus untuk situs yang perlu tetap login dalam waktu lama
  • Firefox sekunder ini dipisahkan sepenuhnya bukan lewat profil, melainkan dengan mengubah variabel lingkungan $HOME sebelum dijalankan di Unix, dan digunakan dengan tujuan membuang cookie serta sesi saat ditutup
  • Beberapa situs mewajibkan autentikasi multifaktor, verifikasi email, dan alur login panjang bertahap setiap kali, sehingga tanpa mempertahankan cookie alur penggunaannya menjadi jauh lebih lambat
  • Pada profil per situs, saya memasang uBlock Origin dan Cookie AutoDelete agar hanya cookie yang diperlukan yang dipertahankan, sementara sisanya dibersihkan otomatis
  • Firefox Multi-Account Containers juga bisa menjadi alternatif, tetapi profil terpisah memisahkan hingga pengaturan ekstensi sehingga perilakunya lebih mudah diyakini

Cara memisahkan dua lingkungan Firefox

  • Penjelajahan default dilakukan di Firefox yang sudah dikustomisasi
    • Menggunakan pengaturan dan ekstensi yang ketat
    • Hampir tidak pernah menjalankan JavaScript
    • Digunakan tanpa login ke banyak situs
  • Untuk situs yang memerlukan JavaScript, digunakan lingkungan Firefox “just make it work” yang terpisah
    • Menjalankan JavaScript
    • Menerima dan mengirim ulang cookie
    • Saat browser ditutup, cookie dan sesi ikut dibuang
  • Lingkungan sekunder ini tidak dibuat sebagai profil Firefox, melainkan diterapkan dengan mengubah variabel lingkungan $HOME sebelum dijalankan di Unix
    • Firefox mengikuti $HOME di Unix
    • Kedua lingkungan terpisah sepenuhnya sehingga bisa menghindari potensi masalah

Profil per situs yang perlu mempertahankan login

  • Beberapa situs web memerlukan JavaScript dan login sekaligus, tetapi prosedur loginnya terlalu merepotkan
    • Setiap kali meminta autentikasi multifaktor dengan token fisik
    • Mengirim email setiap kali login
    • Harus melewati proses login panjang, lambat, dan bertahap
  • Untuk situs seperti ini, cookie login harus dipertahankan agar login dilakukan sesedikit mungkin
    • Beberapa situs memiliki hak akses penting, sehingga terasa kurang nyaman menjelajah tempat lain secara santai saat masih dalam keadaan login
  • Solusinya adalah membuat profil tambahan per situs di dalam konfigurasi Firefox JavaScript
    • Satu profil untuk setiap situs web yang merepotkan
    • Di setiap profil dipasang set add-on Firefox standar
    • Add-on intinya adalah uBlock Origin dan Cookie AutoDelete
  • Cookie AutoDelete diatur agar hanya menyimpan cookie yang diperlukan untuk situs tersebut atau situs terkait, dan membersihkan sisanya
    • Cookie tambahan muncul saat mengikuti tautan dari situs itu ke tempat lain, misalnya
    • Awalnya perlu sedikit usaha untuk mengetahui cookie situs mana yang harus dipertahankan
    • Setelah diatur, profil-profil ini bekerja dengan stabil
  • Di tiap profil, situs yang boleh memakai JavaScript juga bisa dibatasi, tetapi dalam praktiknya terlalu merepotkan
  • Firefox Multi-Account Containers juga memungkinkan, tetapi saya lebih menyukai profil terpisah
    • Pengaturan awal mungkin memerlukan lebih banyak kerja
    • Profil benar-benar terpisah satu sama lain, termasuk pengaturan ekstensi
    • Pada container, interaksi antara berbagai elemen bisa berubah tergantung situasi
  • Add-on yang biasanya juga ditambahkan mencakup Foxy Gestures, Cookie Quick Manager, dan Certainly Something
    • Foxy Gestures adalah bagian penting dari pengalaman menggunakan Firefox
    • Certainly Something digunakan untuk memeriksa sertifikat TLS
    • Beberapa profil juga menumpuk add-on tambahan untuk mitigasi pelacakan
    • Belakangan ini saya juga memasang tombol bookmarklet untuk readable dan fixed

1 komentar

 
GN⁺ 2023-10-21
Komentar Hacker News
  • Permata sebenarnya dari Firefox adalah Containers. Browser lain tidak punya yang seperti ini, dan ini adalah kekurangan besar di Chrome
    Ini bukan sekadar berarti “buka jendela privat”, melainkan bisa membuat 1 + secara praktis profil/container tanpa batas. Firefox punya ekstensi Temporary Containers, sehingga setiap tab baru mendapat container sementara, dan secara default terisolasi. Saya mengaturnya agar saat menekan Ctrl lalu mengeklik tautan, tautan dibuka sebagai tab baru di container yang sama yang sudah ada, dan sesi hanya bisa digabung saat saya memang ingin menggabungkannya. Dengan Proxy Containers, tiap tab juga bisa memakai jalur proxy yang berbeda
    Chrome dan developer tools-nya punya banyak kelebihan, dan meski Mozilla telah menimbulkan berbagai masalah, saya lebih menghormati misi Firefox. Namun terlepas dari plus-minusnya, karena ini satu-satunya browser yang bisa melakukan hal-hal seperti ini, saya jadi terikat pada Firefox

    • Beberapa hari lalu saya melakukan presentasi singkat yang mengharuskan login ke beberapa akun AWS, tetapi orang-orang justru lebih tertarik pada cara saya membuka dan berpindah di antara beberapa akun AWS di tab yang berbeda daripada isi presentasinya sendiri
      Saya memakai add-on yang otomatis membuat container baru untuk setiap akun AWS yang dibuka dari layar SSO. Kalau mengetik gmail di browser, muncul 3 akun, dan sesuai akun yang dipilih, halaman dibuka di container yang tepat, sehingga ketiga akun bisa tetap terbuka bersamaan tanpa repot
    • Saya sempat memakai container cukup lama, tetapi merasa fiturnya cukup kurang
      Misalnya, daftar situs container tidak bisa diedit, dan hanya FQDN yang sedang dimuat yang bisa ditambahkan. *.google.com tidak bisa ditetapkan ke container Google; tiap subdomain harus benar-benar dibuka lalu ditambahkan satu per satu
      Lebih buruk lagi, jika host yang ingin ditambahkan berada di tengah rantai redirect, tampaknya tidak ada cara untuk menambahkannya. mail.google.com cepat pergi ke accounts.google.com lalu kembali lagi ke mail.google.com, tetapi tidak ada cara untuk memasukkan accounts.google.com ke daftar. Jadi fitur “batasi hanya ke situs yang ditentukan” pada praktiknya tidak bisa dipakai. Sepertinya Mozilla menganggap tombol tambah dan kolom input teks untuk daftar situs terlalu berlebihan bagi pengguna
      Selain itu, saya juga sering terganggu karena tidak bisa menghapus cookie dan data situs hanya untuk satu container, atau menghapus hanya container default tanpa menyentuh container bernama. Akhirnya saya membeli RAM tambahan dan kembali memakai profil terpisah
    • Menambahkan Containers ke Chrome rasanya secara umum tidak banyak berarti. Karena bagaimanapun Google bisa mengakses semuanya
      Mirip seperti memasang VPN di Android tetapi tetap login dengan akun Google sambil terus memakai Maps dan semacamnya. Secara desain, Chrome tidak punya privasi
      Perbedaan ini penting saat membicarakan Firefox dan Chrome sekaligus. Membandingkan keduanya dari sudut pandang privasi itu seperti membandingkan apel dan jeruk
    • Ekstensi Temporary Containers tidak lagi dipelihara: https://github.com/stoically/temporary-containers/issues/618
    • Firefox Containers secara konsep bagus, tetapi UI/UX-nya terasa sedikit kurang. Akan menyenangkan kalau bisa ditata serapi Spaces di Arc
  • Profil Firefox sangat diremehkan, dan tampaknya memang kurang digunakan
    Saya membuat shortcut untuk tiap profil dan memakai perintah eksekusi firefox --no-remote -P profilenamehere. Dengan begitu, dialog pengelola profil hampir tidak pernah perlu dilihat, dan tiap profil bisa dipakai seperti browser terpisah
    Ini nyaman untuk memisahkan browsing kerja dan pribadi, dan juga bagus untuk mencoba ekstensi yang berbeda. Misalnya, satu profil diisi Treestyletabs, profil lain diisi Sidebery, sehingga keduanya bisa dievaluasi langsung. Penggunaan memori saat menjalankan dua profil Firefox juga jauh lebih kecil daripada menjalankan Firefox bersama browser berbasis Chromium

    • Saya tidak terlalu suka profil. Membuat tautan lucu yang dikirim teman di Discord terbuka di profil Personal, dan tautan kerja dari Slack terbuka di profil Professional, terlihat sulit atau mustahil
      Akhirnya saya membuat shortcut keyboard untuk beralih antara satu berkas konfigurasi profil dan dua symbolic link, lalu bahkan menambahkan ekstensi Gnome yang menampilkan profil yang sedang dipilih di top bar. Saat jam kerja saya memakai satu profil, malam hari memakai profil lain, tetapi lambat, sulit dipindahkan ke komputer lain, dan secara keseluruhan berantakan
      Sekarang saya memakai container Firefox dan umumnya puas. Hanya saja, akan bagus kalau bookmark bar juga berubah mengikuti tab yang sedang dipilih
    • Sejujurnya, fakta bahwa harus mengutak-atik argumen peluncuran kemungkinan besar justru menjadi alasan mengapa fitur ini kurang digunakan
    • Sayang sekali ekstensi pengalih profil mengharuskan instalasi aplikasi lokal
      Firefox semestinya mengintegrasikan fitur ini dengan benar: https://addons.mozilla.org/en-GB/firefox/addon/profile-switc...
    • Tips yang berguna. Saya harus mengakses beberapa akun Microsoft Live/AD/Teams, dan itu tidak berjalan baik dalam satu sesi browser yang sama
      Karena itu saya selama ini memisahkannya dengan profil Chrome. Profil Firefox terasa agak kasar, dan anehnya saya tidak pernah terpikir untuk membuat shortcut per profil
    • Untuk mengevaluasi Treestyletabs dan Sidebery, sebenarnya tidak perlu menaruhnya di browser atau profil terpisah. Anda bisa langsung mengganti ekstensi mana yang akan memakai sidebar
      Saya memakai Grasshopper[1] bersama Tab Center Reborn atau Sidebery, lalu beralih sesuai fitur yang dibutuhkan saat itu
      [1]https://news.ycombinator.com/item?id=37306058
  • Saya sudah memakai Firefox sejak versi 0.9. Melihat respons di sini, tampaknya banyak yang punya kecintaan besar pada Firefox
    Namun UI profil dan pengalaman pengelolaannya benar-benar buruk dibandingkan Chrome/Edge. Tab kontainer bukan pengganti. Profil kerja dan pribadi bahkan tidak berbagi bookmark. Saya tahu ada add-on pihak ketiga yang membutuhkan pemasangan perangkat lunak tambahan, tetapi itu justru makin menunjukkan masalahnya
    Masalah ini sudah dilaporkan 13 tahun lalu: https://bugzilla.mozilla.org/show_bug.cgi?id=662025
    Jadi sekarang saya memakai Firefox hanya untuk penggunaan pribadi, dan selebihnya memakai profil Chrome/Edge. Satu-satunya alasan saya masih bertahan di Firefox adalah versi Android-nya. Kalau uBlock Origin bisa dipakai di Edge/Chrome di Android, mungkin saya akan meninggalkan Firefox

    • Safari benar-benar bagus dalam implementasi profil di bagian ini. Bookmark, riwayat, sesi dipisahkan, bahkan ada grup tab terpisah. Firefox juga sebenarnya tidak terlalu jauh, sepertinya tinggal memoles pengalamannya saja
    • Memilih tab kontainer alih-alih sistem profil yang diperbarui adalah keputusan buruk Firefox. Karena ini mereka akan terus tertinggal
    • Sebelum Firefox Quantum, yaitu sebelum add-on berbasis XUL ditinggalkan, add-on pihak ketiga bisa membuat perpindahan profil jadi lebih mudah
      Sekarang saya hampir tidak memakai profil Firefox, sedangkan di Chrome saya memakai 5–6 profil untuk berbagai keperluan. Karena jauh lebih mudah
    • Saya bertanya-tanya, apa seburuk itu mengetik about:profiles di bilah alamat lalu memilih profil yang diinginkan? Atau membuat pintasan dengan opsi -p lalu memilih saat Firefox dimulai
      Saya benar-benar penasaran, bagian apa dari yang disediakan Chrome/Edge yang menjadi pembeda menentukan
    • Di Android saya kadang memakai Kiwi Browser, yang bisa memuat uBlock Origin
  • Saya rasa saya akan puas jika Mozilla memungkinkan kita memilih ekstensi mana yang diaktifkan untuk tiap kontainer
    [1] https://addons.mozilla.org/en-US/firefox/addon/multi-account...

    • Akan menyenangkan kalau saat membuka situs web tertentu, ia bertanya untuk memilih dari kontainer yang sudah diingat. Misalnya dari 15 kontainer, situs tertentu hanya dipakai di 2 kontainer, jadi setiap membuka instance baru saya ingin diminta memilih hanya dari dua itu, bukan dari semuanya
    • Apakah ada alasan tidak boleh memakai about:profiles?
    • Saya penasaran dengan use case fitur itu
    • Itu bisa dilakukan dengan akun pengguna di tingkat sistem operasi
  • Saya banyak memakai profil Firefox, tetapi terutama menginginkan dua fitur
    Pertama, harus bisa memberi perbedaan visual seperti warna agar profil lebih mudah dibedakan. Kalau membuka browser dari beberapa profil sekaligus, mudah sekali tertukar
    Kedua, UX saat tidak sengaja membuka lagi profil yang sudah berjalan perlu diperbaiki. Sekarang ia menunggu timeout lalu menampilkan pesan kesalahan. Seharusnya cukup fokuskan jendela yang sudah berjalan

    • Pembedaan visual bisa diselesaikan sempurna cukup dengan memakai tema yang berbeda
    • Untuk membedakannya saya memakai https://color.firefox.com/. Itu sistem tema yang cukup bagus yang dibuat Mozilla beberapa tahun lalu, dipromosikan sekitar seminggu, lalu tidak pernah disebut lagi
      Mungkin karena mereka ingin lebih mempromosikan tema bodoh yang menghilang sendiri, yaitu “Colorways drops”
    • Saya menyelesaikan kedua masalah itu dengan membuat entri .desktop terpisah untuk tiap profil dan memasang tema serta ikon kustom masing-masing
      Dengan begitu, di window manager saya bisa tahu profil mana yang sedang terbuka, dan dari temanya saya tahu profil mana yang sedang saya lihat. Saya bisa menjalankan profil tertentu lewat ikon, atau menekan Super lalu mengetik ffwork, atau kalau sudah terbuka, klik kanan lalu buka jendela baru
      Masalah utamanya adalah meski sudah menyiapkan ini berkali-kali di beberapa mesin, saya selalu lupa lagi caranya. Saya tidak pernah ingat kombinasi flag Firefox dan nilai .desktop mana yang diperlukan. Sepertinya tautan ini yang benar: https://askubuntu.com/questions/1209434/how-to-display-two-d...
    • Cara yang bisa dilakukan saat ini adalah memakai desktop virtual terpisah, lalu menaruh tiap profil di desktop yang berbeda. Perlu sedikit disiplin agar tidak keliru
    • Alasan saya memakai profil Brave adalah justru pembedaan visual itu. Ikon taskbar dan chrome browser bisa diberi warna berbeda, itulah yang membuat saya pertama kali mencoba Brave, dan sekarang fitur itu sudah terasa wajib
  • Untuk setiap klien/subjek dan aktivitas tertentu, saya memisahkan beberapa instance dan satu instance di Chrome/macOS
    Tiap browser punya ekstensi dan aturan pemblokiran iklan yang berbeda. Misalnya, saya tidak bisa masuk ke Hacker News kecuali dari browser media sosial. Browser pengembangan utama punya lebih banyak ekstensi untuk pengembangan
    Manajemen tab juga jadi lebih mudah. Cukup tutup “browser kerja”. Semuanya punya instance, ikon, dan warna terpisah. Bahkan kalau secara kebiasaan saya mencoba membuka situs pemboros waktu, kalau bukan dari browser media, akan muncul kesalahan, sehingga membantu fokus
    Tidak mudah membuatnya bekerja sempurna. Saya harus membuat beberapa instance Chrome, yang berarti aplikasi juga harus ditandatangani. Semua profil dan data aplikasi saya taruh di folder terpisah. Kalau tidak begitu, saya tidak bisa beralih ke browser lain dengan cmd-tab

    • Saya memakai pendekatan yang sama, dan memperluas kebiasaan itu ke mobile
      Saat browsing untuk hiburan saya memakai Firefox Android biasa dengan ekstensi seperti Ublock Origin, saat selalu browsing dalam mode privat saya memakai Firefox Beta dengan ekstensi yang sama, dan pekerjaan saya tangani dengan Chrome
      Saya juga pernah mencoba profil, tetapi terlalu melelahkan untuk dikelola. Terutama karena cara macOS menangani beberapa jendela dari aplikasi yang sama
    • Brave menangani profil dengan sempurna. Ada juga sync chain sehingga tidak perlu akun online. Sayangnya browser mobile-nya hanya punya satu profil, menyebalkan. Padahal sepertinya implementasinya tidak sulit
  • Tidak menyangkal bahwa profil Firefox itu bagus. Dan menonaktifkan JavaScript juga sangat penting, jadi saya sudah sangat lama memakai NoScript
    Namun bolak-balik antara dua profil hanya untuk mengaktifkan/menonaktifkan JavaScript terasa seperti kerepotan besar. Di NoScript, cukup tekan shift+t untuk membuka sementara pembatasan pada tab tersebut
    Yang terutama diblokir NoScript adalah tab tak dikenal yang tak terduga yang dibuka oleh malware. Namun di situs besar seperti The Register atau Etsy, bisa dimatikan sementara selama melakukan hal yang diperlukan
    Fitur yang sangat saya harapkan ada di NoScript adalah penonaktifan global per domain. Alasannya, AWS memakai subdomain CloudFront acak saat menyertakan aset. Saya tidak ingin memasukkan *.cloudfront ke daftar izin, karena siapa pun bisa meng-host malware di sana

    • Ada baiknya mencoba uMatrix dan uBlock Origin
  • Fakta menarik: dengan memakai flag --class, Anda bisa menetapkan kelas jendela X yang berbeda untuk tiap instans Firefox. Dengan begitu, window manager bisa dikonfigurasi untuk membawa jendela dengan kelas tersebut ke depan
    Misalnya, saya menaruh konfigurasi seperti ini di StumpWM:
    (defcommand javascript-firefox ()
    (run-or-raise "firefox -P Javascript --class Firefox-javascript" '(:class "Firefox-javascript")))
    (define-key *top-map* (kbd "H-F") "javascript-firefox")
    Lalu cukup mengetik hyper-shift-f, Firefox untuk JavaScript akan dinaikkan ke depan jika sudah ada, atau dijalankan jika belum ada. Sementara hyper-f menaikkan Firefox biasa
    Sangat direkomendasikan. Semoga ini tetap bisa dipakai ke depannya. Apakah Wayland juga mendukung kelas jendela dan tombol hyper?

  • Baru-baru ini saya mulai memakai cara ini, dan juga mengganti tema profil Firefox agar ingat bahwa semua jendela harus ditutup
    Rasanya memuaskan karena terpisah, dan di lingkungan desktop ini juga cukup berguna untuk menjalankan beberapa hal seolah-olah sebagai aplikasi terbatas
    Masih banyak yang bisa diperbaiki. Misalnya, mungkin bisa ada pendekatan crowdsourcing untuk izin per situs web ala Android/iOS

  • Mungkin ini pendapat yang tidak populer, tetapi menurut saya masa ketika JavaScript menjadi unsur opsional di web sudah lewat. Sekarang ia adalah komponen intrinsik web
    Kita harus menerima bahwa kita tidak bisa kembali ke masa tanpa JavaScript. Alih-alih membujuk situs web membuat versi tanpa skrip, kita perlu mencari solusi untuk membuat JavaScript aman. Saya tidak tahu jawabannya, tetapi sandboxing, domain keamanan, dan model izin yang kaya layak dipertimbangkan

    • Setidaknya jika model ancamannya mencakup menghindari panoptikon pengawasan global, JavaScript tidak bisa aman
      Mengizinkan eksekusi kode arbitrer secara default tidak mungkin aman
      90% penggunaan JavaScript sama sekali tidak perlu, dan hanya masuk akal di web berbasis iklan
    • Saat mendengar orang menjelajah web dengan JavaScript dimatikan, saya jadi penasaran seperti apa pengalamannya
      Bukan bermaksud meremehkan, tetapi saya benar-benar tidak bisa membayangkan seperti apa kebiasaan browsing saya tanpa JavaScript. Mungkin kedengarannya lebih buruk daripada kenyataannya
    • Tidak salah mengatakan JavaScript pada praktiknya hampir wajib, tetapi itu tetap hanya standar de facto. Memaksakannya sebagai wajib secara resmi itu keliru
      Sayangnya, web telah merosot ke keadaan yang lebih buruk daripada JavaScript. Arahnya menjadi hanya mendukung browser tertentu, yaitu Chrome. Contoh terbaru: di situs Air India, pemesanan tiket tidak bisa dilakukan dengan Firefox, tetapi bisa dengan Chrome
    • Saya memakai Qubes OS, jadi bisa menjalankan beberapa instans Firefox tersandbox dengan bingkai jendela berwarna
      Karena tiap Firefox berjalan di VM-nya sendiri yang tidak berisi data, saya menjalankan JavaScript tanpa rasa takut