36 lines
2.6 KiB
Markdown
36 lines
2.6 KiB
Markdown
# Orcinus Site Search
|
||
|
||
[Brian Huisman](https://greywyvern.com)
|
||
|
||
> ℹ️ **NOTE**: This project is not yet officially released and thus probably contains bugs and other nasties. Please use at your own risk! If you do try it out, I would very much appreciate your feedback and issue reports.
|
||
|
||
![banner](https://user-images.githubusercontent.com/137631/233513460-93269bbb-f218-4b00-a7bf-7fc4575d15d4.png)
|
||
|
||
The **Orcinus Site Search** PHP script is an all-in-one website crawler and search engine that extracts searchable content from plain text, XML, HTML and PDF files at a single, or multiple websites. It replaces 3rd party, remote search solutions such as Google etc.
|
||
|
||
**Orcinus** will crawl your website content on a schedule, or at your command via the admin UI or even by CLI/crontab. Crawler log output conveniently informs you of missing pages, links that redirect, and other errors that you, as a webmaster can fix to keep your user experience tight. A full-featured, responsive administration GUI allows you to adjust crawl settings, view and edit all crawled pages, customize search results, and view a log of all searched queries. You also have complete control over the appearance of your search results with a [convenient templating system](https://mustache.github.io/).
|
||
|
||
Optionally, **Orcinus** can generate a [sitemap .xml or .xml.gz](https://www.sitemaps.org) file of your pages after every crawl, suitable for uploading to the [Google Search Console](https://search.google.com/search-console/sitemaps). It can also export a JavaScript version of the entire search engine that works with offline mirrors, such as those generated by [HTTrack](https://www.httrack.com).
|
||
|
||
### Requirements:
|
||
- PHP >= 8.0.x
|
||
- MySQL >= 8.0.17 / MariaDB >= 10.0.5
|
||
|
||
### 3rd Party Libraries:
|
||
Included:
|
||
- [PHPMailer](https://github.com/PHPMailer/PHPMailer)
|
||
- [PDFParser](https://github.com/smalot/pdfparser)
|
||
- [Mustache](https://github.com/bobthecow/mustache.php) / [Mustache.js](https://github.com/janl/mustache.js)
|
||
- [libcurlemu](https://github.com/m1k3lm/libcurlemu)
|
||
|
||
Optional:
|
||
- [Maxmind GeoIP2](https://github.com/maxmind/GeoIP2-php)
|
||
|
||
## Getting Started
|
||
1. Copy the `orcinus` directory to your root web directory.
|
||
2. Fill out your SQL and desired credential details in the `orcinus/config.ini.php` file.
|
||
3. Visit `yourdomain.com/orcinus/admin.php` in your favourite web browser and log in.
|
||
4. Optionally follow the instructions in `orcinus/geoip2/README.md` to enable geolocation of search queries.
|
||
|
||
Examples of search interface integration are given in the `example.php` (online / PHP) and `example.html` (offline / JavaScript) files.
|