README.md (4034B)
1 # serĉi
2
3 Search the web with `!keywords`.
4
5 Please send patches or remarks to
6 [jayvii+serci[AT]posteo[DOT]de](mailto:jayvii+serci[AT]posteo[DOT]de).
7
8 ## FAQs
9
10 ### What does serĉi mean?
11
12 It is the Esperanto term for ["to search"](https://eneo.dict.cc/?s=ser%C4%89i).
13
14 ### What are `!keywords`?
15
16 An idea lent from the search Engine [DuckDuckGo](https://duckduckgo.com/bangs),
17 which has been utilized by many others since. They call their keywords *bangs*,
18 but it is the same concept and usability:
19
20 > bangs are shortcuts that quickly take you to search results on other sites.
21 > For example, when you know you want to search on another site like Wikipedia
22 > or Amazon, our bangs get you there fastest. A search for !w filter bubble will
23 > take you directly to Wikipedia.
24 >
25 > Remember, though, because your search is actually taking place on that other
26 > site, you are subject to that site’s policies, including its data collection
27 > practices.
28 >
29 > We’ve had bangs since 2008 as part of our geek roots. Now we have thousands of
30 > !bangs and you can even submit your own.
31
32 serĉi implements keywords for all kinds of search engine and transparently
33 redirects you right to them. The default set of search engine and fall-backs
34 is geared towards privacy and data minimalism. However, you can simply host
35 serĉi yourself any time and configure your own favorite search engines and
36 `!keywords`.
37
38 If you think there are `!keywords` that other people would benefit from, feel free
39 to contribute!
40
41 ### How can I use serĉi?
42
43 - You can try serĉi on [search.jayvii.de](https://search.jayvii.de). Or
44 host it yourself! It barely needs any server resources, no database or lots
45 of RAM. serĉi has minimal footprint (also on user data: there are NONE).
46 - Either type your search directly into the search bar of the serĉi
47 webfrontend or add the search to your browser by rightclicking in the
48 URL-bar and choosing `add serĉi - Search with !keywords`.
49 - Some browsers (for example Firefox on Android / Fennec) allow to configure
50 custom search engines via search URL. Simply list
51 `https://search.jayvii.de/?query=%s` (or whatever serĉi host you want to
52 use).
53 - Please do not abuse my open search site search.jayvii.de and try to host
54 serĉi yourself, if you can. There is no guarantee, my site is always
55 online or will be continued indefinitely.
56
57 ## Hosting
58
59 Simply upload the entire content of this repository to your webhost. Edit
60 `opensearch.xml` accordingly. If the domain you want to run serĉi under is
61 `search.example.com`, you can simply run:
62
63 ```bash
64 sed -e 's/%%URL%%/http:\/\/search.example.com/g' -i opensearch.xml
65 ```
66
67 Search-Engines and `!keywords` are configured in `config/config.php`. For fast
68 access to `!keywords` and categories, seriĉi uses mappings written to `json`
69 files. Before first run, you need to generate them from your config via
70 `lib/generate_mappings.php`. This needs to be re-run everytime you adjust your
71 `config/config.php`.
72
73 ```bash
74 php lib/generate_mappings.php
75 ```
76
77 Speed-Deployment:
78 ```bash
79 DOMAIN="search.example.com"
80 mkdir -p /var/www/serci && \
81 cd /var/www/serci && \
82 wget https://src.jayvii.de/pub/serci/exports/main.tar.gz -O - | \
83 tar xfvz - && \
84 sed -e "s/%%URL%%/https:\/\/${DOMAIN}/g" -i opensearch.xml && \
85 php lib/generate_mappings.php
86 ```
87
88 Example-configuration for Apache2:
89
90 ```apache
91 <VirtualHost *:80>
92 # server name and directory
93 ServerAdmin webmaster[AT]example[DOT]com
94 ServerName search.example.com
95 DocumentRoot /var/www/serci
96
97 # log- and error files
98 ErrorLog ${APACHE_LOG_DIR}/search.example.com_error.log
99 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" custom
100 CustomLog ${APACHE_LOG_DIR}/search.example.com.log custom
101
102 # do not allow file browsing
103 Options -Indexes
104
105 </VirtualHost>
106 ```
107
108 ## License
109
110 serĉi is under the AGPL-3.0 license. It is [REUSE](https://reuse.software)
111 compliant!
112
113 Icons are licensed under CC-BY-SA-4.0.
114
115 Other bundled assets are:
116
117 - [simple.css](https://simplecss.org/): MIT License (c) Kev Quirk