1
0
mirror of https://github.com/benbusby/whoogle-search.git synced 2021-09-19 22:48:34 +03:00

378 Commits

Author SHA1 Message Date
Ben Busby
27d978f232 Hide overflow on all result divs
Mostly addresses the small amount of visible overflow on sections like
"Top Stories".
2021-09-18 21:19:05 -06:00
drugal
46da74fe8a Add search language to public instances table (#431) 2021-09-16 16:30:56 -06:00
Kang-min Liu
c3fd84b942 Update name of "Taiwan" in country list (#429) 2021-09-16 16:22:44 -06:00
Ben Busby
817b51eb48 Document WHOOGLE_CONFIG_NEAR env var
Fixes #406
2021-09-15 16:00:36 -06:00
Kang-min Liu
5289b4ceb3 Add zh-TW translations (#428)
There are a few conventional choices but this one should be friendly
and generally accepted by local reader.

Previous version is still comprehensible but lesser users (perhaps
used in Japanese documents) and may give local users a pause.
2021-09-15 15:30:53 -06:00
Peter Dave Hello
ed963933d9 Add ini highlighting to readme (#426) 2021-09-15 15:27:50 -06:00
Ben Busby
b4e2add146 Run GH action tests on PRs 2021-09-15 15:27:11 -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
d1e0a06ebd Move timestamp for dev builds into build process 2021-08-31 09:34:28 -06:00
Ben Busby
c298b8447c Split PyPI action into separate jobs 2021-08-31 09:18:07 -06:00
Ben Busby
5d86326ae6 Append timestamp to TestPyPI build versions
This should allow the same "version" to be uploaded for each commit.
2021-08-31 09:00:55 -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
4ad4ed5ff7 Publish to PyPI using GitHub Actions
Regular commits are all built and publish to TestPyPI, tagged commits
are published to PyPI.

This should finish the process of moving away from Travis CI, now that
both testing and PyPI deployments are handled in github actions.
2021-08-31 08:03:08 -06:00
Ben Busby
9f84a8ad83 Remove form action from csp
Restricting form-action to 'self' in the content security policy
prevented Chrome (and likely other browsers) from using !bangs on the
home page.

Fixes #408
2021-08-31 07:57:50 -06:00
Ben Busby
ad2b2554c1 Use UTF-8 encoding when loading languages json
Fixes #371
2021-08-30 17:23:19 -06:00
Ben Busby
9320d8e230 Remove travis yml, update readme test badge 2021-08-30 16:47:49 -06:00
Ben Busby
648a540126 Move all testing to github actions
The Travis CI folks are updating stuff and broke my tests, so I'm moving
over to github actions instead since that is (hopefully) less likely to
change moving forward.

Will need to move PyPi deployment to github actions as well.
2021-08-30 16:39:52 -06:00
alefvanoon
981c7d28f8 Add persian (farsi) translation (#400) 2021-08-30 16:17:14 -06:00
davidfrickert
71070ee921 Fix portuguese translations (#405) 2021-08-30 16:11:32 -06:00
alefvanoon
be3714f074 Fix rtl lang problem in search box (#399)
Adds auto dir to index, search and header input html
2021-08-30 16:10:07 -06:00
alefvanoon
388f51cfb7 Add table for public instances (#398)
Includes new "Country" and "Cloudflare" columns
2021-08-30 16:07:23 -06:00
Trottel
f34490d4f1 Add Czech translation (#397) 2021-08-30 16:05:19 -06:00
Ben Busby
b44762d157 Split buildx action into main and dev builds
Since Docker Hub no longer allows automated builds for free tier users,
the build process for new images needs to be moved to GitHub Actions.
The existing buildx workflow has worked pretty well for the most part,
but was only enabled for the develop branch and only pushed the
buildx-experimental tag. This addition allows pushes to the main branch
to build updates for the "latest" tag as well, which is more commonly
used I think.
2021-08-24 09:38:35 -06:00
Darkempire
4f5ed37c0a Add French translation (#391) 2021-08-24 09:12:34 -06:00
alefvanoon
14a5e63ad9 Remove dead instance, add new public instance (#387)
https://s.alefvanboon.xyz
2021-08-24 09:10:38 -06:00
gripped
8d24f8abdd Fix white background on dropdown for result selectors, time etc (#384) 2021-08-24 09:07:34 -06:00
Laurent le Beau-Martin
1a3790c7b1 Only open external links in a new tab (#380) 2021-08-24 09:06:41 -06:00
සයුරි | Sayuri
8e91564600 Update translations (#373) 2021-07-22 09:13:09 -06:00
KokoTheBest
a69ec74cfd Make replit install all requirements first (#378)
* Make replit install all requirements first

This should install all requirements from requirements.txt. It makes this a one click experience, without the user having to run `pip install -r requirements.txt` and then tap the run button. I myself had to first run that command in my repl, so I have made this change so others don't have to do the same.

repl.it also runs on linux based systems, so `&&` is the correct bash syntax.

* Running in Bash

I applied the same change I made on onBoot to the run variable, and made the language bash as the syntax `./` and `&&` belong to bash.
2021-07-22 09:11:08 -06:00
Ben Busby
694642ccb3 Set bg color for "top stories" elements 2021-07-05 00:18:28 -04:00
Ben Busby
38c38a772f Find valid parent element when collapsing result content
Previously if a result element marked for collapsing didn't have a valid
"parent" element, the collapsing was skipped altogether. This loops
through child elements until a valid parent is found (or if one isn't
found, the element will not be collapsed).
2021-07-04 15:20:19 -04:00
Ben Busby
958faed1b6 Set user ownership of static build dir 2021-07-02 16:21:43 -04:00
Ben Busby
13202cc6b1 Ensure existence of static build dir 2021-07-02 16:21:38 -04:00
Ben Busby
68fdd55482 Use cache busting for css/js files
On app init, short hashes are generated from file checksums to use for
cache busting. These hashes are added into the full file name and used
to symlink to the actual file contents. These symlinks are loaded in the
jinja templates for each page, and can tell the browser to load a new
file if the hash changes.

This is only in place for css and js files, but can be extended in the
future for other file types if needed.
2021-06-30 19:00:01 -04: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
afd01820bb Collapse long result sections into details/summary elements
Sections such as "People also asked" and "related searches" typically
take up a lot of room on the results page, and don't always have the
most useful information. This checks for result elements with more than
7 child divs, extracts the section title, and wraps all elements in a
"details" element that can be expanded/collapsed by the user.

Note that this functionality existed previously (albeit not implemented
as well), but due to changes in how Google returns searches (switching
from using <h2> elements for section headers to <span> or <div>
elements), the approach to collapsing these sections needed to be
updated.
2021-06-23 18:59:57 -04:00
Ben Busby
d894bd347d Handle error when parsing image result url 2021-06-16 10:40:18 -04:00
Ben Busby
b21b4f4f57 Skip parsing user agent if absent from request 2021-06-16 10:37:33 -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
deluxghost
82ccace647 Add zh-CN translation (#355) 2021-06-11 11:33:01 -04:00
Aikatsui
a6b4252210 Add Sinhala translation (#353) 2021-06-11 10:22:25 -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
904091f440 Bump version to 0.5.4 v0.5.4 2021-06-06 13:45:03 -04:00
Ben Busby
44b0fe519c Revert changes to default language config
A recent issue brought up a good point about how the latest changes to
setting default language to english break functionality for bilingual
users. The change was likely not the best solution for users who were
being affected by IP geolocation on their instances -- the right
solution for that would be to configure the interface/search language to
their preference instead.
2021-06-06 13:39:06 -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
a64a86efb6 Bump version to 0.5.3 v0.5.3 2021-06-04 11:31:03 -04:00
Ricardo
9d024cffce Add Portuguese translation (#345)
* Add Portuguese translation

* Update translations.json
2021-06-04 11:16:58 -04:00
Ben Busby
614dceeb70 Add fallback interface/search lang + cleanup
Since the interface language defaults to IP geolocation by google, the
default language is now set to english. Still not sure if this is the
best solution, but at least temporarily should clear up some confusion
for users with instances deployed in countries outside of their own.

Also performed some minor cleanup:
  - Updated name of strip_blocked_sites to clean_query
  - Added clean_query to list of jinja template functions
  - Ensured site block list doesn't contain duplicate filters
2021-06-04 11:09:30 -04:00
bruvv
3892355199 Add Dutch translation (#343) 2021-06-03 09:24:59 -04:00