0 Голосов

Изменения документа Proxy

Редактировал(а) Anton Krivchenkov 31.03.2026 00:03

От версии 5.1
отредактировано Anton Krivchenkov
на 02.03.2026 11:03
Изменить комментарий: К данной версии нет комментариев
К версии 8.1
отредактировано Anton Krivchenkov
на 31.03.2026 00:03
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,3 +1,71 @@
1 +{{velocity}}
2 +{{html clean="false"}}
3 +<style>
4 + /* Стили для кнопки внутри стандартного блока .code */
5 + .code {
6 + position: relative !important; /* Позволяет кнопке «прилипнуть» к углу */
7 + }
8 +
9 + .copy-btn-standard {
10 + position: absolute;
11 + top: 5px;
12 + right: 5px;
13 + z-index: 100;
14 + padding: 3px 8px;
15 + font-size: 11px;
16 + background: rgba(255, 255, 255, 0.1);
17 + color: #fff;
18 + border: 1px solid rgba(255, 255, 255, 0.2);
19 + border-radius: 3px;
20 + cursor: pointer;
21 + transition: all 0.2s;
22 + }
23 +
24 + .copy-btn-standard:hover {
25 + background: rgba(255, 255, 255, 0.2);
26 + border-color: #fff;
27 + }
28 +</style>
29 +
30 +<script>
31 +(function() {
32 + function addCopyButtons() {
33 + // Находим все стандартные блоки макроса {{code}}
34 + const blocks = document.querySelectorAll('.code');
35 +
36 + blocks.forEach(block => {
37 + // Проверяем, не добавили ли мы кнопку уже
38 + if (block.querySelector('.copy-btn-standard')) return;
39 +
40 + const btn = document.createElement('button');
41 + btn.className = 'copy-btn-standard';
42 + btn.innerText = 'Копировать';
43 +
44 + btn.onclick = function(e) {
45 + e.preventDefault();
46 + // Берем текст блока, исключая текст самой кнопки
47 + const textToCopy = block.innerText.replace('Копировать', '').trim();
48 +
49 + navigator.clipboard.writeText(textToCopy).then(() => {
50 + const originalText = btn.innerText;
51 + btn.innerText = '✅';
52 + setTimeout(() => { btn.innerText = originalText; }, 1500);
53 + });
54 + };
55 +
56 + block.appendChild(btn);
57 + });
58 + }
59 +
60 + // Запуск после загрузки страницы
61 + document.addEventListener('DOMContentLoaded', addCopyButtons);
62 + // На случай, если страница загружается асинхронно
63 + setTimeout(addCopyButtons, 1000);
64 +})();
65 +</script>
66 +{{/html}}
67 +{{/velocity}}
68 +
1 1  # Отключение ICMP
2 2  
3 3  nano disable_ping.sh
... ... @@ -62,57 +62,58 @@
62 62   sudo ufw allow OpenSSH
63 63   sudo ufw enable
64 64  
65 -
66 -`sudo apt install fail2ban -y
67 -sudo bash -c 'cat > /etc/fail2ban/jail.local << "JAIL"
68 -[DEFAULT]
69 -bantime = 24h
70 -findtime = 10m
71 -maxretry = 3
133 +### fail2ban
72 72  
73 -bantime.increment = true
74 -bantime.factor = 2
75 -bantime.maxtime = 4w
135 + sudo apt install fail2ban -y
136 + sudo bash -c 'cat > /etc/fail2ban/jail.local << "JAIL"
137 + [DEFAULT]
138 + bantime = 24h
139 + findtime = 10m
140 + maxretry = 3
141 +
142 + bantime.increment = true
143 + bantime.factor = 2
144 + bantime.maxtime = 4w
145 +
146 + banaction = iptables-multiport
147 + banaction_allports = iptables-allports
148 +
149 + ignoreip = 127.0.0.1/8 ::1
150 +
151 + [sshd]
152 + enabled = true
153 + logpath = %(sshd_log)s
154 + backend = %(sshd_backend)s
155 + maxretry = 3
156 + bantime = 48h
157 + findtime = 15m
158 + mode = aggressive
159 +
160 + [sshd-ddos]
161 + enabled = true
162 + logpath = %(sshd_log)s
163 + backend = %(sshd_backend)s
164 + maxretry = 5
165 + bantime = 24h
166 + findtime = 30s
167 +
168 + [recidive]
169 + enabled = true
170 + logpath = /var/log/fail2ban.log
171 + maxretry = 3
172 + bantime = 4w
173 + findtime = 7d
174 + banaction = iptables-allports
175 + JAIL
176 + apt-get update
177 + apt-get install -y fail2ban
178 + systemctl enable --now fail2ban
179 + systemctl restart fail2ban
180 + echo "fail2ban настроен и запущен"
181 + '
182 + systemctl enable fail2ban
183 + systemctl restart fail2ban
76 76  
77 -banaction = iptables-multiport
78 -banaction_allports = iptables-allports
79 -
80 -ignoreip = 127.0.0.1/8 ::1
81 -
82 -[sshd]
83 -enabled = true
84 -logpath = %(sshd_log)s
85 -backend = %(sshd_backend)s
86 -maxretry = 3
87 -bantime = 48h
88 -findtime = 15m
89 -mode = aggressive
90 -
91 -[sshd-ddos]
92 -enabled = true
93 -logpath = %(sshd_log)s
94 -backend = %(sshd_backend)s
95 -maxretry = 5
96 -bantime = 24h
97 -findtime = 30s
98 -
99 -[recidive]
100 -enabled = true
101 -logpath = /var/log/fail2ban.log
102 -maxretry = 3
103 -bantime = 4w
104 -findtime = 7d
105 -banaction = iptables-allports
106 -JAIL
107 -apt-get update
108 -apt-get install -y fail2ban
109 -systemctl enable --now fail2ban
110 -systemctl restart fail2ban
111 -echo "fail2ban настроен и запущен"
112 -'
113 -systemctl enable fail2ban
114 -systemctl restart fail2ban`
115 -
116 116  # ZSH
117 117  
118 118   sudo apt update && sudo apt install -y zsh git fonts-powerline curl && \
... ... @@ -160,4 +160,4 @@
160 160  ### lzd
161 161  
162 162   DIR=/usr/local/bin \
163 - bash -c 'curl -fsSL https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash && echo "alias lzd='\''lazydocker'\''" >> "$HOME/.zshrc"'
232 + curl -fsSL https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | sudo DIR=/usr/local/bin bash && echo "alias lzd='lazydocker'" >> "$HOME/.zshrc"