Everything Web Server question

If you are experiencing problems with "Everything", post here for assistance.
Post Reply
Janus
Posts: 82
Joined: Mon Nov 07, 2016 7:33 pm

Everything Web Server question

Post by Janus » Sun Jun 06, 2021 7:03 am

Okay, this may be a stupid question.
It started with an old android tablet I decided to use for locating files on my network.

I have several servers on my lan.
Very private, well firewalled, not visible from the internet.
Plans for a subdomain/VPN link for remote access from job sites later, but no work done yet.
Single workgroup, no domain, passwordless shares, a few mapped drive letters, simplest setup I can make.

Please, no flame wars / speeches / lectures / etc on always using passwords / policies and the rest.
My setup reflects how I work..

Nothing I have is setup in a "normal" manner.
I turn off any machine containing anything sensitive on the rare occasions when customers / people are here.

I have everything installed as a service on all my windows servers.
There are two linux boxes, but I hate doing anything beyond compiles on them, the nanny state 'passwords, give me more passwords' forced on hapless users makes them more hassle than the rest of my machines put together, and they have no equivalent to everything, though I continue to look.

I turned on the http server in everything on my servers, yet nothing will come up unless I am logged into it.
I open a remotedesktop connection to a machine, it opens and responds via web browser no problem.
Terminate session, no more response.

How do I set everything up so that I can use the http interface without having to be logged into the server?

I have tried opening via IP & http:\\servername both, nothing unless user logged in.
The servers nearly always sit with no one logged in, just serving files, or doing tasks on file copy.

I can make a script or small program to run on them all, but it would be more productive just use the little page I made that opens different servers in different frames, so I can search them all at once, then switch between sets of results.
Not that the fecal matter UI of the current firefox is fun to work with, but at least it works without actively spying on me.

Hoping there is a way make everything's http interface work when the server is headless.


Janus.

void
Site Admin
Posts: 7167
Joined: Fri Oct 16, 2009 11:31 pm

Re: Everything Web Server question

Post by void » Mon Jun 07, 2021 8:25 am

Please try running Everything as a client service.

Janus
Posts: 82
Joined: Mon Nov 07, 2016 7:33 pm

Re: Everything Web Server question

Post by Janus » Thu Jun 10, 2021 7:24 pm

I appreciate the response, but it is not working for me.

While the etp client may be working, the web interface is not, which is my goal.
I want to use a web browser so I can put each server in its own frame, then combine their results.

Thank you anyway.
I will keep trying.


Janus.

void
Site Admin
Posts: 7167
Joined: Fri Oct 16, 2009 11:31 pm

Re: Everything Web Server question

Post by void » Sun Jun 13, 2021 6:58 am

What happens? are you unable to connect via http://localhost ? or can you connect but the index is wrong/empty?

Janus
Posts: 82
Joined: Mon Nov 07, 2016 7:33 pm

Re: Everything Web Server question

Post by Janus » Sun Jun 20, 2021 5:12 am

Sorry for delayed response, after easing off, work is suddenly insane again.
Everyone wants all those little things they thought they had months yet on, done TODAY!, and are convinced their lack of planning is somehow my problem if they are insistent enough.

First, I am trying to access the server remotely via IP or name, not local host.
My goal is to search across the network without logging in to every machine.
I haven't settled on a port yet, it will depend on other things, and I use a lot of them already.
I am trying to do like I do with xampp or lamp based services.

http://IP:port
http://ServerName:port

Once I have that working. {If I can}
I will then make a web page with multiple frames connected to different servers.
Each frame will have its results converted to json via javascript, then combined/merged.
Even if that means dumping to a server table for mysql to clean/sort it.
That list will then be displayed on the master frame.

Of course, what I really want is to get the results directly in json, then I can skip the frames.
I already use json in a lot of other places.
Before anyone says xml, NO!, I personally hate xml, so no.

Currently, unless I am logged into a server via keyboard or remote desktop, the everything web service is not available.
I have tried running it as administrator.
I have tried running it as a local service.
I have tried running it as a system service.
None of the above work unless a user is logged in.

Apache works just fine without me being logged in, and I had thought everything would as well.
In the long run I will auto generate that page via a service that monitors the {samba/cifs}workgroup for changes.
I am going to be switching my servers to ReactOS as soon as I can, or linux if win7 annoys me to much more before then.


Janus.

void
Site Admin
Posts: 7167
Joined: Fri Oct 16, 2009 11:31 pm

Re: Everything Web Server question

Post by void » Mon Jun 21, 2021 10:42 am

Debug logs might help:
  • Stop the Everything Client Service with:
    Everything.exe -stop-client-service
  • Open your Everything.ini in the same location as your Everything.exe
  • Change the following value:
    debug_log=0
    to:
    debug_log=1
  • Save changes and restart the Everything Client Service with:
    Everything.exe -start-client-service
    (or Everything.exe -install-client-service if its not installed)
  • Attempt to connect to the HTTP server.
  • What is shown in:
    C:\Windows\Temp\Everything Debug Log.txt
Debug logs will grow very large, to stop debug logging:
  • Stop the Everything Client Service with:
    Everything.exe -stop-client-service
  • Open your Everything.ini in the same location as your Everything.exe
  • Change the following value:
    debug_log=1
    to:
    debug_log=0
  • Save changes.

Janus
Posts: 82
Joined: Mon Nov 07, 2016 7:33 pm

Re: Everything Web Server question

Post by Janus » Mon Jun 21, 2021 4:32 pm

Tried.
Still failed.

Running 1.4.1.1009 (x86) with
%APPDATA% storage disabled.
ETP:21
HTTP:8080
everything -install-client-service
everything -start-client-service

As long as I keep a remote desktop session logged in to the server, it all works as intended.
http://IP:port or http://serfername:port both work for searching from my primary station.
Once I logout, it all stops working.

