YaCy's Awsome (Jetty) web server!?

From the first time I installed YaCy, seems like years ago now, while browsing through the file system, I came across a readme.txt file in the HTDOCS folder:

This is your root directory for individual Web Content

Please place your html files into the www subdirectory.
The URL of that path is either
http://www..yacy or
http://:/www

Other subdirectories may be created; they map to corresponding sub-domains.
This directory shares it’s content with the applications htroot path, so you
may access your yacy search page with
http://.yacy/

Then there is also on the server status page:

It says on the righthand side there:

Address

Host: [2603:7080:4b3e:8e00:a3e:8eff:fe13:6129%wlp3s0]:8090
Public Address: http://[2603:7080:4b3e:8e00:a3e:8eff:fe13:6129]:49155
YaCy Address: http://yacy-on-slax-portal.yacy

YaCy Address: http://yacy-on-slax-portal.yacy

I was not able to locate any existing www folder, or sub folder.

I tried creating one, made a simple HTML website there.

I’ve never been able to get this to work.

has this feature been removed? Never completed? Am I doing something wrong? Does the web server need to be activated? does it require dynamic DNS?

Does the domain name system recognize a (dot) yacy URL?

Does this require time to propagate?

If this could be gotten working it would certainly be awsome!

Does it require a restart?

Does port 80 need to be open on the router?

Does YaCy have its own special DNS server?

I’ve run my own web server before, both Apache and Abyss, which is why I recognize what a HTDOCS folder is for, but I can’t figure out how to get this working on YaCy, or perhaps I’m not looking in the right place.

Anything anyone could do to clue me in on this subject would be very much appreciated.

A visit to http://yacy-on-slax-portal.yacy produces only:

I located this mention of YaCy’s “built in web server”:

Collaborative Desktop Indexing

You and your colleagues need a common search function for documents which are stored on your private computers and not on shared drives. Each member of the group can restrict the shared use to certain documents. All documents are to be published via a web service. A search shall include all shared documents. Other persons’ frequently-used documents are to be accessed by means of a bookmark function.

  • All group members install YaCy on their computers.
  • Reconfigure the standard network affiliation to ‘intranet’.
  • All users publish their documents to be shared in their ‘/DATA/HTDOCS/repository/’ directory.
  • Everybody starts a web crawl at the address http://:8090/repository/.
  • All users can find all their own documents and those of the other team members through their own YaCy search page.
  • Found documents will be served automatically through YaCy’s built-in web server.
  • Found documents can be bookmarked by means of YaCy’s built-in function.
  • Users can publish their bookmarks.
  • Other users’ published bookmarks can be imported as private ones.

https://wiki.yacy.net/index.php/En:Use_cases

Does this only work in intranet mode?

Hi.

The address http://yacy-on-slax-portal.yacy will never work.
First,.yacy is a top level domain and this has to be registered at ICANN I guess. In the FAQ the evaluation would cost $185k :slight_smile: See: https://newgtlds.icann.org/en/applicants/global-support/faqs/faqs-en.
Second, if you want to make yacy-on-slax-portal.yacy accessable you have to register the domain (e. g. [name].yacy) itself first and set the DNS to your ip-address.

Maybe the reason behind this was, somewhen in the future to create the very special TLD “yacy” to give every yacy instance a unique domain.

Greetingz

I’m thinking it is intended for intranet mode. I haven’t yet found anything in YaCy that doesn’t work, only things that I didn’t understand and couldn’t figure our how to use.

Could not an intranet have an internal DNS system that has no relation to ICANN?

Anyway, i have changed the title of this thread because after some experimenting and receiving server error messages it looks like YaCy is using the Jetty web server

I copied a website I had been working on in class at FMCC (Community College) but it is associated with a Perl script for posting classified adds.

I had not installed the script in YaCy, neither have I installed perl. Though that may not be difficult on Linux. Many Linux OS’s include a Perl interpreter. I’m not certain, but some Linux distributions require Perl. Not sure about SLAX.

As a web server Jetty appears to be pretty solid.

In fact, according to the 404 it states:

YaCy 1.924 - powered by Jetty -

It looks like Jetty will run CGI scripts in some way shape or form, after all, it is running YaCy which is full of form input fields of all sorts.

Too bad I don’t know Java, as all my Web-CGI programs are written in Perl.

I have to investigate if Jetty might be able to mingle with Perl. So far a search on the subject has only turned up some people on forums asking the same question. I haven’t found or read any answers.

I doubt that this is some pie-in-the-sky idea intended for some imagined future world where .yacy is an ICANN recognized top level www domain.

edit:

Here is a thread from way back in 2003 recording someones struggles with Jetty + Perl. Seems like it could be done then, but in a way that would be “slow”.

I might find some clue from the monks over on PerlMonks. Or perhaps it would be easier just to run Abyss. I think there is a Linux version, and I know for certain that Abyss can run all my scripts, as it is the web server I used for testing scripts locally.

Yes there is a Linux version.

More clues that Perl is compatible with Jetty: originally in Spanish.

Google english translation:

German:

https://translate.google.com/translate?hl=en&sl=es&tl=de&u=http%3A%2F%2Fperlenespanol.com%2Fforo%2Fperl-y-jetty-t5589.html&prev=search

I still have not read all the details but looks like it was working by the end.

