Syncthing 部署 + 域名访问

Linux
40 0

官网
https://syncthing.net

安装

wget https://github.com/syncthing/syncthing/releases/download/v1.3.0-rc.1/syncthing-linux-amd64-v1.3.0-rc.1.tar.gz
tar zxvf syncthing-linux-amd64-v1.3.0-rc.1.tar.gz
cd syncthing
cp syncthing /usr/local/bin
rm -rf syncthing*

运行一次生成配置

syncthing

修改配置 127.0.0.1 => 0.0.0.0 让外网访问

sed -i 's/127.0.0.1/0.0.0.0/g' '/root/.config/syncthing/config.xml'

防火墙

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8384 -j ACCEPT
iptables-restore < /etc/iptables/rules.v4

systemd 服务

nano /etc/systemd/system/syncthing.service

[Unit]
Description=Syncthing - Open Source Continuous File Synchronization
After=network.target
 
[Service]
User=root
ExecStart=/usr/local/bin/syncthing -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
ProtectSystem=full
PrivateTmp=true
SystemCallArchitectures=native
MemoryDenyWriteExecute=true
NoNewPrivileges=true
 
[Install]
WantedBy=default.target

运行

systemctl start syncthing

自启

systemctl enable syncthing

停止

eval $(ps -ef | grep syncthing | grep -v grep | awk '{print "kill "$2}')

访问

http://IP:8384

监听端口有

22000 (TCP)        --节点访问端口,建议开放
8384  (TCP)        --Web 控制端口,必须开放
21027 (UDP)
44647 (UDP)
37269 (UDP)

升级

syncthing --upgrade

Windows 自启

默认不打开浏览器,bat 专用。

::正常状态
start "Syncthing" syncthing.exe -no-console -no-browser

::慢运行,满检索,快响应
::start "Syncthing" /low syncthing.exe -no-console -no-browser

创建该快捷方式后运行

%programdata%\Microsoft\Windows\Start Menu\Programs\Startup

把快捷方式丢进去,即可自启。

域名访问

vhost.conf

    location / {
          proxy_set_header        Host localhost;
          proxy_set_header        X-Real-IP $remote_addr;
          proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header        X-Forwarded-Proto $scheme;

          proxy_pass              http://127.0.0.1:8384/;

          proxy_read_timeout      600s;
          proxy_send_timeout      600s;

          auth_basic "RESTRICTED ACCESS";                            # 加密
          auth_basic_user_file /usr/local/nginx/.htpasswd;           # 加密文件位置
    }

创建密码

sh -c "echo -n 'Username:' >> /usr/local/nginx/.htpasswd"

sh -c "openssl passwd -apr1 >> /usr/local/nginx/.htpasswd"
Password:xxx
Verifying - Password:xxx

重启 NGINX

service nginx restart

其它

1. 关掉使用加密连接到图形管理页面。
2. 配置文件改回 0.0.0.0 => 127.0.0.1。
3. 关闭主机头检测
  <gui enabled="true" tls="false" debugging="false">
    <insecureSkipHostcheck>true</insecureSkipHostcheck>
  </gui>
4. 最后重启 syncthing。
2019-9-18 重写全文。
更新 2017-06-17
评论 ( 0 )
私信
pic
code
pre