惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
博客园 - Franky
博客园 - 三生石上(FineUI控件)
爱范儿
爱范儿
博客园 - 司徒正美
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
美团技术团队
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
宝玉的分享
宝玉的分享
V
Visual Studio Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
IT之家
IT之家
博客园_首页
S
SegmentFault 最新的问题
A
About on SuperTechFans
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
H
Help Net Security
MongoDB | Blog
MongoDB | Blog

Solene'%

Solene Solene'% : Software to keep photos organized Solene'% : Make your own container base images from trusted sources Solene'% : Comparison of cloud storage encryption software Solene'% : Revert fish shell deleting shortcuts behavior Solene'% : Declaratively manage containers on Linux Solene'% : Hardware review: ergonomic mouse Logitech Lift Solene'% : URL filtering HTTP(S) proxy on Qubes OS Solene'% : Introduction to Qubes OS when you do not know what it is Solene'% : How to trigger a command on a running Linux laptop when disconnected from power
Solene'% : File transfer made easier with Tailscale
2026-03-08 · via Solene'%

Written by Solène, on 08 March 2026.
Tags: #security #privacy #linux #vpn

1. Introduction §

Since I started using Tailscale (using my own headscale server), I've been enjoying it a lot. The file transfer feature is particularly useful with other devices.

This blog post explains my small setup to enhance the user experience.

2. Quick introduction §

Tailscale is a network service that allows to enroll devices into a mesh VPN based on WireGuard, this mean every peer connects to every peers, this is not really manageable without some lot of work. It also allows automatic DNS assignment, access control, SSH service and lot of features.

Tailscale refers to both the service and the client. The service is closed source, but not the client. There is a reimplementation of the server called Headscale that you can use with the tailscale client.

Tailscale official website

Headscale official website

3. Automatically receive files §

When you want to receive a file from Tailscale on your desktop system, you need to manually run tailscale file get --wait $DEST, this is rather not practical and annoying to me.

I wrote a systemd service that starts the tailscale command at boot, really it is nothing fancy but it is not something available out of the box.

In the directory ~/.config/systemd/user/ edit the file tailscale-receiver.service with this content:

[Unit]
Description=tailscale receive file
After=network.target

[Service]
Type=simple
ExecStart=/usr/bin/tailscale file get --wait --loop /%h/Documents/
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

The path /%h/Documents/ will expand to /$HOME/Documents/ (the first / may be too much, but I keep it just in case), you can modify it to your needs.

Enable and start the service with the command:

systemctl --user daemon-reload
systemctl --enable --now tailscale-receiver.service

4. Send files from Nautilus §

When sending files, it is possible to use tailscale file cp $file $target: but it is much more convenient to have it directly from the GUI, especially when you do not know all the remotes names. This also makes it easier for family member who may not want to fire up a terminal to send a file.

Someone wrote a short python script to add this "Send to" feature to Nautilus

Script flightmansam/nautilus-sendto-tailscale-python

Create the directory ~/.local/share/nautilus-python/extensions/ and save the file nautilus-send-to-tailscale.py in it.

Make sure you have the package "nautilus-python" installed, on Fedora it is nautilus-python while on Ubuntu it is python3-nautilus, so your mileage may vary.

Make sure to restart nautilus, a killall nautilus should work but otherwise just logout the user and log back. In Nautilus, in the contextual menu (right click), you should see "Send to Tailscale" and a sub menu should show the hosts.

5. Conclusion §

Tailscale is a fantastic technology, having a mesh VPN network allows to secure access to internal services without exposing anything to the Internet. And because it features direct access between peers, it also enables some interesting uses like fast file transfer or VOIP calls without a relay.