MiniShare Documentation

  1. Quick Start
  2. Basic Use
    1. Sharing Individual Files
    2. Log File
    3. Dealing with Dynamic IP Adresses
    4. File Listing Page/Index Page
      1. File List
    5. Customizing Index Page
    6. Kicking and Banning Users
  3. Advanced Use
    1. Command Line Switches
      1. Examples
    2. User Authentication/Password Protecting Files
      1. Password Protect the Index Page
    3. HTTPS/SSL

Quick Start

The simplest way to use MiniShare:

  1. Select a bunch of files with the mouse as you would do when e.g. copying or moving files.
  2. Drag and drop them on MiniShare.
  3. Select the files in the files list in MiniShare.
  4. Right click the list and select Copy URL(s) on Clipboard in the menu.
  5. Paste the URL anywhere you want, the address can be used just like any address.
  6. Close MiniShare when you don't need to share the files anymore.

Basic Use

The basic functionality of MiniShare is simple:

  1. Serve individual files
  2. Display a file listing

Sharing Individual Files

See Quick Start.

Sometimes it can be useful to enable the feature that adds random letters to the URL that is generated for files (for example, if you have many files with the exact filename, or just that you can't easily guess the URL), just enter any non-zero value in Number of random letters in path in the Config dialog.

Log File

The log file is useful, if you want to examine past connections and transfers more closely. Enable the writing of a log file by specifying a filename in the Config dialog. If you want to split the log file so there is a file for every day, week or year, enter a filename like this: log-%y-%m-%d.txt. This will save the log as log-2005-04-01.txt for the first of April 2005.

Dealing with Dynamic IP Addresses

First you need to use a service that provides dynamic DNS. That is, the service provides you with a constant address, that is not numerical and you have another progam running on your computer, that tells the DNS your IP address whenever it changes. Some examples of such service providers are No-IP.com and DynDNS.org.

In the Config dialog, you can enter the constant address in the edit box 'Fixed domain name'. This makes MiniShare use the address you entered in place of your IP address. MiniShare in itself does not provide a dynamic DNS service, so you have to consult the above websites for more info how to get one.

File Listing Page/Index Page

You can enable this by telling MiniShare what is the path to this page. In the Config dialog, enter anything in the edit box titled Index page path. For example, if you enter '/' (slash), the index page can be accessed with url http://your.ip.address/. Or, if you enter '/home' (note the slash before the text, it is needed), the index can be found at http://your.ip.address/home. Pay attention that MiniShare is very strict about the path, so http://your.ip.address/home is not the same as http://your.ip.address/home/ (with an additional slash in the end), as with more advanced servers. The default path is '/', which is easy to access with a web browser, just enter your IP address.

If you don't enter anything in the edit box, the index page simply can't be found and the user trying to access it will get a '404 Not Found' error.

You can always just right click on MiniShare and click Copy Index URL on Clipboard to easily access the URL. If you can't see the option, you have to enable this feature (described above).

File List

You can enable or disable the display of the shared files list with the checkbox titled Show file list on index page. Also, you can control the visibility of individual shared files on the page by right clicking on a shared file and clicking Show/Hide Selected Files (this toggles between visibility and invisibility in the file list).

Customizing Index page

CSS Stylesheet

To change how the index looks like, edit the file layout\minishare.css. Currently only changing basic layout is possible.

Template

You can edit the template for the index page and the error page. See Templates for detailed info.

Kicking and Banning Users

Sometimes, it's useful to stop people downloading a file. You can cut someone's connection in the Connections view by right clicking a user and selecting Kick. This also sets a short ban of 30 seconds, so the user can't just connect back immediately. Banned users get error 403 (Forbidden) if they try to connect again.

With Kick and Ban you can stop a user connecting to you ever again (at least until you close MiniShare and start it again, or if the same user connects from another IP address). In the MiniShare directory, there is a file named banned.txt, you can add addresses there by hand, numerical address is recommended. Use the wildcard '*' and '?' to specify bigger ranges. You can see (and easily copy and paste) the addresses of all users in the log file.

Here are some examples:

1.2.3.4Bans the address 1.2.3.4
user1.example.comBans the address user1.example.com
*.example.comBans the all addresses ending example.com
1.2.3.*Bans all the addresses from 1.2.3.0 to 1.2.3.255
1.*Bans all the addresses from 1.0.0.0 to 1.255.255.255

If you need to allow access only to a handful of people (i.e. you would have to add a lot of banned addresses), it could be easier to use HTTP authentication, in other words a password system.

Advanced Use

Command Line Switches

MiniShare can (as of version 1.3.0) be used from the command line for advanced and experimental usage. This makes it possible to schedule and automatize things. Switches can be used to add and remove files from running MiniShare instance or used to add files immediately when MiniShare is run. Multiple switches can be used (including e.g. multiple -add switches).

Introduced inSwitch Description
--add -a <filename> Add file
--add_and_copy -ac <filename> Add file and copy the URL to clipboard
--remove -r <filename> Remove file by the filename (has to be a full path)
--remove_shared_as -rs <path> Remove file by the shared path (has to be a full path)
--die -d <time> Shutdown after given time (in seconds)
--minimize -m Start minimized
1.4.0-use_old_engine Use the older HTTP server engine
1.4.0-list -l <filename> Load and save shared files from a different file than the default shared.txt (full path recommended)
1.4.0-force_new_instance -f Force the opening of an another MiniShare instance instead of displaying the running instance (experimental)
1.4.3-stunnel -s <port> Enable Stunnel support using port port
1.4.3-stunnel_accept_host -sh <host> Accept connections only from host or ip host

Examples

minishare.exe -add c:\file.zip

This is the same as if you would drag the file file.zip on MiniShare.

minishare.exe -add_and_copy c:\file.zip -die 300 -minimize

Add the file file.zip, copy the URL for it on clipboard, never show the GUI and shutdown MiniShare after 5 minutes has passed. Useful if you feel like not having the program running for the whole night.

User Authentication/Password Protecting Files

In the user interface, you can just right click the files to change the required login (or allow all access) in the Use Login submenu.

Password Protect the Index Page

  1. Add the template for the index as a shared file (e.g. C:\Program Files\MiniShare\layout\index.tmpl).
  2. Edit the file properties for the template so Handle as template is checked. Also, edit the path for the file if you like. If the MIME type is anything else than text/html, you might want to change it to that.
  3. In the list, associate index.tmpl with a login.
  4. Disable the normal index page in the configuration menu.

HTTPS/SSL

MiniShare doesn't support HTTPS natively, however there are some features for tunneling connections using stunnel.

MiniShare and SSL