Noah Vogt 2 жил өмнө
commit
e5ae0667c2
4 өөрчлөгдсөн 93 нэмэгдсэн , 0 устгасан
  1. 17 0
      .SRCINFO
  2. 4 0
      .gitignore
  3. 44 0
      PKGBUILD
  4. 28 0
      keepassxc-browser.pem

+ 17 - 0
.SRCINFO

@@ -0,0 +1,17 @@
+pkgbase = chromium-extension-keepassxc-browser
+	pkgdesc = KeePassXC Browser Integration - chromium extension
+	pkgver = 1.8.2.2
+	pkgrel = 1
+	url = https://github.com/keepassxreboot/keepassxc-browser
+	arch = any
+	license = custom:none
+	makedepends = chromium
+	makedepends = openssl
+	makedepends = jq
+	noextract = keepassxc-browser-1.8.2.2::https://github.com/keepassxreboot/keepassxc-browser/releases/download/1.8.2.2/keepassxc-browser_1.8.2.2_chromium.zip
+	source = keepassxc-browser-1.8.2.2.zip::https://github.com/keepassxreboot/keepassxc-browser/releases/download/1.8.2.2/keepassxc-browser_1.8.2.2_chromium.zip
+	source = keepassxc-browser.pem
+	sha256sums = ae9a41a4490c4f0209665e354dba23569e00f0b2be818c421d3a29044ae410fd
+	sha256sums = b3fe31d0cc35b79f9b64f18e792de6b2be1fb8a94bc4d1ce8e82428faf3e35df
+
+pkgname = chromium-extension-keepassxc-browser

+ 4 - 0
.gitignore

@@ -0,0 +1,4 @@
+*.pkg.*
+src
+*.zip
+pkg

+ 44 - 0
PKGBUILD

@@ -0,0 +1,44 @@
+# Maintainer: Noah Vogt (noahvogt) <noah@noahvogt.com>
+# private key generated with `openssl genrsa 2048| openssl pkcs8 -topk8 -nocrypt -traditional`
+
+pkgname=chromium-extension-keepassxc-browser
+_extension=keepassxc-browser
+pkgver=1.8.2.2
+pkgrel=1
+pkgdesc="KeePassXC Browser Integration - chromium extension"
+arch=('any')
+url="https://github.com/keepassxreboot/keepassxc-browser"
+license=('custom:none')
+makedepends=('chromium' 'openssl' 'jq')
+source=("$_extension-$pkgver.zip::$url/releases/download/$pkgver/keepassxc-browser_${pkgver}_chromium.zip"
+        "keepassxc-browser.pem")
+noextract=("$_extension-$pkgver::$url/releases/download/$pkgver/keepassxc-browser_${pkgver}_chromium.zip")
+sha256sums=('ae9a41a4490c4f0209665e354dba23569e00f0b2be818c421d3a29044ae410fd'
+            'b3fe31d0cc35b79f9b64f18e792de6b2be1fb8a94bc4d1ce8e82428faf3e35df')
+
+build() {
+    pubkey="$(openssl rsa -in "$_extension.pem" -pubout -outform DER |base64 -w0)"
+    # create extension json
+    export _id="$(echo $pubkey |base64 -d |sha256sum |head -c32 |tr '0-9a-f' 'a-p')"
+    echo "extenson id should be: $_id"
+    cat << EOF > "$_id".json
+{
+    "external_crx": "/usr/lib/$pkgname/$pkgname-$pkgver.crx",
+    "external_version": "$pkgver"
+}
+EOF
+    mkdir -p "_extension-$pkgver"
+    unzip -u -d "$_extension-$pkgver" "$_extension-$pkgver.zip"
+    cd "$_extension-$pkgver"
+    jq --ascii-output --arg key "$pubkey" '. + {key: $key}' manifest.json > manifest.json.new
+    mv manifest.json.new manifest.json
+    cd "$srcdir"
+    tmpdir="$(mktemp -d chromium-pack-XXXXXX)"
+    chromium --user-data-dir="$tmpdir" --pack-extension="$_extension-$pkgver" --pack-extension-key="$_extension.pem"
+    mv "$_extension-$pkgver.crx" "$pkgname-$pkgver.crx"
+}
+
+package() {
+    install -Dm644 -t "$pkgdir/usr/share/chromium/extensions/" "$_id.json"
+    install -Dm644 -t "$pkgdir/usr/lib/$pkgname/" "$pkgname-$pkgver.crx"
+}

