sivasankarankb / pyfileshare

An HTTP based file sharing application written in Python.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

pyfileshare

An HTTP based file sharing application written in Python.

The server application provides access to files and directories (folders) on a machine to anybody that can connect to it. No passwords or other authentication are required.

The client is used to view and download files.

Installation

To try pyfileshare:

  1. Get a copy from the releases page.

  2. Extract the code wherever you want.

  3. Install Python 3.x if you're on Windows or macOS. Windows users must enable the Add Python to PATH setup option.

  4. To keep things clean, create a virtual environment with venv and enter it.

  5. Get the packages required by pyfileshare by running pip3 install -r requirements.txt inside the code directory from a terminal.

Setting up file sharing

Sharing is done by allowing access to a directory on the computer. Open the pyfs_server.py file. This contains code of the server. Edit the line that says shares = { ... }.

Linux (Unix) sharing examples:

Suppose you want to add /home/user/ with the share name files:

shares = {'files': '/home/user/'}

Let's add /var/www/html under the name mirror to this:

shares = {
     'files': '/home/user/',
     'mirror': '/var/www/html/'
}

Windows sharing example:

Suppose you want to share the E Drive and your Downloads folder:

shares = {
    'e_drive': 'E:\\',
    'downloads': 'C:\\Users\\Me\\Downloads\\'
}

Note the double backslashes used inside the paths.

Running the server

Do python3 pyfs_server.py to run the server app on its own. You can also control the server from the Server menu in the client.

Running the client

  1. Do python3 app.py.

  2. Set up the Download directory by going to Preferences.

  3. Type in the IP address and port of the server machine. The address format is http://ipaddress:portnumber. The default port is 8080.

  4. Double click on a file to download it.

About

An HTTP based file sharing application written in Python.

License:GNU General Public License v2.0


Languages

Language:Python 100.0%