=ETP=
The Everything ETP/FTP server allows you to search and access your files from an Everything client or FTP client.

==Start an ETP/FTP server==
To start an ETP/FTP server:
<ul>
*On the computer whose files you wish to share, In '''''"Everything"''''', from the '''Tools''' menu, click '''Options'''.
*Click the '''''ETP/FTP''''' tab.
*Check '''Enable ETP/FTP server'''.
*Click '''OK'''.
</ul>

Please make sure you share each drive on your server as its drive letter.
For example, share C: drive as: '''C'''

To use custom shares, please see [[support/everything/etp/#etp_client_path_rewriting|ETP path rewriting]].

==Connect to an ETP server==
To connect to an ETP server:
<ul>
*In '''"Everything"''', from the '''Tools''' menu, click '''connect to ETP server...'''.
*Type in the '''server name''' or '''IP''' for the host.
*Click OK.
</ul>

==ETP link types==
There are four link types that change the way the Everything client accesses files on the ETP server.
When connecting to an ETP server you can specify the link type.

{|
! Link type
! Description
|-
| C:
| No change, the paths are the same as they are on the server. This is useful if you index a subst'ed drive on the server and are using mapped network drives on the client.
|-
| \\Server\C
| Use Windows shares (this is the default link type). By default these shares do not exist, you will need to create them on the server if you wish to use this method.
|-
| \\Server\C$
| Use the default admin drive shares.
|-
| ftp://host/C:
| Use ftp links.
|}

==Username and password==
To change the ETP/FTP server username and password:
<ul>
*In '''''"Everything"''''', from the '''Tools''' menu, click '''Options'''.
*Click the '''ETP/FTP Server''' tab.
*Type in a new '''username''' and '''password'''.
*Click '''OK'''.
</ul>

==Disable file downloading==
To disable ETP/FTP file downloading:
<ul>
*In '''''"Everything"''''', from the '''Tools''' menu, click '''Options'''.
*Click the '''ETP/FTP Server''' tab.
*Uncheck '''Allow file download'''.
*Click '''OK'''
</ul>

==Different indexes==
To index different NTFS volumes for the ETP server, see [[support/everything/Multiple Instances]].

==Create a Windows share==
Everything works best if you share each drive as a single letter, for example, share your C: drive as C, D: drive as D and so on.

To create a windows share for a single folder, please follow the guide below:

For example, we want to host an ETP/FTP server for one folder:
<pre>
C:\share
</pre>

Substitute a drive letter for the local folder c:\share:
<ul>
*From a command prompt, run:
<pre>
subst H: c:\share
</pre>
</ul>

Setup an index to include only the H: drive.
<ul>
*In '''''"Everything"''''', from the '''Tools''' menu, click '''Options'''.
*Click the '''NTFS''' tab.
*Uncheck '''Include in database''' for all volumes, except the H: drive.
*Click '''OK'''.
</ul>

Add a share name to c:\share
<ul>
*In '''Explorer''', '''right click''' the '''c:\share''' and click '''properties'''.
*Click the '''Sharing''' tab.
*Click '''Advanced Sharing...'''.
*Click '''Add'''.
*Type in '''H''' for the '''share name'''.
*Click '''OK'''.
*Click '''OK'''.
*Click '''Close'''.
</ul>

Connect to the ETP/FTP server with \\Server\C links.

==Security==
Every file and folder indexed by Everything can be searched and downloaded via the ETP server.

To disable file downloading:
<ul>
*In '''''Everything''''', from the '''Tools''' menu, click '''Options'''.
*Click the '''ETP Server''' tab.
*Uncheck '''allow file download'''.
</ul>

See [[support/everything/etp#disable_etp_ftp_server|Disable ETP/FTP Server]] to remove the ETP server options and prevent the ETP server from starting.

==Disable ETP/FTP Server==
To disable the ETP/FTP server:
<ul>
*Exit Everything (right click the Everything system tray icon and click Exit)
*Open your Everything.ini in the same location as your Everything.exe
*Change the following line:
<pre>
allow_etp_server=1
</pre>
to:
<pre>
allow_etp_server=0
</pre>
*Save changes and restart Everything.
</ul>

==ETP Client path rewriting==
ETP clients can rewrite the ETP server paths so they can be accessed from different shares.
For example, rewrite the path D:\music to \\server\music and "D:\Install Files" to "\\server\Install Files"

To rewrite the paths on the ETP client.
<ul>
*On the '''''Everything''''' ETP client PC:
*Completely exit '''''Everything''''' (Right click the '''''Everything''''' system tray icon and click Exit)
*Open your %APPDATA%\Everything\Everything.ini
*Change the following lines:
etp_client_rewrite_patterns=
etp_client_rewrite_substitutions=
to:
etp_client_rewrite_patterns=D:\music;"D:\\Install Files"
etp_client_rewrite_substitutions=\\server\music;"\\\\server\\Install Files"
*Save changes and restart Everything.
</ul>

The pattern must match the path on the server. It is not effected by the link type.

==Running an ETP server as a service==

To run an Everything ETP server as a client service (not to be confused with the Everything service):
<ul>
*Copy your Everything.exe to an empty folder.
*Run Everything.exe as administrator
*Please make sure [[support/everything/options/#store_settings_and_data_in_appdata_everything|Store settings and data in %APPDATA%\Everything]] is disabled.
*Please make sure the [[support/everything/options/#everything_service|Everything service]] is not installed.
*Setup your [[support/everything/options#indexes|indexes]].
*Setup the [[support/everything/options/#etp_ftp_server|ETP server settings]].
*Completely exit Everything (right click the Everything tray icon and click Exit).
*From a command prompt, navigate to your Everything.exe
*Run the following command to install the client service:
<pre>
Everything.exe -install-client-service
</pre>
This will install and start the Everything ETP server as a service.
</ul>

To uninstall the Everything client service:
<ul>
*From a command prompt, navigate to your Everything.exe
*Run the following command to install the client service:
<pre>
Everything.exe -uninstall-client-service
</pre>
</ul>

==Automatically connect to an ETP server==

To automatically connect to an ETP server when starting Everything:
<ul>
*On the '''"Everything"''' client, from the '''Tools''' menu, click '''Options'''.
*Click the '''Home''' tab.
*Change '''Index''' to: '''ETP server'''.
*Set the '''ETP server''' to: username:password@host:port
*Set the desired '''Link type'''.
*Click '''OK'''.
</ul>

==Trouble Shooting==
Unable to start ETP server: bind failed 10048
Please make sure no FTP servers are already running on port 21 or use a different ETP server port.

To change the ETP server port:
<ul>
*In '''"Everything"''', from the '''Tools''' menu, click '''Options'''.
*Click the '''ETP/FTP Server''' tab.
*Change the '''port''' to: '''2121'''
*Click '''OK'''.
</ul>

Please match the same port number when connecting to the ETP server.

==See also==
<ul>
*[[support/everything/multiple instances|Multiple Instances]]
*[[support/everything/command line options#etp|ETP/FTP Server command line options]]
*[[support/everything/ini#etp|ETP/FTP Server Everything.ini options]]
*[[support/everything/options#etp/ftp server|ETP/FTP Server options]]
*[[/forum/viewtopic.php?t=1790|ETP/FTP Server Advanced Help]]
*[[https://en.wikipedia.org/wiki/FTP]]
</ul>
