Added enter key submit on results page
Added results type carryover for subsequent searches on results page
Removed redundant header on image search results
Basic autocomplete/search suggestion functionality added
* Adds new GET and POST routes for '/autocomplete' that accept a string query and returns an array of suggestions
* Adds new autoscript.js file for handling queries on the main page and results view
* Updated requests class to include autocomplete method
* Updated opensearch template to handle search suggestions
* Added header template to allow for autocomplete on results view
* Updated readme to mention autocomplete feature
* Added country and safe search config options
* Updated handling of parser error in results test
* Improved handling of default country
* Added 1px empty gif fallback as a replacement for images that fail to load
* Putting '! ' at the beginning of the query now redirects to the first search result
Signed-off-by: Paul Rothrock <paul@movetoiceland.com>
* Moved get_first_url outside of filter class
Signed-off-by: Paul Rothrock <paul@movetoiceland.com>
See https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections
301 redirections do not keep the request method intact, and can occasionally be changed from POST to GET
308 redirections always keep the request method, which is necessary for all POST search requests
Executable renamed to "run" to avoid confusion with pip installed script
Updated heroku deploy button to use the heroku-app branch, which by
default enforces HTTPS
Added instructions for enforcing HTTPS on various deployment options,
with note about how this isn't a required task.
Updated setup.py description to use improved app description
* Adding HTTPS enforcement
Command line runs of Whoogle Search through pip/pipx/etc will need the
`--https-only` flag appended to the run command.
Docker runs require the `use_https` build arg applied.
* Update README.md
Moved https-only note to top of docker run command, updated pip runner help output
* Dockerfile: removed HTTPS enforcement, updated PORT setting
Dockerfile no longer enforces an HTTPS connection, but still allows for
setting via a build arg. The Flask server port is now configurable as a
build arg as well, by setting a port number to "whoogle_port"
* Fixed incorrect port assignment
* Use slim version of docker container
This massively reduces the size of the final container (330mb -> 60mb)
* Install libcurl and libssl explicitly in container
They appear to be missing from `-slim` variant containers
Co-authored-by: Ben Busby <benbusby@pm.me>
Co-authored-by: Ben Busby <benbusby@pm.me>
This addresses #18, which brought up the issue of searching with Whoogle
with the search instance set to always use a specific container in
Firefox Container Tabs.
Could also be useful if you want to share your search results or
something, I guess. Though nobody likes when people do that.