# YaCy Network Unit Definition # ---------------------------- # There is not only a single global YaCy network, but there can be also separated networks # This file describes the properties of the network, how it is bootstraped, if it is moderated # and so on. It is also possible to describe authentification methods for in-protocol communication # To distinguish between index areas where the shared web index is for a intranet or the public internet, # we distinguish local and global networks. Each network type can have different user groups. # Groups can be uncontrolled, moderated or controlled. The whole network may also have a global master. # This file is adressed by the network.unit.definition property in defaults/yacy.init. If necessary this # property can also address a URL where a network definition file can be hosted, so that a network # can easily be moderated from a single central. In case of the public network of all independent peers # for global indexing, the network definition is attached to the release and defines no network master or # any other supervision. # peer-to-peer construction using the bootstrap properties: # 1st: a file within every distribution that has a list of URLs, # or a location with a file containing a list of URLs: # -> these are the superseed files (there are only two of these files) # 2nd: the files that can be retrieved by the superseeds' URLs # are called seed list-files. (there can be many of those) # -> the seed list-files contain b.o. IP/port combinations of running YaCy peers # -> seed-list files are written by principal peers # Control Modes for Peer Groups: # we have three different types of moderation: # uncontrolled: only the peer's administrator may use protected pages of the YaCy interface # moderated : the unit/group moderator may access some protected pages i.e. Crawl Start # controlled : the unit/group moderator may access all pages of the peers within the same unit/group # Defintion of property domains: # network.unit.name = # network.unit.description = # network.unit.domain = 'global'|'local'|'any' # network.unit.domainlist = # network.unit.dhtredundancy = # network.unit.dht.partitionExponent = # network.unit.bootstrap.seedlist = # network.unit.protocol.control = 'uncontrolled'|'moderated'|'controlled' # network.unit.protocol.request.authentication.method = 'salted-magic' # network.unit.protocol.request.authentication.essentials = # network.unit.protocol.response.authentication.method = 'challenge-pwresponse' # network.unit.protocol.response.authentication.essentials = ':' # network.unit.administration.control = 'uncontrolled'|'moderated'|'controlled' # network.unit.administration.manager = # network.unit.administration.request.authentication.method = 'salted-magic' # network.unit.administration.request.authentication.essentials = # two lists of wildcards may be used to control the limited or unlimited access to the # peers and search functionality. By default, all clients from any IP may access the peers # and use a limited amount of search requests. The number of requests is limited to apply a # DoS functionality. The DoS check may be removed for a given number of IPs (separated by comma) # or a number of IP patterns (patterns as defined by match operator in java); this IP-pattern list # can be configured in the whitelist. # In contrast also a list of IPs may be given to be not allowed to access the peers at all # The YaCy-httpd will not respond on any request from IPs given in the blacklist # Entries in whitelist take precedence over blacklist entries # 1. whitelist is checked if match - access is allowed # 2. blacklist is checked if match - access is denied # By default both lists should be empty to provide a basic search functionality for everyone. # When running a private YaCy network, all peers that are in the own network should be configured # in the whitelist. Otherwise the access from whitelisted clients is allowed, but the executing # search requests in the private network for a single request from outside is also blocked. # Put simply all IPs from you peers in the whitelist. # network.unit.access.whitelist = # network.unit.access.blacklist =