Skip to content
Snippets Groups Projects
Commit aa319bd9 authored by Anton Bershanskiy's avatar Anton Bershanskiy
Browse files

Merge branch 'master' into 'master'

# Conflicts:
#   source/common/pages/popup/debugging/debugging.html
#   source/common/pages/popup/sharing/sharing.css
parents 2fc8a068 533c9ebc
No related branches found
No related tags found
No related merge requests found
......@@ -91,16 +91,15 @@ takes the following precautions:
## Building
The extension relies on `npm` modules and `webpack` for building.
The extension relies on Node.js and `npm` modules and `webpack` for building.
To get started, follow these steps:
If you are not familiar with Noode To get started, follow these steps:
1. Download official [Node.js](https://nodejs.org/) installer and install it
2. Clone this repo somewhere and `cd` into that folder
3. Install all dependencies with `npm i`
4. Download [Font Awesome](https://fontawesome.com/) icons with `npm run icons`
5. Now you can build and rebuild the extension with `npm run build`
3. Install all dependencies by running `npm i` from within the project folder
4. Now you can build and rebuild the extension with `npm run build`
Just edit files in `source/common` and rebuild the extension (step 5) and test it.
Just edit files in `source/common` and rebuild the extension (step 4) and test it.
## Dependencies
......
......@@ -113,14 +113,14 @@ platform.runtime.onInstalled.addListener (function() {
sendResponse(report)
break
default:
console.log("ERROR: Unknown section", message.popupSection)
console.warn("ERROR: Unknown section", message.popupSection)
}
}
if (message.popupOpen === false) {
console.log("Popup closed", sender, message)
}
if (typeof message.popupOpen !== "boolean")
console.log("Unknown message", message, sender)
console.warn("Unknown message", message, sender)
})
})
......@@ -172,8 +172,11 @@ function onPermissionWebRequestGranted(){
break
case "CSP":
break
case "Cookie leak":
console.warn("COOKIE LEAKED! ", observation)
break
default:
console.log("ERROR: Unhandled observation", observation)
// console.log("ERROR: Unhandled observation", observation)
}
}
}
......@@ -195,7 +198,7 @@ function onPermissionWebRequestGranted(){
for (const cookieName in parsed){
if (protocol === "http:" && (cookieDatabase[cookieName] === undefined || cookieDatabase[cookieName].secureOrigin === true)){
observations.push({type: "Cookie", content: "Cookie leak: " + cookieName + "=" + parsed[cookieName]})
observations.push({type: "Cookie leak", content: "Cookie leak: " + cookieName + "=" + parsed[cookieName]})
}
}
......
......@@ -27,3 +27,16 @@
#reference-list-item {
display: none
}
#bottom {
padding-top: 15px;
}
#allowallbutton {
font-size: 15px;
padding-right: 15px;
padding:8px 8px;
margin: 0px 10px;
float: right;
}
......@@ -5,7 +5,7 @@
<meta charset="utf-8"/>
<link href="/includes/semantic-ui-css/semantic.min.css" rel="stylesheet">
<link href="/pages/popup/common.css" rel="stylesheet"/>
<link rel="stylesheet" href="debugging.css">
<link href="debugging.css" rel="stylesheet">
<script src="/includes/jquery/jquery.min.js" defer></script>
<script src="/includes/semantic-ui-css/semantic.min.js" defer></script>
<script src="debugging.js" defer></script>
......@@ -20,322 +20,44 @@
<!-- This div allocates the proper amount of space to the list -->
<div id="listspace">
<div class="ui styled accordion" id="list">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Facebook.com
</div>
</div>
<div class="content">
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request for profile.json
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Remove cookie "user_id"
<button class="ui mini simple button filedebug">allow</button>
</div>
<div class="item">
Remove "token"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request for img.png
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Request cookie "user_id"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
</div>
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Wechat.com
</div>
</div>
<div class="content">
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request for jquery.min.js
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Request cookie "jspn"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
</div>
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Amazon.com
</div>
</div>
<div class="content">
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request safestore.js
</div>
</div>
<div class="content">
<div class="ui bulleted list">
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request m_market.html
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Remove cookie "dir"
<button class="ui mini simple button filedebug">allow</button>
</div>
<div class="item">
Remove cookie "file_location"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request fontsome.css
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Request cookie "fontsome"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
</div>
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Chromsky.com
</div>
</div>
<div class="content">
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request safestore.js
</div>
</div>
<div class="content">
<div class="ui bulleted list">
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request m_market.html
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Remove cookie "dir"
<button class="ui mini simple button filedebug">allow</button>
</div>
<div class="item">
Remove cookie "file_location"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request fontsome.css
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Request cookie "fontsome"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
<!-- This is a reference list item which will be copied and inserted into the list -->
<div id="reference-list-item-now">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
<a id="reference-list-item-title">example.com</a>
</div>
</div>
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Ebay.com
</div>
</div>
<div class="content">
<div class="content">
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request safestore.js
</div>
</div>
<div class="content">
<div class="ui bulleted list">
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request m_market.html
<a id="reference-list-item-event">Download example.png</a>
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Remove cookie "dir"
<button class="ui mini simple button filedebug">allow</button>
</div>
<div class="item">
Remove cookie "file_location"
<p id="reference-list-item-event-action">Remove cookie "user_id"</p>
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request fontsome.css
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Request cookie "fontsome"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
</div>
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Giphy.com
</div>
</div>
<div class="content">
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request safestore.js
</div>
</div>
<div class="content">
<div class="ui bulleted list">
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request m_market.html
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Remove cookie "dir"
<button class="ui mini simple button filedebug">allow</button>
</div>
<div class="item">
Remove cookie "file_location"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
<div class="item">
<div class="title">
<div class="acc-title">
<i class="dropdown icon"></i>
Request fontsome.css
</div>
</div>
<div class="content">
<div class="ui bulleted list">
<div class="item">
Request cookie "fontsome"
<button class="ui mini simple button filedebug">allow</button>
</div>
</div>
</div>
</div>
</div>
<!-- end of elements -->
</div>
</div>
<!-- end of accordion -->
<div id="bottom">
<button id="debugallbutton" class="ui mini simple button">Allow All</button>
</div>
</div>
<div id="bottom">
<button id="allowallbutton" class="ui mini simple button">Allow All</button>
</div>
</div>
</body>
</html>
......@@ -13,25 +13,3 @@
overflow: auto;
max-height: 100%;
}
#bottom {
padding-top: 15px;
}
#allowallbutton {
font-size: 15px;
padding-right: 15px;
padding:8px 8px;
margin: 0px 10px;
float: right;
}
#disableAll {
margin-right: 1em;
font-size: 15px;
padding-right: 15px;
padding:8px 8px;
margin: 0px 10px;
float: right;
}
......@@ -14,7 +14,6 @@ const dirs = ["", "pages/", "img-t/", "includes/", "includes/semantic-ui-css", "
const copy = [
"pages/",
"img-t/",
"includes/",
"manifest.json"
]
......@@ -24,7 +23,7 @@ const files = [
"web_accessible_resources/inject.js"
]
const modules = {
const node_modules_dependencies = {
"semantic-ui-css/semantic.min.js": "semantic-ui-css/semantic.min.js",
"semantic-ui-css/semantic.min.css": "semantic-ui-css/semantic.min.css",
"semantic-ui-css/themes/": "semantic-ui-css/themes/",
......@@ -44,13 +43,14 @@ for (const src of copy)
console.log("Copied " + src)
})
//Copy all the modules
for (const module in modules) {
ncp(node_modules + module, build + "includes/" + modules[module], function (err) {
//Copy all the dependencies that don't require processing
for (const dependency in node_modules_dependencies) {
const source = node_modules + dependency
const destination = build + "includes/" + node_modules_dependencies[dependency]
ncp(source, destination, function (err) {
if (err)
return console.error(err)
console.log("Copied " + module)
console.log("Copied dependency " + dependency + " from " + source + " into " + destination)
})
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment