YGGo/README.md

69 lines
3.1 KiB
Markdown
Raw Normal View History

2023-04-01 16:40:37 +00:00
### YGGo! - Open Source Web Search Engine
2023-04-05 14:54:46 +00:00
Written by inspiration to explore [Yggdrasil](https://yggdrasil-network.github.io) ecosystem, because of last [YaCy](https://yacy.net/) node there was discontinued.
2023-04-02 17:50:30 +00:00
This engine also could be useful for crawling regular websites, small business resources, local networks.
2023-04-01 16:40:37 +00:00
2023-04-02 17:50:30 +00:00
The project goal - simple interface, clear architecture and lightweight server requirement.
2023-04-01 16:40:37 +00:00
2023-04-01 16:55:41 +00:00
#### Online examples
2023-04-03 22:46:06 +00:00
* [http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggo](http://[201:23b4:991a:634d:8359:4521:5576:15b7]/yggo)
* [http://94.140.114.241/yggo/](http://94.140.114.241/yggo)
2023-04-01 18:43:43 +00:00
2023-04-03 22:44:37 +00:00
#### Screenshots
2023-04-01 18:43:43 +00:00
2023-04-03 14:56:51 +00:00
![Search page](https://github.com/YGGverse/YGGo/blob/main/media/search.png?raw=true)
2023-04-01 18:43:43 +00:00
2023-04-03 14:56:51 +00:00
https://github.com/YGGverse/YGGo/tree/main/media
2023-04-01 16:40:37 +00:00
2023-04-02 19:11:40 +00:00
#### License
2023-04-03 22:46:06 +00:00
* Engine sources [MIT License](https://github.com/YGGverse/YGGo/blob/main/LICENSE)
* Home page animation by [alvarotrigo](https://codepen.io/alvarotrigo/pen/GRvYNax)
2023-04-02 19:11:40 +00:00
2023-04-01 16:40:37 +00:00
#### Requirements
```
2023-04-02 19:43:05 +00:00
php8^
php-dom
2023-04-01 16:40:37 +00:00
php-pdo
2023-04-02 19:43:38 +00:00
php-curl
2023-04-02 22:59:34 +00:00
php-gd
2023-04-01 16:40:37 +00:00
sqlite / fts5
```
2023-04-03 14:56:51 +00:00
#### Installation
2023-04-01 18:01:55 +00:00
2023-04-03 14:56:51 +00:00
* The webroot dir is `/public`
2023-04-01 18:15:09 +00:00
* Single configuration file placed here `/config/app.php.txt` and need to be configured and renamed to `/config/app.php`
2023-04-02 15:27:51 +00:00
* By the idea, script automaticaly generates database structure in `/storage` folder (where could be nice to collect other variative and tmp data - like logs, etc). Make sure storage folder writable.
2023-04-01 18:16:05 +00:00
* Set up the `/crontab/crawler.php` script for execution every the minute, but it mostly related of the configs and targetal network volume, there is no debug implemented yet, so let's silentize it by `/dev/null`
2023-04-01 18:15:09 +00:00
* Script has no MVC model, because of super simple. It's is just 2 files, and everything else stored incapsulated in `/library` classes.
2023-04-01 18:01:55 +00:00
2023-04-02 19:43:05 +00:00
#### Roadmap / ideas
2023-04-01 16:40:37 +00:00
2023-04-03 14:56:51 +00:00
* [x] Web pages full text ranking search
2023-04-02 20:37:09 +00:00
* [x] Make search results pagination
2023-04-05 13:11:03 +00:00
* [ ] Blacklist domains (useful for some mirrors)
2023-04-03 22:43:15 +00:00
* [ ] Add robots.txt support (Issue #2)
2023-04-01 18:16:50 +00:00
* [ ] Improve yggdrasil links detection, add .ygg domain zone support
2023-04-01 18:38:30 +00:00
* [ ] Make page description visible - based on the cached content dump, when website description tag not available, add condition highlights
2023-04-01 16:55:41 +00:00
* [ ] Images search (basically implemented but requires testing and some performance optimization)
2023-04-02 14:04:11 +00:00
* [ ] Deprecated pages index cleaner (404 http codes etc)
2023-04-02 16:34:20 +00:00
* [ ] Crawl queue balancer, that depends from CPU available
* [ ] Implement smart queue algorithm that indexing new sites homepage in higher priority
2023-04-02 16:37:33 +00:00
* [ ] Implement database autobackup on crawl process completting
2023-04-02 19:39:23 +00:00
* [ ] Add transactions to prevent data loss on DB crashes
2023-04-01 16:55:41 +00:00
* [ ] Distributed index data sharing between the nodes trough service API
2023-04-02 22:41:13 +00:00
* [x] An idea to make unique gravatars for sites without favicons, because simpler to ident, comparing to ipv6
2023-04-01 18:26:25 +00:00
* [ ] An idea to make some visitors counters, like in good old times?
2023-04-01 18:31:51 +00:00
2023-04-03 14:56:51 +00:00
#### Donate to contributors
2023-04-02 19:31:49 +00:00
2023-04-02 23:00:49 +00:00
@d47081: [BTC](https://www.blockchain.com/explorer/addresses/btc/bc1qngdf2kwty6djjqpk0ynkpq9wmlrmtm7e0c534y) | [DOGE](https://dogechain.info/address/D5Sez493ibLqTpyB3xwQUspZvJ1cxEdRNQ)
2023-04-02 19:31:49 +00:00
2023-04-03 14:56:51 +00:00
#### Feedback
2023-04-01 18:31:51 +00:00
2023-04-03 14:56:51 +00:00
Please, feel free to share your ideas and bug reports [here](https://github.com/YGGverse/YGGo/issues) or use sources for your own implementations.
2023-04-01 18:31:51 +00:00
Have a good time.