Изменения документа Proxy
Редактировал(а) Anton Krivchenkov 31.03.2026 00:03
От версии 8.1
отредактировано Anton Krivchenkov
на 31.03.2026 00:03
на 31.03.2026 00:03
Изменить комментарий:
К данной версии нет комментариев
К версии 2.4
отредактировано Anton Krivchenkov
на 28.02.2026 23:02
на 28.02.2026 23:02
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,77 +71,5 @@ 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 - 69 -# Отключение ICMP 70 - 71 71 nano disable_ping.sh 72 72 73 --- НЕ ввезде прокатывает )) Зависит от Хостера 74 - 75 75 #!/usr/bin/env bash 76 76 set -e 77 77 ... ... @@ -92,7 +92,7 @@ 92 92 93 93 chmod +x disable_ping.sh && ./disable_ping.sh 94 94 95 - #Утилиты23 +Утилиты 96 96 97 97 sudo apt update && sudo apt upgrade -y && \ 98 98 sudo apt install -y \ ... ... @@ -122,7 +122,7 @@ 122 122 123 123 -- 124 124 125 -базовая настройка: 53 + базовая настройка: 126 126 127 127 # UFW 128 128 sudo ufw default deny incoming ... ... @@ -129,60 +129,11 @@ 129 129 sudo ufw default allow outgoing 130 130 sudo ufw allow OpenSSH 131 131 sudo ufw enable 132 - 133 -### fail2ban 134 - 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 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 61 + # fail2ban (ssh-джейл по умолчанию) 62 + sudo systemctl enable --now fail2ban 184 184 185 - #ZSH64 +ZSH 186 186 187 187 sudo apt update && sudo apt install -y zsh git fonts-powerline curl && \ 188 188 sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended && \ ... ... @@ -209,7 +209,7 @@ 209 209 210 210 -- 211 211 212 - #Докер91 +Докер 213 213 214 214 sudo curl -fsSL https://get.docker.com | sh && 215 215 LATEST=$(curl -sL https://api.github.com/repos/docker/compose/releases/latest | grep '"tag_name":' | cut -d'"' -f4) ... ... @@ -219,14 +219,16 @@ 219 219 chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose 220 220 docker compose version 221 221 222 - ##Управление докером101 +Управление докером 223 223 224 - ###ctop103 +ctop 225 225 226 226 sudo wget https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -O /usr/local/bin/ctop 227 227 sudo chmod +x /usr/local/bin/ctop 228 228 229 - ###lzd108 +lzd 230 230 231 231 DIR=/usr/local/bin \ 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" 111 + bash -c 'curl -fsSL https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash && echo "alias lzd='\''lazydocker'\''" >> "$HOME/.zshrc"' 112 + 113 +