Allow block sites based on sha256 hashed address
This commit is contained in:
parent
0157ade1c9
commit
3923f2baf4
2 changed files with 18 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
||||||
import time
|
import time
|
||||||
import re
|
import re
|
||||||
import cgi
|
import cgi
|
||||||
|
import hashlib
|
||||||
|
|
||||||
from Plugin import PluginManager
|
from Plugin import PluginManager
|
||||||
from Translate import Translate
|
from Translate import Translate
|
||||||
|
@ -187,7 +188,8 @@ class UiRequestPlugin(object):
|
||||||
if self.server.site_manager.isDomain(address):
|
if self.server.site_manager.isDomain(address):
|
||||||
address = self.server.site_manager.resolveDomain(address)
|
address = self.server.site_manager.resolveDomain(address)
|
||||||
|
|
||||||
if filter_storage.isSiteblocked(address):
|
address_sha256 = "0x" + hashlib.sha256(address).hexdigest()
|
||||||
|
if filter_storage.isSiteblocked(address) or filter_storage.isSiteblocked(address_sha256):
|
||||||
site = self.server.site_manager.get(config.homepage)
|
site = self.server.site_manager.get(config.homepage)
|
||||||
if not extra_headers:
|
if not extra_headers:
|
||||||
extra_headers = {}
|
extra_headers = {}
|
||||||
|
|
|
@ -42,6 +42,15 @@
|
||||||
<script type="text/javascript" src="js/ZeroFrame.js"></script>
|
<script type="text/javascript" src="js/ZeroFrame.js"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
function buf2hex(buffer) {
|
||||||
|
return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('');
|
||||||
|
}
|
||||||
|
|
||||||
|
async function sha256hex(s) {
|
||||||
|
var buff = new TextEncoder("utf-8").encode(s)
|
||||||
|
return "0x" + buf2hex(await crypto.subtle.digest("SHA-256", buff))
|
||||||
|
}
|
||||||
|
|
||||||
class Page extends ZeroFrame {
|
class Page extends ZeroFrame {
|
||||||
onOpenWebsocket () {
|
onOpenWebsocket () {
|
||||||
this.cmd("wrapperSetTitle", "Visiting a blocked site - ZeroNet")
|
this.cmd("wrapperSetTitle", "Visiting a blocked site - ZeroNet")
|
||||||
|
@ -53,8 +62,9 @@ class Page extends ZeroFrame {
|
||||||
}
|
}
|
||||||
|
|
||||||
async updateSiteblockDetails(address) {
|
async updateSiteblockDetails(address) {
|
||||||
|
var address_sha256 = await sha256hex(address)
|
||||||
var blocks = await this.cmdp("siteblockList")
|
var blocks = await this.cmdp("siteblockList")
|
||||||
if (blocks[address]) {
|
if (blocks[address] || blocks[address_sha256]) {
|
||||||
block = blocks[address]
|
block = blocks[address]
|
||||||
} else {
|
} else {
|
||||||
var includes = await this.cmdp("filterIncludeList", {all_sites: true, filters: true})
|
var includes = await this.cmdp("filterIncludeList", {all_sites: true, filters: true})
|
||||||
|
@ -63,6 +73,10 @@ class Page extends ZeroFrame {
|
||||||
var block = include["siteblocks"][address]
|
var block = include["siteblocks"][address]
|
||||||
block["include"] = include
|
block["include"] = include
|
||||||
}
|
}
|
||||||
|
if (include["siteblocks"][address_sha256]) {
|
||||||
|
var block = include["siteblocks"][address_sha256]
|
||||||
|
block["include"] = include
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue