Linux, Chrome kullanıcılarının
Chrome Web Mağazası. Bu makalede crx
paketinin nasıl paketleneceği, barındırılacağı ve güncelleneceği açıklanmaktadır.
dosyalar içeren bir web sunucusudur. Yalnızca bir uzantı veya tema dağıtıyorsanız
Chrome Web Mağazası'ndan Web Mağazası barındırma
güncelleme hakkında daha fazla bilgi edinin.
Paket
Uzantılar ve temalar .crx
dosyaları olarak sunulur. Chrome Geliştirici aracılığıyla yüklerken
Kontrol Paneli'nde, kontrol paneli crx
dosyasını otomatik olarak oluşturur. Yayınlanmışsa
crx
dosyasının yerel olarak oluşturulması veya Chrome'dan indirilmesi gerekir.
Web Mağazası.
Chrome Web Mağazası'ndan .crx dosyasını indirin
Uzantı Chrome Web Mağazası'nda barındırılıyorsa .crx
dosyası şu kaynaktan indirilebilir:
Geliştirici Kontrol Paneli. "Girişleriniz" bölümünde uzantıyı bulun ve "Daha fazla bilgi"yi tıklayın.
pop-up penceresinde mavi main.crx
bağlantısını tıklayın.
İndirilen dosya kişisel bir sunucuda barındırılabilir. Bu, bir web sitesi barındırmanın en güvenli uzantısına sahip olur. Aksi halde, uzantının içeriği Chrome Web Mağazası tarafından imzalanır. Bu olası saldırıları ve kurcalamaları tespit etmeye yardımcı olur.
Yerel olarak .crx oluşturun
Uzantı dizinleri, Uzantı Yönetimi Sayfası'nda .crx
dosyalarına dönüştürülür. Şuraya git:
çok amaçlı adres çubuğunda chrome://extensions/
'i seçin veya Chrome menüsünü tıklayıp işaretçiyi "Diğer Araçlar"ın üzerinde tutun ardından
"Uzantılar"ı seçin.
Uzantı Yönetimi sayfasında, Geliştirici modu Ardından PAKET UZANTISI düğmesini seçin.
Uzantının kök dizini alanında uzantının klasörünün yolunu belirtin ve ardından PAKET UZANTISI düğmesi. İlk kez gönderilecek paket için Özel anahtar alanını yoksayın.
Chrome, .crx
dosyası ve uzantının adını içeren .pem
dosyası olmak üzere iki dosya oluşturur.
gizli anahtardır.
Özel anahtarı kaybetmeyin. .pem
dosyasını gizli ve güvenli bir yerde saklayın; olacak
Uzantıyı güncellemek için gerekenler.
.crx paketini güncelleme
manifest.json
içindeki sürüm numarasını artırarak bir uzantının .crx
dosyasını güncelleyin.
{
...
"version": "1.5",
...
}
}
{
...
"version": "1.6",
...
}
}
Uzantı Yönetimi Sayfası'na dönün ve PAKET UZANTISI düğmesini tıklayın. Belirtin: uzantı dizinine ve özel anahtarın konumuna giden yol.
Sayfa, güncellenen paketlenmiş uzantının yolunu sağlar.
Komut satırından paketle
chrome.exe
komutunu çağırarak uzantıları komut satırında paketleyin. --pack-extension
kullanın
işaretinin bulunduğu yeri belirtmek için --pack-extension-key
işaretini ve
uzantının özel anahtar dosyasının konumunu belirtin.
chrome.exe --pack-extension=C:\myext --pack-extension-key=C:\myext.pem
Ana makine
.crx
dosyalarını barındıran bir sunucu, kullanıcıların
bir bağlantıyı tıklayarak uzantınızı görebilirsiniz.
Aşağıdakilerden biri doğruysa Google Chrome bir dosyayı yüklenebilir olarak kabul eder:
- Dosyanın içerik türü
application/x-chrome-extension
- Dosya soneki
.crx
şeklindedir ve aşağıdakilerin ikisi de doğrudur:- Dosya
X-Content-Type-Options: nosniff
HTTP başlığıyla sunulmaz - Dosya, aşağıdaki içerik türlerinden biriyle yayınlanır:
- boş dize
"text/plain"
"application/octet-stream"
"unknown/unknown"
"application/unknown"
"\*/\*"
- Dosya
Yüklenebilir bir dosyayı tanıyamamanın en yaygın nedeni, sunucunun
başlık X-Content-Type-Options: nosniff
. En yaygın ikinci neden, sunucunun
bilinmeyen içerik türü (önceki listede yer almayan bir içerik türü) HTTP üst bilgisi sorununu düzeltmek için aşağıdakilerden birini değiştirin:
veya .crx
dosyasını başka bir sunucuda barındırmayı deneyin.
Güncelle
Tarayıcı, birkaç saatte bir yüklü uzantılarda güncelleme URL'si olup olmadığını kontrol eder. Her biri için bir isteği iletebilir.
- Bir güncelleme kontrolüyle döndürülen içerik, en son güncellemeleri listeleyen güncelleme manifesti XML dokümanıdır: sürümünü kullanabilirsiniz.
Güncelleme manifest'inde yüklü olandan daha yeni bir sürümden bahsediliyorsa tarayıcı
yeni sürümü indirir ve yükler. Manuel güncellemelerde olduğu gibi, yeni .crx
dosyası da imzalanmalıdır
yüklü olan sürümle aynı özel anahtara sahip olduğundan emin olun.
URL'yi güncelle
Chrome Web Mağazası dışındaki sunucularda barındırılan uzantıların update_url
alanını içermelidir.
manifest.json
dosyasına aktarmalıdır.
{
"name": "My extension",
...
"update_url": "https://myhost.com/mytestextension/updates.xml",
...
}
Manifest güncelleme
Sunucu tarafından döndürülen güncelleme manifesti bir XML belgesi olmalıdır.
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
<updatecheck codebase='https://myhost.com/mytestextension/mte_v2.crx' version='2.0' />
</app>
</gupdate>
Bu XML biçimi, Google'ın güncelleme altyapısı olan Omaha tarafından kullanılan biçimden alınmıştır. İlgili içeriği oluşturmak için kullanılan
uzantıları sistemi şu özelliklerin <app>
ve <updatecheck>
öğeleri için aşağıdaki özellikleri kullanır:
manifestoyu güncelleyin:
- appid
- Uzantı kimliği, paketleme bölümünde açıklandığı gibi ortak anahtarın karma değeri temel alınarak oluşturulur. Uzantıların kimliği, Uzantı Yönetimi Sayfası'nda görüntülenir.
- kod tabanı
.crx
dosyasının HTTPS URL'si.- sürüm
- İstemci tarafından,
codebase
tarafından belirtilen.crx
dosyasını indirip indirmeyeceğini belirlemek için kullanılır. Bu değer, "version" değeriyle eşleşmelidir..crx
dosyasınınmanifest.json
dosyasında.
Güncelleme manifesti XML dosyası, birden fazla uzantı ekleyerek birden çok uzantı hakkında bilgi içerebilir.
<app>
öğeleri.
Test
Varsayılan güncelleme kontrolü sıklığı birkaç saattir, ancak Güncelleme hemen uzantıları ekle düğmesini tıklamanız yeterlidir.
Bu işlem, yüklü tüm uzantılar için kontrolleri başlatır.
Gelişmiş kullanım: istek parametreleri
Temel otomatik güncelleme mekanizması, sunucu tarafında çalışan bir öğeyi bir herhangi bir düz web sunucusuna (örneğin, Apache) yükleme ve bu XML dosyasını yeni bir uzantı sürümleri yayınlandı.
Birden fazla uzantı barındıran geliştiriciler, uzantı kimliğini gösteren istek parametrelerini kontrol edebilirler. ve sürümünü de eklemeniz gerekir. Bu parametrelerin eklenmesi, uzantıların aynı URL'nin çalıştırılmasına olanak tanır.
İstek parametrelerinin biçimi şu şekildedir:
?x=EXTENSION_DATA
Burada EXTENSION_DATA
, şu biçimdeki URL kodlamalı bir dizedir:
id=EXTENSION_ID&v=EXTENSION_VERSION
Örneğin, iki uzantı aynı güncelleme URL'sine (https://test.com/extension_updates.php
) yönlendiriyor:
- Uzantı 1
- Kimlik: "aaaaaaaaaaaaaaaaaaaaaaaaaaaa"
- Sürüm: "1.1"
- Uzantı 2
- Kimlik: "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
- Sürüm: "0.4"
Her bir uzantıyı güncelleme isteği şöyle olur:
https://test.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1
ve
https://test.com/extension_updates.php?x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Her benzersiz güncelleme URL'si için tek bir istekte birden çok uzantı listelenebilir. Önceki için Örneğin, kullanıcıda uzantıların her ikisi de yüklüyse bu iki istek tek bir tekli istek:
https://test.com/extension_updates.php?x=id%3Daaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa%26v%3D1.1&x=id%3Dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb%26v%3D0.4
Aynı güncelleme URL'sini kullanan yüklü uzantıların sayısı bir GET isteğine karşılık gelecek kadar fazlaysa URL çok uzun (2000 veya daha fazla karakterden fazlası), güncelleme kontrolü gerekir.
Gelişmiş kullanım: minimum tarayıcı sürümü
Uzantılar sistemine daha fazla API eklendikçe, çalışan bir uzantının çalışması için güncellenmiş bir sürümü
tarayıcı yalnızca yeni sürümleriyle kullanıma sunulabilir. Google Chrome'un kendisi otomatik olarak güncellense de
kullanıcı tabanının çoğunluğunun belirli bir yeni sürüme güncellenmesi birkaç gün sürebilir. Alıcı:
belirli bir güncellemenin yalnızca belirli bir sürümdeki veya daha yeni Google Chrome sürümlerine uygulanacağından emin olmak için
sürümünü kullanıyorsanız özelliğini <app>
öğesine ekleyebilirsiniz.
<?xml version='1.0' encoding='UTF-8'?>
<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'>
<app appid='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'>
<updatecheck codebase='http://myhost.com/mytestextension/mte_v2.crx' version='2.0' prodversionmin='3.0.193.0'/>
</app>
</gupdate>
Bu, yalnızca Google Chrome çalıştıran kullanıcıların sürüm 2'ye otomatik güncelleme yapmasını sağlar. 3.0.193.0 veya üzeri.