File Portal is a simple, peer-to-peer, file transfer tool written in Java. It utilizes JavaFX for the GUI and the standard java.io
and java.net
APIs. It was designed to transfer files directly to a peer's computer as opposed to uploading to a third party service and then having a peer download it.
- Simple to use UI
- Supports multiple concurrent file transfers to differing connections
- File transfer manager; users are able to pause/cancel transfers (right click a drop down tab)
DISCLAIMER: Before downloading anything in this repository, you must agree that I am NOT liable for any malicious use or illegal activity that occurs with the use of its contents. ONLY use this tool with those you personally know and TRUST!
Please check the target
folder then download and double-click FilePortal-1.0.jar
to run.
- Java 8 Runtime or Higher
- ~14 MB of Disk Space
- Optional: Knowledge of Port Forwarding
Decide between you and your peer who will be the Host
. This person must port forward their network on a port of their choice (the default is 54000
) unless both parties are on the same network.
-
- Click
Select
and locate the file to be sent.- Click the
Host
checkbox next to thePort
input field. - Input your desired port in the
Port
input field. - Click
Send
and wait for your peer to connect.
- Type in your peer's IP Address excluding the port into the
IP Address
input field. - Type in your peer's chosen port in the
Port
input field. - Click
Send
once your peer has completed their setup.
- Click the
- Click
-
- Click
Save
and select the desintation where the incoming file will be saved.- Click the
Host
checkbox next to thePort
input field. - Input your desired port in the
Port
input field. - Click
Receive
and wait for your peer to connect.
- Type in your peer's IP Address excluding the port into the
IP Address
input field. - Type in your peer's chosen port in the
Port
input field. - Click
Receive
once your peer has completed their setup.
- Click the
- Click
I mainly use this to quickly transfer files between my laptop and my desktop as it is much faster than using a Google Drive or a USB Drive. In my testing, I am able to successfully transfer roughly 1GB in ~25 seconds on average. I simply punch in my laptop's IPv4 and the file sends almost instantly.
Let me know if you find any bugs or have any suggestions to futher improve performance! Enjoy.
- When one end cancels a transfer while the other user is paused, once they resume the transfer, the system will assume that the transfer was successful as the connection had been terminated. This is due to reading the end of the input stream being the same value as a disconnect. Please merely delete the partial file :)