diff --git a/Dockerfile b/Dockerfile index 90001db..d06c675 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,12 +37,12 @@ ARG use_https='' ARG whoogle_port=5000 ARG twitter_alt='farside.link/nitter' ARG youtube_alt='farside.link/invidious' -ARG instagram_alt='farside.link/bibliogram' +ARG instagram_alt='farside.link/bibliogram/u' ARG reddit_alt='farside.link/libreddit' ARG medium_alt='farside.link/scribe' -ARG translate_alt='lingva.ml' -ARG imgur_alt='imgin.voidnet.tech' -ARG wikipedia_alt='wikiless.org' +ARG translate_alt='farside.link/lingva' +ARG imgur_alt='farside.link/rimgo' +ARG wikipedia_alt='farside.link/wikiless' ENV CONFIG_VOLUME=$config_dir \ WHOOGLE_USER=$username \ diff --git a/README.md b/README.md index 9f71266..3645601 100644 --- a/README.md +++ b/README.md @@ -202,9 +202,9 @@ Description=Whoogle #Environment=WHOOGLE_ALT_IG=farside.link/bibliogram/u #Environment=WHOOGLE_ALT_RD=farside.link/libreddit #Environment=WHOOGLE_ALT_MD=farside.link/scribe -#Environment=WHOOGLE_ALT_TL=lingva.ml -#Environment=WHOOGLE_ALT_IMG=imgin.voidnet.tech -#Environment=WHOOGLE_ALT_WIKI=wikiless.org +#Environment=WHOOGLE_ALT_TL=farside.link/lingva +#Environment=WHOOGLE_ALT_IMG=farside.link/rimgo +#Environment=WHOOGLE_ALT_WIKI=farside.link/wikiless # Load values from dotenv only #Environment=WHOOGLE_DOTENV=1 Type=simple @@ -518,9 +518,10 @@ A lot of the app currently piggybacks on Google's existing support for fetching | [https://s.alefvanoon.xyz](https://s.alefvanoon.xyz) | ๐Ÿ‡บ๐Ÿ‡ธ US | Multi-choice | โœ… | | [https://www.whooglesearch.ml](https://www.whooglesearch.ml) | ๐Ÿ‡บ๐Ÿ‡ธ US | English | | | [https://search.sethforprivacy.com](https://search.sethforprivacy.com) | ๐Ÿ‡ฉ๐Ÿ‡ช DE | English | | -| [https://whoogle.dcs0.hu](https://whoogle.dcs0.hu) | ๐Ÿ‡ญ๐Ÿ‡บ HU | Multi-choice | โœ… | +| [https://whoogle.dcs0.hu](https://whoogle.dcs0.hu) | ๐Ÿ‡ญ๐Ÿ‡บ HU | Multi-choice | | | [https://whoogle.esmailelbob.xyz](https://whoogle.esmailelbob.xyz) | ๐Ÿ‡จ๐Ÿ‡ฆ CA | Multi-choice | | | [https://gowogle.voring.me](https://gowogle.voring.me) | ๐Ÿ‡บ๐Ÿ‡ธ US | Multi-choice | | +| [https://whoogle.lunar.icu](https://whoogle.lunar.icu) | ๐Ÿ‡ฉ๐Ÿ‡ช DE | Multi-choice | โœ… | diff --git a/app.json b/app.json index a3b391e..b6e537e 100644 --- a/app.json +++ b/app.json @@ -72,17 +72,17 @@ }, "WHOOGLE_ALT_TL": { "description": "The Google Translate alternative to use for all searches following the 'translate ___' structure.", - "value": "lingva.ml", + "value": "farside.link/lingva", "required": false }, "WHOOGLE_ALT_IMG": { "description": "The site to use as a replacement for imgur.com when site alternatives are enabled in the config.", - "value": "imgin.voidnet.tech", + "value": "farside.link/rimgo", "required": false }, "WHOOGLE_ALT_WIKI": { "description": "The site to use as a replacement for wikipedia.com when site alternatives are enabled in the config.", - "value": "wikiless.org", + "value": "farside.link/wikiless", "required": false }, "WHOOGLE_MINIMAL": { diff --git a/app/__init__.py b/app/__init__.py index 83f8847..89a4948 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -82,7 +82,7 @@ app.config['HAS_UPDATE'] = '' # The alternative to Google Translate is treated a bit differently than other # social media site alternatives, in that it is used for any translation # related searches. -translate_url = os.getenv('WHOOGLE_ALT_TL', 'https://lingva.ml') +translate_url = os.getenv('WHOOGLE_ALT_TL', 'https://farside.link/lingva') if not translate_url.startswith('http'): translate_url = 'https://' + translate_url app.config['TRANSLATE_URL'] = translate_url diff --git a/app/static/css/dark-theme.css b/app/static/css/dark-theme.css index 0d0985e..5b71edd 100644 --- a/app/static/css/dark-theme.css +++ b/app/static/css/dark-theme.css @@ -98,7 +98,7 @@ select { } .sa1toc { - background: var(--whoogle-dark-element-bg) !important; + background: var(--whoogle-dark-page-bg) !important; } #search-bar { diff --git a/app/static/settings/translations.json b/app/static/settings/translations.json index cc020d6..9828a55 100644 --- a/app/static/settings/translations.json +++ b/app/static/settings/translations.json @@ -347,8 +347,8 @@ "continue-search": "็ปง็ปญๆœ็ดข Farside", "all": "ๅ…จ้ƒจ", "images": "ๅœ–็‰‡", - "maps": "ๅฝฑ็‰‡", - "videos": "ๅœฐๅœ–", + "maps": "ๅœฐๅœ–", + "videos": "ๅฝฑ็‰‡", "news": "ๆ–ฐ่ž", "books": "ๆ›ธ็ฑ" }, @@ -567,8 +567,8 @@ "continue-search": "็นผ็บŒๆœ็ดข Farside", "all": "ๅ…จ้ƒจ", "images": "ๅœ–็‰‡", - "maps": "ๅฝฑ็‰‡", - "videos": "ๅœฐๅœ–", + "maps": "ๅœฐๅœ–", + "videos": "ๅฝฑ็‰‡", "news": "ๆ–ฐ่ž", "books": "ๆ›ธ็ฑ" }, @@ -703,5 +703,49 @@ "videos": "ๅ‹•็”ป", "news": "ใƒ‹ใƒฅใƒผใ‚น", "books": "ๆ›ธ็ฑ" + }, + "lang_ko": { + "search": "๊ฒ€์ƒ‰", + "config": "๊ตฌ์„ฑ", + "config-country": "๊ตญ๊ฐ€ ์„ค์ •", + "config-lang": "์ธํ„ฐํŽ˜์ด์Šค ์–ธ์–ด", + "config-lang-search": "๊ฒ€์ƒ‰ ์–ธ์–ด", + "config-near": "์ฃผ๋ณ€", + "config-near-help": "๋„์‹œ ์ด๋ฆ„", + "config-block": "์ฐจ๋‹จ", + "config-block-help": "์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ์‚ฌ์ดํŠธ ๋ชฉ๋ก", + "config-block-title": "์ œ๋ชฉ์œผ๋กœ ์ฐจ๋‹จ", + "config-block-title-help": "์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ", + "config-block-url": "URL๋กœ ์ฐจ๋‹จ", + "config-block-url-help": "์ •๊ทœ ํ‘œํ˜„์‹ ์‚ฌ์šฉ", + "config-theme": "ํ…Œ๋งˆ", + "config-nojs": "Show NoJS Links", + "config-dark": "๋‹คํฌ ๋ชจ๋“œ", + "config-safe": "์„ธ์ดํ”„์„œ์น˜", + "config-alts": "์†Œ์„ค ๋ฏธ๋””์–ด ์ฃผ์†Œ ์ˆ˜์ •", + "config-alts-help": "Twitter/YouTube/Instagram ๋“ฑ์˜ ๋งํฌ๋ฅผ ํ”„๋ผ์ด๋ฒ„์‹œ๋ฅผ ์กด์ค‘ํ•˜๋Š” ๋งํฌ๋กœ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค", + "config-new-tab": "์ƒˆ ํƒญ์—์„œ ์—ด๊ธฐ", + "config-images": "์ตœ๋Œ€ ํฌ๊ธฐ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰", + "config-images-help": "(์‹คํ—˜์ ) ๋ฐ์Šคํฌํ†ฑ ์ด๋ฏธ์ง€ ๊ฒ€์ƒ‰์— '์ด๋ฏธ์ง€ ๋ณด๊ธฐ' ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๊ฒฐ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ธ๋„ค์ผ์ด ๋‚ฎ์€ ํ•ด์ƒ๋„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.", + "config-tor": "Tor ์‚ฌ์šฉ", + "config-get-only": "GET ์š”์ฒญ๋งŒ", + "config-url": "๋ฃจํŠธ URL", + "config-css": "์ปค์Šคํ…€ CSS", + "load": "๋ถˆ๋Ÿฌ์˜ค๊ธฐ", + "apply": "์ ์šฉ", + "save-as": "๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ €์žฅ...", + "github-link": "๊นƒํ—ˆ๋ธŒ์—์„œ ๋ณด๊ธฐ", + "translate": "๋ฒˆ์—ญ", + "light": "๋ผ์ดํŠธ", + "dark": "๋‹คํฌ", + "system": "์‹œ์Šคํ…œ", + "ratelimit": "์ธ์Šคํ„ด์Šค๊ฐ€ ์†๋„ ์ œํ•œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.", + "continue-search": "Farside๋กœ ๊ฒ€์ƒ‰ ๊ณ„์†ํ•˜๊ธฐ", + "all": "์ „์ฒด", + "images": "์ด๋ฏธ์ง€", + "maps": "์ง€๋„", + "videos": "๋™์˜์ƒ", + "news": "๋‰ด์Šค", + "books": "๋„์„œ" } } diff --git a/app/utils/results.py b/app/utils/results.py index b3313a6..7ea8cf9 100644 --- a/app/utils/results.py +++ b/app/utils/results.py @@ -34,8 +34,8 @@ SITE_ALTS = { 'medium.com', 'levelup.gitconnected.com' ], os.getenv('WHOOGLE_ALT_MD', 'farside.link/scribe')), - 'imgur.com': os.getenv('WHOOGLE_ALT_IMG', 'imgin.voidnet.tech'), - 'wikipedia.com': os.getenv('WHOOGLE_ALT_WIKI', 'wikiless.org') + 'imgur.com': os.getenv('WHOOGLE_ALT_IMG', 'farside.link/rimgo'), + 'wikipedia.org': os.getenv('WHOOGLE_ALT_WIKI', 'farside.link/wikiless') } diff --git a/app/utils/search.py b/app/utils/search.py index d476b5b..e471a12 100644 --- a/app/utils/search.py +++ b/app/utils/search.py @@ -153,6 +153,7 @@ class Search: self.request_params.to_dict(flat=True).items() if self.config.is_safe_key(k)) for link in formatted_results.find_all('a', href=True): + link['rel'] = "nofollow noopener noreferrer" if 'search?' not in link['href'] or link['href'].index( 'search?') > 1: continue diff --git a/docker-compose.yml b/docker-compose.yml index 676a03c..f8f1be7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -18,7 +18,7 @@ services: - ALL tmpfs: - /config/:size=10M,uid=927,gid=927,mode=1700 - - /var/lib/tor/:size=10M,uid=927,gid=927,mode=1700 + - /var/lib/tor/:size=15M,uid=927,gid=927,mode=1700 - /run/tor/:size=1M,uid=927,gid=927,mode=1700 #environment: # Uncomment to configure environment variables # Basic auth configuration, uncomment to enable @@ -37,9 +37,9 @@ services: #- WHOOGLE_ALT_IG=farside.link/bibliogram/u #- WHOOGLE_ALT_RD=farside.link/libreddit #- WHOOGLE_ALT_MD=farside.link/scribe - #- WHOOGLE_ALT_TL=lingva.ml - #- WHOOGLE_ALT_IMG=imgin.voidnet.tech - #- WHOOGLE_ALT_WIKI=wikiless.org + #- WHOOGLE_ALT_TL=farside.link/lingva + #- WHOOGLE_ALT_IMG=farside.link/rimgo + #- WHOOGLE_ALT_WIKI=farside.link/wikiless #env_file: # Alternatively, load variables from whoogle.env #- whoogle.env ports: diff --git a/misc/instances.txt b/misc/instances.txt index aa0d247..eb13624 100644 --- a/misc/instances.txt +++ b/misc/instances.txt @@ -8,3 +8,4 @@ https://whooglesearch.net https://www.whooglesearch.ml https://whoogle.dcs0.hu https://whoogle.esmailelbob.xyz +https://whoogle.lunar.icu diff --git a/requirements.txt b/requirements.txt index d6fc75f..6f91090 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,7 +28,7 @@ requests==2.25.1 soupsieve==1.9.5 stem==1.8.0 urllib3==1.26.5 -waitress==1.4.3 +waitress==2.1.1 wcwidth==0.1.9 Werkzeug==0.16.0 python-dotenv==0.16.0 diff --git a/test/test_results.py b/test/test_results.py index bd3ac00..8b16b0f 100644 --- a/test/test_results.py +++ b/test/test_results.py @@ -60,7 +60,7 @@ def test_translate_search(client): # Pretty weak test, but better than nothing str_data = str(rv.data) assert 'iframe' in str_data - assert 'lingva.ml/auto/en/ hola' in str_data + assert '/auto/en/ hola' in str_data def test_block_results(client): diff --git a/whoogle.template.env b/whoogle.template.env index 70e1c40..44f84ef 100644 --- a/whoogle.template.env +++ b/whoogle.template.env @@ -12,9 +12,9 @@ #WHOOGLE_ALT_IG=farside.link/bibliogram/u #WHOOGLE_ALT_RD=farside.link/libreddit #WHOOGLE_ALT_MD=farside.link/scribe -#WHOOGLE_ALT_TL=lingva.ml -#WHOOGLE_ALT_IMG=imgin.voidnet.tech -#WHOOGLE_ALT_WIKI=wikiless.org +#WHOOGLE_ALT_TL=farside.link/lingva +#WHOOGLE_ALT_IMG=farside.link/rimgo +#WHOOGLE_ALT_WIKI=farside.link/wikiless #WHOOGLE_USER="" #WHOOGLE_PASS="" #WHOOGLE_PROXY_USER=""