|luccioman 6d3def5347 Fixed Alpine flavour Docker image build on already existing /opt folder||5 months ago|
|.settings||2 years ago|
|addon||5 months ago|
|bin||7 months ago|
|debian||1 year ago|
|defaults||5 months ago|
|dictionaries||10 years ago|
|docker||5 months ago|
|examples||3 years ago|
|htroot||5 months ago|
|langdetect||4 years ago|
|lib||6 months ago|
|libbuild||1 year ago|
|libt||5 years ago|
|locales||7 months ago|
|skins||4 years ago|
|snap||5 months ago|
|source||5 months ago|
|test||7 months ago|
|vocabularies||7 years ago|
|.checkstyle||10 years ago|
|.classpath||6 months ago|
|.env||3 years ago|
|.gitignore||2 years ago|
|.project||3 years ago|
|.travis.yml||1 year ago|
|AUTHORS||11 years ago|
|CONTRIBUTING.md||11 months ago|
|COPYRIGHT||6 years ago|
|Heroku.md||3 years ago|
|NOTICE||10 years ago|
|Procfile||3 years ago|
|README.md||5 months ago|
|app.json||1 year ago|
|assembly.xml||2 years ago|
|build.nsi||8 months ago|
|build.properties||2 years ago|
|build.xml||6 months ago|
|getWin32MaxHeap.bat||9 years ago|
|gpl.txt||14 years ago|
|installYaCyWindowsService.bat||3 years ago|
|killYACY.sh||4 years ago|
|lgpl21.txt||9 years ago|
|pom.xml||6 months ago|
|reconfigureYACY.sh||4 years ago|
|startYACY.bat||3 years ago|
|startYACY.sh||5 months ago|
|startYACY_debug.bat||3 years ago|
|stopYACY.bat||3 years ago|
|stopYACY.sh||5 months ago|
|uninstallYaCyWindowsService.bat||5 years ago|
|updateYACY.sh||4 years ago|
|yacy-packages.readme||9 years ago|
|yacy.yellow||14 years ago|
YaCy is a search engine software. It takes a new approach to search because it does not use a central server. Instead, its search results come from a network of independent peers. In such a distributed network, no single entity decides what gets listed, or in which order results appear.
The YaCy search engine runs on each user's own computer. Search terms are hashed before they leave the user's computer. Different from conventional search engines, YaCy is designed to protect the users' privacy. A user's computer can create with YaCy its individual search indexes and rankings, so that results better match what the user is looking for over time. YaCy also makes it easy to create a customized search portal with a few clicks.
Each YaCy user is either part of a large search network (YaCy contains a peer-to-peer network protocol to exchange search indexes with other YaCy search engine installations) or the user runs YaCy to produce a personal search portal that can be either public or private.
YaCy search portals can also be placed in intranet environment which makes YaCy a replacement for commercial enterprise search solutions. A network scanner makes it easy to discover all available http, ftp and smb servers.
To create a web index, YaCy has a web crawler for everybody, without censorship and central data retention:
To be able to perform a search using the YaCy network, every user has to set up their own node. More users are leading to higher index capacity and better distributed indexing performance.
YaCy is published under the GPL v2 The source code is inside the release package (see /source and /htroot).
Documentation can be found at:
Every of these locations has a (YaCy) search functionality which combines all these locations into one search result.
You need Java 1.8 or later to run YaCy, nothing else (Java 1.7 can still be used to run the main 1.92/9000 release ) Please download it from https://www.java.com
YaCy also runs on Iced Tea 3. See https://icedtea.classpath.org
NO OTHER SOFTWARE IS REQUIRED! (you don't need apache, tomcat or mysql or whatever)
Startup and Shutdown of YaCy:
on GNU/Linux and OpenBSD:
on Mac OS X: please use the Mac Application and start or stop it like any other Mac Application (double-click to start)
YaCy is a build on a web server. After you started YaCy, start your browser and open
There you can see your personal search and administration interface.
You can do that but YaCy authorizes users automatically if they access the server from the localhost. After about 10 minutes a random password is generated and then it is not possible to log in from a remote location. If you install YaCy on a server that is not your workstation, then you must set an administration account immediately after the first start-up. Open:
and set an administration account.
YaCy runs fine in virtual machines managed by software such as VirtualBox or VMware.
Container technology may be more flexible and lightweight and also works fine with YaCy.
These technologies can either be deployed locally, on remote machines you own, or in the 'cloud'. Decide what fits the most your privacy requirements.
Deploy easily YaCy on a Docker cloud provider of your choice (can be a machine you own) with the deploy button at the top of this page.
More details for YaCy with Docker in docker/Readme.md.
Deploy easily on Heroku PaaS (Platform as a service) provider using the deploy button at the top.
More details for YaCy on Heroku in Heroku.md.
You can forward port 80 to 8090 with iptables:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8090
On some operation systems, you must first enable access to the ports you are using like:
iptables -I INPUT -m tcp -p tcp --dport 8090 -j ACCEPT
YaCy can scale up to many millions of web pages in your own search index. The default assignment of RAM is 600MB which is assigned to the java process but not permanently used by it. The GC process will free the memory once in a while. If you have a small index (i.e. about 100000 pages) then you may assign less memory (i.e. 200MB) but if your index scales up to over 1 million web pages then you should start to increase the memory assignment. Open http://localhost:8090/Performance_p.html and set a higher/lower memory assignment. If you have millions of web pages in your search index then you might have gigabytes of disk space allocated. You can reduce the disk space i.e. setting the htcache space to a different size; to do that open http://localhost:8090/ConfigHTCache_p.html and set a new size.
YaCy was created with the help of many. About 30 programmers have helped, a list of some of them can be seen here: https://yacy.net/en/Join.html Please join us!
The source code is inside every YaCy release. You can also get YaCy from https://github.com/yacy/yacy_search_server by cloning the repository
git clone https://github.com/yacy/yacy_search_server
Please clone our code and help with development! The code is licensed under the GPL v2.
Build with Maven:
There are many interfaces build-in in YaCy and they are all based on http/xml and http/json. You can discover these interfaces if you notice the orange "API" icon in the upper right of some web pages in the YaCy web interface. Just click on it and you will see the xml/json version of the information you just have seen at the web page. A different approach is the usage of the shell script provided in the /bin subdirectory. The shell scripts also call the YaCy web interface. By cloning some of those scripts you can create more shell api access methods easily.
Our primary point of contact was the German forum at http://forum.yacy.net We encourage you to start a YaCy forum in your own language.
If you have any questions, please do not hesitate to contact the maintainer: Send an email to Michael Christen (firstname.lastname@example.org) with a meaningful subject including the word 'yacy' to prevent that your email gets stuck in my anti-spam filter.
If you like to have a customized version for special needs, feel free to ask the author for a business proposal to customize YaCy according to your needs. We also provide integration solutions if the software is about to be integrated into your enterprise application.
Germany, Frankfurt a.M., 26.11.2011 Michael Peter Christen