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 re
|
||||
import cgi
|
||||
import hashlib
|
||||
|
||||
from Plugin import PluginManager
|
||||
from Translate import Translate
|
||||
|
@ -187,7 +188,8 @@ class UiRequestPlugin(object):
|
|||
if self.server.site_manager.isDomain(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)
|
||||
if not extra_headers:
|
||||
extra_headers = {}
|
||||
|
|
|
@ -42,6 +42,15 @@
|
|||
<script type="text/javascript" src="js/ZeroFrame.js"></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 {
|
||||
onOpenWebsocket () {
|
||||
this.cmd("wrapperSetTitle", "Visiting a blocked site - ZeroNet")
|
||||
|
@ -53,8 +62,9 @@ class Page extends ZeroFrame {
|
|||
}
|
||||
|
||||
async updateSiteblockDetails(address) {
|
||||
var address_sha256 = await sha256hex(address)
|
||||
var blocks = await this.cmdp("siteblockList")
|
||||
if (blocks[address]) {
|
||||
if (blocks[address] || blocks[address_sha256]) {
|
||||
block = blocks[address]
|
||||
} else {
|
||||
var includes = await this.cmdp("filterIncludeList", {all_sites: true, filters: true})
|
||||
|
@ -63,6 +73,10 @@ class Page extends ZeroFrame {
|
|||
var block = include["siteblocks"][address]
|
||||
block["include"] = include
|
||||
}
|
||||
if (include["siteblocks"][address_sha256]) {
|
||||
var block = include["siteblocks"][address_sha256]
|
||||
block["include"] = include
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue