SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
Go to file
Adam Tauber 285f991cd0 Merge pull request #182 from dalf/enh-proxy
[enh] image-proxy : handle ETag and date related headers, add hash to URL
2015-01-18 10:39:13 +01:00
examples [enh] paging added to example engine 2014-01-29 21:16:55 +01:00
searx Proxify most of images references 2015-01-18 09:54:24 +01:00
utils Don't create fuzzy translation 2015-01-05 20:55:56 +01:00
.coveragerc Cover searx.utils 2014-07-12 15:46:55 +02:00
.gitignore [enh][oscar_template] split js-files and compile them together 2014-11-30 13:21:58 +01:00
.landscape.yaml Add landscape.io configuration 2014-07-09 22:49:38 +02:00
.travis.yml [fix] static file paths 2015-01-01 17:54:33 +01:00
AUTHORS.rst [doc] @opi added to authors 2015-01-02 12:49:17 +01:00
CHANGELOG.rst [doc] release date ++ formatting 2015-01-02 12:01:56 +01:00
LICENSE [enh] license informations 2013-10-15 00:33:18 +02:00
Makefile Modify courgette theme and less it. 2015-01-16 00:55:28 +01:00
README.rst [doc] todo updates 2015-01-02 12:39:31 +01:00
babel.cfg [enh] babel.cfg added 2014-01-22 00:15:42 +01:00
base.cfg tests and robot tests framework, build overhaul 2014-01-14 23:31:15 +01:00
bootstrap.py tests and robot tests framework, build overhaul 2014-01-14 23:31:15 +01:00
buildout.cfg fix: robot fw, entry points, some flake8, package searx egg 2014-01-20 01:06:29 +01:00
minimal.cfg fix: robot fw, entry points, some flake8, package searx egg 2014-01-20 01:06:29 +01:00
production.cfg fix: robot fw, entry points, some flake8, package searx egg 2014-01-20 01:06:29 +01:00
requirements.txt [enh] add result_templates/code.html 2014-12-20 23:33:03 +01:00
setup.py Copy all the folders of 'static' 2015-01-17 20:16:34 +01:00
tox.ini [enh] tox.ini added to rewrite standard pep8 rules 2015-01-02 12:26:21 +01:00
versions.cfg [enh] add result_templates/code.html 2014-12-20 23:33:03 +01:00

README.rst

searx

A privacy-respecting, hackable metasearch engine.

List of running instances.

See the wiki for more information.

Flattr searx

Features

  • Tracking free
  • Supports multiple output formats
    • json curl https://searx.me/?format=json&q=[query]
    • csv curl https://searx.me/?format=csv&q=[query]
    • opensearch/rss curl https://searx.me/?format=rss&q=[query]
  • Opensearch support (you can set as default search engine)
  • Configurable search engines/categories
  • Different search languages
  • Duckduckgo like !bang functionality with engine shortcuts
  • Parallel queries - relatively fast

Installation

  • clone source: git clone git@github.com:asciimoo/searx.git && cd searx
  • install dependencies: pip install -r requirements.txt
  • edit your settings.yml (set your secret_key!)
  • run python searx/webapp.py to start the application

For all the details, follow this step by step installation

  • clone source: git clone git@github.com:asciimoo/searx.git && cd searx
  • build in current folder: make minimal
  • run bin/searx-run to start the application

Development

Just run make. Versions of dependencies are pinned down inside versions.cfg to produce most stable build. Also remember, NO make command should be run as root, not even make production

Deployment

  • clone source: git clone git@github.com:asciimoo/searx.git && cd searx
  • build in current folder: make production
  • run bin/supervisord to start the application

Upgrading

  • inside previously cloned searx directory run: git stash to temporarily save any changes you have made
  • pull source: git pull origin master
  • re-build in current folder: make production
  • run bin/supervisorctl stop searx to stop searx, if it does not, then run fuser -k 8888/tcp
  • run bin/supervisorctl reload to re-read supervisor config and start searx

Command make

make

Builds development environment with testing support.

make tests

Runs tests. You can write tests here and remember 'untested code is broken code'.

make robot

Runs robot (Selenium) tests, you must have firefox installed because this functional tests actually run the browser and perform operations on it. Also searx is executed with settings_robot.

make flake8

'pep8 is a tool to check your Python code against some of the style conventions in PEP 8.'

make coverage

Checks coverage of tests, after running this, execute this: firefox ./coverage/index.html

make production

Used to make co-called production environment - without tests (you should ran tests before deploying searx on the server). This installs supervisord, so if searx crashes, it will try to pick itself up again. And crontab entry is added to start supervisord at server boot.

make minimal

Minimal build - without test frameworks, the quickest build option.

make clean

Deletes several folders and files (see Makefile for more), so that next time you run any other make command it will rebuild everithing.

TODO

  • Moar engines
  • Better ui
  • Browser integration
  • Documentation
  • Tests

Bugs

Bugs or suggestions? Visit the issue tracker.

License

More about searx