Of course it can be used as an intranet address. Every AVM FritzBox, a common router for german internet, has its own DNS service. The router is available via “fritz.box” by default.

OK, well given YaCy peers exchange DHTs all day long, distributing DNS tables doesn’t seem like much of a leap.

For now, my dropping websites into YaCy’s native file system serves to host some simple web pages, though it appears Jetty is more than a bare bones web server, but I would like to know the intended use for this (dot)yacy thing. A method for sharing web-pages among yacy peers perhaps?

But I don’t find any www sub directory within the Yacy files.

Interestingly, taking another look at the readme file, it says:

This is your root directory for individual Web Content

Please place your html files into the www subdirectory.
The URL of that path is either
http://www.<your-peer-name>.yacy    or
http://<your-ip>:<your-port>/www

Other subdirectories may be created; they map to corresponding sub-domains.
This directory shares it's content with the applications htroot path, so you
may access your yacy search page with
http://<your-peer-name>.yacy/

In my last post the stuff in angle brackets was hidden, I posted it as code this time.

I would think that at least creating a www folder and using http://<your-ip>:<your-port>/www should work, as this is essentially what I’ve already done, but the folder need not be named www particularly or even be a folder necessarily as the page to be served can be just dropped into the htroot folder along with other YaCy pages, though that could get a bit messy I suppose, it seems to work.

Perhaps the .yacy wasn’t intended to be taken litterally?

Seems like something in - Server administration / Advanced Settings / Server Access Settings - might be the place to map something out.

The link provided:

see Jetty InetAddressSet documentation.

Has moved.

Well, Im happy!

Immediately after my last post, my laptop suddenly went down. An investigation revealed that my charger had come unplugged and the laptop had run out or battery power. SLAX doesn’t seem to have a power monitor.

As I had not shut down properly I was 99% certain I had lost EVERYTHING!!! UGH!!!

However, I booted up SLAX and no problem. the persistence apparently works beautifully. Not a single thing was lost!!

Thank you SLAX developers! It seems almost miraculous that not even my browser bookmarks were lost. Not only is my YaCy installation still intact, but all my edits and modifications were retained. Fantastic!

All I had to do is restart YaCy from the terminal and reconnect to the internet. Even my internet router and password were remembered!

I’ve just become a big fan of SLAX! best OS I’ve found so far for running LIVE on a USB. (and only 264 Mb).

EDIT:

OK, using this method works:

http://<your-ip>:<your-port>/www

I put a little web page with an embedded vimeo video in yacy/DATA/HTDOCS/www

As www did not exist, I made the folder.

http://45.46.121.27:8090/www/index.html

InetAddressSet seems to have to do with comparing tables. The page can be found on the Wayback machine

For general purposes, I’ve never minded using actual ip address in URL, as what difference does it make when writing:

Visit my web page, dynamically hosted on My YaCy Server

It gets you there.

I found this sample page in the www folder of an older version of Yacy:

As this is not running live on an actual server, just unpacked on my laptop, there are just placeholders here and there

Individual Web Page

Welcome to your own web page

in the YaCy Network !

THIS IS A DEMONSTRATION PAGE FOR YOUR OWN INDIVIDUAL WEB SERVER! PLEASE REPLACE THIS PAGE BY PUTTING A FILE index.html INTO THE PATH #[wwwpath]#

This is peer ’ #[peername]# ', running on host #[hostname]# .
Your are accessing this page from the host ‘#[clientip]#’.
Every user of YaCy #[couldcan]# access this page using the URL http://#[peeraddress]#/www/ or http://www.#[peerdomain]#.yacy from within the YaCy network.

#[seniorinfo]#

We integrated an easy mechanism for web page authoring which can also be used for simple file-sharing. Please open the sample page http://share.#[peerdomain]#.yacy and set upload/download accounts to author and access content on this peer.

So it seems the (my_web_site).yacy thing was intended for deployment “from within the YaCy network”.

Having “YOUR OWN INDIVIDUAL WEB SERVER!” incorporated within YaCy seems like a fantastic idea to me. I’m wondering why it was (or is being) phased out.

A decentralized network of web-servers seems to me as significant as decentralized search.

wrong!

Those .yacy TLDs had been created very early in the YaCy project where the software promoted the build-in proxy server. You can still use YaCy as a web proxy. The amazing thing is: if you use YaCy as a web proxy, it has full control over ‘strange’ TLDs and can forward addresses like http://yacy-on-slax-portal.yacy to anywhere the proxy wants. And the routing is done using the p2p address lookup in the YaCy network.

1 Like

That is quite amazing. Is anyone actually making use of this? I’d love to give it a go, but are there any (dot)yacy websites?

The more digging I do into it, the more I think YaCy is probably the most significant piece of software ever created. It’s the internet the way it should be, or should have always been.

Now how does this proxy bit work? How is it activated?

The problem with YaCy is it is so incredible it escapes belief.

Well, that confirms it.

I’m away from home, far out of range of my home WiFi router, but still able to access the website I put on, or into the YaCy/Jetty built in server.

At this address: http://45.46.121.27:8090/www/index.html

As well as the search page embedded in a web page: http://yacy-kiosk.calypso53.com/index.html

I guess that isn’t really news to anyone who has accessed YaCy remotely or set up a public portal or something, but I’m finding it rather exciting.

Also I found the templates folder. I don’t know how I could have overlooked it before, which should make customizations much easier.