+ 28 - 0
keepassxc-browser.pem

@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDT6AXxWLqryD8/
+CBS9Yk8Vzk+yE2fumazeSZw+xXpytCRln/iQGjXeOZVLdSRL2DktrSQiAENUMkux
+Z9JrgQrT7o1QfOGS8I52uYKaw5RlXY6of+mkDmni1R2gPgvY0y9dyl+ANKeW+5Iq
+TQFpUpKpsA496d8FvyrU+n5z3LZUjLlzq6eo8z+Yg9wQQRU+kCvXeao9+YP6CKom
+YOcJ9eYqtR3nZtp3WuRWHD8dBstuQ0LnJ9owWC3g0CBmQjGyBLdgU405bsiFudZT
+0M/RItFbAxgKh/MoRQh2M+WimMmPKxRojhaD0Q5kkyGfNeJEBMdD47J5/94Mwxim
+PaG67ch9AgMBAAECggEAaOTstChg1xHbxN7CLXERhtDGgHa8ts5ZVPuJHUVxtH/Z
+mHiUePiQe71zWpPU8LpKq4KOZUpOCcqPz3R+I3sQGhJ230XB/5OWYcy4itWPipHC
+QUR4Kh58aa1m6eBsytrXEo1Pss3du44yL0BJF5KpSNf+ZMV1AYo8sIqCt+WkV7se
+bCWpPlfhtlAORKTXvqrDiS7ekeA1klr/Z8NG/jyb+8B/V5pxUFNvnwOVa6ITddrs
+lW2khhEoWSIcrITbz4ZiRW4ql71MUl4faQPHcZw2i01txhtkBNY1fWFIjFgo8o1X
+F98faXUmv2TTeE4xaw9oX0BGhDTv5BBCJdBX6rExHQKBgQDzlLEB9yVJYc8N/lTl
+S1ykhH+l4G4A4XS+Al1ojo2xKqsMA84ee5iRsQGUPeXq3Uh5A+VRU0KZmv3N8vrp
+wFkNa3Tc+ZMBf9rJNfw9Cu8NKaCpEWEkHdEjkiU47vftU7KGQLkdPKeHT4ESJn0k
+QxtqwSkm0NfmP5BPPPE1cda/QwKBgQDeteeMHnVJkUKbKnqzP5u1D+3r9bStXW6v
+fYzd6i391mS3ReZMTOghVjzHJOwvxXYYBCYaU0YniXQuVcDJsmGXISTrn7rq9FVb
+zJCWLBrIDjioGAFM97OI0aokAyyoyqG2ATXgRBqWgWGc+fWT+QeS1C1TWle3lyhu
+iP5ph/t9PwKBgCJUwcIKKHo4S+un/iU3Qv55Ilip0jdTj5W8VZgIB5aB8gvGeYW4
+W9+k+BkBxGce+zj7QJX+yzNFMiKV7aGGl8aZb6Y5kuuyLo8Pida8tMbBKEDMD0n8
+3d5Kme51WAJeOppLgwvI4b/jh8icHiU/RBz+zqMG6ncsXFWevEyRF/hrAoGBAKiL
+xga27lCUzHGdvmp1kyN+QLM4qlohwaiyPa+ckN3wKRzCm73W3j6Mg0a7XLvylqMq
+UKPPreIyFmkSoOqEQ3MatFRV+CHkc80bjbj4+/O3P42HTUSwmYDMHBVRCbVcVPHn
+DJ0DLZQFqpggW4h3CRJH3V2dm5DnpsOwjcnUDbIFAoGBAJMZliGZCRge6rfVO9Wy
+4PMS0NA5B5jC4afihxM7FhVhZoYfpzi9xoXEoZxstlra/E6o+Kn/LmZsnS33s08J
+fQI4u4OhgrV/jAIXuuQHTAjfyFYK4wSOlXT/7u3PJniiV0k1Auv0oJs2xkQdZW5i
+q9/klEuyd95ryK82PLnr/ua2
+-----END PRIVATE KEY-----