Commit Graph

772 Commits (7bda165ca340131ebfc80003789e66ac863a0dec)

Author SHA1 Message Date
Ben Busby 7bda165ca3
Fetch fallback site icons from DDG
DDG provides favicons using the url format
icons.duckduckgo.com/ip2/{site}.ico

This can be used to fetch favicons in the event that the default
"/favicon.ico" path does not work.
2023-10-11 17:26:12 -06:00
Ben Busby 81b7fd1876
Encrypt site icon requests
Paths to favicons are now encrypted with the user's Fernet key, the same
as any other external result page element
2023-10-11 17:18:25 -06:00
Ben Busby a7e937f7c6
Skip scrollers when applying site icons to results
Scroller results (like the "latest from ___" or "top stories" results)
shouldn't have a site icon associated with them. This extracts the class
that those types of results have and skips over the process of inserting
an icon.
2023-10-11 15:58:52 -06:00
Ben Busby c2873190c9
Display audio controls, refactor site icon placement
Audio controls are now always shown by default (mostly found in searches
that contain word pronunciation guides).

Site icons were moved to the left side of the results.
2023-10-11 15:41:48 -06:00
Ben Busby f7513bab69
Echo address:port in run script 2023-10-11 14:12:40 -06:00
Ben Busby 330ae964f3
Only sanitize result content on main result page
The other result tabs (images/maps/videos/news) don't have text content
that needs sanitizing.

Fixes #1080
2023-10-11 11:09:09 -06:00
Ben Busby 67b6110087
Display an empty img if a site icon can't be found
This improves the search result icon feature by "hiding" the site's icon
if one was not found. This happens in scenarios where a site doesn't
have a /favicon.ico due to having a unique path or using javascript to
load the icon.
2023-10-11 11:05:53 -06:00
Ben Busby 4292ec7f63
Add icons for each search result
This appends an icon element to each search result, using the result
domain's "/favicon.ico" path.

Note that some sites do not have a standard /favicon.ico, but have a
unique path to a specifically sized favicon instead. Worse still, some
sites use javascript to load their favicon, which would make it even
more difficult for Whoogle to figure out.

For now this approach is fine, but can be expanded upon in the future
if desired.
2023-10-11 11:05:53 -06:00
Ben Busby 3ef191b5d8
Add missing env var to readme [skip ci]
Closes #1075
2023-10-10 16:42:42 -06:00
Ben Busby c36396e9cb
Sanitize valid html in result text content
This inspects the text content of each individual result div and strips
out valid 'script' or 'iframe' tags from the result.

Closes #1076
2023-10-10 16:38:13 -06:00
dependabot[bot] 0d013c788f
Bump urllib3 from 1.26.14 to 1.26.17 (#1073)
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.14 to 1.26.17.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.14...1.26.17)

---
updated-dependencies:
- dependency-name: urllib3
  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-10-10 15:22:47 -06:00
AlekseiKondrashov ec05f8d52f
Remove a public instance [skip ci] (#1074)
Removes https://search.neadond.space

---------

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-10-10 15:22:29 -06:00
AlekseiKondrashov e2070045bf
Add new public instance [skip ci] (#1069)
New instance: https://search.neadond.space

---------

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-09-29 10:40:09 -06:00
dependabot[bot] b093d39ed1
Bump cryptography from 3.3.2 to 41.0.4 (#1067)
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.2 to 41.0.4.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.3.2...41.0.4)

---
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-09-28 14:32:09 -06:00
Ben Busby e9c4ed6399
Add `WorkingDirectory` to systemd example [skip ci] 2023-09-13 15:58:01 -06:00
Ben Busby 8b99a87020
Include `validators` in requirements.txt 2023-09-13 15:51:35 -06:00
Ben Busby 3a2e0b262e
Validate urls in `element` and `window` endpoints
Domains were previously not validated before being handled, leading to a
potential scenario where someone could pass something like
"element_url=127.0.0.1:<port>/<resource>" to access other resources on a
machine running Whoogle. This change ensures that the resource used in
both endpoints is a valid domain.

This also includes validation of config names to prevent names from
including path values such as "../../(etc)".
2023-09-13 15:50:04 -06:00
Anton Mironov 8830615abc
[Helm] Provide auth in probes if it is set (#1065)
If the auth is set, the probes fail with a 401 error.
2023-09-13 14:14:03 -06:00
MoistCat 693ca3a9a8
Fix invalid calculator widget path (#1064)
When starting whoogle from another directory, the path to the calculator
widget was previously invalid. It now specifies the path relative to the widget
loader file.
2023-09-13 14:13:21 -06:00
Ben Busby a35b1dabbc
Use filtered query for map tab
The map tab should only ever pass the raw query (i.e. no "-site:..."
strings), otherwise the maps page will return an error.

Fixes #1048
2023-09-08 16:44:04 -06:00
Ben Busby a623210244
Match exact words to trigger calculator widget
The calculator was previously triggered for partial matches with words
like "calc", which meant searches containing the word "calcium" would
cause the calculator widget to appear.
2023-09-08 16:19:39 -06:00
Ben Busby abbe29d9d3
Add public instance to readme [skip ci]
whoogle.yepserver.xyz

Closes #1061
2023-09-08 16:08:12 -06:00
satoru 19be033ba2
Update fly.io doc in readme [skip ci] (#1058) 2023-09-08 16:01:13 -06:00
Ben Busby 92e8ede24e
Bump version to 0.8.3 2023-08-21 15:06:17 -06:00
Ahmad Alkadri 4a0089686e
Fix: `keep_blank_values = True` to handle blank `q` input (#1052) 2023-08-21 14:53:10 -06:00
Fabian Wunsch a40b98341b
Change the consent cookies (#1054)
* Changed the consent cookies

* Shorter cookie thanks to @Imaskiller
2023-08-21 14:50:38 -06:00
Ben Busby 18fc14dc5b
Add public instance [skip ci]
* whoogle.datura.network

Closes #1034
2023-08-02 11:02:27 -06:00
dependabot[bot] 8a3c9ea397
Bump cryptography from 41.0.0 to 41.0.3 (#1044)
Bumps [cryptography](https://github.com/pyca/cryptography) from 41.0.0 to 41.0.3.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/41.0.0...41.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 10:47:41 -06:00
dependabot[bot] ee25d3a23d
Bump certifi from 2022.12.7 to 2023.7.22 (#1038)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2022.12.7 to 2023.7.22.
- [Commits](https://github.com/certifi/python-certifi/compare/2022.12.07...2023.07.22)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-02 10:46:09 -06:00
PrivacyDevel c705bc7391
Update location of privacydev.net instances [skip ci] (#1036) 2023-08-02 10:44:01 -06:00
cgi-bin/ 2ac9e37696
Add public instance [skip ci] (#1037)
* search.notrustverify.ch
2023-08-02 10:43:28 -06:00
Simon Rusinov 6f9d11a6ed
Optionally build obfs4proxy in docker (#1032) 2023-08-02 10:42:46 -06:00
Ben Busby 63a2ea56ed
Add public instance [skip ci]
https://whoogle-search--replitcomreside.repl.co
2023-07-05 14:05:25 -06:00
Ben Busby 4962659acb
Serve basic robots.txt to avoid indexing
Closes #1015
2023-06-26 16:16:45 -06:00
Cx 8a2a6f3265
Update translations.json [skip ci] (#1025) 2023-06-26 15:49:19 -06:00
PrivacyDevel 1b4e4e144e
Update country for PrivacyDev instances [skip ci] (#1024) 2023-06-26 15:48:22 -06:00
Andiru 29992985bc
Fix incorrect link replacements (#1016)
Fix link/result description getting replaced when alternative is disabled
(set to empty string)

Replace medium.com links with value from constant
2023-06-26 15:47:43 -06:00
Ben Busby 179fc5e020
Update cryptography + pyopenssl 2023-06-26 15:43:18 -06:00
Ben Busby 421a8ac054
Replace broken public instance url [skip ci]
Fixes #1013
2023-06-14 14:44:41 -06:00
Ben Busby 0003da4bb9
Update public instances [skip ci]
Removes whoogle.esmailelbob.xyz

Closes #1006
2023-05-25 15:51:17 -06:00
dependabot[bot] 2b8d100cfb
Bump requests from 2.28.2 to 2.31.0 (#1008)
Bumps [requests](https://github.com/psf/requests) from 2.28.2 to 2.31.0.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.28.2...v2.31.0)

---
updated-dependencies:
- dependency-name: requests
  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-05-25 15:50:12 -06:00
fredster33 f0a1223f40
Fix incorrect TLD in readme [skip ci] (#1007)
* Wikipedia.org, not .com

* Capitalization of JavaScript
2023-05-25 15:49:34 -06:00
Felix 958f74e1f5
Fix deadlinks and markdown [skip ci] (#1009) 2023-05-25 15:19:15 -06:00
Ben Busby 08732fac9e
Fix link typo in readme [skip ci] 2023-05-19 12:27:04 -06:00
Ben Busby f65529f328
Allow defining custom redirects with `WHOOGLE_REDIRECTS`
Redirects to alternative frontends can now be defined using the
WHOOGLE_REDIRECTS environment variable. Usage is documented in the
readme, but is basically defined as <parent>:<new>.

Closes #988
2023-05-19 12:15:15 -06:00
Ben Busby f213a2a64a
Ensure b64 prefs always have min padding
This relates to an issue with an unknown cause (unable to reproduce on
my end) where the preferences string does not contain the correct amount
of padding on a base64 encoded value. This is mediated by appending
padding to the end of the encoded value, since any extra padding is
removed anyways.

Fixes #987
2023-05-19 11:39:51 -06:00
Roman Štefko 2cb4b9e3ca
Allow setting mobile/desktop UAs using env vars (#1003)
Defines separate environment variables for setting mobile vs desktop user
agents

Defines an environment variable for using the client's User-Agent

Co-authored-by: Ben Busby <contact@benbusby.com>
2023-05-19 11:32:05 -06:00
Ben Busby 17dd1f1df1
Add public instance [skip ci]
https://whoogle.link

Closes #1001
2023-05-08 17:24:33 -06:00
xatier 4b7ab3b283
Bump flask from 2.2.3 to 2.3.2 (#1000)
Note that Flask 2.3.2 also requires Werkzeug>=2.3.3

Ref: https://github.com/pallets/flask/blob/main/pyproject.toml
2023-05-08 17:22:07 -06:00
Abhishek M J 349b87ec18
Fix unsupported_g_pages in result list (#996)
Closes #995
2023-05-01 10:23:57 -06:00