Block websites in search results via user config
Adds a new config field "Block" to specify a comma separated list of websites to block in search results. This is applied for all searches.
This commit is contained in:
parent
a7bf9728e3
commit
2856ae2f93
|
@ -18,6 +18,7 @@ class Config:
|
||||||
'WHOOGLE_CONFIG_STYLE',
|
'WHOOGLE_CONFIG_STYLE',
|
||||||
open(os.path.join(app_config['STATIC_FOLDER'],
|
open(os.path.join(app_config['STATIC_FOLDER'],
|
||||||
'css/variables.css')).read())
|
'css/variables.css')).read())
|
||||||
|
self.block = os.getenv('WHOOGLE_CONFIG_BLOCK', '')
|
||||||
self.ctry = os.getenv('WHOOGLE_CONFIG_COUNTRY', '')
|
self.ctry = os.getenv('WHOOGLE_CONFIG_COUNTRY', '')
|
||||||
self.safe = read_config_bool('WHOOGLE_CONFIG_SAFE')
|
self.safe = read_config_bool('WHOOGLE_CONFIG_SAFE')
|
||||||
self.dark = read_config_bool('WHOOGLE_CONFIG_DARK')
|
self.dark = read_config_bool('WHOOGLE_CONFIG_DARK')
|
||||||
|
|
|
@ -120,6 +120,10 @@ def gen_query(query, args, config, near_city=None) -> str:
|
||||||
) if config.lang_interface else ''
|
) if config.lang_interface else ''
|
||||||
param_dict['safe'] = '&safe=' + ('active' if config.safe else 'off')
|
param_dict['safe'] = '&safe=' + ('active' if config.safe else 'off')
|
||||||
|
|
||||||
|
# Block all sites specified in the user config
|
||||||
|
for blocked in config.block.split(','):
|
||||||
|
query += (' -site:' + blocked) if blocked else ''
|
||||||
|
|
||||||
for val in param_dict.values():
|
for val in param_dict.values():
|
||||||
if not val:
|
if not val:
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -2,7 +2,6 @@ import argparse
|
||||||
import base64
|
import base64
|
||||||
import io
|
import io
|
||||||
import json
|
import json
|
||||||
import os
|
|
||||||
import pickle
|
import pickle
|
||||||
import urllib.parse as urlparse
|
import urllib.parse as urlparse
|
||||||
import uuid
|
import uuid
|
||||||
|
@ -17,7 +16,7 @@ from app import app
|
||||||
from app.models.config import Config
|
from app.models.config import Config
|
||||||
from app.request import Request, TorError
|
from app.request import Request, TorError
|
||||||
from app.utils.bangs import resolve_bang
|
from app.utils.bangs import resolve_bang
|
||||||
from app.utils.session import valid_user_session
|
from app.utils.session import generate_user_key, valid_user_session
|
||||||
from app.utils.search import *
|
from app.utils.search import *
|
||||||
|
|
||||||
# Load DDG bang json files only on init
|
# Load DDG bang json files only on init
|
||||||
|
|
|
@ -106,6 +106,10 @@
|
||||||
<label for="config-near">Near: </label>
|
<label for="config-near">Near: </label>
|
||||||
<input type="text" name="near" id="config-near" placeholder="City Name" value="{{ config.near }}">
|
<input type="text" name="near" id="config-near" placeholder="City Name" value="{{ config.near }}">
|
||||||
</div>
|
</div>
|
||||||
|
<div class="config-div config-div-block">
|
||||||
|
<label for="config-block">Block: </label>
|
||||||
|
<input type="text" name="block" id="config-block" placeholder="Comma-separated site list" value="{{ config.block }}">
|
||||||
|
</div>
|
||||||
<div class="config-div config-div-nojs">
|
<div class="config-div config-div-nojs">
|
||||||
<label for="config-nojs">Show NoJS Links: </label>
|
<label for="config-nojs">Show NoJS Links: </label>
|
||||||
<input type="checkbox" name="nojs" id="config-nojs" {{ 'checked' if config.nojs else '' }}>
|
<input type="checkbox" name="nojs" id="config-nojs" {{ 'checked' if config.nojs else '' }}>
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
from app.filter import Filter, get_first_link
|
from app.filter import Filter, get_first_link
|
||||||
from app.utils.session import generate_user_key
|
|
||||||
from app.request import gen_query
|
from app.request import gen_query
|
||||||
from bs4 import BeautifulSoup as bsoup
|
from bs4 import BeautifulSoup as bsoup
|
||||||
from cryptography.fernet import Fernet, InvalidToken
|
from cryptography.fernet import Fernet, InvalidToken
|
||||||
|
|
Loading…
Reference in New Issue
Block a user