Releases: benbusby/whoogle-search
v0.8.4
Updates
- Site favicons are now fetched and displayed for each search result
- Audio tags are now interpreted correctly
- Primarily found in word definition cards in the results view
POST
requests now redirected as encryptedGET
requests- This allows navigating back from a result website to the Whoogle search result page without having to confirm form resubmission
- The "GET-only searches" config is still available for anyone who still prefers it
- URLs in element and window endpoints are now validated
- Fixes a potential vulnerability where an element or window endpoint could retrieve file contents from a service hosted on another port
- Valid HTML in result text content is now sanitized to prevent parsing issues
Community Contributions
- fix: whoogle can be deployed using the fly.io free allowances by @suzaku in #1058
- fix for #1062 by @Moist-Cat in #1064
- Helm chart fix: Provide auth in probes if it is set by @mironov in #1065
- Bump cryptography from 3.3.2 to 41.0.4 by @dependabot in #1067
- Update README.md by @AlekseiKondrashov in #1069
- Remove a public instance. by @AlekseiKondrashov in #1074
- Bump urllib3 from 1.26.14 to 1.26.17 by @dependabot in #1073
- fix: correctly handle skip_prefix logic for site_alts by @kageiit in #1092
- fix: add missing dependency
validators
to setup.cfg by @zydou in #1087 - Bump urllib3 from 1.26.17 to 1.26.18 by @dependabot in #1085
- Bump werkzeug from 2.3.3 to 3.0.1 by @dependabot in #1093
New Contributors
- @mironov made their first contribution in #1065
- @AlekseiKondrashov made their first contribution in #1069
- @kageiit made their first contribution in #1092
- @zydou made their first contribution in #1087
Full Changelog: v0.8.3...v0.8.4
v0.8.3
Community Contributions
- Add better handling of custom css by @jacr13 in #965
- add my instance by @no-logs in #994
- Fix unsupported_g_pages in result list by @abhishekmj303 in #996
- Bump flask from 2.2.3 to 2.3.2 by @xatier in #1000
- Allow specify User-Agent using environment variable by @rstefko in #1003
- Fixed deadlinks, broken markdown by @nsde in #1009
- Wikipedia.org, not .com by @fredster33 in #1007
- Bump requests from 2.28.2 to 2.31.0 by @dependabot in #1008
- Fix incorrect link replacements by @andregoetz in #1016
- Update country for PrivacyDev instances by @PrivacyDevel in #1024
- Update translations.json by @CYAXXX in #1025
- issue-1028 add obfs4proxy build by @Pinkolik in #1032
- add: search.notrustverify.ch by @sven-hash in #1037
- Updated location of privacydev.net instances by @PrivacyDevel in #1036
- Bump certifi from 2022.12.7 to 2023.7.22 by @dependabot in #1038
- Bump cryptography from 3.3.2 to 41.0.3 by @dependabot in #1044
- Changed the consent cookies by @fabi321 in #1054
- Fix: keep blank values as True to handle blank 'q' input. by @ahmad-alkadri in #1052
New Contributors
- @no-logs made their first contribution in #994
- @abhishekmj303 made their first contribution in #996
- @nsde made their first contribution in #1009
- @andregoetz made their first contribution in #1016
- @Pinkolik made their first contribution in #1032
- @sven-hash made their first contribution in #1037
- @fabi321 made their first contribution in #1054
Full Changelog: v0.8.2...v0.8.3
v0.8.2
Community Contributions
- adding time constraint to search options by @fiestasiesta in #888
- refs #910 by @Moist-Cat in #911
- Fix: added a functionality to make sure escaped characters stay escaped. by @ahmad-alkadri in #912
- adding line break between header options by @fiestasiesta in #918
- Add whoogle.ungovernable.men to list of instances by @dominickp in #919
- Omit 'mobile.' and 'm.' in site alt replacements by @cazwacki in #922
- Don't prepend services that have schemes with '//' by @cazwacki in #925
- Add two more ungovernable.men instances by @dominickp in #927
- Add a function to check if target_word contains CJK characters by @ahmad-alkadri in #928
- Add instruction on fixing the fly.toml before deploying by @suzaku in #936
- Greek Translation request by @comfuzio in #943
- Added Indonesian translation by @ahmad-alkadri in #940
- Add Azerbaijani translation by @test2user-aqil in #944
- Bump cryptography from 3.3.2 to 39.0.1 by @dependabot in #952
- Bump werkzeug from 0.16.0 to 2.2.3 by @dependabot in #959
- Add calculator widget by @ellieeet123 in #956
- Add authentication to cookie by @jacr13 in #964
- Fix a bug on remove_block_titles() and remove_block_url() by @xatier in #969
- Update README by @xatier in #971
- Update zh-tw translation by @xatier in #973
- Updated server location of whoogle.privacydev.net by @PrivacyDevel in #972
New Contributors
- @fiestasiesta made their first contribution in #888
- @Moist-Cat made their first contribution in #911
- @ahmad-alkadri made their first contribution in #912
- @dominickp made their first contribution in #919
- @cazwacki made their first contribution in #922
- @suzaku made their first contribution in #936
- @comfuzio made their first contribution in #943
- @test2user-aqil made their first contribution in #944
- @ellieeet123 made their first contribution in #956
Full Changelog: v0.8.1...v0.8.2
v0.8.1
Small update with a few important fixes:
- Fix issue with incorrect domain substitution when site alts are enabled
- Use app init encryption key for all queries by default
- Update sponsored result filter for searches in German
- Update proxying behavior to allow HTTP-only proxies
Community Contributions
- Switch to PEP517 standard (
pyproject.toml
) for builds by @CyberTailor in #887 - Update instance list by @Raistlingru in #897
- Updated privacydev.net details + added onion instance by @PrivacyDevel in #899
- Bump certifi from 2020.4.5.1 to 2022.12.7 by @dependabot in #902
- Update Kurdish translation by @CYAXXX in #903
New Contributors
- @Raistlingru made their first contribution in #897
Full Changelog: v0.8.0...v0.8.1
v0.8.0
It's been a while since the last official release! There have been some changes made since 0.7.4 that are fairly noteworthy, including:
- Complete overhaul of session management
- Fixed runaway session file creation for public instance maintainers
- Fixed failure to decrypt subsequent result page queries (i.e. page 2 query appearing as "gAAAAA....")
- Added ability to navigate through results with Tab and Shift+Tab
- Added an "Advanced Search" toggle in search results for quickly switching between countries
- Can be updated to support other search params, if requested
- Updated filter for sponsored results/advertising content
- Configured language + country is now included in search suggestion requests
- Fixed issues with bolding search terms in result pages
- Added ability to encode configuration in the URL
- Allows jumping between Whoogle instances (via Farside, for example) and maintaining the same configuration settings
- Fixed issues with result links to Google domains
- Reduced the amount of logging the Tor service outputs by default
- New translations:
- Thai
- Kurdish
- Welsh
And much more!
SourceHut
There's an official "mirror" of the repository on SourceHut at: https://sr.ht/~benbusby/whoogle-search now. It's not technically a "mirror" though, since it does more than just look for changes on GitHub. It's automatically synced with changes pushed to GitHub, but GitHub is also synced with any changes pushed to SourceHut. The two repos are completely interchangeable from a user perspective. If you prefer using SourceHut, feel free to mail in patches, open tickets, etc. If not, feel free to keep using GitHub.
Community Contributions
- Tor password authentication by @MadcowOG in #746
- Fix a crash with protected Tor control port by @CyberTailor in #785
- Improve newtab by @jacr13 in #790
- Remove wildcard imports by @jacr13 in #791
- Update translations.json by @CAB233 in #794
- Add more OpenSearch definitions (for images etc.) by @CyberTailor in #786
- Fixes handling of maps by @jacr13 in #792
- Use X-Forwarded-Host as url_root when present by @marekful in #799
- Tor Documentation by @MadcowOG in #800
- added instance (search.wef.lol) by @J2D9 in #807
- added new instance to misc/instances.txt by @J2D9 in #808
- Tor password newline fix by @MadcowOG in #801
- Fix typos by @kianmeng in #813
- Fixes read_config_bool to allow several true params by @jacr13 in #841
- Add Kurdish Translation by @CYAXXX in #837
- Fixes google unsuported links bad internal redirection by @jacr13 in #850
- Replaces default reading of environment by @jacr13 in #848
- Add filter for ads in Vietnamese by @BienAtGitHub in #847
- Add preferences parameter to url by @jacr13 in #842
- Fix handling of bangs by @jacr13 in #851
- Update lang_th by @watchakorn-18k in #856
- Add ads thai in BLACKLIST by @watchakorn-18k in #857
- Add ~vern instances (clearnet, onion, i2p) by @gi-yt in #858
- Removal of search.wef.lol by @Albonycal in #860
- Updating Readme.md ; Heroku fix and Removed Some Non-Working Public Instances by @hrishikeshp7 in #864
- Fix autocomplete by @jacr13 in #866
- changes regex to replace special characters and not chinese characters. Issue-#845 by @Abir10101 in #865
- Fix error preferences by @jacr13 in #867
- Fix missing args in docstring by @jacr13 in #872
- Fix color for light contrast text by @jacr13 in #873
- Update zh-tw translation by @xatier in #875
- Added Welsh Translation by @curlpipe in #876
- Include new ad filter keyword by @xaabi6 in #879
New Contributors
- @MadcowOG made their first contribution in #746
- @CAB233 made their first contribution in #794
- @marekful made their first contribution in #799
- @J2D9 made their first contribution in #807
- @kianmeng made their first contribution in #813
- @CYAXXX made their first contribution in #837
- @BienAtGitHub made their first contribution in #847
- @watchakorn-18k made their first contribution in #856
- @gi-yt made their first contribution in #858
- @hrishikeshp7 made their first contribution in #864
- @Abir10101 made their first contribution in #865
- @xaabi6 made their first contribution in #879
Full Changelog: v0.7.4...v0.8.0
v0.7.4
Very small, but important update for dark mode users.
Google made changes to the stylesheet returned in the result view for Whoogle search results, which broke certain aspects of dark mode themes. This version should fix the issues introduced by their changes and return the overall styling of Whoogle back to its normal appearance.
v0.7.3
Minor update, with a few fixes:
- Instances of Whoogle installed via
pip
should no longer encounter theUnpicklingError
issue - Fixed "next page" button for searches with a leading slash (i.e. searching
/e/OS apps
) - Fixed endpoints with leading slashes for instances deployed from sub path of a domain (i.e.
domain.com/whoogle
) - Fixed broken behavior for the "open in new tab" config option
Community Contributions
- Fix pipx run by @SuperSandro2000 in #738
- Remove "/" before endpoints & tags by @invis-z in #734
- Add WHOOGLE_URL_PREFIX to app.json by @invis-z in #737
- Update zh-tw translation by @xatier in #736
- Update translations.json by @hoschi1337 in #742
- Fix link in window by @invis-z in #748
- Update Garudalinux instance, add dr460nf1r3.org instance by @dr460nf1r3 in #750
- Fix image view by @invis-z in #762
- Fix urls not open in new tab by @jacr13 in #769
- added instance whoogle.privacydev.net by @PrivacyDevel in #764
- Bump waitress from 2.1.1 to 2.1.2 by @dependabot in #773
New Contributors
- @SuperSandro2000 made their first contribution in #738
- @invis-z made their first contribution in #734
- @hoschi1337 made their first contribution in #742
- @PrivacyDevel made their first contribution in #764
Full Changelog: v0.7.2...v0.7.3
v0.7.2
Features/Improvements
- Build images now pushed to ghcr.io (still pushed to Docker Hub as usual)
- Improved "minimal mode"
- Public instances now accessible in machine readable format via misc/instances.txt
- Fixed bugs w/ currency conversion
- Upgraded Python image in Dockerfile to
python:3.11.0a5-alpine
- Updated ad filter
- Switched to defusedxml for XML parsing
- Added ability to enable frontend alternatives, but selectively keep the default frontend for specific services
- For example, if site alts are enabled but you still want to visit
youtube.com
for YouTube results, setWHOOGLE_ALT_YT
to an empty value (i.e.WHOOGLE_ALT_YT=""
(all alt environment variables are documented in the README).
- For example, if site alts are enabled but you still want to visit
- Updated all remaining frontend alternatives to be redirected through Farside by default
- Fixed incorrect Chinese and Russian translations
- Added Korean translations
- Improved support for relative search results
- Note: If you're hosting Whoogle behind a path such as
mydomain.com/whoogle
, you can now setWHOOGLE_URL_PREFIX
to the path prefix (in this example,/whoogle
)
- Note: If you're hosting Whoogle behind a path such as
- Patched a minor vulnerability involving XSS on the Whoogle error template
- Passing valid javascript within a tag (i.e. "<script>alert(document.domain)</script>") to the
q
param for the (now removed)/url
endpoint caused the javascript to be executed. This has been fixed by restoring message sanitizing on the error template, as well as removing the unused/url
endpoint which provided the only way of accessing the bug.
- Passing valid javascript within a tag (i.e. "<script>alert(document.domain)</script>") to the
- Added a (rough) implementation of Anonymous View
- Available as a config setting or environment variable (
WHOOGLE_CONFIG_ANON_VIEW
) - Partially overrides the NoJS feature in order to keep result clutter to a minimum
- NoJS View is now accessible only if both Anonymous View and NoJS are enabled in the config, since it uses the same endpoint as Anonymous View
- This still has some issues to work through, but is available as a "beta" feature to test out now. Feel free to open an issue or reach out directly (or come to my Twitch stream) if you find a specific site that anonymous view doesn't work with, or otherwise find a bug with it in general.
- Available as a config setting or environment variable (
Community Contributions
- Update minimal mode for new Google formatting by @DUOLabs333 in #637
- දෝෂ කිහිපයක් නිවරදි කිරීම by @sayuri-gi in #594
- Improve rendering of the tabs by @jacr13 in #535
- Clean "Show more results" of all site blocks by @DUOLabs333 in #646
- added my instance :) by @EsmailELBoBDev2 in #647
- Add gowogle.voring.me as public instance by @ThatOneCalculator in #650
- Fix error with
remove_site_blocks
in the Images tab by @DUOLabs333 in #651 - Fix 'collapse_sections' for 'MINIMAL_MODE' by @DUOLabs333 in #654
- Give Accept-Language div its own class by @nityy in #659
- Vulnerable Python image upgraded (critical) by @Albonycal in #669
- Configure setup() using setup.cfg by @CyberTailor in #667
- Increase /var/lib/tor tmpfs size to 12MB by @CyberJack in #693
- whoogle.dcs0.hu cloudflare remove by @domokosdcs0 in #696
- Fix incorrect translation (zh-TW & zh-CN) by @xatier in #697
- Add "nofollow noopener noreferrer" to all links by @138138138 in #698
- add korean translation by @green1052 in #700
- Do not offer opensearch.xml as attachment by @gdm85 in #713
- [Chrome] Mention requirements to add a search engine via OpenSearch by @gdm85 in #716
- Fix 'anon-view' KeyError by @glitsj16 in #724
- Fix Russian translation by @dsrev in #726
- Return 401 when token is invalid by @gdm85 in #714
- Add support for relative search results by @gdm85 in #715
- Fixes issue where 307 redirects on http not https by @spitsw in #731
New Contributors
- @EsmailELBoBDev2 made their first contribution in #647
- @ThatOneCalculator made their first contribution in #650
- @CyberTailor made their first contribution in #667
- @CyberJack made their first contribution in #693
- @xatier made their first contribution in #697
- @138138138 made their first contribution in #698
- @green1052 made their first contribution in #700
- @gdm85 made their first contribution in #713
- @spitsw made their first contribution in #731
Full Changelog: v0.7.1...v0.7.2
v0.7.1
There are a few new Docker related improvements:
- Removed unneeded dependencies (cut compressed image size by ~50%)
- Image uses
whoogle
user, rather thanroot
ordebian-tor
- WARNING: If you are using
docker-compose
this release will break your instance unless you update your docker-compose.yml with the latest changes: - https://github.com/benbusby/whoogle-search/blob/1af4566991f5248fd0d3576ca4fbcc0a84293004/docker-compose.yml#L14
- https://github.com/benbusby/whoogle-search/blob/1af4566991f5248fd0d3576ca4fbcc0a84293004/docker-compose.yml#L19-L22
- WARNING: If you are using
- Tests for Docker and docker-compose have been added to the CI pipeline -- image tags will not be pushed/updated unless both tests pass.
- Nightly vulnerability scans for Docker images
There are also a number of various improvements and fixes provided by the community, defailed below. Thanks everyone!
Community Contributions
- Add missing environment variables by @glitsj16 in #584
- Fix malformed systemd service file. by @NunoSempere in #571
- alpine docker image by @roylez in #573
- Updated screenshots by @Albonycal in #583
- adding my instance! by @domokosdcs0 in #604
- Add
WHOOGLE_ALT_IMG
for a replacement for imgur. by @DUOLabs333 in #609 - Disable autocomplete.js if
WHOOGLE_AUTOCOMPLETE=0
by @DUOLabs333 in #611 - Improve formatting of collapsible infobox by @nityy in #612
- Allow Docker container to be run as non-root user by @ras07 in #616
- Update Dockerfile by @ras07 in #617
- Fix docker-compose.yml permission errors by @nakoo in #623
New Contributors
- @glitsj16 made their first contribution in #584
- @NunoSempere made their first contribution in #571
- @roylez made their first contribution in #573
- @domokosdcs0 made their first contribution in #604
- @nityy made their first contribution in #612
- @ras07 made their first contribution in #616
- @nakoo made their first contribution in #623
Full Changelog: v0.7.0...v0.7.1
v0.7.0
This release came around a little faster than normal, but still has some pretty worthwhile new features, improvements, and fixes.
Features/Improvements
- Farside integration
- This is a new service (developed by me) that provides a few new benefits that didn't quite fit into Whoogle itself, namely:
- "Smart" redirecting to available/working instances of alternative frontends like Nitter, Bibliogram, etc
- Allows quickly jumping to new Whoogle instances to resume your search if the one you're using is blocked
- All of your config settings should be parameterized in the generated Farside URL
- Switching to a valid Searx instance if your instance is blocked and there aren't any other Whoogle instances available (or you just feel like switching to Searx)
- Evenly distributing traffic to Nitter/Bibliogram/Libreddit instances rather than pooling users on popular instances and creating problems for the maintainer of the instance
- This is a new service (developed by me) that provides a few new benefits that didn't quite fit into Whoogle itself, namely:
- Scribe replacements for Medium links
- New environment variables:
WHOOGLE_MINIMAL
to declutter the result page and only return "regular" result cardsWHOOGLE_RESULTS_PER_PAGE
to set the number of results per page (wow who would've guessed!)WHOOGLE_AUTOCOMPLETE
defaults to "on", but can be set to0
to turn off search suggestions
- Search terms are now bold in search results
- Support DDG bangs with the
!
at the end (for short-style bangs) - Improved NoJS link formatting in results
- Instance now shows an "Update Available" message if the instance is not using the latest release
- Whoogle can now be deployed via Helm chart (#522)
- Improved public instance session management
- This is a dramatic improvement to how user sessions were handled previously. The new approach enforces that each new user to a Whoogle instance inherits an immutable set of default configuration parameters. Whoogle then validates if the user is allowing cookies to be set by forwarding them to a
/session
URL that checks for changes to their session ID. If the ID has changed, then the user likely has cookies disabled, and they are blocked from changing their config settings. - This should help immensely on public instances where the default config was previously always changing.
- This is a dramatic improvement to how user sessions were handled previously. The new approach enforces that each new user to a Whoogle instance inherits an immutable set of default configuration parameters. Whoogle then validates if the user is allowing cookies to be set by forwarding them to a
- The "Country" config setting can now be used to emulate a search in that specified country
- Very useful for public instances that are hosted outside of your geographic location, but you still want relevant results for the country you live in
New Translations
- Russian
And here's a bulleted list of what's changed and who contributed! Thank you to everyone who has helped out. I really appreciate it.
What's Changed
- Implement scribe.rip replacement for medium.com by @vacom13 in #463
- Fix typo by @fredster33 in #478
- feat: block title or url by regex by @YadominJinta in #473
- Feature to show clients ip address by @vacom13 in #469
- Allow setting Accept-Language header by @vacom13 in #483
- Add WHOOGLE_RESULTS_PER_PAGE by @DUOLabs333 in #486
- Add a "Minimal Mode" by @DUOLabs333 in #485
- Bold search query in results by @DUOLabs333 in #487
- Ignore target_words that are not alphanumeric by @DUOLabs333 in #496
- DDG style Bangs now support Bangs at the End by @vacom13 in #503
- Change "skip bolding" check to regex to fix some edge cases by @DUOLabs333 in #500
- Improve formatting with NoJS enabled by @gripped in #509
- Remove css by @gripped in #511
- Add Update Available warning by @vacom13 in #517
- Fixes internal server error by @fabianschilling in #521
- Added another public instance by @KokoTheBest in #512
- New public instance added by @Albonycal in #525
- feat: Simple Helm Chart by @rblaine95 in #522
- Add Japanese translation by @gnuhead-chieb in #528
- Fix for issue #299 by @jacr13 in #534
- Improve public instance session management by @benbusby in #480
- Add Russian translation by @dsrev in #552
- Remove dead instance & add my onion instance by @alefvanoon in #555
- docs(instance): search.sethforprivacy.com by @curbengh in #562
- Currency Conversion by @vacom13 in #536
- Farside integration by @benbusby in #560
New Contributors
- @vacom13 made their first contribution in #463
- @YadominJinta made their first contribution in #473
- @DUOLabs333 made their first contribution in #486
- @fabianschilling made their first contribution in #521
- @rblaine95 made their first contribution in #522
- @gnuhead-chieb made their first contribution in #528
- @dsrev made their first contribution in #552
- @curbengh made their first contribution in #562
Full Changelog: v0.6.0...v0.7.0