519 Commits

Author SHA1 Message Date
Don-Swanson
5a062aff29
Update User Agent generation from Opera to Safari 2026-03-23 18:10:15 -05:00
Don-Swanson
255f1a2c12
Bump version to 1.2.2 2025-12-29 09:45:26 -06:00
Don-Swanson
4852e5b64f
Implement Google Custom Search (BYOK) feature with configuration options and API client 2025-12-29 09:43:20 -06:00
Don-Swanson
9c5b3150aa
Add method to remove AI Overview sections from search results
- Introduced `remove_ai_overview` method in the `Filter` class to eliminate Google's AI Overview results from the main search results.
- Enhanced the filtering process by identifying and removing divs containing specific AI-related patterns, ensuring cleaner output for users.
2025-12-09 09:43:16 -06:00
Don-Swanson
6c7ca7c082
- Add modern Google Images parsing (udm=2) and use view_image to render extracted image results, with Chrome UA and forced image endpoint for tbm=isch/udm=2.
- Normalize layouts (image grid width) and inject styling tweaks; remove broken image pagination/next link with TODO left for proper paging.
2025-11-26 22:21:23 -06:00
Don-Swanson
ff3a44b91e
Refactor configuration and session management in the application
- Updated `docker-compose.yml` to remove version specification for modern compatibility.
- Enhanced secret key management in `__init__.py` with a new function to load or generate a secure key.
- Changed session file handling from `pickle` to `json` for improved security and compatibility.
- Added security headers in `routes.py` to enhance application security.
- Updated version to 1.2.1 in `version.py`.
- Refactored key derivation method in `config.py` to use PBKDF2 for better security.
- Improved calculator widget's evaluation method to prevent arbitrary code execution.
2025-11-26 17:32:11 -06:00
Don-Swanson
cffef7aa15
Update dependencies and configuration for version 1.2.0
- Bump target Python version to 3.12 in `pyproject.toml`.
- Update Flask to version 3.1.2 in `requirements.txt`.
- Remove deprecated dark mode configuration from the application.
- Adjust logo rendering in templates to remove dark mode dependency.
- Update GitHub Actions workflows to support the 'updates' branch for builds.
- Increment version to 1.1.3 with an optional update-testing tag.
2025-11-26 11:47:54 -06:00
Don-Swanson
178d67a73f
Bump version to update Brotli and fix release issue 2025-11-26 11:01:35 -06:00
Don-Swanson
65326e37b4
Refactor User Agent handling in request.py and ua_generator.py
- Removed hardcoded User Agent strings and replaced them with a fallback mechanism using DEFAULT_FALLBACK_UA.
- Updated gen_user_agent function to ensure compatibility with older configurations.
- Bumped version to 1.1.1 to reflect changes in User Agent management.
2025-11-23 22:16:53 -06:00
Don-Swanson
490fc6c4f9
UA ua_generator and generate_uas.py updates 2025-11-23 21:10:50 -06:00
Don-Swanson
9b3a6ce550
Update README and codebase to enhance User Agent handling
- Revised README to reflect changes in Google search behavior and Whoogle's response strategies.
- Implemented a User Agent pool for improved request handling, including fallback mechanisms.
- Added configuration options for displaying the User Agent in search results.
- Introduced a command-line tool for generating custom User Agent strings.
- Enhanced request headers to include additional parameters for better compatibility with Google services.
2025-11-23 20:35:08 -06:00
Don-Swanson
00d8aec2fb
Reverted to Before Leta Integration, and re-added other changes that were not Leta. 2025-11-22 21:50:01 -06:00
Don-Swanson
c46ec6f937
Add clean_text_spacing function to normalize text spacing in search results
This new function addresses spacing issues in text extracted from HTML, ensuring proper formatting for titles and content in the search function. It replaces direct text extraction calls with clean_text_spacing to enhance the overall text quality and consistency.
2025-10-02 08:14:24 -05:00
Don-Swanson
65c0c99dad
Fix test_prefs_url 2025-10-01 22:21:17 -05:00
Don-Swanson
20111a8f88
Refactor search function to improve title extraction by including CVA68e class and enhance content retrieval logic with additional snippet class handling, ensuring more accurate results. 2025-10-01 20:58:51 -05:00
Don-Swanson
bb3347f7ff
Enhance search function to extract title and content separately, maintaining backward compatibility in JSON response. 2025-10-01 19:18:22 -05:00
Don
e0a4a5f2cb
Merge pull request #1251 from rstefko/images-with-links
Re-enable view_image functionality
2025-09-30 21:09:11 -05:00
Don-Swanson
457725ee5a
Enhance link extraction logic in search function to handle cases with no result containers, improving robustness and accuracy of results. 2025-09-30 20:32:51 -05:00
Don-Swanson
442060b2ef
Fixed JSON search function to improve link extraction by targeting specific result containers and retrieving all relevant text, enhancing the accuracy of search results. 2025-09-30 20:12:26 -05:00
rstefko
ca214cb563 Allow view_image on mobile too, to be able to see origin 2025-09-28 08:46:18 +02:00
rstefko
33cdaf390d Fixed too big images 2025-09-28 08:45:43 +02:00
rstefko
9dd33de91a Seems to be working again with new UA 2025-09-28 08:32:23 +02:00
Don-Swanson
579d983db8
Update GitHub Actions workflows to trigger builds on release events and enforce versioning for PyPI publishing. Change application version to '1.0.0-beta'. 2025-09-23 23:47:11 -05:00
Don-Swanson
be83605c77
Update dependencies in requirements.txt and refactor file handling in app initialization and utility functions to use context managers for better resource management. Adjust filter logic to utilize 'string' instead of 'text' for BeautifulSoup queries, enhancing compatibility with future versions. 2025-09-23 22:14:41 -05:00
Don-Swanson
ffdeeb5f44
Enhance autocomplete functionality by adding environment variable check to enable/disable it globally. Improve error handling in HTTP client for closed connections and add client recreation logic. Refactor link extraction to avoid details elements in search results. 2025-09-23 21:37:21 -05:00
Don-Swanson
99c7c7b00d
Refactor search and test files to ensure proper context usage for Config initialization. Updated search function to use fallback for full_query and adjusted tests to utilize app context for Config instantiation. 2025-09-21 00:24:22 -05:00
Don-Swanson
7f80eb1e51
feat(beta): httpx migration, Tor/proxy refactor, JSON results, alt-link fixes, tests, optional static bundling, HTTP/2 env toggle, cleanup 2025-09-21 00:11:54 -05:00
Don
ec9e7877b6
Merge pull request #1228 from tunazorlu/turkishtranslation
LGTM
2025-09-14 08:23:01 -05:00
Don
c70497d532
Update countries.json
Macedonia is now North Macedonia
2025-09-14 08:06:52 -05:00
Don
69d1ddae0c
Updated UI Config to respect User Agent in ENV file if exists (#1240)
* Updated UI Config to respect User Agent in ENV file if exists

* Updated version number
2025-09-12 19:24:44 -06:00
Yaşar Tuna Zorlu
339eb61cea Turkish Language Translation Update
-Turkish translation added,
-"Turkish language name" in turkish is "Türkçe" so fixed it on languages.json
-Turkey's name changed into Türkiye in 2022 as stated in United Nations (please refer to the UN related webpage: https://bit.ly/turkiyeofficialname). And the order in the language list has also been adjusted so that the letter u is followed by the letter ü when listing Türkiye.
e4cabe
2025-05-03 11:49:05 +03:00
Ben Busby
f25611cbcb
Add 4get as an option for continuing search
Closes #1222
2025-02-25 15:53:46 -07:00
Ben Busby
1339c49dc5
Temporarily disable full size image search
The reliance on non-mobile user agents breaks the full size image search
config option, leading to empty image search result pages
2025-01-29 10:50:27 -07:00
Ben Busby
dda91ad155
Bump version to 0.9.3 2025-01-22 12:14:10 -07:00
Ben Busby
fb19bded0d
Fix styling of pages using lynx user agent
See #1211
2025-01-22 12:00:57 -07:00
Ben Busby
5701d0d55f
Bump version to 0.9.2 2025-01-19 14:13:56 -07:00
Ben Busby
50625f222f
Revert changes to config vars from #1212
Fixes #1214

Fixes #1216
2025-01-19 13:13:14 -07:00
James
99ca67c90e
Fix duckduckgo search parameter (#1201)
Removed an extra search parameter: 'search' (lol)
2025-01-17 14:16:03 -07:00
Don
389c0a4d8d
Add UserAgent configuration (#1212)
* feat: Set Lynx as default user agent and improve custom user agent handling

* chore: Remove user agent debug logging

* Add User Agent wiki link, remove whitespace

---------

Co-authored-by: Ben Busby <contact@benbusby.com>
2025-01-17 10:17:50 -07:00
Ben Busby
0130237913
Fix Ukranian language translation
Closes #1203
2025-01-16 17:33:56 -07:00
Althior
88e2dda151
Update ad filter keyword for French language (#1208) 2025-01-16 17:31:50 -07:00
Ben Busby
6f1e1e6847
Force using Lynx UA for all searches
This is a possible fix for the recent removal of javascript-free search
results by Google. Forcing the Lynx user agent to be used for all
searches returns search results, although they're formatted a bit
differently than before. If this proves to be a long term fix, styling
can be fixed at a later date.

See #1211
2025-01-16 16:43:08 -07:00
Ben Busby
e70bbabd63 Bump version to 0.9.1 2024-10-31 17:36:37 -06:00
Dave Fatkin
a8205c3043
Use alternate USPS link for package tracking [skip ci] (#1191)
The previous tracking link would sometimes lead to a blank page
2024-10-31 17:11:36 -06:00
Roman Štefko
1b9f7990b6
Allow setting fallback search engine (#1184)
Allow setting a fallback Search Engine URL when there is internal server error
or instance is rate-limited. Search query is appended to the end of the URL
(eg. https://duckduckgo.com/?k1=-1&q=).
2024-10-31 17:06:47 -06:00
Tarek
c54f4a79a6
Add ability to set custom dotenv path (#1183)
* add ability to set custom dotenv path

* add `WHOOGLE_DOTENV_PATH` to environment variables table
2024-10-31 16:52:18 -06:00
Ben Busby
223f00c3c0 Switch from pickle->json for config encoding
`pickle.loads` is insecure (and unnecessary in this context). The
simpler data types of the config model can easily be serialized to json
instead.
2024-10-31 16:43:29 -06:00
Ben Busby
466cb63d0e
Bump version to 0.9.0 2024-09-30 12:18:09 -06:00
Ben Busby
c056322037
Use .lower() when accessing the cache busting map
Cache busted resources will always have a lowercase name. For some
reason, a user encountered a capitalized css file name in #1142. This
isn't present anywhere in the Whoogle repo, but could be a byproduct of
some self-hosting configuration. Either way, the key used should always
be lowercase.

Fixes #1142
2024-09-30 12:00:52 -06:00
Ben Busby
5eb609d0b2
Hide line below search bar in dark themes
The results return an empty div with a background color set (not sure
why, not generated on Whoogle's side). This unsets the background color
so that at least it isn't visible.
2024-09-30 11:57:12 -06:00