Benoit Sida 4 år sedan
incheckning
4b7f5ea39a
12 ändrade filer med 110 tillägg och 0 borttagningar
  1. Binär
      PasteTab.crx
  2. 0
    0
      README.md
  3. 28
    0
      key.pem
  4. 42
    0
      pack
  5. 1
    0
      src/background.html
  6. Binär
      src/images/icon-128.png
  7. Binär
      src/images/icon-16.png
  8. Binär
      src/images/icon-19.png
  9. Binär
      src/images/icon-38.png
  10. 37
    0
      src/manifest.json
  11. 1
    0
      src/scripts/background.js
  12. 1
    0
      src/scripts/oncopy.js

Binär
PasteTab.crx Visa fil


+ 0
- 0
README.md Visa fil


+ 28
- 0
key.pem Visa fil

@@ -0,0 +1,28 @@
1
+-----BEGIN PRIVATE KEY-----
2
+MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDrYSnVpmmGfESt
3
+jTEqJpgYEkS5pxT6GG5eK9vd2KFwaygj6UVTb/jce5ITD4a7G/65ig1+zFWI4IgJ
4
+aMSwukJF9j9iFzckeruxN9h9O5YF1LF23RboztHftYEGUiC9F2d3sqSHefVkO7Dq
5
+kMxYLx2ac4f0GElZVjBqRIAtD2F1pOv2iCh49AXmwtsBs7ca+kEqLUD2k0aYTbjI
6
+QWP/ofgBvDp4aA/QJKYfs1I3vo/N7TEp+di0M5e3/3O8DVGJLyAXnjXlzeJYqI3g
7
+BApgHdcmHbwbxJ/j06t+Ad9cFQp9xHuiRvaEKSDarnEug+Zip8HwxfSuDF7gsE4l
8
+ph13xhHnAgMBAAECggEBALjljXBIFdLP4T8Xj0xWHtmh2ByiNCc1c9VDzKXbGw3t
9
+Dw4Omyes6KeB5kBUzPhESHdFC87UAkjQX+xMQV22IoNEqYuLQwTD6JaQkN3nJbUU
10
+3AbMK8fbVx/NOzpU32TKcrujN/03/1yqSxInhm2rLSz7ngtP3KZxvvxrLOi4kU1Q
11
+KxG6BFWWe1pCPkSVgg8zO0cpX2Mtipu3eYaNUuAmhGWxMMx6+yfvPOQQESzNUKIW
12
+z2BkvSUTtpMqOLSho4vV8gX4SacwfCGU6AUVMIkBKsUNH6qJ/iM7/9GPmih16yhN
13
+aSLRUBvlKmrJBNnvi1X6M+70kNd/SddmnKG4GXEHPekCgYEA/+c7xG76TFvHTt2U
14
+acvYkVJh9MYzQBEt50H6x4XZ4eB8/4CpB/gpeF9K9e6FAdUSHvTAU0cKu4a8FXkU
15
+yuhkcuyK9O6H2pJEbA/watcBZduP4ULi0dEpxui9VkJpehO+w5U6lR3QCoRhQ8Bn
16
+kUwM8kZXrhoGBLJVtMywnusNUtsCgYEA63fxkuss6gSlm0EHnSCj6i5JQ3bPE7vr
17
+S6YtLwObsoP6KXXikUKKFI7wei15hDBS+INOOtd3hSkjhgyJru871goUag7ZNgQO
18
+uQr47Taa+/L689i/3iseZfH/JxpQ9VMAN4pGGqHUhfMmAl3fcLG19Si//4mtC7QN
19
+iCUvOMHRHOUCgYASPSneW0aNsLDo5xQP4k6CNQv0RTgb5d2OsP4twFWCKtzd3Q6v
20
+Gbni8W/HTYO/WK9c83bNuK+EJBs9sI6R07RtGHzi7ilSo8Aqr4wkIUThPJ/pnznJ
21
+WI4Qtj/gaQVZhRTAnd86B5DvXvYLvSfkjDYUAn13VDV/mjJPm5MvEHO3pwKBgBcM
22
+a5IVARV7FPbIe8VOn5zZoQRAie6Fk3eZMY0Ljl7/+im6x02utLNkdnePIfjlfgmj
23
+WLH7y1A2gaqqaYO9GR9PZ0YmY+6coRBN2aXmlW8aDqR1z/ogQF58PJyIP+pzkG7f
24
+UxNiSdo+vba3l5qBWq0/quOJh23A1x4/fYrRtfVdAoGAAfKtG6W+78jWRdZXBmUY
25
+OivGS/yKL4N4HT/2XAlDjByaI7OTI9SUBGV8v++cyAFdXbChoFGMO9GXlJ3E4Ga/
26
+nYh8J/piw214GVFLD0djVdAHx4i+GQYwDJD48+WRoGHrpQxkY6R44/OSb8pAYcqd
27
+cDAap/X+qwv1Y4ViX9ISFFE=
28
+-----END PRIVATE KEY-----

