Although cloud services are the preferred option for viewing our documents on different computers, We'll probably look for an alternative that offers greater privacy. In this post, we'll look at some alternatives for sharing files between computers.
It recently emerged that WeTransfer, a popular large-file transfer service, was using them to train AI, and it's likely that some popular cloud services are doing the same. Therefore, it's useful to consider other options.
Alternatives for sharing files between computers
We're not going to discuss KDE Connect and its GNOME variant, GSConnect, in this article because we've done so many times before, so we'll focus on lesser-known titles.
Samba
If we have to share files between two computers connected to the same local network, this is a good option.Under the name Samba are a set of programs that implement the protocol used by Windows to share resources.
With Samba we can share files and folders allowing users to access specific directories on other computers.
It is installed with
sudo apt update
sudo apt install samba
Next, we create a directory to store the files to be shared and give it the necessary permissions.
sudo mkdir -p /srv/samba/compartido
sudo chown nobody:nogroup /srv/samba/compartido
sudo chmod 0775 /srv/samba/compartido
We open the configuration file
sudo nano /etc/samba/smb.conf
We add this to the end of the file
[Compartido]
path = /srv/samba/compartido
browseable = yes
read only = no
guest ok = yes
This setting is for access without authentication, if we want a password to be required:
Add your user to Samba
sudo smbpasswd -a username
Open the configuration file
sudo nano /etc/samba/smb.conf
And add this instead of the previous block of text
[Compartido]
path = /srv/samba/compartido
browseable = yes
read only = no
valid users = nombre_usuario
We restart Samba
sudo systemctl restart smbd
In case we have a firewall configured
sudo ufw allow samba
To access the shared server from another computer, we need to know the IP address of the server. We can do this in the following way.
- In Windows, go to Settings > Network & Internet > Status > Properties in the IPv4 Address section.
- In Linux, type hostname -I in the terminal.
How to launch Samba.
- In Windows by typing Server_IP/Folder_Name
- On Linux
smbclient //ip_del_servidor/nombre de la carpetaand if you have a password-U de usuario</ li>
LocalSend
In this case we have a useful application to share files between desktop computers (Windows, Linux, MacOS) and mobile devices (iOS and Android)It's ideal for paranoids and privacy lovers because it doesn't require creating an account and can work even when there's no internet connection.
If you make a mistake and select the wrong file to transfer, you can correct it from the app on the destination file. If you're anxious like me, there are metrics that show the progress and speed of the transfer. You can also cancel the transfer before it's complete.
Both the sender and the receiver receive a notification when it is finished.
You can find the app here:
Linux (Snap Format)
Linux (FlatHub Format)
Android (play store)
Windows (Executable)
syncthing
This program is a continuous file synchronizer between two computers. This means that when you modify a file on one computer, it is also modified on the other. It's based on an open protocol and uses cryptographic certificates to ensure that connected devices are truly authorized.
The program works both locally and online without the need for complex configurations, as it uses the IDs of each device. It is also possible to determine with whom the files are shared.
In addition to Linux, there are versions for macOS, Windows, FreeBSD, Solaris, and OpenBSD. Download links are available at this page.
Share
It is the simplest of the applications we will discuss. It allows us to share files from our Linux with any device that has a QR code reader and is connected to the same local network.
FlatHub StoreWe can drag and drop individual files, directories to select all or some files and clipboard content.