Bagaimana mencegah shr dari membuat koneksi jaringan

8

Versi terbaru dari Emacs memiliki renderer yang sangat bagus untuk HTML yang ditulis seluruhnya di Elisp. Penyaji ini (shr) dapat digunakan untuk menampilkan email HTML, dokumentasi, dll. Namun, tampaknya shr mengambil sumber daya jarak jauh yang dirujuk dalam dokumen HTML (misalnya gambar). Jika HTML tidak dipercaya, seperti dalam kasus email spam, ini mengarah pada sejumlah masalah keamanan dan privasi.

Pertanyaan: Bagaimana mungkin mencegah shr mengakses sumber daya jarak jauh saat merender HTML?

tmalsburg
sumber
Saya kira itu adalah sesuatu yang hanya bisa disesuaikan url.el.
wasamasa
2
@wasamasa Maksud Anda, saya untuk sementara waktu dapat url.elmenolak akses ke sumber daya jarak jauh? Kedengarannya seperti itu bisa merusak segalanya dalam shr. Saya pikir shr harus dapat membedakan antara sumber daya lokal dan jarak jauh dan harus memiliki mode di mana ia bahkan tidak berusaha untuk mengambil hal-hal yang jauh.
tmalsburg

Jawaban:

6

shr.el memiliki (defvar shr-inhibit-images nil), dan a

(defcustom shr-blocked-images nil
  "Images that have URLs matching this regexp will be blocked."
  :version "24.1"
  :group 'shr
  :type '(choice (const nil) regexp))

Sepertinya (setq shr-inhibit-images t)menghentikan permintaan web ketika saya melihat email HTML.

Perhatikan bahwa ini ewwsepenuhnya mematikan tampilan gambar . Itu baik untuk saya tetapi mungkin tidak berhasil untuk Anda. Anda tentu saja dapat menambahkan eww-modepengikat tombol yang akan mengaktifkan + memuat ulang halaman yang diberikan saat menghidupkan gambar.

mankoff
sumber
Terima kasih! Saya tidak yakin apakah ini benar-benar kedap air tetapi tampaknya menangani sebagian besar kasus.
tmalsburg
2
Solusi saya adalah untuk sementara mengikat shr-inhibit-imagesuntuk tsaat rendering email HTML. Dengan cara ini baru seharusnya tidak terpengaruh.
tmalsburg
Bisakah Anda memberikan kode untuk ini?
mankoff
1
Jadi diskusi ini sedang berlangsung di daftar mu4e pada saat yang sama. Itu ditunjukkan gambar di atas menghambat, tetapi shr masih dapat mengakses web untuk cookie, javascript, dll.
mankoff
Mu4e memiliki fungsi untuk merender email HTML. Itu disebut mu4e-shr2text. Versi modifikasi saya dengan penghambatan gambar dapat ditemukan di sini: github.com/tmalsburg/mu/blob/master/mu4e/mu4e-contrib.el#L44 Saya ragu pernyataan itu tentang cookie dan javascript. Cookie tidak diambil menggunakan koneksi terpisah dan eww / shr tidak memiliki dukungan untuk javascript yang saya ketahui.
tmalsburg