Commit Graph

780 Commits (b97f3dd4c063d5bc35fcdc8fde299c721ec56594)
 

Author SHA1 Message Date
Felix 958f74e1f5
Fix deadlinks and markdown [skip ci] (#1009) 1 year ago
Ben Busby 08732fac9e
Fix link typo in readme [skip ci] 1 year ago
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
1 year ago
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
1 year ago
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>
1 year ago
Ben Busby 17dd1f1df1
Add public instance [skip ci]
https://whoogle.link

Closes #1001
1 year ago
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
1 year ago
Abhishek M J 349b87ec18
Fix unsupported_g_pages in result list (#996)
Closes #995
1 year ago
Ben Busby 1eb8e04ed1
Add public instance to README [skip ci]
https://search.rubberverse.xyz
1 year ago
No-Logs.com 74a5e24901
Add public instance to readme [skip ci] (#994)
https://whoogle.no-logs.com
1 year ago
João bf6c2505b1
Update handling of custom css (#965)
"Default" css is no longer required to be part of the request
when updating styles.

Closes #934
1 year ago
Ben Busby 9d9022ed99
Bump version to 0.8.2 1 year ago
Ben Busby 25e7134bef
Remove public instance [skip ci]
- whoogle.rhyshl.live

Closes #977
1 year ago
Ben Busby 5ae9160d38
Move replit startup commands to their own script
The .replit file gets autofilled with a ton of garbage when Whoogle is
imported, including a required "entrypoint" field that defaults to
"main.py" (even though the run and onBoot fields were already included
and should negate the need to specify an entrypoint, but whatever).
I'm not going to restructure Whoogle to fit what Replit wants, so I've
moved the startup commands to their own script (misc/replit.py) and
updated the "entrypoint" field in .replit.
1 year ago
Ben Busby 076948dd0e
Convert replit run + onBoot commands to arrays
Apparently Replit requires these values to be arrays now instead of
strings.
1 year ago
Ben Busby b39ba0533a
Suppress spurious warnings from bs4
More MarkupResemblesLocatorWarning warnings have been appearing. This
seems to be caused by parsing HTML content that contains a URL.

This new change suppresses the warning at the root level of the app
before any content has been parsed, so this error shouldn't appear
again.

Fixes #968
1 year ago
PrivacyDevel 229c9388cf
Update public instance server location [skip ci] (#972) 1 year ago
xatier f970b62f12
Update zh-tw translation (#973)
* Add translation for new strings from 7041b43db9
  Use same terms as Google's zh-tw interface.
* Fix missing period
* Sync string order with en (easier for future updates)
1 year ago
xatier 31feb7228f
Update README [skip ci] (#971)
* add `WHOOGLE_CONFIG_BLOCK_TITLE` and `WHOOGLE_CONFIG_BLOCK_URL`

* this feature was originally added in 284a8102c8
  but remained undocumented.

Ref: conversations in https://github.com/benbusby/whoogle-search/pull/969
1 year ago
xatier b1e468ff01
Fix bug in title/url blocking regex (#969)
Fix the exception `AttributeError: 'Filter' object has no attribute 'block_url'`
introduced in this commit [1].

`self.block_title` and `self.block_url` were members of the Filter
object[2], but not anymore after commit [1].

This bug can be reproduced with setting WHOOGLE_CONFIG_BLOCK_URL to a
non-empty string.

[1] 10a15e06e1
[2] 284a8102c8
1 year ago
Ben Busby 8c426ab180
Suppress invalid warning from bs4, add 404 handler
An invalid parsing warning was being thrown by the latest version of the
bs4 library. This suppresses that warning from being shown in the
console.

A 404 handler was added to move logging from the console to the error
template, since a lot of users assumed that 404 errors from the result
page were problems with Whoogle itself.

Fixes #967
1 year ago
Ben Busby f7c4381ba6
Remove `preferences` arg from opensearch template
When a browser adds a search engine using the opensearch template, it
does not have the correct context necessary to autofill the
`preferences` arg with the user's session prefs. As a result, queries
made using the browser bar will have the instance's default preferences
filled into the template.

Removing this shouldn't have any side effects, since queries made on the
same machine will have the correct session associated with the user.

Fixes #929
1 year ago
João baa8bd0eb4
Add auth to cookie (#964)
When authenticated, the cookie set will allow the user to stay connected even
if the browser is restarted.

Fixes #951
1 year ago
Ben Busby 1759c119a8
Replace Python 3.10 `match` with if/else
Some distributions require manually installing Python 3.10, which makes
it less convenient than just using whatever version of Python3.X the
package manager supports. Since the only 3.10 feature being used was
"match", and it was a very small change, it's been replaced with an
if/else statement to ensure compatibility with older versions of Python
3.
1 year ago
Ben Busby 74f7975e62
Split crypto + pyopenssl reqs for armv7 builds
Since including rust in the builder stage of the image didn't address
the issues with building the cryptography library on armv7, that
architecture will just use the last supported version of the affected
libraries. May want to revisit this later.
1 year ago
Ben Busby 0c65eb9616
[Docker] Include cargo in builder stage
Cryptography package also requires cargo to be present (in addition
to rust) when building.
1 year ago
Ben Busby 3f827bbf19
[Docker] Include rust in builder stage
The python cryptography library isn't able to be built without the rust
compiler for some stages the cross-platform buildx workflow. This hasn't
been the case in the past, but for some reason since upgrading to the
latest cryptography version there are now errors with installing that
package. Since dependencies in the builder stage are not included in the
final build, we can safely include rust as a fallback to ensure this
doesn't happen without bloating the size of the final build.
1 year ago
Ben Busby fb8a2ea325
Include prefs arg in footer navigation
Navigating between pages of results now includes the user's preferences
string, which allows them to retain their config for a particular
instance between result pages.

Fixes #960
1 year ago
Ben Busby 6b56dab4c1
Remove ig->bibliogram redirects
Bibliogram has been discontinued, and the remaining instances aren't
very reliable. As a result, all instagram redirects have been removed.

Fixes #955
1 year ago
elliot 7ca69e752d
Add calculator widget (#956)
This adds a simple calculator widget, somewhat similar to the one presented
when searching calculator on Google.

Also, it adds somewhat of a template for making the addition of new widgets
easier via the app/utils/widgets.py file. My eventual plan is to use this to
create more widgets that appear in Google, such as a color picker, timer, etc.

---------

Co-authored-by: Ben Busby <contact@benbusby.com>
1 year ago
dependabot[bot] da53db2a81
Upgrade dependencies (#959)
* Bump werkzeug from 0.16.0 to 2.2.3

Bumps [werkzeug](https://github.com/pallets/werkzeug) from 0.16.0 to 2.2.3.
- [Release notes](https://github.com/pallets/werkzeug/releases)
- [Changelog](https://github.com/pallets/werkzeug/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/werkzeug/compare/0.16.0...2.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>

* Fix dependency issue

* Upgrade all dependencies to latest version

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ben Busby <contact@benbusby.com>
1 year ago
dependabot[bot] c4c32a4bcc
Bump cryptography from 3.3.2 to 39.0.1 (#952)
Bumps [cryptography](https://github.com/pyca/cryptography) from 3.3.2 to 39.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/3.3.2...39.0.1)

---
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>
1 year ago
Ben Busby 991fe6d910
Exclude subdomain in Medium->Scribe redirects
Medium redirects needed further cleanup to account for instances where a
link contains a subdomain that would not make sense in a Farside
redirect link.

Fixes #947
1 year ago
Ben Busby fab65d720d
Update public instance info [skip ci]
Closes #948
1 year ago
Ben Busby df760ffbae
Add public instance [skip ci]
Closes #933
1 year ago
test2user-aqil 09db4ff730
Add Azerbaijani translation (#944)
* Add Azerbaijani translation

Co-authored-by: Ben Busby <contact@benbusby.com>
1 year ago
Ahmad Alkadri 16794df68d
Add Indonesian translation (#940) 1 year ago
George T 94b208dd3f
Update greek translations (#943)
Add Hellenic Language

Co-authored-by: Ben Busby <contact@benbusby.com>
1 year ago
Ben Busby 12ce174b9a
Include url prefix for reverse proxied instances
The url prefix was not included when reconstructing the root url using
X-Forwarded-* headers, causing some elements to fail to load properly.

Fixes #937
1 year ago
Ben Busby e318594d9b
Add public instance [skip ci]
Closes #935
1 year ago
satoru 026714bb84
Update fly.io instructions in readme [skip ci] (#936)
Add instruction on fixing the fly.toml before deploying
1 year ago
Ahmad Alkadri e5a5aad997
Always bold `CN`/`JA`/`KO` search terms (#928)
Add a function to check if target_word contains CJK characters

If a search term contains Chinese, Japanese, or Korean characters,
the term is bolded in search results regardless of whitespace.

CJK characters: Chinese, Japanese (hiragana, katakana, kanji), 
and Korean (hangul syllables, hangul jamo)

Co-authored-by: Ben Busby <contact@benbusby.com>
1 year ago
Dominick Peluso ccf9f06f2f
Add 2 new public instances [skip ci] (#927)
https://whoogle2.ungovernable.men
https://whoogle3.ungovernable.men
1 year ago
Ben Busby 6955ec6161
Update README.md
- Move dependencies to manual install section
- Add separators between different deployment options
- Add Koyeb deployment instructions

Closes #844
1 year ago
Ben Busby fdc63b862e
Autoload `whoogle.env` if it exists
The whoogle.env file previously needed to be created and enabled using
the WHOOGLE_DOTENV var. This removes the second step and loads the env
file if it's found during app init.

The Dockerfile has also been updated to copy in whoogle.env if it
exists.

Fixes #909
1 year ago
Ben Busby aa54491ae0
Log rate-limiting errors
Rate limiting is now reported to the console as an error message.

Fixes #914
1 year ago
Charles Zawacki cec10e81d3
Don't prepend to services that have schemes with '//' (#925) 1 year ago
Ben Busby 2827a4ef47
Update whoogle.lunar.icu instance details [skip ci] 1 year ago
Charles Zawacki a760476d1b
Omit 'mobile.' and 'm.' in site alt replacements (#922)
Resolves #921
1 year ago
Dominick Peluso 4f77f3680d
Add whoogle.ungovernable.men instance [skip ci] (#919) 1 year ago