File Server Gateway

Enable access to private file servers.

Introduction

The File Server Toolkit sets up the FsD, a file server gateway that can make folders from any Windows, Linux, or Mac machine accessible to the explore tool from Explorer Toolkit.

1. Install File Server Toolkit

The toolkit archive can be obtained from our download page . Once downloaded, extract to your preferred location on the file server.

user@ubuntu-64:~/fsgateway$ tar -xvzf linux64-fileserver-toolkit-1.tar.gz 
./
./fileserver/
./fileserver/start.sh
./fileserver/stop.sh
./fileserver/config.json
./fileserver/TOS.txt
./fileserver/fsd
./fileserver/dist.dat

user@ubuntu-64:~/fsgateway$ cd fileserver
user@ubuntu-64:~/fsgateway/fileserver$ ls
config.json    dist.dat    fsd    start.sh    stop.sh    TOS.txt

user@ubuntu-64:~/fsgateway/fileserver$
C:\fsgateway> unzip win-fileserver-toolkit-1.zip
Archive:  win-fileserver-toolkit-1.zip
   creating: fileserver/
 extracting: fileserver/config.json
  inflating: fileserver/dist.dat
  inflating: fileserver/fsd.exe
  inflating: fileserver/start.bat
  inflating: fileserver/stop.bat
  inflating: fileserver/TOS.txt

C:\fsgateway> cd fileserver
C:\fsgateway\fileserver> ls
TOS.txt  config.json  dist.dat  fsd.exe  start.bat  stop.bat

C:\fsgateway\fileserver>
mbp:fsgateway user$ tar -xvzf mac-fileserver-toolkit-1.tar.gz 
x ./
x ./fileserver/
x ./fileserver/config.json
x ./fileserver/dist.dat
x ./fileserver/fsd
x ./fileserver/start.sh
x ./fileserver/stop.sh
x ./fileserver/TOS.txt

mbp:fsgateway user$ cd fileserver
mbp:fileserver user$ ls
TOS.txt  config.json  dist.dat  fsd.exe  start.bat  stop.bat

mbp:fileserver user$

2. Configure FsD

Configure the file server gateway by editing the config.json file. Specify a path in the file server you want to make available and a password key to protect access to the storage. You can specify whether or not the storage will be read-only or not for someone accessing the storage using that password. You can configure as many authorization access points as you'd like. See the example JSON file entry below.

Example: config.json with Windows paths

{
    "auth.access": {
        "A991CB2D990AAC": {
            "path": "C:\\Fileserver\\Engineering",
            "readOnly": false
        },
        "C09AA1FC1BB244": {
            "path": "C:\\Fileserver\\Finance",
            "readOnly": true
        }
    }
}

Example: config.json with Linux paths

{
    "auth.access": {
        "A991CB2D990AAC": {
            "path": "/Fileserver/Engineering",
            "readOnly": false
        }
    }
}

Start FsD

Now start the file server gateway by running the start script.

user@ubuntu-64:~/fsgateway/fileserver$ ./start.sh
Starting File Gateway

Started on port 26505
user@ubuntu-64:~/fsgateway/fileserver$
C:\fsgateway\fileserver> start.bat
Starting File Gateway

Started on port 26505
C:\fsgateway\fileserver>
mbp:fileserver user$ ./start.sh
Starting File Gateway

Started on port 26505
mbp:fileserver user$

3. Authorize Access to File Server

Now go back to the machine where you installed Explorer Toolkit and use explore to authorize your file server storage similar to how you authorized explorer to access your cloud storage accounts before.

$ ./explore
explorer> fs authorize engineering http://fileserver.mycorp.com:26505 A991CB2D990AAC
Confirmed. /fs/engineering authorized.

explorer> ls /fs/engineering
Designs          projectX.pptx          Requirements

Total: 3

πŸ“˜

Network Considerations

Note that if your file server and the machine that you're running Explorer Toolkit on may need to be on the same network for you to access your storage. If you want to access your files while you are on an external network, you may need to configure the fileserver to have a static public IP address with a DNS record. The port that the file gateway is running on (26505 by default) needs to be accessible.

There are other unsupported alternatives which may work, such as using Dynamic DNS if you don't have a static public IP address, and then configuring your router with port forwarding. Proceed at your discretion if you are interested in getting all of that to work reliably.

4. Upgrade toolkit versions:

To upgrade FsD versions, you basically only need to stop the old FsD and copy in the old config.json file you were using before. Then you can start up the new FsD and everything should continue to work as expected.

Steps:

  1. Use the existing File Server Toolkit's stop script (stop.sh or stop.bat) to stop the older FsD.
  2. Unzip the new File Server Toolkit package.
  3. Copy the config.json file from the old File Server Toolkit's main fileserver directory to the new File Server Toolkit's main fileserver directory.
  4. Use the start script (start.sh or start.bat) script to the new FsD.

At this point, anyone accessing the storage with Explorer Toolkit or Infinity Drive should be able to keep browsing as before.

You can optionally clean out the old File Server Toolkit folder now. If you want to reuse the old File Server Toolkit's location, you can always stop the FsD, change the folder name/location, and then restart the FsD again.

πŸ“˜

Upgrading from very old versions (Win-3 / Mac-3 / Linux-3 or older)

The upgrade procedure is similar except that you'll need to deauthorize the old storage and then authorize the storage again afterwards.

Steps:

  1. First, use the Explorer Toolkit's deauthorize command explore fs deauthorize <name> to deauthorize the existing fs storage.
  2. Use the existing File Server Toolkit's stop script (stop.sh or stop.bat) to stop the older FsD.
  3. Unzip the new File Server Toolkit package.
  4. Copy the config.json file from the old File Server Toolkit's fileserver directory to the new File Server Toolkit's fileserver directory.
  5. Use the start script (start.sh or start.bat) script to the new FsD.
  6. Use the Explorer Toolkit's authorize command explore fs authorize <name> <url> <key> to authorize the new fs storage.