diff --git a/.extensionrc b/.extensionrc new file mode 100644 index 0000000000000000000000000000000000000000..7be67831d30a8245a8d576f1ca3fab7df68d7a98 --- /dev/null +++ b/.extensionrc @@ -0,0 +1,9 @@ +module.exports = { + + 'artifactsDir': 'artifacts', + 'ignoreFiles': ['crowdin.yaml'], + + 'build': { + 'overwriteDest': true + } +}; diff --git a/.gitignore b/.gitignore index ec0501292285cf47b589c219feaea714222e5492..629b3430d1cde65487a2f3ceb4423f9eefaf7dce 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +artifacts audit/node_modules audit/report.txt diff --git a/README.md b/README.md index 3f12fa5606d030d0b69a2906be9944dc115d2cb8..6ea09fd4945d2fd87bfdea29e33707e9a068f765 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,30 @@ -Decentraleyes (Experimental) +Decentraleyes (Chromium) ============= -A reimplementation of current features of Decentraleyes. This project will help bring Decentraleyes to WebExtensions (Firefox 57 and higher), as well as Chromium-based browsers, Opera, and possibly even Edge. +A [web browser extension](https://decentraleyes.org) that emulates Content Delivery Networks to improve your online privacy. It intercepts traffic, finds supported resources locally, and injects them into the environment. All of this happens automatically, so no prior configuration is required. Feel free to use the following [testing utility](https://decentraleyes.org/test/) to find out if you are properly protected. For more information, please read this [basic introduction](https://git.synz.io/Synzvato/decentraleyes/wikis/Simple-Introduction). -## Changelog +> **Note:** Decentraleyes is no silver bullet, but it does prevent a lot of websites from making you send these kinds of requests. Ultimately, you can make Decentraleyes block requests for any missing CDN resources, too. -Below is a list of all notable changes made to the reimplementation project to date. This includes, but is most certainly not limited to, records of changes such as bug fixes, and new, removed, and updated features. +## Contributing Code -### v1.3.7.5 +Suggestions in the form of **Issues**, and contributions in the form of **Merge Requests**, are highly welcome. Code **Forks** can be requested from within issues, or via email. You can use the contact details and public PGP key on the extension's [contact page](https://decentraleyes.org/contact/) to get in touch. -* Fix Subresource Integrity (SRI) validation issues. -* Implement context stripping for allowed CDN requests. -* Implement request filters to improve performance. +#### Prerequisites -### v1.3.7.4 +* Chromium / Chrome 58 *(or higher)*. -* Fix rare injection counter issue. +> **Note:** If you want to contribute to the Firefox Quantum extension, please check out the ```master``` branch. If you are looking for the Firefox legacy extension codebase, please see the ```legacy``` branch. -### v1.3.7.3 +#### Running the Code -* Improve injection state management _(requires a new permission)_. -* Implement injection overview and icon badge. +Please read this [developer guide](https://developer.chrome.com/extensions/getstarted) for information on how to run the extension from source. -### v1.3.7.2 +> **Important:** All tagged commits since 26 October 2016 are signed with GPG. It's likely best to ignore unsigned commits, unless you really know what you're doing. Please send an email if you have any questions or security concerns. -* Fix popup icon display issue. +## Submitting Translations -### v1.3.7.1 +Do you master a non-supported language? Please help out by translating this add-on on [Crowdin](https://crowdin.com/project/decentraleyes). -* Improve compatibility with HTTPS Everywhere. +## License -### v1.3.7 - -* Initial release. +[MPL-2.0](https://www.mozilla.org/MPL/2.0). diff --git a/core/constants.js b/core/constants.js index 2681915b06482fce63d2d3b05f5e3edefbb3f61e..5bbc13e9d0dfefe99b3f150c615880496d10ecff 100644 --- a/core/constants.js +++ b/core/constants.js @@ -21,10 +21,14 @@ const Address = { 'ANY': '*://*/*', 'ANY_PATH': '/*', 'ANY_PROTOCOL': '*://', + 'CHROME': 'chrome:', 'CHROME_EXTENSION': 'chrome-extension:', + 'DECENTRALEYES': 'decentraleyes.org', 'EXAMPLE': 'example.org', 'HTTP': 'http:', 'HTTPS': 'https:', + 'RESOURCE_PATH': '/resources', + 'ROOT_PATH': '/', 'WWW_PREFIX': 'www.' }; @@ -63,6 +67,7 @@ const WebRequest = { }; const WebRequestType = { + 'MAIN_FRAME': 'main_frame', 'XHR': 'xmlhttprequest' }; diff --git a/core/file-guard.js b/core/file-guard.js index 004348e264b020befa7c87ecff06d628c595293c..fc71543aca1ee4d36442fdb7f988991712d08e05 100644 --- a/core/file-guard.js +++ b/core/file-guard.js @@ -2,7 +2,7 @@ * File Guard * Belongs to Decentraleyes. * - * @see https://github.com/Synzvato/decentraleyes/pull/258 + * @see https://git.synz.io/Synzvato/decentraleyes/merge_requests/258 * * @author Thomas Rientjes * @since 2018-05-17 @@ -32,14 +32,14 @@ fileGuard._startListening = function () { chrome.webRequest.onBeforeRequest.addListener( fileGuard._verifyRequest, - {'urls': [`${fileGuard.path}/*`]}, + {'urls': [fileGuard.path + Address.ANY_PATH]}, [WebRequest.BLOCKING] ); }; fileGuard._verifyRequest = function (requestDetails) { - let redirectUrl = chrome.runtime.getURL('/'); + let redirectUrl = chrome.runtime.getURL(Address.ROOT_PATH); if (!requestDetails.url.endsWith(fileGuard.secret)) { return {redirectUrl}; @@ -50,7 +50,7 @@ fileGuard._verifyRequest = function (requestDetails) { * Initializations */ -fileGuard.path = chrome.runtime.getURL('/resources'); +fileGuard.path = chrome.runtime.getURL(Address.RESOURCE_PATH); fileGuard.secret = ''; if (fileGuard.path.startsWith(Address.CHROME_EXTENSION)) { diff --git a/core/interceptor.js b/core/interceptor.js index 2d7be1a4846614547ad895d15b95baefa7e09862..6ca3506d689872e5dafa9ddbb9bf9651b1b4a0a9 100644 --- a/core/interceptor.js +++ b/core/interceptor.js @@ -83,10 +83,7 @@ interceptor.handleRequest = function (requestDetails, tabIdentifier, tab) { }; if (undetectableTaintedDomains[tabDomain] || (/yandex\./).test(tabDomain)) { - - if (tabDomain !== 'yandex.ru') { - return interceptor._handleMissingCandidate(requestDetails.url); - } + return interceptor._handleMissingCandidate(requestDetails.url); } targetDetails = requestAnalyzer.getLocalTarget(requestDetails); @@ -157,7 +154,7 @@ interceptor._handleStorageChanged = function (changes) { */ interceptor.amountInjected = 0; -interceptor.xhrTestDomain = 'decentraleyes.org'; +interceptor.xhrTestDomain = Address.DECENTRALEYES; interceptor.blockMissing = false; interceptor.relatedSettings = []; @@ -169,7 +166,7 @@ interceptor.relatedSettings.push(Setting.BLOCK_MISSING); chrome.storage.local.get(interceptor.relatedSettings, function (items) { interceptor.amountInjected = items.amountInjected || 0; - interceptor.xhrTestDomain = items.xhrTestDomain || 'decentraleyes.org'; + interceptor.xhrTestDomain = items.xhrTestDomain || Address.DECENTRALEYES; interceptor.blockMissing = items.blockMissing || false; }); diff --git a/core/main.js b/core/main.js index 30454ba17b898b05312963ed7c13039bf7b2b7ee..4bb1edd3c793ce356427fcc0dc0821c6fcf50472 100644 --- a/core/main.js +++ b/core/main.js @@ -26,7 +26,7 @@ var main = {}; main._initializeOptions = function () { let optionDefaults = { - [Setting.XHR_TEST_DOMAIN]: 'decentraleyes.org', + [Setting.XHR_TEST_DOMAIN]: Address.DECENTRALEYES, [Setting.SHOW_ICON_BADGE]: true, [Setting.BLOCK_MISSING]: false, [Setting.DISABLE_PREFETCH]: true, diff --git a/core/mappings.js b/core/mappings.js index 63481f2e8bea25ad81e4049fddb473e6459731a8..2f2a8b4e814249dfa5271ef2717147b5f3c2567f 100644 --- a/core/mappings.js +++ b/core/mappings.js @@ -235,6 +235,28 @@ var mappings = { 'modernizr/modernizr-{version}.': resources.modernizr, 'mootoolscore/mootools.core-{version}.': resources.mootools } + }, + // BootCDN + 'cdn.bootcss.com': { + '/': { + 'angular.js/{version}/angular.': resources.angular, + 'backbone.js/{version}/backbone.': resources.backbone, + 'backbone.js/{version}/backbone-min.': resources.backbone, + 'dojo/{version}/dojo.': resources.dojo, + 'ember.js/{version}/ember.': resources.ember, + 'ext-core/{version}/ext-core.': resources.extCore, + 'jquery/{version}/jquery.': resources.jQuery, + 'jqueryui/{version}/jquery-ui.js': resources.jQueryUI, + 'jqueryui/{version}/jquery-ui.min.js': resources.jQueryUI, + 'modernizr/{version}/modernizr.': resources.modernizr, + 'mootools/{version}/mootools-yui-compressed.': resources.mootools, + 'prototype/{version}/prototype.': resources.prototypeJS, + 'scriptaculous/{version}/scriptaculous.': resources.scriptaculous, + 'swfobject/{version}/swfobject.': resources.swfobject, + 'underscore.js/{version}/underscore.': resources.underscore, + 'underscore.js/{version}/underscore-min.': resources.underscore, + 'webfont/{version}/webfontloader.': resources.webfont + } } }; diff --git a/core/state-manager.js b/core/state-manager.js index ba7d472fa87a8d2b389bb50c93c536c3425fb9f9..0620c341fbf19ddb77f86d4662d8af0842c37b8b 100644 --- a/core/state-manager.js +++ b/core/state-manager.js @@ -33,9 +33,14 @@ stateManager.registerInjection = function (tabIdentifier, injection) { registeredTab.injections[injectionIdentifier] = injection; injectionCount = Object.keys(registeredTab.injections).length || 0; - if (stateManager.showIconBadge === true) { + if (injectionCount > 0) { - if (injectionCount > 0) { + chrome.browserAction.setTitle({ + 'tabId': tabIdentifier, + 'title': `Decentraleyes (${injectionCount})` + }); + + if (stateManager.showIconBadge === true) { wrappers.setBadgeText({ 'tabId': tabIdentifier, @@ -100,7 +105,6 @@ stateManager._createTab = function (tab) { }; requestFilters = { - 'tabId': tabIdentifier, 'urls': stateManager.validHosts }; @@ -119,23 +123,37 @@ stateManager._removeTab = function (tabIdentifier) { stateManager._updateTab = function (details) { - let tabIdentifier, frameIdentifier; + let tabDomain, domainIsWhitelisted, frameIdentifier, tabIdentifier; + + tabDomain = helpers.extractDomainFromUrl(details.url); + domainIsWhitelisted = stateManager._domainIsWhitelisted(tabDomain); - tabIdentifier = details.tabId; frameIdentifier = details.frameId; + tabIdentifier = details.tabId; - if (tabIdentifier === -1 || frameIdentifier !== 0) { + if (frameIdentifier !== 0 || tabIdentifier === -1) { return; } - if (stateManager.showIconBadge === true) { + chrome.browserAction.setTitle({ + 'tabId': tabIdentifier, + 'title': 'Decentraleyes (0)' + }); + + if (domainIsWhitelisted) { - wrappers.setBadgeText({ + stateManager._setIconDisabled(tabIdentifier); + + chrome.browserAction.setTitle({ 'tabId': tabIdentifier, - 'text': '' + 'title': 'Decentraleyes (–)' }); } + if (stateManager.showIconBadge === true) { + stateManager._clearBadgeText(tabIdentifier); + } + if (stateManager.tabs[tabIdentifier]) { stateManager.tabs[tabIdentifier].injections = {}; } @@ -165,20 +183,58 @@ stateManager._handleStorageChanged = function (changes) { } }; -stateManager._removeIconBadgeFromTab = function (tab) { +stateManager._clearBadgeText = function (tabIdentifier) { wrappers.setBadgeText({ - 'tabId': tab.id, + 'tabId': tabIdentifier, 'text': '' }); }; +stateManager._removeIconBadgeFromTab = function (tab) { + stateManager._clearBadgeText(tab.id); +}; + +stateManager._domainIsWhitelisted = function (domain) { + + if (domain !== null) { + + let whitelistRecord, isWhitelisted; + + whitelistRecord = requestAnalyzer.whitelistedDomains[domain]; + isWhitelisted = Boolean(whitelistRecord); + + return isWhitelisted; + } + + return false; +}; + +stateManager._setIconDisabled = function (tabIdentifier) { + + wrappers.setIcon({ + 'path': stateManager.disabledIconPath, + 'tabId': tabIdentifier + }); +}; + /** * Initializations */ stateManager.requests = {}; stateManager.tabs = {}; + +stateManager.disabledIconPath = { + '16': chrome.runtime.getURL('icons/action/icon16-disabled.png'), + '18': chrome.runtime.getURL('icons/action/icon18-disabled.png'), + '19': chrome.runtime.getURL('icons/action/icon19-disabled.png'), + '32': chrome.runtime.getURL('icons/action/icon32-disabled.png'), + '36': chrome.runtime.getURL('icons/action/icon36-disabled.png'), + '38': chrome.runtime.getURL('icons/action/icon38-disabled.png'), + '64': chrome.runtime.getURL('icons/action/icon64-disabled.png') +}; + stateManager.validHosts = []; for (let mapping in mappings) { @@ -216,7 +272,7 @@ chrome.webRequest.onBeforeRequest.addListener(function (requestDetails) { }; } -}, {'types': ['main_frame'], 'urls': [Address.ANY]}); +}, {'types': [WebRequestType.MAIN_FRAME], 'urls': [Address.ANY]}); chrome.webNavigation.onCommitted.addListener(stateManager._updateTab, { 'url': [{'urlContains': ':'}] diff --git a/icons/action/icon16-default.png b/icons/action/icon16-default.png new file mode 100644 index 0000000000000000000000000000000000000000..b18026389f75c47fb8de02258afa4c4e2dc6962f Binary files /dev/null and b/icons/action/icon16-default.png differ diff --git a/icons/action/icon16-disabled.png b/icons/action/icon16-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..b8ff53850db30159e15dfd93579c4a47b664bc32 Binary files /dev/null and b/icons/action/icon16-disabled.png differ diff --git a/icons/action/icon18.png b/icons/action/icon18-default.png similarity index 100% rename from icons/action/icon18.png rename to icons/action/icon18-default.png diff --git a/icons/action/icon18-disabled.png b/icons/action/icon18-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..a068a8c834e0aef5160502717388f223e587c4ba Binary files /dev/null and b/icons/action/icon18-disabled.png differ diff --git a/icons/action/icon19.png b/icons/action/icon19-default.png similarity index 100% rename from icons/action/icon19.png rename to icons/action/icon19-default.png diff --git a/icons/action/icon19-disabled.png b/icons/action/icon19-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff257bf75ec131b48dc45e195b1bf0390ca8515 Binary files /dev/null and b/icons/action/icon19-disabled.png differ diff --git a/icons/action/icon32.png b/icons/action/icon32-default.png similarity index 100% rename from icons/action/icon32.png rename to icons/action/icon32-default.png diff --git a/icons/action/icon32-disabled.png b/icons/action/icon32-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..60344fde9bb497e24dab179da9e081f034079a9b Binary files /dev/null and b/icons/action/icon32-disabled.png differ diff --git a/icons/action/icon36.png b/icons/action/icon36-default.png similarity index 100% rename from icons/action/icon36.png rename to icons/action/icon36-default.png diff --git a/icons/action/icon36-disabled.png b/icons/action/icon36-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..8abada525c511ceb9ea6aacb024a8fd9ba728fa0 Binary files /dev/null and b/icons/action/icon36-disabled.png differ diff --git a/icons/action/icon38.png b/icons/action/icon38-default.png similarity index 100% rename from icons/action/icon38.png rename to icons/action/icon38-default.png diff --git a/icons/action/icon38-disabled.png b/icons/action/icon38-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..469c00a899c8108ece6b434ba4c4274a516e39ed Binary files /dev/null and b/icons/action/icon38-disabled.png differ diff --git a/icons/action/icon64.png b/icons/action/icon64-default.png similarity index 100% rename from icons/action/icon64.png rename to icons/action/icon64-default.png diff --git a/icons/action/icon64-disabled.png b/icons/action/icon64-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..4e895fc7bed9a3bdc71e6c7469df465cb135ba67 Binary files /dev/null and b/icons/action/icon64-disabled.png differ diff --git a/manifest.json b/manifest.json index 3d970487d86fa039ce2f0c28584afc639f79e4f1..fb8a3de0c2031a55c5ddf4f2e3cfb85735c62d7e 100644 --- a/manifest.json +++ b/manifest.json @@ -32,12 +32,13 @@ "browser_action": { "default_icon": { - "18": "icons/action/icon18.png", - "19": "icons/action/icon19.png", - "32": "icons/action/icon32.png", - "36": "icons/action/icon36.png", - "38": "icons/action/icon38.png", - "64": "icons/action/icon64.png" + "16": "icons/action/icon16-default.png", + "18": "icons/action/icon18-default.png", + "19": "icons/action/icon19-default.png", + "32": "icons/action/icon32-default.png", + "36": "icons/action/icon36-default.png", + "38": "icons/action/icon38-default.png", + "64": "icons/action/icon64-default.png" }, "default_popup": "pages/popup/popup.html", "browser_style": false diff --git a/modules/fontawesome/icon-bundle.min.js b/modules/fontawesome/icon-bundle.min.js index d45be795ab56cc7a4160756cc42ce6f71e63df6e..c3f8c7d69e987eca4242e187873c523c0708c6fb 100644 --- a/modules/fontawesome/icon-bundle.min.js +++ b/modules/fontawesome/icon-bundle.min.js @@ -2,4 +2,4 @@ * Font Awesome Free 5.0.1 by @fontawesome - http://fontawesome.com * License - http://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) */ -!function(){"use strict";function c(c){"function"==typeof m.hooks.addPack?m.hooks.addPack(c,a):m.styles[c]=s({},m.styles[c]||{},a)}var h={};try{"undefined"!=typeof window&&(h=window)}catch(c){}var v=(h.navigator||{}).userAgent,l=void 0===v?"":v,z=h,H=(~l.indexOf("MSIE")||l.indexOf("Trident/"),[1,2,3,4,5,6,7,8,9,10]),M=H.concat([11,12,13,14,15,16,17,18,19,20]),a=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(H.map(function(c){return c+"x"})).concat(M.map(function(c){return"w-"+c})),{btc:[384,512,[],"f15a","M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],cube:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],"github-alt":[480,512,[],"f113","M186.1 328.7c0 20.9-10.9 55.1-36.7 55.1s-36.7-34.2-36.7-55.1 10.9-55.1 36.7-55.1 36.7 34.2 36.7 55.1zM480 278.2c0 31.9-3.2 65.7-17.5 95-37.9 76.6-142.1 74.8-216.7 74.8-75.8 0-186.2 2.7-225.6-74.8-14.6-29-20.2-63.1-20.2-95 0-41.9 13.9-81.5 41.5-113.6-5.2-15.8-7.7-32.4-7.7-48.8 0-21.5 4.9-32.3 14.6-51.8 45.3 0 74.3 9 108.8 36 29-6.9 58.8-10 88.7-10 27 0 54.2 2.9 80.4 9.2 34-26.7 63-35.2 107.8-35.2 9.8 19.5 14.6 30.3 14.6 51.8 0 16.4-2.6 32.7-7.7 48.2 27.5 32.4 39 72.3 39 114.2zm-64.3 50.5c0-43.9-26.7-82.6-73.5-82.6-18.9 0-37 3.4-56 6-14.9 2.3-29.8 3.2-45.1 3.2-15.2 0-30.1-.9-45.1-3.2-18.7-2.6-37-6-56-6-46.8 0-73.5 38.7-73.5 82.6 0 87.8 80.4 101.3 150.4 101.3h48.2c70.3 0 150.6-13.4 150.6-101.3zm-82.6-55.1c-25.8 0-36.7 34.2-36.7 55.1s10.9 55.1 36.7 55.1 36.7-34.2 36.7-55.1-10.9-55.1-36.7-55.1z"],globe:[512,512,[],"f0ac","M364.215 192h131.43c5.439 20.419 8.354 41.868 8.354 64s-2.915 43.581-8.354 64h-131.43c5.154-43.049 4.939-86.746 0-128zM185.214 352c10.678 53.68 33.173 112.514 70.125 151.992.221.001.44.008.661.008s.44-.008.661-.008c37.012-39.543 59.467-98.414 70.125-151.992H185.214zm174.13-192h125.385C452.802 84.024 384.128 27.305 300.95 12.075c30.238 43.12 48.821 96.332 58.394 147.925zm-27.35 32H180.006c-5.339 41.914-5.345 86.037 0 128h151.989c5.339-41.915 5.345-86.037-.001-128zM152.656 352H27.271c31.926 75.976 100.6 132.695 183.778 147.925-30.246-43.136-48.823-96.35-58.393-147.925zm206.688 0c-9.575 51.605-28.163 104.814-58.394 147.925 83.178-15.23 151.852-71.949 183.778-147.925H359.344zm-32.558-192c-10.678-53.68-33.174-112.514-70.125-151.992-.221 0-.44-.008-.661-.008s-.44.008-.661.008C218.327 47.551 195.872 106.422 185.214 160h141.572zM16.355 192C10.915 212.419 8 233.868 8 256s2.915 43.581 8.355 64h131.43c-4.939-41.254-5.154-84.951 0-128H16.355zm136.301-32c9.575-51.602 28.161-104.81 58.394-147.925C127.872 27.305 59.198 84.024 27.271 160h125.385z"],monero:[496,512,[],"f3d0","M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"],"power-off":[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"],"shield-alt":[512,512,[],"f3ed","M496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zM256 446.313l.066.034c93.735-46.689 172.497-156.308 175.817-307.729L256 65.333v380.98z"],"window-restore":[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]}),V=z||{};V.___FONT_AWESOME___||(V.___FONT_AWESOME___={}),V.___FONT_AWESOME___.styles||(V.___FONT_AWESOME___.styles={}),V.___FONT_AWESOME___.hooks||(V.___FONT_AWESOME___.hooks={}),V.___FONT_AWESOME___.shims||(V.___FONT_AWESOME___.shims=[]);var m=V.___FONT_AWESOME___,s=Object.assign||function(c){for(var h=1;h<arguments.length;h++){var v=arguments[h];for(var l in v)Object.prototype.hasOwnProperty.call(v,l)&&(c[l]=v[l])}return c};!function(c){try{c()}catch(c){}}(function(){c("fai"),c("fa")})}(); +!function(){"use strict";function c(c){"function"==typeof m.hooks.addPack?m.hooks.addPack(c,a):m.styles[c]=s({},m.styles[c]||{},a)}var h={};try{"undefined"!=typeof window&&(h=window)}catch(c){}var v=(h.navigator||{}).userAgent,l=void 0===v?"":v,z=h,H=(~l.indexOf("MSIE")||l.indexOf("Trident/"),[1,2,3,4,5,6,7,8,9,10]),M=H.concat([11,12,13,14,15,16,17,18,19,20]),a=(["xs","sm","lg","fw","ul","li","border","pull-left","pull-right","spin","pulse","rotate-90","rotate-180","rotate-270","flip-horizontal","flip-vertical","stack","stack-1x","stack-2x","inverse","layers","layers-text","layers-counter"].concat(H.map(function(c){return c+"x"})).concat(M.map(function(c){return"w-"+c})),{btc:[384,512,[],"f15a","M310.204 242.638c27.73-14.18 45.377-39.39 41.28-81.3-5.358-57.351-52.458-76.573-114.85-81.929V0h-48.528v77.203c-12.605 0-25.525.315-38.444.63V0h-48.528v79.409c-17.842.539-38.622.276-97.37 0v51.678c38.314-.678 58.417-3.14 63.023 21.427v217.429c-2.925 19.492-18.524 16.685-53.255 16.071L3.765 443.68c88.481 0 97.37.315 97.37.315V512h48.528v-67.06c13.234.315 26.154.315 38.444.315V512h48.528v-68.005c81.299-4.412 135.647-24.894 142.895-101.467 5.671-61.446-23.32-88.862-69.326-99.89zM150.608 134.553c27.415 0 113.126-8.507 113.126 48.528 0 54.515-85.71 48.212-113.126 48.212v-96.74zm0 251.776V279.821c32.772 0 133.127-9.138 133.127 53.255-.001 60.186-100.355 53.253-133.127 53.253z"],cog:[512,512,[],"f013","M444.788 291.1l42.616 24.599c4.867 2.809 7.126 8.618 5.459 13.985-11.07 35.642-29.97 67.842-54.689 94.586a12.016 12.016 0 0 1-14.832 2.254l-42.584-24.595a191.577 191.577 0 0 1-60.759 35.13v49.182a12.01 12.01 0 0 1-9.377 11.718c-34.956 7.85-72.499 8.256-109.219.007-5.49-1.233-9.403-6.096-9.403-11.723v-49.184a191.555 191.555 0 0 1-60.759-35.13l-42.584 24.595a12.016 12.016 0 0 1-14.832-2.254c-24.718-26.744-43.619-58.944-54.689-94.586-1.667-5.366.592-11.175 5.459-13.985L67.212 291.1a193.48 193.48 0 0 1 0-70.199l-42.616-24.599c-4.867-2.809-7.126-8.618-5.459-13.985 11.07-35.642 29.97-67.842 54.689-94.586a12.016 12.016 0 0 1 14.832-2.254l42.584 24.595a191.577 191.577 0 0 1 60.759-35.13V25.759a12.01 12.01 0 0 1 9.377-11.718c34.956-7.85 72.499-8.256 109.219-.007 5.49 1.233 9.403 6.096 9.403 11.723v49.184a191.555 191.555 0 0 1 60.759 35.13l42.584-24.595a12.016 12.016 0 0 1 14.832 2.254c24.718 26.744 43.619 58.944 54.689 94.586 1.667 5.366-.592 11.175-5.459 13.985L444.788 220.9a193.485 193.485 0 0 1 0 70.2zM336 256c0-44.112-35.888-80-80-80s-80 35.888-80 80 35.888 80 80 80 80-35.888 80-80z"],cube:[512,512,[],"f1b2","M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v133.9l-160 80z"],"exclamation-triangle":[576,512,[],"f071","M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"],gitlab:[512,512,[],"f296","M29.782 199.732L256 493.714 8.074 309.699c-6.856-5.142-9.712-13.996-7.141-21.993l28.849-87.974zm75.405-174.806c-3.142-8.854-15.709-8.854-18.851 0L29.782 199.732h131.961L105.187 24.926zm56.556 174.806L256 493.714l94.257-293.982H161.743zm349.324 87.974l-28.849-87.974L256 493.714l247.926-184.015c6.855-5.142 9.711-13.996 7.141-21.993zm-85.404-262.78c-3.142-8.854-15.709-8.854-18.851 0l-56.555 174.806h131.961L425.663 24.926z"],globe:[512,512,[],"f0ac","M364.215 192h131.43c5.439 20.419 8.354 41.868 8.354 64s-2.915 43.581-8.354 64h-131.43c5.154-43.049 4.939-86.746 0-128zM185.214 352c10.678 53.68 33.173 112.514 70.125 151.992.221.001.44.008.661.008s.44-.008.661-.008c37.012-39.543 59.467-98.414 70.125-151.992H185.214zm174.13-192h125.385C452.802 84.024 384.128 27.305 300.95 12.075c30.238 43.12 48.821 96.332 58.394 147.925zm-27.35 32H180.006c-5.339 41.914-5.345 86.037 0 128h151.989c5.339-41.915 5.345-86.037-.001-128zM152.656 352H27.271c31.926 75.976 100.6 132.695 183.778 147.925-30.246-43.136-48.823-96.35-58.393-147.925zm206.688 0c-9.575 51.605-28.163 104.814-58.394 147.925 83.178-15.23 151.852-71.949 183.778-147.925H359.344zm-32.558-192c-10.678-53.68-33.174-112.514-70.125-151.992-.221 0-.44-.008-.661-.008s-.44.008-.661.008C218.327 47.551 195.872 106.422 185.214 160h141.572zM16.355 192C10.915 212.419 8 233.868 8 256s2.915 43.581 8.355 64h131.43c-4.939-41.254-5.154-84.951 0-128H16.355zm136.301-32c9.575-51.602 28.161-104.81 58.394-147.925C127.872 27.305 59.198 84.024 27.271 160h125.385z"],monero:[496,512,[],"f3d0","M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z"],"power-off":[512,512,[],"f011","M400 54.1c63 45 104 118.6 104 201.9 0 136.8-110.8 247.7-247.5 248C120 504.3 8.2 393 8 256.4 7.9 173.1 48.9 99.3 111.8 54.2c11.7-8.3 28-4.8 35 7.7L162.6 90c5.9 10.5 3.1 23.8-6.6 31-41.5 30.8-68 79.6-68 134.9-.1 92.3 74.5 168.1 168 168.1 91.6 0 168.6-74.2 168-169.1-.3-51.8-24.7-101.8-68.1-134-9.7-7.2-12.4-20.5-6.5-30.9l15.8-28.1c7-12.4 23.2-16.1 34.8-7.8zM296 264V24c0-13.3-10.7-24-24-24h-32c-13.3 0-24 10.7-24 24v240c0 13.3 10.7 24 24 24h32c13.3 0 24-10.7 24-24z"],"shield-alt":[512,512,[],"f3ed","M496 128c0 221.282-135.934 344.645-221.539 380.308a48 48 0 0 1-36.923 0C130.495 463.713 16 326.487 16 128a48 48 0 0 1 29.539-44.308l192-80a48 48 0 0 1 36.923 0l192 80A48 48 0 0 1 496 128zM256 446.313l.066.034c93.735-46.689 172.497-156.308 175.817-307.729L256 65.333v380.98z"],"window-restore":[512,512,[],"f2d2","M512 48v288c0 26.5-21.5 48-48 48h-48V176c0-44.1-35.9-80-80-80H128V48c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zM384 176v288c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V176c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48zm-68 28c0-6.6-5.4-12-12-12H76c-6.6 0-12 5.4-12 12v52h252v-52z"]}),V=z||{};V.___FONT_AWESOME___||(V.___FONT_AWESOME___={}),V.___FONT_AWESOME___.styles||(V.___FONT_AWESOME___.styles={}),V.___FONT_AWESOME___.hooks||(V.___FONT_AWESOME___.hooks={}),V.___FONT_AWESOME___.shims||(V.___FONT_AWESOME___.shims=[]);var m=V.___FONT_AWESOME___,s=Object.assign||function(c){for(var h=1;h<arguments.length;h++){var v=arguments[h];for(var l in v)Object.prototype.hasOwnProperty.call(v,l)&&(c[l]=v[l])}return c};!function(c){try{c()}catch(c){}}(function(){c("fai"),c("fa")})}(); diff --git a/modules/internal/helpers.js b/modules/internal/helpers.js index aeb6de3f3909f95a612e3c1486bf3140a338bc71..9bacc050216085e3dba87c2cefa665f035504196 100644 --- a/modules/internal/helpers.js +++ b/modules/internal/helpers.js @@ -98,6 +98,10 @@ helpers.extractDomainFromUrl = function (url, normalize) { extractedDomain = null; } + if (url.startsWith(Address.CHROME)) { + extractedDomain = null; + } + if (extractedDomain === '') { extractedDomain = null; } @@ -162,6 +166,8 @@ helpers.determineCdnName = function (domainName) { return 'Sina Public Resources'; case 'upcdn.b0.upaiyun.com': return 'UpYun Library'; + case 'cdn.bootcss.com': + return 'BootCDN'; case 'sdn.geekzu.org': return 'Geekzu Public Service [Mirror]'; case 'ajax.proxy.ustclug.org': diff --git a/modules/internal/wrappers.js b/modules/internal/wrappers.js index faf1033a70484c8c4171f133672b216209cb5fec..9800786c3ffd5bda31fbcb437f1773cf14549dbe 100644 --- a/modules/internal/wrappers.js +++ b/modules/internal/wrappers.js @@ -36,3 +36,10 @@ wrappers.setBadgeText = function (details) { chrome.browserAction.setBadgeText(details); } }; + +wrappers.setIcon = function (details) { + + if (chrome.browserAction.setIcon !== undefined) { + chrome.browserAction.setIcon(details); + } +}; diff --git a/pages/background/background.html b/pages/background/background.html index 0093dbebbde69100cbb320115cd05c225cf9d20e..f38ed9567c71d00bc1ee4cf6b36edb7d79befc66 100644 --- a/pages/background/background.html +++ b/pages/background/background.html @@ -1,6 +1,7 @@ <!DOCTYPE html> -<html> +<html lang="en"> + <head> <title>Decentraleyes Background</title> @@ -27,4 +28,5 @@ <script src="../../core/main.js"></script> </body> + </html> diff --git a/pages/options/options.html b/pages/options/options.html index fafe71faf0e39735912953f52e7c50d9bf0eb8cd..ea75412ec5eda194e1cc9056668ef54f9acb1a60 100644 --- a/pages/options/options.html +++ b/pages/options/options.html @@ -6,7 +6,7 @@ <title>Decentraleyes Options</title> - <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href="options.css"> diff --git a/pages/popup/popup.html b/pages/popup/popup.html index 2b99540bcd13890db0e9b1159de0eae56d4b4b1b..954c2661ed8396cc993dd6dd3403eeecbe87b18b 100644 --- a/pages/popup/popup.html +++ b/pages/popup/popup.html @@ -6,7 +6,7 @@ <title>Decentraleyes Popup</title> - <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8" /> <link rel="stylesheet" type="text/css" href="popup.css"> diff --git a/pages/welcome/logo.svg b/pages/welcome/logo.svg index 8f6d67769a259e526976cc3d1e1d3607a9201a0f..faf45b406d069243e417e9bb37f3313bb870e5d6 100644 --- a/pages/welcome/logo.svg +++ b/pages/welcome/logo.svg @@ -1,22 +1,21 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="139.98mm" width="213.68mm" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 757.14843 495.97448" xmlns:dc="http://purl.org/dc/elements/1.1/"> +<svg width="213.68mm" height="139.98mm" version="1.1" viewBox="0 0 757.15 495.97" xmlns="http://www.w3.org/2000/svg"> <defs> - <linearGradient id="a" y2="-1041.7" gradientUnits="userSpaceOnUse" x2="-2153.9" gradientTransform="matrix(.73610 0 0 1.1184 971.67 1120)" y1="-1983.7" x1="-2153.9"> + <linearGradient id="a" x1="-2153.9" x2="-2153.9" y1="-1983.7" y2="-1041.7" gradientTransform="matrix(.7361 0 0 1.1184 971.67 1120)" gradientUnits="userSpaceOnUse"> <stop stop-color="#7c9437" offset="0"/> <stop stop-color="#eff4e2" offset="1"/> </linearGradient> </defs> <g transform="translate(1012.9 489.91)"> - <path d="m-633.52-289.08c-4.2555-0.0136-8.5155 0-12.777 0.0312-127.91 0.89658-252.53 19.355-365.63 52.92a378.57 378.57 0 0 0 -0.9259 18.506 378.57 378.57 0 0 0 0.9472 26.779 378.57 378.57 0 0 0 4.5606 37.566 378.57 378.57 0 0 0 8.2871 36.924 378.57 378.57 0 0 0 11.934 35.91 378.57 378.57 0 0 0 15.457 34.541 378.57 378.57 0 0 0 18.83 32.824 378.57 378.57 0 0 0 13.689 19.143h609.77a378.57 378.57 0 0 0 7.5468 -9.9279 378.57 378.57 0 0 0 19.779 -32.262 378.57 378.57 0 0 0 16.459 -34.074 378.57 378.57 0 0 0 12.977 -35.547 378.57 378.57 0 0 0 9.3634 -36.666 378.57 378.57 0 0 0 5.6543 -37.416 378.57 378.57 0 0 0 1.8905 -37.795 378.57 378.57 0 0 0 -0.60143 -17.018c-116.53-35.116-245.29-54.153-377.21-54.44z" fill-rule="evenodd" fill="url(#a)"/> + <path d="m-633.52-289.08c-4.2555-0.0136-8.5155 0-12.777 0.0312-127.91 0.89658-252.53 19.355-365.63 52.92a378.57 378.57 0 0 0-0.9259 18.506 378.57 378.57 0 0 0 0.9472 26.779 378.57 378.57 0 0 0 4.5606 37.566 378.57 378.57 0 0 0 8.2871 36.924 378.57 378.57 0 0 0 11.934 35.91 378.57 378.57 0 0 0 15.457 34.541 378.57 378.57 0 0 0 18.83 32.824 378.57 378.57 0 0 0 13.689 19.143h609.77a378.57 378.57 0 0 0 7.5468-9.9279 378.57 378.57 0 0 0 19.779-32.262 378.57 378.57 0 0 0 16.459-34.074 378.57 378.57 0 0 0 12.977-35.547 378.57 378.57 0 0 0 9.3634-36.666 378.57 378.57 0 0 0 5.6543-37.416 378.57 378.57 0 0 0 1.8905-37.795 378.57 378.57 0 0 0-0.60143-17.018c-116.53-35.116-245.29-54.153-377.21-54.44z" fill="url(#a)" fill-rule="evenodd"/> <g transform="translate(-3065.9 1490.7)"> - <path d="m-8140.9-2348.7a274.29 274.29 0 0 0 -266.58 211.04c7.1369-1.3966 14.205-2.9209 21.4-4.2051 15.036-2.6835 30.198-5.1201 45.469-7.3067 15.271-2.1865 30.653-4.1238 46.129-5.8046 15.476-1.6809 31.048-3.1051 46.699-4.2715 15.651-1.1665 31.383-2.0735 47.18-2.7168 15.797-0.6434 31.658-1.0233 47.57-1.1348 16.954-0.1188 33.863 0.067 50.707 0.5527 16.844 0.4858 33.623 1.2711 50.32 2.3516s33.313 2.4557 49.826 4.1211 32.926 3.6208 49.219 5.8613c16.293 2.2406 32.467 4.7664 48.504 7.5723 10.201 1.7849 20.245 3.8763 30.33 5.8867a274.29 274.29 0 0 0 -266.77 -211.94z" transform="translate(10572 368.09)" fill="#69ab90"/> - <path d="m-8140.5-2258.2a184.16 184.16 0 0 0 -165.9 104.74c3.9985-0.4699 7.9455-1.0683 11.957-1.5039 15.476-1.6809 31.048-3.1051 46.699-4.2715 15.651-1.1665 31.383-2.0735 47.18-2.7168 15.797-0.6434 31.658-1.0233 47.57-1.1348 16.954-0.1188 33.863 0.067 50.707 0.5527 16.844 0.4858 33.623 1.2711 50.32 2.3516s33.313 2.4557 49.826 4.1211c9.3701 0.945 18.626 2.1953 27.928 3.3262a184.16 184.16 0 0 0 -166.29 -105.46z" transform="translate(10572 368.09)" fill="#4a856d"/> - <path d="m-8140.9-2237c-57.78 0.068-111.19 30.788-140.3 80.699 42.151-4.1659 84.969-6.4492 128.16-6.752 51.484-0.3609 102.54 2.0951 152.66 7.2168-29.034-50.162-82.569-81.082-140.53-81.164z" transform="translate(10572 368.09)" fill="#d9ccb5"/> - <path d="m-8139.6-2326.4c-68.213-0.4078-132.43 25.777-181.27 74.619-31.322 31.322-53.165 68.409-64.869 109.85 21.087-3.7573 42.424-7.0203 63.961-9.7968 0.1062-0.2386 0.2051-0.474 0.3125-0.7129 10.523-23.415 22.717-41.107 40.772-59.162 29.234-29.234 64.842-47.747 106.23-55.229 14.678-2.6535 47.206-2.9306 64.086-0.5429 14.755 2.0871 19.279 1.4609 27.205-3.7891 11.038-7.311 15.491-22.356 10.088-34.086-5.7671-12.52-13.568-16.585-37.066-19.334-9.8746-1.1551-19.702-1.7562-29.447-1.8145zm209.14 141.75c-15.595-0.072-28.373 12.42-28.373 27.73 0 2.0809 0.2081 4.0855 0.5879 6.0059 17.56 2.3451 34.986 5.0152 52.252 8.0156 0.3927-0.7733 0.7686-1.5899 1.1309-2.457 7.6967-18.421-5.8421-39.204-25.598-39.295z" fill-rule="evenodd" transform="translate(10572 368.09)" fill="#e1eee9"/> + <path transform="translate(10572 368.09)" d="m-8140.9-2348.7a274.29 274.29 0 0 0-266.58 211.04c7.1369-1.3966 14.205-2.9209 21.4-4.2051 15.036-2.6835 30.198-5.1201 45.469-7.3067 15.271-2.1865 30.653-4.1238 46.129-5.8046 15.476-1.6809 31.048-3.1051 46.699-4.2715 15.651-1.1665 31.383-2.0735 47.18-2.7168 15.797-0.6434 31.658-1.0233 47.57-1.1348 16.954-0.1188 33.863 0.067 50.707 0.5527 16.844 0.4858 33.623 1.2711 50.32 2.3516s33.313 2.4557 49.826 4.1211 32.926 3.6208 49.219 5.8613c16.293 2.2406 32.467 4.7664 48.504 7.5723 10.201 1.7849 20.245 3.8763 30.33 5.8867a274.29 274.29 0 0 0-266.77-211.94z" fill="#69ab90"/> + <path transform="translate(10572 368.09)" d="m-8140.5-2258.2a184.16 184.16 0 0 0-165.9 104.74c3.9985-0.4699 7.9455-1.0683 11.957-1.5039 15.476-1.6809 31.048-3.1051 46.699-4.2715 15.651-1.1665 31.383-2.0735 47.18-2.7168 15.797-0.6434 31.658-1.0233 47.57-1.1348 16.954-0.1188 33.863 0.067 50.707 0.5527 16.844 0.4858 33.623 1.2711 50.32 2.3516s33.313 2.4557 49.826 4.1211c9.3701 0.945 18.626 2.1953 27.928 3.3262a184.16 184.16 0 0 0-166.29-105.46z" fill="#4a856d"/> + <path transform="translate(10572 368.09)" d="m-8140.9-2237c-57.78 0.068-111.19 30.788-140.3 80.699 42.151-4.1659 84.969-6.4492 128.16-6.752 51.484-0.3609 102.54 2.0951 152.66 7.2168-29.034-50.162-82.569-81.082-140.53-81.164z" fill="#d9ccb5"/> + <path transform="translate(10572 368.09)" d="m-8139.6-2326.4c-68.213-0.4078-132.43 25.777-181.27 74.619-31.322 31.322-53.165 68.409-64.869 109.85 21.087-3.7573 42.424-7.0203 63.961-9.7968 0.1062-0.2386 0.2051-0.474 0.3125-0.7129 10.523-23.415 22.717-41.107 40.772-59.162 29.234-29.234 64.842-47.747 106.23-55.229 14.678-2.6535 47.206-2.9306 64.086-0.5429 14.755 2.0871 19.279 1.4609 27.205-3.7891 11.038-7.311 15.491-22.356 10.088-34.086-5.7671-12.52-13.568-16.585-37.066-19.334-9.8746-1.1551-19.702-1.7562-29.447-1.8145zm209.14 141.75c-15.595-0.072-28.373 12.42-28.373 27.73 0 2.0809 0.2081 4.0855 0.5879 6.0059 17.56 2.3451 34.986 5.0152 52.252 8.0156 0.3927-0.7733 0.7686-1.5899 1.1309-2.457 7.6967-18.421-5.8421-39.204-25.598-39.295z" fill="#e1eee9" fill-rule="evenodd"/> <path d="m2566.6-1883.9c-3.0097 3.1329-6.9452 2.2975-14.708-2.4482-4.0467-2.2446-5.5995-3.6343-9.6847-5.7832l-6.0229-3.1961-2.0305 3.9932-2.0327 3.9906-3.4678-4.969c-8.9934-12.89-18.056-26.474-17.742-26.592 4.2273-0.3503 19.763-1.3532 37.471-2.7026 0 0-1.0853 2.1672-2.2943 4.5888l-2.0055 4.2775 6.5539 3.5215c3.6047 1.9372 9.4209 5.7407 12.927 8.4524 1.0018 0.7747 1.7262 1.4006 2.4531 2.0301 4.5629 4.4076 4.9708 7.6508 2.557 12.032-0.6314 1.1465-1.2782 2.081-1.9728 2.8041z" fill="#fff"/> - <path d="m-432.68-16.955c-0.92625 0.11186-1.7636 0.61843-2.5957 1.4668-2.5338 2.583-1.7893 5.0501 3.1855 10.545 2.4906 2.751 6.0466 6.7358 7.9004 8.8555 3.7538 4.2926 5.5909 4.8261 8.1582 2.3672 2.8579-2.737 2.1581-5.0574-3.6914-12.246-6.6046-8.1165-10.178-11.324-12.957-10.988z" transform="matrix(1.9024 0 0 1.9024 3412 -1843.7)" fill="#fff"/> + <path transform="matrix(1.9024 0 0 1.9024 3412 -1843.7)" d="m-432.68-16.955c-0.92625 0.11186-1.7636 0.61843-2.5957 1.4668-2.5338 2.583-1.7893 5.0501 3.1855 10.545 2.4906 2.751 6.0466 6.7358 7.9004 8.8555 3.7538 4.2926 5.5909 4.8261 8.1582 2.3672 2.8579-2.737 2.1581-5.0574-3.6914-12.246-6.6046-8.1165-10.178-11.324-12.957-10.988z" fill="#fff"/> </g> - <path style="color-rendering:auto;text-decoration-color:#000000;color:#000000;isolation:auto;mix-blend-mode:normal;shape-rendering:auto;solid-color:#000000;block-progression:tb;text-decoration-line:none;text-decoration-style:solid;image-rendering:auto;white-space:normal;text-indent:0;text-transform:none" d="m-1011-254.39a378.57 378.57 0 0 0 -0.9141 18.264c113.1-33.564 237.73-52.023 365.63-52.92 136.38-0.95605 269.7 18.16 389.99 54.408a378.57 378.57 0 0 0 -0.34565 -9.7598 378.57 378.57 0 0 0 -1.0644 -8.7656c-120.38-35.545-253.06-54.097-388.7-53.147-127.3 0.89224-251.38 18.941-364.6 51.92z" fill="#4a856d"/> + <path d="m-1011-254.39a378.57 378.57 0 0 0-0.9141 18.264c113.1-33.564 237.73-52.023 365.63-52.92 136.38-0.95605 269.7 18.16 389.99 54.408a378.57 378.57 0 0 0-0.34565-9.7598 378.57 378.57 0 0 0-1.0644-8.7656c-120.38-35.545-253.06-54.097-388.7-53.147-127.3 0.89224-251.38 18.941-364.6 51.92z" color="#000000" color-rendering="auto" fill="#4a856d" image-rendering="auto" shape-rendering="auto" solid-color="#000000" style="block-progression:tb;isolation:auto;mix-blend-mode:normal;text-decoration-color:#000000;text-decoration-line:none;text-decoration-style:solid;text-indent:0;text-transform:none;white-space:normal"/> <g fill="#69ab90"> <path d="m-596.16-130.58h-14.32v72.537h14.32v-30.165h14.789v30.165h14.32v-72.537h-14.32v29.93h-14.789v-29.93z"/> <path d="m-556.38-130.58v72.537h39.203v-12.442h-24.883v-17.723h19.719v-12.442h-19.719v-17.489h24.883v-12.442h-39.203z"/> diff --git a/pages/welcome/welcome.css b/pages/welcome/welcome.css index edfe6a6c8340cc29dba7dc6e108afe3f8cd59011..a6395ce775d5bb547101b46ce68d7307d1169c4b 100644 --- a/pages/welcome/welcome.css +++ b/pages/welcome/welcome.css @@ -92,11 +92,11 @@ a { margin-left: 10px; } -.btn-github { +.btn-gitlab { background-color: #24292e; } -.btn-github:hover { +.btn-gitlab:hover { background-color: #42474c; } diff --git a/pages/welcome/welcome.html b/pages/welcome/welcome.html index df79c62e59d71bf75f388ce6a2251d2b05595dd8..314032c822a7a7717c7b94f10110297eb197aa10 100644 --- a/pages/welcome/welcome.html +++ b/pages/welcome/welcome.html @@ -1,12 +1,12 @@ <!DOCTYPE html> -<html> +<html lang="en"> <head> <title>2.0 Says Hello - Decentraleyes</title> - <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="welcome.css"> @@ -57,7 +57,7 @@ <a class="btn btn-website" href="https://decentraleyes.org" target="_blank"><i class="btn-icon fai fa-globe" data-fa-transform="grow-2"></i><span class="btn-text">Website</span></a> - <a class="btn btn-github" href="https://github.com/Synzvato/decentraleyes" target="_blank"><i class="btn-icon fai fa-github-alt" data-fa-transform="grow-2"></i><span class="btn-text">GitHub</span></a> + <a class="btn btn-gitlab" href="https://git.synz.io/Synzvato/decentraleyes" target="_blank"><i class="btn-icon fai fa-gitlab" data-fa-transform="grow-2"></i><span class="btn-text">GitLab</span></a> <a class="btn btn-bitcoin" href="https://decentraleyes.org/donate/bitcoin/" target="_blank"><i class="btn-icon fai fa-btc" data-fa-transform="grow-2"></i><span class="btn-text">Bitcoin</span></a>