Commit Graph

801 Commits (06c2310e3a4fd4800ce83f6eb7ace3a6d51293b2)

Author SHA1 Message Date
elliot 7ca69e752d
Add calculator widget (#956)
This adds a simple calculator widget, somewhat similar to the one presented
when searching calculator on Google.

Also, it adds somewhat of a template for making the addition of new widgets
easier via the app/utils/widgets.py file. My eventual plan is to use this to
create more widgets that appear in Google, such as a color picker, timer, etc.

---------

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-02-21 09:36:38 -07:00
dependabot[bot] da53db2a81
Upgrade dependencies (#959)
* Bump werkzeug from 0.16.0 to 2.2.3

Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.16.0 to 2.2.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.16.0...2.2.3)

---
updated-dependencies:
- dependency-name: werkzeug
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix dependency issue

* Upgrade all dependencies to latest version

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ben Busby <contact@benbusby.com>
2023-02-20 17:14:00 -07:00
dependabot[bot] c4c32a4bcc
Bump cryptography from 3.3.2 to 39.0.1 (#952)
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.2 to 39.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.3.2...39.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 10:04:44 -07:00
Ben Busby 991fe6d910
Exclude subdomain in Medium->Scribe redirects
Medium redirects needed further cleanup to account for instances where a
link contains a subdomain that would not make sense in a Farside
redirect link.

Fixes #947
2023-02-04 16:36:16 -07:00
Ben Busby fab65d720d
Update public instance info [skip ci]
Closes #948
2023-02-04 16:17:12 -07:00
Ben Busby df760ffbae
Add public instance [skip ci]
Closes #933
2023-01-30 12:49:24 -07:00
test2user-aqil 09db4ff730
Add Azerbaijani translation (#944)
* Add Azerbaijani translation

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-01-30 12:46:10 -07:00
Ahmad Alkadri 16794df68d
Add Indonesian translation (#940) 2023-01-30 12:33:17 -07:00
George T 94b208dd3f
Update greek translations (#943)
Add Hellenic Language

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-01-30 12:32:01 -07:00
Ben Busby 12ce174b9a
Include url prefix for reverse proxied instances
The url prefix was not included when reconstructing the root url using
X-Forwarded-* headers, causing some elements to fail to load properly.

Fixes #937
2023-01-30 12:13:46 -07:00
Ben Busby e318594d9b
Add public instance [skip ci]
Closes #935
2023-01-30 11:40:12 -07:00
satoru 026714bb84
Update fly.io instructions in readme [skip ci] (#936)
Add instruction on fixing the fly.toml before deploying
2023-01-24 09:42:36 -07:00
Ahmad Alkadri e5a5aad997
Always bold `CN`/`JA`/`KO` search terms (#928)
Add a function to check if target_word contains CJK characters

If a search term contains Chinese, Japanese, or Korean characters,
the term is bolded in search results regardless of whitespace.

CJK characters: Chinese, Japanese (hiragana, katakana, kanji), 
and Korean (hangul syllables, hangul jamo)

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-01-09 12:54:41 -07:00
Dominick Peluso ccf9f06f2f
Add 2 new public instances [skip ci] (#927)
https://whoogle2.ungovernable.men
https://whoogle3.ungovernable.men
2023-01-06 12:32:00 -07:00
Ben Busby 6955ec6161
Update README.md
- Move dependencies to manual install section
- Add separators between different deployment options
- Add Koyeb deployment instructions

Closes #844
2023-01-04 10:51:39 -07:00
Ben Busby fdc63b862e
Autoload `whoogle.env` if it exists
The whoogle.env file previously needed to be created and enabled using
the WHOOGLE_DOTENV var. This removes the second step and loads the env
file if it's found during app init.

The Dockerfile has also been updated to copy in whoogle.env if it
exists.

Fixes #909
2023-01-04 10:35:42 -07:00
Ben Busby aa54491ae0
Log rate-limiting errors
Rate limiting is now reported to the console as an error message.

Fixes #914
2023-01-04 10:21:16 -07:00
Charles Zawacki cec10e81d3
Don't prepend to services that have schemes with '//' (#925) 2023-01-04 10:10:32 -07:00
Ben Busby 2827a4ef47
Update whoogle.lunar.icu instance details [skip ci] 2023-01-03 10:27:38 -07:00
Charles Zawacki a760476d1b
Omit 'mobile.' and 'm.' in site alt replacements (#922)
Resolves #921
2023-01-03 10:19:39 -07:00
Dominick Peluso 4f77f3680d
Add whoogle.ungovernable.men instance [skip ci] (#919) 2023-01-03 10:18:49 -07:00
fiestasiesta 253ea62f8f
[Mobile] Add line break between header options (#918)
Fixes an issue where "Time Period" shows up on a separate
line from its dropdown
2022-12-30 12:01:47 -07:00
Ben Busby c24caceb03
Omit "www." in site alt replacements
Fixes #913
2022-12-29 16:16:29 -07:00
Ben Busby 4f85076a2b
Restrict Tor outbound ports w/ `WHOOGLE_TOR_FF`
Setting `WHOOGLE_TOR_FF` will attempt to modify the existing torrc file
with the "FascistFirewall 1" config, which restricts outbound ports to
reachable values.

Fixes #907
2022-12-29 16:08:40 -07:00
Ben Busby 76c78d8584
Add public instance [skip ci]
https://whoogle.lunar.icu
2022-12-29 15:54:11 -07:00
Ahmad Alkadri 3dda8b25ef
Escape html text in result body (#912)
Moved the cleaner functions to app/utils/escaper.py

Removed unused import 're'

Moved the cleaner functionalities to the "search.py" and "routes.py"

Making sure escaped chars stay escaped during process

Replaced "&lt;" and "&gt;" with "andlt;" and "andgt;", respectively. This way,
when the 'response' object get loaded to bsoup (which happens several times
throughout the process between search.py and routes.py), bsoup will not
unescape them.
2022-12-29 15:19:28 -07:00
MoistCat 08aa1ab8f1
Handle missing result div in filter (#911)
Changed "find_all()[0]" for find; which yields only one result.

Added check to ensure result_div exists before searching
for results.
2022-12-29 15:17:34 -07:00
fiestasiesta 7041b43db9
Add time constraint to search options (#888)
Introduces the ability to refine searches by time period:
- Past hour
- Past 24 hours
- Past week
- Past month
- Past year

Co-authored-by: Ben Busby <contact@benbusby.com>
2022-12-21 13:24:27 -07:00
Ben Busby 424e6dd341
Add script for updating translations
Still a manual process, but better than updating the json line by line.
I'm undecided on automating this anytime the translation json gets
updated, since it could possibly ratelimit lingva instances.
2022-12-21 13:14:08 -07:00
Ben Busby c9c197bb5f
Bump version to 0.8.1 2022-12-19 10:52:02 -07:00
Ben Busby 7a852aa876
Allow HTTP-exclusive proxies for all requests
Proxies that only support HTTP were causing request timeouts due to an
invalid upgrade to HTTPS when creating the request. This update restores
the ability to have an HTTP-only proxy for all requests.

Fixes #906
2022-12-12 16:40:15 -07:00
Cx 8fbbdf2cec
Update Kurdish translation (#903) 2022-12-09 14:14:11 -07:00
Ben Busby 3dc6d14377
Only extract domain+ext when using site alts
Parent sites using a 'www' subdomain or something similar were not
redirecting properly. This updates the hostname check to only validate
against the primary domain, except for Wikipedia since the subdomain is
used for interface translation in that case.

Fixes #901
2022-12-08 10:54:21 -07:00
dependabot[bot] cd7fce2822
Bump certifi from 2020.4.5.1 to 2022.12.7 (#902)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2020.4.5.1 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases)
- [Commits](https://github.com/certifi/python-certifi/compare/2020.04.05.1...2022.12.07)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-08 10:32:17 -07:00
Ben Busby fd85f1573a
Refactor site alt link replacement
Replacing result links and text when site alts are enabled is now part
of its own function, and handles replacement of link location and link
description separately.

Fixes #880
2022-12-05 13:28:29 -07:00
Ben Busby 0310f0f542
Use app init enc key by default for all queries
This can be updated later to allow users with cookies enabled to use a
key that is unique to their session (if they want, not mandatory), but
for now it makes more sense to just use a single key for all queries
from all users. This should eliminate a lot of issues that users have
reported where they are unable to decrypt queries or page elements due
to an expired/renewed session key.
2022-12-05 12:14:14 -07:00
PrivacyDevel 1226b8db9c
Update privacydev.net details, add onion instance [skip ci] (#899) 2022-12-05 11:33:49 -07:00
Raistlingru cde05ea55d
Add new public instance to readme [skip ci] (#897)
Add https://whoogle.hostux.net

Co-authored-by: Ben Busby <contact@benbusby.com>
2022-12-05 11:32:49 -07:00
Ben Busby 3bd785b9b7
Update sponsored result filter for german results
Adds 'gesponsert' to ad keyword blacklist

Fixes #892
2022-11-28 10:18:10 -07:00
Ben Busby 33742ce247
Revert change to light theme contrast text color
The change made to whoogle-contrast-text in #873 wasn't the right
decision, since whoogle-contrast-text is meant to contrast with darker
UI elements. whoogle-text already contrasts with the default white
background.
2022-11-25 16:38:46 -07:00
Anna 08b16f5a0c
Switch to PEP517 standard for builds (#887)
* Sync setup.cfg with requirements.txt

* Include tests in PyPI tarballs

And exclude them from setuptools

* Set version number only once

Switch to PEP517 standard (pyproject.toml) for builds
2022-11-25 16:24:38 -07:00
Ben Busby d099b46336
Bump version to 0.8.0 2022-11-23 11:43:42 -07:00
Ben Busby 09a90ec46a
Match only "//medium" and ".medium.com" for scribe links
Closes #885
2022-11-22 17:34:25 -07:00
Xabi 6bd48e40a7
Include new ad filter keyword (#879)
Adds "sponsored" result keyword for Spanish language
2022-11-07 20:50:27 -07:00
curlpipe 2d23e0e952
Add Welsh translation (#876) 2022-11-04 11:51:30 -06:00
xatier 1a66b195d4
Update zh-tw translation (#875) 2022-11-02 10:26:25 -06:00
Ben Busby a7fe1fd0df
Add public instance [skip ci]
https://www.indexia.gq

Closes #868
2022-11-01 12:05:28 -06:00
Ben Busby abbf037115
Remove dead public instance [skip ci]
whooglesearch.ml has apparently been broken for several weeks now, so
it's been removed from the readme and the instances list.

Closes #874
2022-11-01 11:58:35 -06:00
Ben Busby 06fd29f663
Update ad filter keywords
New changes to google search now include ads prefixed with the keyword
"sponsored". This update should remove these from appearing in search
results.

Fixes #871
2022-10-31 13:02:20 -06:00
Ben Busby 7494a14bc2
Remove `py` dependency, update `pytest` version
See https://github.com/advisories/GHSA-w596-4wvx-j9j6
2022-10-31 12:58:18 -06:00