This is from launching the client service, logging out, then trying the web service via SM2.53.7.1 which fails unless I have an active RDP session.
  • 2021-06-21 09:16:30.600: Everything
    2021-06-21 09:16:30.662: Version 1.4.1.1009 (x86)
    2021-06-21 09:16:30.693: Windows NT 6.1
    2021-06-21 09:16:30.709: Processors 2
    2021-06-21 09:16:30.725: IsAdmin 1
    2021-06-21 09:16:30.756: AppData 0
    2021-06-21 09:16:30.771: Service 2
    2021-06-21 09:16:30.787: cmdline "C:\ProgramData\Everything\Everything.exe" -client-svc
    2021-06-21 09:16:30.803: load localization
    2021-06-21 09:16:30.834: lng file opened!
    2021-06-21 09:16:30.849: header size 946
    2021-06-21 09:16:30.881: version 1
    2021-06-21 09:16:30.912: got header
    2021-06-21 09:16:30.912: system default lid 0409
    2021-06-21 09:16:30.959: count 39
    2021-06-21 09:16:30.974: ole initialize: 01310000
    2021-06-21 09:16:31.005: create mutex
    2021-06-21 09:16:31.052: sys img list 004b6340 004ad3f8 1 0
    2021-06-21 09:16:31.083: default font MS Shell Dlg 2 -11
    2021-06-21 09:16:31.099: load everything icon
    2021-06-21 09:16:31.130: bookmarks
    2021-06-21 09:16:31.146: filters
    2021-06-21 09:16:31.177: search history
    2021-06-21 09:16:31.193: set hook
    2021-06-21 09:16:31.224: create tray
    2021-06-21 09:16:31.239: bind to family 23, protocol 6, socktype 1
    2021-06-21 09:16:31.255: bind failed 10048
    2021-06-21 09:16:31.286: ETP server offline.

It appears what I want is non viable unless I write a wrapper of some sort.
I use programdata because it allows write to the install directory no matter what rules are applied.
It is the same place I put explorer++, notepad++, and others.


Janus.

P.S. Thank you for your time and effort, it is appreciated.

void
Site Admin
Posts: 7167
Joined: Fri Oct 16, 2009 11:31 pm

Re: Everything Web Server question

Post by void » Tue Jun 22, 2021 2:09 am

bind failed 10048
Thank you for the logs.
The port is already in use.
Please make sure you completely exit Everything (right click the Everything system tray icon and click Exit) before running:
everything -install-client-service

Please make sure Everything is not set to start on system startup from Tools -> Options -> General -> Run on system startup.

Please try the following:
  • everything.exe -stop-client-service
  • Completely exit Everything (right click the Everything system tray icon and click Exit)
  • everything.exe -start-client-service
Please make sure no other services are using these ports: 21, 8080

Janus
Posts: 82
Joined: Mon Nov 07, 2016 7:33 pm

Re: Everything Web Server question

Post by Janus » Tue Jun 22, 2021 7:50 am

Okay, finally got it working, more or less.
Be sure to keep an everything shortcut on your desktop for when you remote in.

Since I wanted information on shares by network address only, I deselected drive monitoring.
Then added the shares via the folder menu.
Now I can get direct share addresses with a quick search via web browser.

Is there a setting to make everything index shares only?
Then give results via network, using network addresses?

My next step is to make a page with either subframes or using xmlhttprequest with web workers to search them all.

@void, thank you very much for your help.
And an even bigger thank you for Everything itself.

A continuance question.
Is there a way to construct a get/post request that gives a json reply?
Perhaps a switch to give a complete list instead of 32 (0x20) at a time?
Then I can read all the File class <td> elements to make a single page instead of iterating through pages building a list.
Or can I make my own response pages?

Just kind of rambling at the moment.

Did notice that when in client mode, the DB doesn't seem to update like normal.
Is there a way to keep the DB updated while in client mode?


Janus.

void
Site Admin
Posts: 7167
Joined: Fri Oct 16, 2009 11:31 pm

Re: Everything Web Server question

Post by void » Thu Jun 24, 2021 12:06 pm

Is there a setting to make everything index shares only?
Adding network shares might not work as a client service.
You might need to adjust the service account for network access.

Simple setup your indexes to include your network shares:
  • stop the Everything client service:
    Everything.exe -stop-client-service
  • Run Everything.exe
  • In Everything, from the Tools menu, click Options.
  • Click the NTFS tab on the left.
  • Uncheck Automatically include new fixed volumes.
  • Uncheck Automatically include new removable volumes.
  • For each NTFS volume:
    • Uncheck Include in database.
  • Click the Folders tab on the left.
  • Click Add...
  • Select your network shares and click OK.
  • Click OK.
  • Completely exit Everything (right click the Everything system tray icon and click Exit)
  • Start the Everything client service:
    everything.exe -start-client-service
There's a little bit here on a JSON request:
https://www.voidtools.com/support/everything/http/

An AJAX example with JSON requests here:
https://www.voidtools.com/forum/viewtopic.php?t=8377#p27860
xobj.open('GET', '/?j=1&path_column=1&sort=date_modified&ascending=0&s=' + ' ext:jpg;jpeg;png;gif;webp < ' + document.getElementById("search").value + ' >' , true);
A json request (j=1) will return all results.
Use count=1000 to limit the number of results (where 1000 is the max).
Is there a way to keep the DB updated while in client mode?
Are you using folder indexing or NTFS indexing?
Everything might have trouble accessing the network shares with the service account.

The general recommendation is to run the service with a named account.

In Administrative Tools > Services.
Stop the Everything Client Service.
Open the Properties > Log On dialog.
Change the service user account to the target user account.
Start the Everything Client Service.

Post Reply