Using JFileServer From The Command Line

From FileSys.Org Wiki

To run JFileServer from the command line you first need to download the latest JFileServer Kit zip file from here.

Unpack the JFileServer Kit zip file into a new folder. You should now have a folder with the following files and folders :-

/jfileserver
 |
 +- /testShare
     |
     +- sharedFile.txt
 +- /lib
     |
     +- bcprov-jdk5on-1.48.jar
     +- hazelcast-3.10.1.jar
     +- jfileserver-1.1.1.jar
     +- jna-5.1.0.jar
     +- jna-platform-5.1.0.jar
 +- fileSrvConfig.xml
 +- port445.reg
 +- runsrv.bat
 +- runsrv.sh

Using JFileServer On Windows

On Windows the default JFileServer configuration runs the SMB server using the native SMB port 445. In order for this not to clash with Windows using the same port a registry edit is needed. The JFileServer kit includes the port445.reg file to switch off the Windows OS use of port 445. To apply the registry edit double click the port445.reg file, then restart Windows.

Switching off port 445 on Windows may have other side effects on the Windows host, an alternative way to run JFileServer is by using the Docker images, details of how to use the Docker images are here.

Using JFileServer on linux, macOS, Unix

Using a command line terminal or shell set your current working directory as the JFileServer directory.

There is a default JFileServer configuration file that will share the testShare folder, which contains a single text file. For details on configuring JFileServer see here.

To start JFileServer on linux, macOS or Unix system use the runsrv.sh script file :-

./runsrv.sh

On Windows use the runsrv.bat file to start JFileServer :-

runsrv

The default JFileServer configuration will output debug logging to the console, on startup of the server you should see the following :-

JFileServer starting, enter 'x' to shutdown server, 'r' to restart server ...
Starting server NetBIOS ...
Starting server SMB ...
[SMB] SMB Server JFILESRV starting
[SMB] Version 1.0.0, Java VM 25.152-b16, OS Mac OS X, version 10.14.2
[SMB] Using authenticator org.filesys.server.auth.EnterpriseSMBAuthenticator, mode=USER
[SMB] Server timezone offset = 0hrs
[SMB] Dialects enabled = [Core,CorePlus,DOS LANMAN 1.0,LANMAN1.0,DOS LANMAN 2.1,LM1.2X002,LANMAN2.1,NT LM 0.12]
[SMB] Shares:
[SMB]  [JFILESHARE,DISK,,[./testShare]] [./testShare]
[SMB] Added NTServer flag to host announcement
[SMB] Binding TCP-SMB session handler to address : ALL
[SMB] Binding NetBIOS session handler to address : ALL
[SMB] Request handler SMBRequestHandler_1 waiting for session ...
[SMB] Listening for connections on [SMB,TCP-SMB,ALL:1445]
[SMB] Listening for connections on [SMB,NetBIOS,ALL:1139]
[SMB] Waiting for new connection ...

To stop the running JFileServer enter x into the console and hit <Return>, the file server should shutdown within a few seconds, but may take up to a minute or so :-

x
Shutting server SMB ...
[SMB] SMB Server shutting down ...
[SMB] Packet pool at shutdown: [BufferLists: [Bufsize=256,Init=20,Max=100,Avail=20,Alloc=0,Stats=0/0/0] [Bufsize=4096,Init=20,Max=50,Avail=20,Alloc=0,Stats=0/0/0] [Bufsize=16384,Init=5,Max=50,Avail=5,Alloc=0,Stats=0/0/0]  [Bufsize=66000,Init=5,Max=50,Avail=5,Alloc=0,Stats=0/0/0] ]
Shutting server NetBIOS ...
[SMB] Closed session handler [SMB,TCP-SMB,ALL:1445]
[SMB] Closed session handler [SMB,NetBIOS,ALL:1139]
[SMB] Closed request handler, SMBRequestHandler_1
[SMB] Closed SMB request handler, SMBRequestHandler_1
NotifyChangeHandler thread exit