blob: e6f16a82b65282554e8a8a2212b0293c7c2eeadb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
post_install() {
systemd-sysusers xftp-server.conf 2>/dev/null || true
systemd-tmpfiles --create xftp-server.conf 2>/dev/null || true
# Создаём директорию если нет
mkdir -p /etc/opt/simplex-xftp 2>/dev/null || true
mkdir -p /var/opt/simplex-xftp 2>/dev/null || true
mkdir -p /srv/xftp 2>/dev/null || true
# Не перезаписываем конфиг если он уже существует
if [[ ! -f /etc/opt/simplex-xftp/file-server.ini ]]; then
# Пробуем восстановить из pacsave
if [[ -f /etc/opt/simplex-xftp/file-server.ini.pacsave ]]; then
mv /etc/opt/simplex-xftp/file-server.ini.pacsave \
/etc/opt/simplex-xftp/file-server.ini 2>/dev/null || true
elif [[ -f /etc/opt/simplex-xftp/file-server.ini.new ]]; then
mv /etc/opt/simplex-xftp/file-server.ini.new \
/etc/opt/simplex-xftp/file-server.ini 2>/dev/null || true
fi
fi
rm -f /etc/opt/simplex-xftp/file-server.ini.new
# Исправляем права на конфиги и ключи
if [[ -d /etc/opt/simplex-xftp ]]; then
chown -R xftp:xftp /etc/opt/simplex-xftp/ 2>/dev/null || true
chmod 600 /etc/opt/simplex-xftp/*.key 2>/dev/null || true
chmod 644 /etc/opt/simplex-xftp/*.crt 2>/dev/null || true
chmod 644 /etc/opt/simplex-xftp/*.ini 2>/dev/null || true
fi
chown -R xftp:xftp /var/opt/simplex-xftp/ 2>/dev/null || true
chown -R xftp:xftp /srv/xftp/ 2>/dev/null || true
echo ""
echo "======================================================================"
echo " xftp-server installed."
echo "======================================================================"
echo ""
echo " MIGRATING FROM A MANUAL INSTALLATION?"
echo " If you already have a running server with existing keys — DO NOT run"
echo " xftp-server init. Instead, restore your backup:"
echo ""
echo " cp ca.crt ca.key ca.srl fingerprint /etc/opt/simplex-xftp/"
echo " cp server.crt server.csr /etc/opt/simplex-xftp/"
echo " cp file-server.ini /etc/opt/simplex-xftp/"
echo " chown -R xftp:xftp /etc/opt/simplex-xftp/"
echo " chown -R xftp:xftp /var/opt/simplex-xftp/ /srv/xftp/"
echo ""
echo " Then start: systemctl enable --now xftp-server"
echo " Your server address (fingerprint) will remain the same."
echo ""
echo " ------------------------------------------------------------------"
echo ""
echo " FRESH INSTALLATION? Initialize first (replace with your domain):"
echo ""
echo " sudo -u xftp xftp-server init -l --fqdn=xftp.example.com \\"
echo " -q 20gb -p /srv/xftp/"
echo ""
echo " With upload password:"
echo " sudo -u xftp xftp-server init -l --fqdn=xftp.example.com \\"
echo " -q 20gb -p /srv/xftp/"
echo " Then set create_password in /etc/opt/simplex-xftp/file-server.ini"
echo ""
echo " 1. Edit config: /etc/opt/simplex-xftp/file-server.ini"
echo " - [TRANSPORT] host: your domain"
echo " - [TRANSPORT] port: 5244 (default)"
echo ""
echo " 2. Open firewall port: 5244/tcp"
echo ""
echo " 3. Start: systemctl enable --now xftp-server"
echo ""
echo " 4. Get your server address:"
echo " journalctl -u xftp-server | grep 'Server address'"
echo ""
echo " !! Back up and optionally delete the CA key after init:"
echo " cp /etc/opt/simplex-xftp/ca.key ~/ca.key.backup"
echo " rm /etc/opt/simplex-xftp/ca.key"
echo "======================================================================"
}
post_upgrade() {
# Создаём директории если нет
mkdir -p /etc/opt/simplex-xftp 2>/dev/null || true
mkdir -p /var/opt/simplex-xftp 2>/dev/null || true
mkdir -p /srv/xftp 2>/dev/null || true
# Восстанавливаем конфиг из pacsave если нет текущего
if [[ ! -f /etc/opt/simplex-xftp/file-server.ini ]]; then
if [[ -f /etc/opt/simplex-xftp/file-server.ini.pacsave ]]; then
mv /etc/opt/simplex-xftp/file-server.ini.pacsave \
/etc/opt/simplex-xftp/file-server.ini 2>/dev/null || true
elif [[ -f /etc/opt/simplex-xftp/file-server.ini.new ]]; then
mv /etc/opt/simplex-xftp/file-server.ini.new \
/etc/opt/simplex-xftp/file-server.ini 2>/dev/null || true
fi
fi
rm -f /etc/opt/simplex-xftp/file-server.ini.new
# Исправляем права
if [[ -d /etc/opt/simplex-xftp ]]; then
chown -R xftp:xftp /etc/opt/simplex-xftp/ 2>/dev/null || true
chmod 600 /etc/opt/simplex-xftp/*.key 2>/dev/null || true
chmod 644 /etc/opt/simplex-xftp/*.crt 2>/dev/null || true
chmod 644 /etc/opt/simplex-xftp/*.ini 2>/dev/null || true
fi
chown -R xftp:xftp /var/opt/simplex-xftp/ 2>/dev/null || true
chown -R xftp:xftp /srv/xftp/ 2>/dev/null || true
echo ""
echo " xftp-server upgraded — restart to apply: systemctl restart xftp-server"
}
pre_remove() {
systemctl stop xftp-server.service 2>/dev/null || true
systemctl disable xftp-server.service 2>/dev/null || true
}
post_remove() {
echo ""
echo " Data preserved in /etc/opt/simplex-xftp/, /var/opt/simplex-xftp/, /srv/xftp/"
echo " Remove manually if no longer needed."
echo " To remove the 'xftp' user: userdel xftp"
}
|