Изменения документа Proxy
Редактировал(а) Anton Krivchenkov 31.03.2026 00:03
От версии 5.1
отредактировано Anton Krivchenkov
на 02.03.2026 11:03
на 02.03.2026 11:03
Изменить комментарий:
К данной версии нет комментариев
К версии 8.1
отредактировано Anton Krivchenkov
на 31.03.2026 00:03
на 31.03.2026 00:03
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -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"