yacy / yacy_search_server

Distributed Peer-to-Peer Web Search Engine and Intranet Search Appliance
http://yacy.net
Other
3.41k stars 428 forks source link

A website for public instances #326

Closed ghost closed 11 months ago

ghost commented 4 years ago

Hi,

I want to run a public instance of YaCy this year, but want to see how other public instances are doing. Unfortunately, there doesn't seem to be a list / website / webpage listing all the public instances like peertube or fediverse.network does.

I wouldn't mind starting such a website myself, but is there an API one can access to build the list dynamically or to get health stats from the instance?

Cheers

ipforums commented 4 years ago

Once you install YACY and run a node, you should see IPs of all participants. Simply append port 8090 or 8443 to each of the IPs and you'll gain access to their instance. Assuming they haven't locked it down that is...

ghost commented 4 years ago

I'll need a way to programmatically build a list of public instances. Is there an API (local or not) that I can use e.g http://localhost:8090/network.json or even dbus or something?

marcnause commented 4 years ago

Replacing the .html with .xml for the Network pages (http://localhost:8090/Network.html) will give you a machine readable view of the network data displayed on the respective page. The wiki with the documentation seems to be broken at the moment, but you can just try to replace the .html with .xml or .json whereever you see the API symbol in the upper right.

BTW: Search results can also be retreived as JSON or RSS:

Regular: http://localhost:8090/yacysearch.html?query=test JSON: http://localhost:8090/yacysearch.json?query=test RSS: http://localhost:8090/yacysearch.rss?query=test

ghost commented 4 years ago

Thank you. I'll try running it in a docker and report back when I have results

onlyjob commented 4 years ago

I would also like the web page with list of public instances.

http://search.yacy.net/ is not great as it throws error "The search service is not available right now. Please try again." quite often.

Is there a DNS server where all the .yacy instances are registered? If so then one could make an haproxy frontend to query them (e.g. server-template node 1-200 yacy.service.consul:8090 check resolvers consul init-addr none). We could leverage Consul to monitor nodes availability.

onlyjob commented 4 years ago

For example, https://searx.info/ have a nice "Public instances" link at the bottom of the page. I think it would be great to have something like this.

Houkime commented 4 years ago

Actually how this works with searx is that there is a github repository with a yaml list of all instances that decided to be public. They just add themselves there with a pull request, and then a website polls this list. So it is not about automatic collecting of IP's of servers that did not lock down their interfaces, but rather about voluntary going public.

https://github.com/searx/searx-instances

So if one wants to replicate this for yacy, one needs a repo and a website. (it probably can be even github pages page)

sjehuda commented 2 years ago

Please make a List of Public Instances page. By the way, is there a list of public instances somewhere?

frankenstein91 commented 2 years ago

By the way, is there a list of public instances somewhere?

maybe you can use https://yacy.searchlab.eu/Network.html?page=1&maxCount=1000

Orbiter commented 2 years ago

Since the beginning of YaCy every YaCy instance presented a network list with all peers and distinguished them with public ('senior') and not-accessible (junior) peer lists.

sjehuda commented 2 years ago
  1. Thank you @frankenstein91.
  2. Can you please place that link on the sidebar?
sjehuda commented 2 years ago

@onlyjob

For example, https://searx.info/ have a nice "Public instances" link at the bottom of the page. I think it would be great to have something like this.

https://farside.link/ I've opened a ticket https://github.com/benbusby/farside/issues/30

dchmelik commented 11 months ago

I have this problem also. I used to use YaCy and recommend search.yacy.net to people as a Free/Libre Software (FLS) search engine but now know of no main public search to recommend or fix their broken instances of this that had been added in web browsers.

okybaca commented 11 months ago

Shouldn't be too difficult to do. Do you speak Java? Everything is probably ready for that. In /Network.html?page=1&maxCount=1000 you got already a list of senior peers, which is public. The only decision is IMO, how to sort the list (probably combination of "Links" count and also some parameter indicating the speed of peer (not sure about which one - QPH can be used as a rough measure)). Then a newly created list "Other YaCy instances" could be linked from the bottom of search portal page and from anywhere...

Orbiter commented 11 months ago

No need to hack into the senior peer list: running your own YaCy instance is exactly the way to access those senior peers. Plus it gives you your personal index cache, your contribution to the network and your ability to modify the search interface.

A Website for public instances is your own YaCy instance.

okybaca commented 11 months ago

Not sure if that's such a bad idea.

Not everyone has the oppurtunity to run own node. You search from smartphone, outside of your NATed network, recommending to people, etc...

Peer list, already included in YaCy, is cool but not very understandable at first glance. Some easy list such as "top nodes to try" would help the beginners to test and start. And to bring more attention to yacy itself.

Btw, SearX metasearch has already a module for yacy, which could be used to mix your own peer results with other engines and/or peers in a experimental setup. And is good as a front-end as well.

ghost commented 10 months ago

I agree with @okybaca : the idea is to have one website like https://instances.joinpeertube.org/instances where one can see all the instances. Is that currently possible with yacy? https://yacy.searchlab.eu/ is a public instance, but there's no obvious way to find which other instances exist.

okybaca commented 10 months ago

The list of running instances is here on that peer: https://yacy.searchlab.eu/Network.html?page=1&maxCount=1000. To create more easy-to-understand list wouldn't be so difficult, so do it, if you can.

lolcatw commented 7 months ago

The list of running instances is here on that peer: https://yacy.searchlab.eu/Network.html?page=1&maxCount=1000. To create more easy-to-understand list wouldn't be so difficult, so do it, if you can.

@okybaca this now gives me a near empty page with japanese characters everywhere.

okybaca commented 7 months ago

hi, that url was just an example. in fact, every instance of yacy does have such list, based on it's own p2p network bootstraping. so use another one, idealy your own.

why demo instance https://yacy.searchlab.eu/ switched to chinese (or what) is just a mystery ;-)

lolcatw commented 7 months ago

@okybaca can you refer me one of these instances? I can't find another one anywhere.

okybaca commented 6 months ago

the best way is to run your own ;-)