Fast data transfer and secure access in your browser
Share your folder with files with self-hosted server, locally or worldwide just in browser
- Self-hosted: run it right on your PC
- Easy to use: 4 steps to get access to the files
- Lightweight: less than
1 MB- you can take it anywhere! - Cross-platform: Windows or Linux
- Secure: nobody can get access without a passkey
- No limits: share and download as many files as you want
- Open the link where Filelink is hosted in your browser
- Click to
show filesbutton - Enter the passkey that you received from host
- Get access to the folder and start downloading!
Tip
Also, you can use the ?passkey= key in link for direct access to the folder or to the file download
To get direct access to the folder you need to set passkey on/access page after ?passkey=
For example:
http://localhost:8080/access?passkey=enter-passkey
To download file direcly (without visit Filelink home page) you need to set passkey on /download/[filename] link after ?passkey=
For example:
http://localhost:8080/download/your-file?passkey=enter-passkey
Important
Get direct access may be only on /access and /download/[filename] pages
- Install Filelink Server
- Locate your files into standard
filesdirectory where Filelink is located or locate files in a path that you have set inconfig/config.yaml(see Configuration) - Run Filelink Server
- Share passkey with users
python3withpip3
Note
Also, this project based on Flask and Waitress
- Download source code or clone repository by using
git
git clone https://github.com/medowic/filelink.git
- Open the terminal in the folder where Filelink is located and install dependencies from the
requirements.txtfile
pip install -r requirements.txt
Tip
Also, you can use the setup.cmd, located in the same directory, for automatic installation
It makes the same things
- Clone repository
Warning
Installing using git clone include support for automatic updates using git or scripts
It's not recommended to install Filelink without git
git clone https://github.com/medowic/filelink.git- Move to the directory where Filelink is located and install dependencies from
requirements.txt
cd filelink
pip3 install -r requirements.txtImportant
For global-wide install, use --break-system-packages
pip3 install -r requirements.txt --break-system-packagesImportant
Also, on some Debian-based systems with apt, Flask can't be installed using pip3
To install it, use apt
apt install python3-flaskTip
Also, you can use the setup.sh, located in the same directory, for automatic installation
It makes the same things
chmod +x setup.sh
./setup.shFor global-wide install of dependencies, use --break-system-packages:
./setup.sh --break-system-packagesIf you need a daemon to run Filelink as a background task (e. g. on a server), see Filelink Daemon repository
Installation and how-to-run instructions will be provided there
In the parent directory, find the run.py file and run it
python run.py
Tip
Also, in the same directory, you can find the start.cmd file for quick running in a separate window
python3 run.pyNote
By default, the server will start at 0.0.0.0:8080. You can change this in config/config.yaml (see Configuration)
In any system you can setting up Filelink using arguments
Use -f or --folder option
> run.py -f /path/to/files
> run.py --folder /path/to/files
Use -o or --no-updates option
> run.py -o
> run.py --no-updates
In config/config.yaml, you can change some settings
Set what adresses will be listen by server:
server:
address: 0.0.0.0 # all addressesSet port:
server:
port: 8080There you can set some user parameters
If the custom parameter is not set, all these settings are will be created automatically or generated by Filelink
Set passkey, if you need customize it. If not specified, the auto-generated string will contain 64 characters
custom:
passkey: some-passkeySet the username, which will be indicated in the line Hosted by: on website. If not specified, the auto-generated string will contain the username from your machine
custom:
username: filelink-userSet the path to be used for file sharing. If not specified, the files directory will be used by default.
custom:
path: /path/to/files