mirror of
https://github.com/gorhill/uBlock.git
synced 2024-11-10 01:02:08 +01:00
complete "debian" as a target platform
This commit is contained in:
parent
d0c1c7c4c9
commit
08495c42e9
10 changed files with 556 additions and 168 deletions
|
@ -1,77 +1,89 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"author": "All uBlock Origin contributors",
|
||||||
|
"background": {
|
||||||
"name": "uBlock Origin",
|
"page": "background.html"
|
||||||
"version": "1.15.11.0",
|
},
|
||||||
|
"browser_action": {
|
||||||
"commands": {
|
"default_icon": {
|
||||||
"launch-element-zapper": {
|
"19": "img/browsericons/icon19.png",
|
||||||
"description": "__MSG_popupTipZapper__"
|
"38": "img/browsericons/icon38.png"
|
||||||
},
|
|
||||||
"launch-element-picker": {
|
|
||||||
"description": "__MSG_popupTipPicker__"
|
|
||||||
},
|
|
||||||
"launch-logger": {
|
|
||||||
"description": "__MSG_popupTipLog__"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"default_locale": "en",
|
"default_title": "uBlock Origin",
|
||||||
"description": "__MSG_extShortDesc__",
|
"default_popup": "popup.html"
|
||||||
"icons": {
|
},
|
||||||
"16": "img/icon_16.png",
|
"commands": {
|
||||||
"128": "img/icon_128.png"
|
"launch-element-zapper": {
|
||||||
|
"description": "__MSG_popupTipZapper__"
|
||||||
},
|
},
|
||||||
|
"launch-element-picker": {
|
||||||
"browser_action": {
|
"description": "__MSG_popupTipPicker__"
|
||||||
"default_icon": {
|
|
||||||
"19": "img/browsericons/icon19.png",
|
|
||||||
"38": "img/browsericons/icon38.png"
|
|
||||||
},
|
|
||||||
"default_title": "uBlock Origin",
|
|
||||||
"default_popup": "popup.html"
|
|
||||||
},
|
},
|
||||||
|
"launch-logger": {
|
||||||
"author": "All uBlock Origin contributors",
|
"description": "__MSG_popupTipLog__"
|
||||||
"background": {
|
}
|
||||||
"page": "background.html"
|
},
|
||||||
|
"content_scripts": [
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
"http://*/*",
|
||||||
|
"https://*/*"
|
||||||
|
],
|
||||||
|
"js": [
|
||||||
|
"/js/vapi.js",
|
||||||
|
"/js/vapi-client.js",
|
||||||
|
"/js/contentscript.js"
|
||||||
|
],
|
||||||
|
"run_at": "document_start",
|
||||||
|
"all_frames": true
|
||||||
},
|
},
|
||||||
"content_scripts": [
|
{
|
||||||
{
|
"matches": [
|
||||||
"matches": ["http://*/*", "https://*/*"],
|
"http://*/*",
|
||||||
"js": ["/js/vapi.js", "/js/vapi-client.js", "/js/contentscript.js"],
|
"https://*/*"
|
||||||
"run_at": "document_start",
|
],
|
||||||
"all_frames": true
|
"js": [
|
||||||
},
|
"/js/scriptlets/subscriber.js"
|
||||||
{
|
],
|
||||||
"matches": ["http://*/*", "https://*/*"],
|
"run_at": "document_idle",
|
||||||
"js": ["/js/scriptlets/subscriber.js"],
|
"all_frames": false
|
||||||
"run_at": "document_idle",
|
}
|
||||||
"all_frames": false
|
],
|
||||||
}
|
"default_locale": "en",
|
||||||
],
|
"description": "__MSG_extShortDesc__",
|
||||||
"incognito": "split",
|
"icons": {
|
||||||
"minimum_chrome_version": "45.0",
|
"16": "img/icon_16.png",
|
||||||
"optional_permissions": [ "file:///*" ],
|
"32": "img/icon_32.png",
|
||||||
"options_page": "dashboard.html",
|
"64": "img/icon_64.png",
|
||||||
"options_ui": {
|
"128": "img/icon_128.png"
|
||||||
"page": "options_ui.html"
|
},
|
||||||
},
|
"incognito": "split",
|
||||||
"permissions": [
|
"manifest_version": 2,
|
||||||
"contextMenus",
|
"minimum_chrome_version": "45.0",
|
||||||
"privacy",
|
"name": "uBlock Origin",
|
||||||
"storage",
|
"optional_permissions": [
|
||||||
"tabs",
|
"file:///*"
|
||||||
"unlimitedStorage",
|
],
|
||||||
"webNavigation",
|
"options_page": "dashboard.html",
|
||||||
"webRequest",
|
"options_ui": {
|
||||||
"webRequestBlocking",
|
"page": "options_ui.html"
|
||||||
"<all_urls>"
|
},
|
||||||
],
|
"permissions": [
|
||||||
"short_name": "uBlock₀",
|
"contextMenus",
|
||||||
"storage": {
|
"privacy",
|
||||||
"managed_schema": "managed_storage.json"
|
"storage",
|
||||||
},
|
"tabs",
|
||||||
"web_accessible_resources": [
|
"unlimitedStorage",
|
||||||
"/web_accessible_resources/*"
|
"webNavigation",
|
||||||
]
|
"webRequest",
|
||||||
|
"webRequestBlocking",
|
||||||
|
"<all_urls>"
|
||||||
|
],
|
||||||
|
"short_name": "uBlock₀",
|
||||||
|
"storage": {
|
||||||
|
"managed_schema": "managed_storage.json"
|
||||||
|
},
|
||||||
|
"version": "1.15.11.0",
|
||||||
|
"web_accessible_resources": [
|
||||||
|
"/web_accessible_resources/*"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
105
platform/debian/manifest.json
Normal file
105
platform/debian/manifest.json
Normal file
|
@ -0,0 +1,105 @@
|
||||||
|
{
|
||||||
|
"applications": {
|
||||||
|
"gecko": {
|
||||||
|
"id": "uBlock0-webext@raymondhill.net",
|
||||||
|
"strict_min_version": "52.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"author": "All uBlock Origin contributors",
|
||||||
|
"background": {
|
||||||
|
"page": "background.html"
|
||||||
|
},
|
||||||
|
"browser_action": {
|
||||||
|
"browser_style": false,
|
||||||
|
"default_icon": {
|
||||||
|
"19": "img/browsericons/icon19.png",
|
||||||
|
"38": "img/browsericons/icon38.png"
|
||||||
|
},
|
||||||
|
"default_title": "uBlock Origin",
|
||||||
|
"default_popup": "popup.html"
|
||||||
|
},
|
||||||
|
"commands": {
|
||||||
|
"launch-element-zapper": {
|
||||||
|
"description": "__MSG_popupTipZapper__"
|
||||||
|
},
|
||||||
|
"launch-element-picker": {
|
||||||
|
"description": "__MSG_popupTipPicker__"
|
||||||
|
},
|
||||||
|
"launch-logger": {
|
||||||
|
"description": "__MSG_popupTipLog__"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"content_scripts": [
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
"http://*/*",
|
||||||
|
"https://*/*",
|
||||||
|
"file://*/*"
|
||||||
|
],
|
||||||
|
"js": [
|
||||||
|
"/js/vapi.js",
|
||||||
|
"/js/vapi-client.js",
|
||||||
|
"/js/contentscript.js"
|
||||||
|
],
|
||||||
|
"run_at": "document_start",
|
||||||
|
"all_frames": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
"http://*/*",
|
||||||
|
"https://*/*"
|
||||||
|
],
|
||||||
|
"js": [
|
||||||
|
"/js/scriptlets/subscriber.js"
|
||||||
|
],
|
||||||
|
"run_at": "document_idle",
|
||||||
|
"all_frames": false
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_locale": "en",
|
||||||
|
"description": "__MSG_extShortDesc__",
|
||||||
|
"icons": {
|
||||||
|
"16": "img/icon_16.png",
|
||||||
|
"32": "img/icon_32.png",
|
||||||
|
"64": "img/icon_64.png",
|
||||||
|
"128": "img/icon_128.png"
|
||||||
|
},
|
||||||
|
"incognito": "split",
|
||||||
|
"manifest_version": 2,
|
||||||
|
"minimum_chrome_version": "45.0",
|
||||||
|
"name": "uBlock Origin",
|
||||||
|
"optional_permissions": [
|
||||||
|
"file:///*"
|
||||||
|
],
|
||||||
|
"options_ui": {
|
||||||
|
"page": "dashboard.html",
|
||||||
|
"open_in_tab": true
|
||||||
|
},
|
||||||
|
"permissions": [
|
||||||
|
"contextMenus",
|
||||||
|
"privacy",
|
||||||
|
"storage",
|
||||||
|
"tabs",
|
||||||
|
"unlimitedStorage",
|
||||||
|
"webNavigation",
|
||||||
|
"webRequest",
|
||||||
|
"webRequestBlocking",
|
||||||
|
"<all_urls>"
|
||||||
|
],
|
||||||
|
"short_name": "uBlock₀",
|
||||||
|
"sidebar_action": {
|
||||||
|
"default_title": "__MSG_statsPageName__",
|
||||||
|
"default_panel": "logger-ui.html",
|
||||||
|
"default_icon": {
|
||||||
|
"16": "img/ublock.svg",
|
||||||
|
"48": "img/ublock.svg"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"storage": {
|
||||||
|
"managed_schema": "managed_storage.json"
|
||||||
|
},
|
||||||
|
"version": "1.9.15.101",
|
||||||
|
"web_accessible_resources": [
|
||||||
|
"/web_accessible_resources/*"
|
||||||
|
]
|
||||||
|
}
|
176
platform/debian/vapi-webrequest.js
Normal file
176
platform/debian/vapi-webrequest.js
Normal file
|
@ -0,0 +1,176 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
|
||||||
|
uBlock Origin - a browser extension to block requests.
|
||||||
|
Copyright (C) 2018 Raymond Hill
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see {http://www.gnu.org/licenses/}.
|
||||||
|
|
||||||
|
Home: https://github.com/gorhill/uBlock
|
||||||
|
*/
|
||||||
|
|
||||||
|
// For background page
|
||||||
|
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
vAPI.net = {
|
||||||
|
onBeforeRequest: {},
|
||||||
|
onBeforeMaybeSpuriousCSPReport: {},
|
||||||
|
onHeadersReceived: {},
|
||||||
|
nativeCSPReportFiltering: true,
|
||||||
|
webRequest: chrome.webRequest,
|
||||||
|
canFilterResponseBody:
|
||||||
|
typeof chrome.webRequest === 'object' &&
|
||||||
|
typeof chrome.webRequest.filterResponseData === 'function'
|
||||||
|
};
|
||||||
|
|
||||||
|
/******************************************************************************/
|
||||||
|
|
||||||
|
vAPI.net.registerListeners = function() {
|
||||||
|
|
||||||
|
let wrApi = chrome.webRequest;
|
||||||
|
|
||||||
|
// legacy Chromium understands only these network request types.
|
||||||
|
let validTypes = new Set([
|
||||||
|
'image',
|
||||||
|
'main_frame',
|
||||||
|
'object',
|
||||||
|
'other',
|
||||||
|
'script',
|
||||||
|
'stylesheet',
|
||||||
|
'sub_frame',
|
||||||
|
'xmlhttprequest',
|
||||||
|
]);
|
||||||
|
// modern Chromium/WebExtensions: more types available.
|
||||||
|
if ( wrApi.ResourceType ) {
|
||||||
|
for ( let typeKey in wrApi.ResourceType ) {
|
||||||
|
if ( wrApi.ResourceType.hasOwnProperty(typeKey) ) {
|
||||||
|
validTypes.add(wrApi.ResourceType[typeKey]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
let denormalizeTypes = function(aa) {
|
||||||
|
if ( aa.length === 0 ) {
|
||||||
|
return Array.from(validTypes);
|
||||||
|
}
|
||||||
|
let out = new Set(),
|
||||||
|
i = aa.length;
|
||||||
|
while ( i-- ) {
|
||||||
|
let type = aa[i];
|
||||||
|
if ( validTypes.has(type) ) {
|
||||||
|
out.add(type);
|
||||||
|
}
|
||||||
|
if ( type === 'image' && validTypes.has('imageset') ) {
|
||||||
|
out.add('imageset');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return Array.from(out);
|
||||||
|
};
|
||||||
|
|
||||||
|
let normalizeRequestDetails = function(details) {
|
||||||
|
if ( details.tabId === vAPI.noTabId ) {
|
||||||
|
// Chromium uses `initiator` property.
|
||||||
|
if (
|
||||||
|
details.documentUrl === undefined &&
|
||||||
|
typeof details.initiator === 'string'
|
||||||
|
) {
|
||||||
|
details.documentUrl = details.initiator;
|
||||||
|
}
|
||||||
|
if ( typeof details.documentUrl === 'string' ) {
|
||||||
|
details.tabId = vAPI.anyTabId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://github.com/gorhill/uBlock/issues/1493
|
||||||
|
// Chromium 49+/WebExtensions support a new request type: `ping`,
|
||||||
|
// which is fired as a result of using `navigator.sendBeacon`.
|
||||||
|
if ( details.type === 'ping' ) {
|
||||||
|
details.type = 'beacon';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( details.type === 'imageset' ) {
|
||||||
|
details.type = 'image';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let onBeforeRequestClient = this.onBeforeRequest.callback;
|
||||||
|
let onBeforeRequest = function(details) {
|
||||||
|
normalizeRequestDetails(details);
|
||||||
|
return onBeforeRequestClient(details);
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( onBeforeRequest ) {
|
||||||
|
let urls = this.onBeforeRequest.urls || ['<all_urls>'];
|
||||||
|
let types = this.onBeforeRequest.types || undefined;
|
||||||
|
if (
|
||||||
|
(validTypes.has('websocket')) &&
|
||||||
|
(types === undefined || types.indexOf('websocket') !== -1) &&
|
||||||
|
(urls.indexOf('<all_urls>') === -1)
|
||||||
|
) {
|
||||||
|
if ( urls.indexOf('ws://*/*') === -1 ) {
|
||||||
|
urls.push('ws://*/*');
|
||||||
|
}
|
||||||
|
if ( urls.indexOf('wss://*/*') === -1 ) {
|
||||||
|
urls.push('wss://*/*');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
wrApi.onBeforeRequest.addListener(
|
||||||
|
onBeforeRequest,
|
||||||
|
{ urls: urls, types: types },
|
||||||
|
this.onBeforeRequest.extra
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://github.com/gorhill/uBlock/issues/3140
|
||||||
|
if ( typeof this.onBeforeMaybeSpuriousCSPReport.callback === 'function' ) {
|
||||||
|
wrApi.onBeforeRequest.addListener(
|
||||||
|
this.onBeforeMaybeSpuriousCSPReport.callback,
|
||||||
|
{
|
||||||
|
urls: [ 'http://*/*', 'https://*/*' ],
|
||||||
|
types: [ 'csp_report' ]
|
||||||
|
},
|
||||||
|
[ 'blocking', 'requestBody' ]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
let onHeadersReceivedClient = this.onHeadersReceived.callback,
|
||||||
|
onHeadersReceivedClientTypes = this.onHeadersReceived.types.slice(0),
|
||||||
|
onHeadersReceivedTypes = denormalizeTypes(onHeadersReceivedClientTypes);
|
||||||
|
let onHeadersReceived = function(details) {
|
||||||
|
normalizeRequestDetails(details);
|
||||||
|
if (
|
||||||
|
onHeadersReceivedClientTypes.length !== 0 &&
|
||||||
|
onHeadersReceivedClientTypes.indexOf(details.type) === -1
|
||||||
|
) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
return onHeadersReceivedClient(details);
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( onHeadersReceived ) {
|
||||||
|
let urls = this.onHeadersReceived.urls || ['<all_urls>'];
|
||||||
|
let types = onHeadersReceivedTypes;
|
||||||
|
wrApi.onHeadersReceived.addListener(
|
||||||
|
onHeadersReceived,
|
||||||
|
{ urls: urls, types: types },
|
||||||
|
this.onHeadersReceived.extra
|
||||||
|
);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/******************************************************************************/
|
|
@ -51,8 +51,10 @@
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"description": "__MSG_extShortDesc__",
|
"description": "__MSG_extShortDesc__",
|
||||||
"icons": {
|
"icons": {
|
||||||
"128": "img/icon_128.png",
|
"16": "img/icon_16.png",
|
||||||
"16": "img/icon_16.png"
|
"32": "img/icon_32.png",
|
||||||
|
"64": "img/icon_64.png",
|
||||||
|
"128": "img/icon_128.png"
|
||||||
},
|
},
|
||||||
"incognito": "split",
|
"incognito": "split",
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
|
@ -73,7 +75,7 @@
|
||||||
"webRequestBlocking",
|
"webRequestBlocking",
|
||||||
"<all_urls>"
|
"<all_urls>"
|
||||||
],
|
],
|
||||||
"short_name": "uBlock\u2080",
|
"short_name": "uBlock₀",
|
||||||
"sidebar_action": {
|
"sidebar_action": {
|
||||||
"default_icon": {
|
"default_icon": {
|
||||||
"19": "img/browsericons/icon19.png",
|
"19": "img/browsericons/icon19.png",
|
||||||
|
|
|
@ -1,95 +1,95 @@
|
||||||
{
|
{
|
||||||
"applications":{
|
"applications": {
|
||||||
"gecko":{
|
"gecko": {
|
||||||
"id":"uBlock0@raymondhill.net",
|
"id": "uBlock0@raymondhill.net",
|
||||||
"strict_min_version":"52.0"
|
"strict_min_version": "52.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"author":"All uBlock Origin contributors",
|
"author": "All uBlock Origin contributors",
|
||||||
"background":{
|
"background": {
|
||||||
"page":"background.html"
|
"page": "background.html"
|
||||||
},
|
},
|
||||||
"browser_action":{
|
"browser_action": {
|
||||||
"browser_style":false,
|
"browser_style": false,
|
||||||
"default_icon":{
|
"default_icon": {
|
||||||
"19":"img/browsericons/icon19.png",
|
"19": "img/browsericons/icon19.png",
|
||||||
"38":"img/browsericons/icon38.png"
|
"38": "img/browsericons/icon38.png"
|
||||||
},
|
},
|
||||||
"default_title":"uBlock Origin",
|
"default_title": "uBlock Origin",
|
||||||
"default_popup":"popup.html"
|
"default_popup": "popup.html"
|
||||||
},
|
},
|
||||||
"commands":{
|
"commands": {
|
||||||
"launch-element-zapper":{
|
"launch-element-zapper": {
|
||||||
"description":"__MSG_popupTipZapper__"
|
"description": "__MSG_popupTipZapper__"
|
||||||
},
|
},
|
||||||
"launch-element-picker":{
|
"launch-element-picker": {
|
||||||
"description":"__MSG_popupTipPicker__"
|
"description": "__MSG_popupTipPicker__"
|
||||||
},
|
},
|
||||||
"launch-logger":{
|
"launch-logger": {
|
||||||
"description":"__MSG_popupTipLog__"
|
"description": "__MSG_popupTipLog__"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"content_scripts":[
|
"content_scripts": [
|
||||||
{
|
{
|
||||||
"matches":[
|
"matches": [
|
||||||
"http://*/*",
|
"http://*/*",
|
||||||
"https://*/*",
|
"https://*/*",
|
||||||
"file://*/*"
|
"file://*/*"
|
||||||
],
|
],
|
||||||
"js":[
|
"js": [
|
||||||
"/js/vapi.js",
|
"/js/vapi.js",
|
||||||
"/js/vapi-client.js",
|
"/js/vapi-client.js",
|
||||||
"/js/contentscript.js"
|
"/js/contentscript.js"
|
||||||
],
|
],
|
||||||
"run_at":"document_start",
|
"run_at": "document_start",
|
||||||
"all_frames":true
|
"all_frames": true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matches":[
|
"matches": [
|
||||||
"http://*/*",
|
"http://*/*",
|
||||||
"https://*/*"
|
"https://*/*"
|
||||||
],
|
],
|
||||||
"js":[
|
"js": [
|
||||||
"/js/scriptlets/subscriber.js"
|
"/js/scriptlets/subscriber.js"
|
||||||
],
|
],
|
||||||
"run_at":"document_idle",
|
"run_at": "document_idle",
|
||||||
"all_frames":false
|
"all_frames": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"default_locale":"en",
|
"default_locale": "en",
|
||||||
"description":"__MSG_extShortDesc__",
|
"description": "__MSG_extShortDesc__",
|
||||||
"icons":{
|
"icons": {
|
||||||
"16":"img/ublock.svg",
|
"16": "img/ublock.svg",
|
||||||
"48":"img/ublock.svg",
|
"48": "img/ublock.svg",
|
||||||
"96":"img/ublock.svg"
|
"96": "img/ublock.svg"
|
||||||
},
|
},
|
||||||
"manifest_version":2,
|
"manifest_version": 2,
|
||||||
"name":"uBlock Origin",
|
"name": "uBlock Origin",
|
||||||
"options_ui":{
|
"options_ui": {
|
||||||
"page":"dashboard.html",
|
"page": "dashboard.html",
|
||||||
"open_in_tab": true
|
"open_in_tab": true
|
||||||
},
|
},
|
||||||
"permissions":[
|
"permissions": [
|
||||||
"contextMenus",
|
"contextMenus",
|
||||||
"privacy",
|
"privacy",
|
||||||
"storage",
|
"storage",
|
||||||
"tabs",
|
"tabs",
|
||||||
"webNavigation",
|
"webNavigation",
|
||||||
"webRequest",
|
"webRequest",
|
||||||
"webRequestBlocking",
|
"webRequestBlocking",
|
||||||
"<all_urls>"
|
"<all_urls>"
|
||||||
],
|
],
|
||||||
"short_name":"uBlock₀",
|
"short_name": "uBlock₀",
|
||||||
"sidebar_action":{
|
"sidebar_action": {
|
||||||
"default_title":"__MSG_statsPageName__",
|
"default_title": "__MSG_statsPageName__",
|
||||||
"default_panel":"logger-ui.html",
|
"default_panel": "logger-ui.html",
|
||||||
"default_icon":{
|
"default_icon": {
|
||||||
"16":"img/ublock.svg",
|
"16": "img/ublock.svg",
|
||||||
"48":"img/ublock.svg"
|
"48": "img/ublock.svg"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version":"1.9.15.101",
|
"version": "1.9.15.101",
|
||||||
"web_accessible_resources": [
|
"web_accessible_resources": [
|
||||||
"/web_accessible_resources/*"
|
"/web_accessible_resources/*"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
BIN
src/img/icon_32.png
Normal file
BIN
src/img/icon_32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
src/img/icon_64.png
Normal file
BIN
src/img/icon_64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.6 KiB |
36
tools/make-debian-meta.py
Normal file
36
tools/make-debian-meta.py
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import json
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
|
||||||
|
if len(sys.argv) == 1 or not sys.argv[1]:
|
||||||
|
raise SystemExit('Build dir missing.')
|
||||||
|
|
||||||
|
proj_dir = os.path.join(os.path.split(os.path.abspath(__file__))[0], '..')
|
||||||
|
build_dir = os.path.abspath(sys.argv[1])
|
||||||
|
|
||||||
|
version = ''
|
||||||
|
with open(os.path.join(proj_dir, 'dist', 'version')) as f:
|
||||||
|
version = f.read().strip()
|
||||||
|
|
||||||
|
webext_manifest = {}
|
||||||
|
webext_manifest_file = os.path.join(build_dir, 'manifest.json')
|
||||||
|
with open(webext_manifest_file) as f2:
|
||||||
|
webext_manifest = json.load(f2)
|
||||||
|
|
||||||
|
match = re.search('^(\d+\.\d+\.\d+)(\.\d+)$', version)
|
||||||
|
if match:
|
||||||
|
buildtype = int(match.group(2)[1:])
|
||||||
|
if buildtype < 100:
|
||||||
|
builttype = 'b' + str(buildtype)
|
||||||
|
else:
|
||||||
|
builttype = 'rc' + str(buildtype - 100)
|
||||||
|
webext_manifest['version'] = match.group(1) + builttype
|
||||||
|
else:
|
||||||
|
webext_manifest['version'] = version
|
||||||
|
|
||||||
|
with open(webext_manifest_file, 'w') as f2:
|
||||||
|
json.dump(webext_manifest, f2, indent=2, separators=(',', ': '), sort_keys=True)
|
||||||
|
f2.write('\n')
|
58
tools/make-debian.sh
Executable file
58
tools/make-debian.sh
Executable file
|
@ -0,0 +1,58 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# This script assumes a linux environment
|
||||||
|
|
||||||
|
echo "*** uBlock0.debian: Creating web store package"
|
||||||
|
echo "*** uBlock0.debian: Copying files"
|
||||||
|
|
||||||
|
DES=dist/build/uBlock0.debian
|
||||||
|
rm -rf $DES
|
||||||
|
mkdir -p $DES
|
||||||
|
|
||||||
|
bash ./tools/make-assets.sh $DES
|
||||||
|
|
||||||
|
cp -R src/css $DES/
|
||||||
|
cp -R src/img $DES/
|
||||||
|
cp -R src/js $DES/
|
||||||
|
cp -R src/lib $DES/
|
||||||
|
cp -R src/_locales $DES/
|
||||||
|
cp -R $DES/_locales/nb $DES/_locales/no
|
||||||
|
cp src/*.html $DES/
|
||||||
|
cp -R platform/chromium/img $DES/
|
||||||
|
cp platform/chromium/*.js $DES/js/
|
||||||
|
cp platform/chromium/*.html $DES/
|
||||||
|
cp platform/chromium/*.json $DES/
|
||||||
|
cp LICENSE.txt $DES/
|
||||||
|
|
||||||
|
cp platform/debian/manifest.json $DES/
|
||||||
|
cp platform/debian/vapi-usercss.js $DES/js/
|
||||||
|
cp platform/debian/vapi-webrequest.js $DES/js/
|
||||||
|
|
||||||
|
echo "*** uBlock0.debian: concatenating content scripts"
|
||||||
|
cat $DES/js/vapi-usercss.js > /tmp/contentscript.js
|
||||||
|
echo >> /tmp/contentscript.js
|
||||||
|
grep -v "^'use strict';$" $DES/js/vapi-usercss.real.js >> /tmp/contentscript.js
|
||||||
|
echo >> /tmp/contentscript.js
|
||||||
|
grep -v "^'use strict';$" $DES/js/vapi-usercss.pseudo.js >> /tmp/contentscript.js
|
||||||
|
echo >> /tmp/contentscript.js
|
||||||
|
grep -v "^'use strict';$" $DES/js/contentscript.js >> /tmp/contentscript.js
|
||||||
|
mv /tmp/contentscript.js $DES/js/contentscript.js
|
||||||
|
rm $DES/js/vapi-usercss.js
|
||||||
|
rm $DES/js/vapi-usercss.real.js
|
||||||
|
rm $DES/js/vapi-usercss.pseudo.js
|
||||||
|
|
||||||
|
echo "*** uBlock0.debian: Generating web accessible resources..."
|
||||||
|
cp -R src/web_accessible_resources $DES/
|
||||||
|
python3 tools/import-war.py $DES/
|
||||||
|
|
||||||
|
echo "*** uBlock0.debian: Generating meta..."
|
||||||
|
python tools/make-debian-meta.py $DES/
|
||||||
|
|
||||||
|
if [ "$1" = all ]; then
|
||||||
|
echo "*** uBlock0.debian: Creating package..."
|
||||||
|
pushd $DES > /dev/null
|
||||||
|
zip ../$(basename $DES).xpi -qr *
|
||||||
|
popd > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "*** uBlock0.debian: Package done."
|
|
@ -25,7 +25,6 @@ cp platform/chromium/*.json $DES/
|
||||||
cp LICENSE.txt $DES/
|
cp LICENSE.txt $DES/
|
||||||
|
|
||||||
cp platform/webext/manifest.json $DES/
|
cp platform/webext/manifest.json $DES/
|
||||||
cp platform/webext/polyfill.js $DES/js/
|
|
||||||
cp platform/webext/vapi-usercss.js $DES/js/
|
cp platform/webext/vapi-usercss.js $DES/js/
|
||||||
cp platform/webext/vapi-webrequest.js $DES/js/
|
cp platform/webext/vapi-webrequest.js $DES/js/
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue