Commit Graph

123 Commits (e16038bf28b1b3842f61c7b2eb32c25156d75f39)

Author SHA1 Message Date
Ben Busby 3e20788857
Disable in-app CSP unless enabled via WHOOGLE_CSP
The default CSP is only helpful for some, and can break instances for
others. Since these aren't always necessary and are occasionally set by
the user's preferred reverse proxy, it is being disabled unless
explicitly enabled by setting `WHOOGLE_CSP`.

Fixes #493
2021-11-29 15:52:28 -07:00
alefvanoon 15391379be
Remove dead instances & add onion instance (#555) 2021-11-26 15:08:44 -07:00
Ben Busby 30d4337783
Add new public instance
https://whoogle.fossho.st is now an "official" public instance of
Whoogle, since it is the only instance maintained and validated by
the developer(s) of Whoogle (currently only me).

Closes #533
2021-11-26 07:54:58 -07:00
Robert Blaine 24cc07c20a
feat: Simple Helm Chart (#522)
Add a simple Kubernetes Helm Chart to deploy Whoogle
2021-11-07 10:48:55 -07:00
Albony Cal b742b6fc0d
Add new public instance to readme (#525)
https://search.albony.xyz
2021-11-07 10:44:23 -07:00
KokoTheBest c91103a45b
Add new public instance to readme (#512)
https://www.whooglesearch.ml
2021-11-07 10:41:26 -07:00
Ben Busby 90441b2668
Add WHOOGLE_MINIMAL to docs, tweak min mode logic
Activating minimal mode should also remove all collapsed sections, if
any are found.

WHOOGLE_MINIMAL now documented in readme and app.json (for heroku).
2021-10-26 10:38:20 -06:00
Ben Busby 999248d71b
Use externally accessible links for images in readme 2021-10-24 18:41:13 -06:00
Ben Busby 19e89de5d9
Expand on "features" section of readme
The "no JS" and "no cookies" portions of the readme warranted further
explanation. Since Whoogle uses JS and server-side cookies, it might be
confusing to a passerby what is actually meant by this. 

Note that both JS and cookies can be blocked and Whoogle will still be
able to perform searches perfectly well. 

Also updated the "theme" feature description
2021-10-24 00:17:38 -06:00
fredster33 f7b8b30e9d
Fix typo in readme (#478) 2021-10-20 15:37:17 -06:00
Ben Busby e6bca2d35f
Update branch for heroku quick deploy
Fixes #474
2021-10-19 10:37:11 -06:00
Vansh Comar 79fb7531be
Implement scribe.rip replacement for medium.com results (#463)
scribe.rip is a privacy respecting front end for medium.com. This
feature allows medium.com results to be replaced with scribe.rip links,
and works for both regular medium.com domains as well as user specific
subdomains (i.e. user.medium.com).

[scribe.rip website](https://scribe.rip)
[scribe.rip source code](https://git.sr.ht/~edwardloveall/scribe)

Co-authored-by: Ben Busby <noreply+git@benbusby.com>
2021-10-16 12:22:00 -06:00
Ben Busby ff885e4fde
Disable autocomplete via WHOOGLE_AUTOCOMPLETE var
Setting WHOOGLE_AUTOCOMPLETE to 0 now disables the autocomplete/search
suggestion feature.

Closes #462
2021-10-14 18:59:10 -06:00
Ben Busby c1d8a0c625
Add build status badge to readme 2021-10-13 21:09:29 -06:00
Ben Busby 2dd86fcf97
Update systemd instructions
Fixes #453
2021-10-11 14:22:11 -06:00
Oscar 57a7bf6e95
Remove whoogle.silkky.cloud public instance (#443) 2021-09-29 20:33:50 -06:00
drugal 46da74fe8a
Add search language to public instances table (#431) 2021-09-16 16:30:56 -06:00
Ben Busby 817b51eb48
Document WHOOGLE_CONFIG_NEAR env var
Fixes #406
2021-09-15 16:00:36 -06:00
Peter Dave Hello ed963933d9
Add ini highlighting to readme (#426) 2021-09-15 15:27:50 -06:00
FlawCra 598b58a43d
Update location of public instance (#425)
https://search.flawcra.cc -> DE
2021-09-15 15:25:51 -06:00
Flux Industries f093fd26c1
Add public instance to readme (#423)
search.flux.industries
2021-09-15 15:25:00 -06:00
Ben Busby 118c9da813
Remove ARM specific Docker tag note from readme
ARM devices can now use the `latest` tag, so the `buildx-experimental`
tag is no longer necessary.
2021-08-31 08:15:28 -06:00
Ben Busby 9320d8e230
Remove travis yml, update readme test badge 2021-08-30 16:47:49 -06:00
alefvanoon 388f51cfb7
Add table for public instances (#398)
Includes new "Country" and "Cloudflare" columns
2021-08-30 16:07:23 -06:00
alefvanoon 14a5e63ad9
Remove dead instance, add new public instance (#387)
https://s.alefvanboon.xyz
2021-08-24 09:10:38 -06:00
Ben Busby c41e0fc239
Allow theme to mirror user system settings
Introduces a new config element and environment variable
(WHOOGLE_CONFIG_THEME) for setting the theme of the app. Rather than
just having either light or dark, this allows a user to have their
instance use their current system light/dark preference to determine the
theme to use.

As a result, the dark mode setting (and WHOOGLE_CONFIG_DARK) have been
deprecated, but will still work as expected until a system theme has
been chosen.
2021-06-28 10:26:51 -04:00
Ben Busby bcb1d8ecc9
Add lingva translation support in search (#360)
* Add support for Lingva translations in results

Searches that contain the word "translate" and are normal search queries
(i.e. not news/images/video/etc) now create an iframe to a Lingva url to
translate the user's search using their configured search language.

The Lingva url can be configured using the WHOOGLE_ALT_TL env var, or
will fall back to the official Lingva instance url (lingva.ml).

For more info, visit https://github.com/TheDavidDelta/lingva-translate

* Add basic test for lingva results

* Allow user specified lingva instances through csp frame-src

* Fix pep8 issue
2021-06-15 10:14:42 -04:00
Ben Busby 83d19d7644
Update instructions for Firefox 89+
Also adds steps to take for allowing searches using Firefox Containers

Closes #352
2021-06-10 11:52:30 -04:00
Ben Busby e7a604d428
Fix handling of http (vs https) proxy creation
The requests library requires both 'http' and 'https' values in any
included proxy dict, and whoogle was previously copying the http proxy
to https for simplicity. The assumption was that if the underlying
request wasn't able to connect via https, it would default to http
(otherwise why have the requirement to specify both?)

This led to connectivity issues for users with http only proxies as of
the latest urllib and requests package versions, which are a lot more
strict with connections over https. With the latest versions, if an
https connection cannot be made, the library returns an error.

As a result, the new proxy dict must look something like this for plain
http proxies:

{'http': 'http://domain.tld:port', 'https': 'http://domain.tld:port'}

where both http and https are identical, but both are still required.
2021-06-04 15:30:21 -04:00
Ben Busby 59479228bf
Add clarification note for Whoogle CSP headers
Fixes #336
2021-06-01 20:03:05 -04:00
Myzel394 7103d9eccb
Add German translation (#339)
* Added german language

* Fixed translations.json path

* Fixed German name
2021-06-01 19:57:48 -04:00
Jerome Gravel-Niquet e1e6e84649
Add instructions to deploy to Fly.io (#330)
* Add instructions to deploy to Fly.io

* Put Fly.io as #3 in the installation options
2021-05-28 10:29:19 -04:00
Ben Busby 4649d96dda
Support basic localization (#325)
* Replace hardcoded strings using translation json file

This introduces a new "translations.json" file under app/static/settings
that is loaded on app init and uses the user config value for interface
language to determine the appropriate strings to use in Whoogle-specific
elements of the UI (primarily only on the home page).

* Verify interface lang can be used for localization

Check the configured interface language against the available
localization dict before attempting to use, otherwise fall back to
english.

Also expanded language names in the languages json file.

* Add test for validating translation language keys

Also adds Spanish translation to json (the only non-English language I
can add and reasonably validate on my own).

* Validate all translations against original keyset, update readme

Readme has been updated to include basic contributing guidelines for
both code and translations.
2021-05-24 17:03:02 -04:00
Oscar c2a76bd73a
Add new public instance to readme (#323)
https://whoogle.silkky.cloud
2021-05-24 11:06:48 -04:00
Ben Busby 75e7410981
Add WHOOGLE_CONFIG_DISABLE doc to readme 2021-05-21 11:22:43 -04:00
Joao A. Candido Ramos 448efb8f2a
Add "view image" functionality (#268)
* add view image option

* prevent whoogle links from opening in a new tab.

* remove view image template on mobile requests

* change loop values to be more robust to the number of images

* Update app/templates/imageresults.html

* fix "Basically the .cvifge class needs width: 100%; in order to expand the search input to fit the form width."

* Update app/templates/imageresults.html

* remove hardcoded string from template

* Add view image config var to app.json

* Add view image config var to whoogle.env

Co-authored-by: jacr13 <ramos.joao@protonmail.com>
Co-authored-by: Ben Busby <benbusby@protonmail.com>
2021-05-21 11:19:45 -04:00
Ben Busby 3f1096b05d
Remove search.whoogle.tech public instance
The instance is no longer maintained.
2021-05-20 12:28:45 -04:00
Ben Busby 373a466cb5
Use relative paths in readme toc
This change was needed to allow mirrored readmes to still link to the
correct section without redirecting to github.
2021-05-19 13:25:07 -04:00
Ben Busby 65d948368c
Add read-only mirrors to readme 2021-05-19 13:12:52 -04:00
Ben Busby 2bd17bef47
Expand readme toc, add chromium instructions 2021-05-19 10:06:08 -04:00
Exonip 45f7522e65
Add public instance "search.exonip.de" (#321) 2021-05-19 09:50:50 -04:00
Ben Busby c8da53d4b0
Block websites from search results via user config (#304)
* 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.

* Add test for blocking sites from search results

* Document WHOOGLE_CONFIG_BLOCK usage

* Strip '-site:' filters from query in header template

The 'behind the scenes' site filter applied for blocked sites was
appearing in the query field when navigating between search categories
(all -> images -> news, etc). This prevents the filter from appearing in
all except "images", since the image category uses a separate header.
This should eventually be addressed when the image page can begin using
the standard whoogle header, but until then, the filter will still
appear for image searches.
2021-05-07 11:45:53 -04:00
Ben Busby 35aa02167c
Clarify how to enable whoogle.env for docker/docker-compose
The readme section on enabling whoogle.env needed to be updated to clarify
how it should work for "docker-compose" and "docker build" runs.
2021-05-03 14:36:00 -04:00
Ben Busby 8ae7b5947e
Separate interface language from search language in env vars
The search language is now set using the WHOOGLE_CONFIG_SEARCH_LANGUAGE
environment variable. Interface language is still set using
WHOOGLE_CONFIG_LANGUAGE.

Fixes #260
2021-04-26 11:38:55 -04:00
FlawCra 18af72c182
Add public instance to readme (#273)
https://search.flawcra.cc
2021-04-12 10:02:37 -04:00
igosad 8a6e0709b8
Allow replit to auto detect dependencies (#266) 2021-04-07 12:21:39 -04:00
igosad b48090c23a
Add public instance: search.whoogle.tech (#269) 2021-04-07 10:37:04 -04:00
Ben Busby 3312072cc1 Add new public instance to readme
See https://whooglesearch.net/
2021-04-05 11:00:56 -04:00
Ben Busby 7b9ee37beb Allow defining initial config state w/ env vars
This introduces a set of environment variables that can be used for
defining initial config state, to expedite the process of
destroying/relaunching instances quickly with the same settings every
time.

Closes #228

Closes #195
2021-04-05 11:00:56 -04:00
Shimul 8a10efaa01 Allow setting environment variables in whoogle.env (#237)
This allows the user to enable their preferred settings in a variety of
ways, depending on their deployment preference. Values added to
whoogle.env can be enabled using WHOOGLE_DOTENV=1, in which case all
values in the env var file will overwrite defaults or user provided
settings.

Co-authored-by: Ben Busby <benbusby@protonmail.com>
2021-04-05 11:00:56 -04:00