PageRenderTime 1530ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/README.rst

https://gitlab.com/lanodan/searx
ReStructuredText | 158 lines | 115 code | 43 blank | 0 comment | 0 complexity | 920a8022037ccc1cace34ed123aee113 MD5 | raw file
  1. searx
  2. =====
  3. A privacy-respecting, hackable `metasearch
  4. engine <https://en.wikipedia.org/wiki/Metasearch_engine>`__.
  5. List of `running
  6. instances <https://github.com/asciimoo/searx/wiki/Searx-instances>`__.
  7. See the `wiki <https://github.com/asciimoo/searx/wiki>`__ for more information.
  8. |Flattr searx|
  9. Features
  10. ~~~~~~~~
  11. - Tracking free
  12. - Supports multiple output formats
  13. - json ``curl https://searx.me/?format=json&q=[query]``
  14. - csv ``curl https://searx.me/?format=csv&q=[query]``
  15. - opensearch/rss ``curl https://searx.me/?format=rss&q=[query]``
  16. - Opensearch support (you can set as default search engine)
  17. - Configurable search engines/categories
  18. - Different search languages
  19. - Duckduckgo like !bang functionality with engine shortcuts
  20. - Parallel queries - relatively fast
  21. Installation
  22. ~~~~~~~~~~~~
  23. - clone source:
  24. ``git clone git@github.com:asciimoo/searx.git && cd searx``
  25. - install dependencies: ``pip install -r requirements.txt``
  26. - edit your
  27. `settings.yml <https://github.com/asciimoo/searx/blob/master/settings.yml>`__
  28. (set your ``secret_key``!)
  29. - run ``python searx/webapp.py`` to start the application
  30. For all the details, follow this `step by step
  31. installation <https://github.com/asciimoo/searx/wiki/Installation>`__
  32. Alternative (Recommended) Installation
  33. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  34. - clone source:
  35. ``git clone git@github.com:asciimoo/searx.git && cd searx``
  36. - build in current folder: ``make minimal``
  37. - run ``bin/searx-run`` to start the application
  38. Development
  39. ~~~~~~~~~~~
  40. Just run ``make``. Versions of dependencies are pinned down inside
  41. ``versions.cfg`` to produce most stable build. Also remember, NO make
  42. command should be run as root, not even ``make production``
  43. Deployment
  44. ~~~~~~~~~~
  45. - clone source:
  46. ``git clone git@github.com:asciimoo/searx.git && cd searx``
  47. - build in current folder: ``make production``
  48. - run ``bin/supervisord`` to start the application
  49. Upgrading
  50. ~~~~~~~~~
  51. - inside previously cloned searx directory run: ``git stash`` to
  52. temporarily save any changes you have made
  53. - pull source: ``git pull origin master``
  54. - re-build in current folder: ``make production``
  55. - run ``bin/supervisorctl stop searx`` to stop searx, if it does not,
  56. then run ``fuser -k 8888/tcp``
  57. - run ``bin/supervisorctl reload`` to re-read supervisor config and
  58. start searx
  59. Command make
  60. ~~~~~~~~~~~~
  61. ``make``
  62. ''''''''
  63. Builds development environment with testing support.
  64. ``make tests``
  65. ''''''''''''''
  66. Runs tests. You can write tests
  67. `here <https://github.com/asciimoo/searx/tree/master/searx/tests>`__ and
  68. remember 'untested code is broken code'.
  69. ``make robot``
  70. ''''''''''''''
  71. Runs robot (Selenium) tests, you must have ``firefox`` installed because
  72. this functional tests actually run the browser and perform operations on
  73. it. Also searx is executed with
  74. `settings\_robot <https://github.com/asciimoo/searx/blob/master/searx/settings_robot.py>`__.
  75. ``make flake8``
  76. '''''''''''''''
  77. 'pep8 is a tool to check your Python code against some of the style
  78. conventions in `PEP 8 <http://www.python.org/dev/peps/pep-0008/>`__.'
  79. ``make coverage``
  80. '''''''''''''''''
  81. Checks coverage of tests, after running this, execute this:
  82. ``firefox ./coverage/index.html``
  83. ``make production``
  84. '''''''''''''''''''
  85. Used to make co-called production environment - without tests (you
  86. should ran tests before deploying searx on the server). This installs
  87. supervisord, so if searx crashes, it will try to pick itself up again.
  88. And crontab entry is added to start supervisord at server boot.
  89. ``make minimal``
  90. ''''''''''''''''
  91. Minimal build - without test frameworks, the quickest build option.
  92. ``make clean``
  93. ''''''''''''''
  94. Deletes several folders and files (see ``Makefile`` for more), so that
  95. next time you run any other ``make`` command it will rebuild everithing.
  96. TODO
  97. ~~~~
  98. - Moar engines
  99. - Better ui
  100. - Browser integration
  101. - Documentation
  102. - Tests
  103. Bugs
  104. ~~~~
  105. Bugs or suggestions? Visit the `issue
  106. tracker <https://github.com/asciimoo/searx/issues>`__.
  107. `License <https://github.com/asciimoo/searx/blob/master/LICENSE>`__
  108. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  109. More about searx
  110. ~~~~~~~~~~~~~~~~
  111. - `ohloh <https://www.ohloh.net/p/searx/>`__
  112. - `twitter <https://twitter.com/Searx_engine>`__
  113. - IRC: #searx @ freenode
  114. .. |Flattr searx| image:: http://api.flattr.com/button/flattr-badge-large.png
  115. :target: https://flattr.com/submit/auto?user_id=asciimoo&url=https://github.com/asciimoo/searx&title=searx&language=&tags=github&category=software