Bagaimana cara menginstal skrip pengguna pribadi di Chrome 21+?

60

Di Chrome 20 dan versi yang lebih lama, Anda bisa membuka .user.jsfile apa saja di Chrome dan itu akan meminta Anda untuk menginstal skrip pengguna.

Namun, di Chrome 21 dan lebih tinggi, itu mengunduh file sebagai gantinya, dan menampilkan peringatan di bagian atas yang mengatakan "Ekstensi, aplikasi, dan skrip pengguna hanya dapat ditambahkan dari Toko Web Chrome".

Tangkapan layar

Tautan "Pelajari Lebih Lanjut" menunjuk ke http://support.google.com/chrome_webstore/bin/answer.py?hl=id&answer=2664769 , tetapi halaman itu tidak mengatakan apa-apa tentang skrip pengguna, hanya tentang ekstensi dalam .crxformat, aplikasi, dan tema.

Bagian ini terdengar menarik:

Perusahaan Administrator: Anda dapat menentukan URL yang diizinkan untuk memasang ekstensi, aplikasi, dan tema langsung melalui para ExtensionInstallSourceskebijakan .

Jadi, saya menjalankan perintah berikut, lalu memulai ulang Chrome dan Chrome Canary:

defaults write com.google.Chrome ExtensionInstallSources -array "https://gist.github.com/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://gist.github.com/*"

Sayangnya, pengaturan ini hanya memengaruhi ekstensi, aplikasi, dan tema (seperti yang tertulis dalam teks), bukan skrip pengguna. (Saya telah mengajukan bug yang meminta pengaturan ini memengaruhi skrip pengguna juga.)

Adakah gagasan tentang cara memasang skrip pengguna pribadi (yang tidak ingin saya tambahkan ke Toko Web Chrome) di Chrome 21+?

Mathias Bynens
sumber
Sudahkah Anda mencoba mengaktifkan mode pengembang di Pengaturan -> Ekstensi? Tidak yakin apakah ini akan berhasil tetapi Anda dapat mencobanya.
Rhyuk
@Rukuk Terima kasih atas sarannya. Saya telah mengaktifkan mode pengembang, - sepertinya tidak membuat perbedaan.
Mathias Bynens

Jawaban:

37

Masalahnya adalah bahwa gist.github.comURL mentah dialihkan ke domain yang berbeda. Jadi, kita harus menggunakan perintah ini sebagai gantinya:

# Allow installing user scripts via GitHub or Userscripts.org
defaults write com.google.Chrome ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"
defaults write com.google.Chrome.canary ExtensionInstallSources -array "https://*.github.com/*" "http://userscripts.org/*"

Ini bekerja!


Bagaimanapun, ini tampaknya menjadi solusi (terima kasih kepada Paul Horn untuk petunjuknya):

  1. Unduh skrip pengguna.
  2. Terbuka chrome://chrome/extensions/.
  3. Seret dan letakkan file skrip pengguna pada halaman yang Anda buka di langkah 2.
Mathias Bynens
sumber
Ini tampaknya lebih baik daripada harus mengedit perintah yang digunakan untuk membuka Chromium. Terima kasih!
btleffler
@btleffler Kecuali Anda harus melompati lingkaran itu setiap kali, alih-alih melakukan perubahan satu kali.
Eugene Beresovsky
NB. Saat menarik dan menjatuhkan, Anda harus meletakkan file tepat ke pesan. Di tempat lain pada halaman tidak akan berfungsi.
Kolonel Panic
apakah cara seret dan lepas menambahkan ekstensi masih berfungsi? Sepertinya tidak di Chrome 24 di OSX.
Viktor
Perlu disebutkan bahwa github memungkinkan hosting konten yang dibuat pengguna di <username> .github.com (via "Github Pages" - pages.github.com ). Hanya kepala bagi siapa pun untuk siapa ini akan menjadi masalah keamanan.
mh.
36

Mulai Chrome dengan yang --enable-easy-off-store-extension-installberalih .

Untuk menggunakan sakelar baris perintah ( dari Chromium.org ):

Di Windows:

  • Klik kanan pada ikon "Chrome" Anda.
  • Pilih properti
  • Di akhir garis target Anda, tempatkan parameter ini: --enable-easy-off-store-extension-install
  • Seharusnya terlihat seperti: chrome.exe --enable-easy-off-store-extension-install

Di OS X:

  • /Applications/Chromium.app/Contents/MacOS/Chromium --enable-easy-off-store-extension-install

  • Untuk Google Chrome Anda harus keluar ruang seperti: /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-easy-off-store-extension-install

Di Linux:

  • chromium-browser --enable-easy-off-store-extension-install
Jacob Groß
sumber
1
Anda harus keluar sepenuhnya dari chrome, tidak hanya membuka jendela baru dari ikon. (ini adalah sampah dari Google btw)
Jonathan.
1
Yap, ini melanggar batas IMO wilayah "jahat".
jnylen
Ini berhasil ... :) Jawaban @MathiasBynens tidak berfungsi di MacOS / Chrome25
Lipis
Saya memiliki masalah pada windows dl2.joxi.net/drive/0005/3037/338909/141218/3935c61eb8.jpg
gstackoverflow
1
Cukup yakin ini berhenti bekerja sekitar Agustus, 2014. Tampaknya tidak berfungsi sama sekali.
Brock Adams
10

Nah, ini membutuhkan beberapa jam dalam hidup saya untuk mencari tahu. Saya kira para insinyur Google berpikir bahwa kita hanya pantas menginstal ekstensi yang tidak terpercaya jika kita dapat mengetahui cara melakukan trik dan melompati rintangan mereka.

Instruksi dalam jawaban Mathias tampaknya tepat untuk Mac OS X, tapi saya menggunakan Linux. Inilah yang saya lakukan di Linux untuk memungkinkan pemasangan yang lebih mudah (pra-Chrome-21) semua ekstensi pihak ketiga, aplikasi, dan skrip pengguna dari situs web apa pun :

  1. Buat direktori kebijakan (jika belum ada):

    sudo mkdir -p /etc/opt/chrome/policies/recommended/
    
  2. Buat file kebijakan:

    cd /etc/opt/chrome/policies/recommended/
    
    sudo tee easy_install_extensions.json <<EOF
    {
        "ExtensionInstallSources": ["<all_urls>"]
    }
    EOF
    
  3. Mulai ulang Chrome. Keluar sepenuhnya dari program melalui menu -> Exit; jangan hanya menutup jendela Anda saat ini.


Sumber:

Catatan:

  • <all_urls>(Digunakan di atas) adalah pola khusus sesuai dengan URL yang cocok dengan dokumen . Senang mengetahui tentang.
  • Menurut dokumen kebijakan Linux , direktori tersebut /etc/opt/chrome/policies/{managed,recommended}/berisi file kebijakan JSON. Jika entri konflik, managedtimpa recommended.
jnylen
sumber
2
Saya tidak tahu <all_urls>- sangat berguna. Terima kasih!
Mathias Bynens
Dikonfirmasi untuk bekerja di Fedora 18. Pos yang luar biasa, sangat membantu!
ehime
Luar biasa! Seret dan lepas tidak berfungsi sebelumnya, dan sekarang berfungsi!
billyswong