+ 42
- 0
pack Visa fil

@@ -0,0 +1,42 @@
1
+#!/bin/bash -e
2
+#
3
+# Purpose: Pack a Chromium extension directory into crx format
4
+
5
+if test $# -ne 2; then
6
+    echo "Usage: crxmake.sh <extension dir> <pem path>"
7
+    exit 1
8
+fi
9
+
10
+dir=$1
11
+key=$2
12
+name="PasteTab"
13
+crx="$name.crx"
14
+pub="$name.pub"
15
+sig="$name.sig"
16
+zip="$name.zip"
17
+trap 'rm -f "$pub" "$sig" "$zip"' EXIT
18
+
19
+# zip up the crx dir
20
+cwd=$(pwd -P)
21
+(cd "$dir" && zip -qr -9 -X "$cwd/$zip" .)
22
+
23
+# signature
24
+openssl sha1 -sha1 -binary -sign "$key" < "$zip" > "$sig"
25
+
26
+# public key
27
+openssl rsa -pubout -outform DER < "$key" > "$pub" 2>/dev/null
28
+
29
+byte_swap () {
30
+    # Take "abcdefgh" and return it as "ghefcdab"
31
+    echo "${1:6:2}${1:4:2}${1:2:2}${1:0:2}"
32
+}
33
+
34
+crmagic_hex="4372 3234" # Cr24
35
+version_hex="0200 0000" # 2
36
+pub_len_hex=$(byte_swap $(printf '%08x\n' $(ls -l "$pub" | awk '{print $5}')))
37
+sig_len_hex=$(byte_swap $(printf '%08x\n' $(ls -l "$sig" | awk '{print $5}')))
38
+(
39
+    echo "$crmagic_hex $version_hex $pub_len_hex $sig_len_hex" | xxd -r -p
40
+    cat "$pub" "$sig" "$zip"
41
+) > "$crx"
42
+echo "Wrote $crx"

+ 1
- 0
src/background.html Visa fil

@@ -0,0 +1 @@
1
+<html><head><script src="scripts/background.js"></script></head><body><textarea id="sandbox"></textarea></body></html>

Binär
src/images/icon-128.png Visa fil


Binär
src/images/icon-16.png Visa fil


Binär
src/images/icon-19.png Visa fil


Binär
src/images/icon-38.png Visa fil


+ 37
- 0
src/manifest.json Visa fil

@@ -0,0 +1,37 @@
1
+{
2
+	"name": "PasteTab",
3
+	"version": "0.0.1",
4
+	"manifest_version": 2,
5
+	"description": "Paste Clipboard Data to new Tab",
6
+	"icons": {
7
+		"16": "images/icon-16.png",
8
+		"128": "images/icon-128.png"
9
+	},
10
+	"background": {
11
+		"persistent": false,
12
+		"page": "background.html"
13
+	},
14
+	"permissions": [
15
+		"tabs",
16
+		"clipboardRead",
17
+		"clipboardWrite"
18
+	],
19
+	"content_scripts": [
20
+		{
21
+			"matches": [
22
+			    "http://*/*",
23
+			    "https://*/*"
24
+			],
25
+			"js": [
26
+				"scripts/oncopy.js"
27
+			]
28
+		}
29
+	],
30
+	"browser_action": {
31
+		"default_icon": {
32
+			"19": "images/icon-19.png",
33
+			"38": "images/icon-38.png"
34
+		},
35
+		"default_title": "PasteTab"
36
+	}
37
+}

+ 1
- 0
src/scripts/background.js Visa fil

@@ -0,0 +1 @@
1
+"use strict";function getContentFromClipboard(){var a=document.getElementById("sandbox");return a.value="",a.select(),document.execCommand("paste")&&(result=a.value),a.value="",chrome.browserAction.setBadgeText({text:result.length.toString()}),result}function onClickHandler(){var a=getContentFromClipboard(),b=window.open();b.document.write(a)}var result="";chrome.runtime.onMessage.addListener(function(a,b,c){"copy"==a.event&&getContentFromClipboard()}),chrome.browserAction.setBadgeText({text:""}),chrome.browserAction.onClicked.addListener(onClickHandler);

+ 1
- 0
src/scripts/oncopy.js Visa fil

@@ -0,0 +1 @@
1
+"use strict";function onCopy(a){chrome.runtime.sendMessage({event:"copy"})}document.addEventListener("copy",onCopy,!0);