0 Голосов

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

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

От версии 1.2
отредактировано Anton Krivchenkov
на 28.02.2026 21:02
Изменить комментарий: К данной версии нет комментариев
К версии 8.1
отредактировано Anton Krivchenkov
на 31.03.2026 00:03
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,5 +1,77 @@
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 +
1 1  nano disable_ping.sh
2 2  
73 +-- НЕ ввезде прокатывает )) Зависит от Хостера
74 +
3 3   #!/usr/bin/env bash
4 4   set -e
5 5  
... ... @@ -16,8 +16,145 @@
16 16   iptables -L INPUT -n | grep icmp || true
17 17   ip6tables -L INPUT -n | grep icmp || true
18 18  
19 -применяем
91 +применяем
20 20  
21 21   chmod +x disable_ping.sh && ./disable_ping.sh
22 22  
23 -
95 +# Утилиты
96 +
97 + sudo apt update && sudo apt upgrade -y && \
98 + sudo apt install -y \
99 + gpg btop ncdu nload iperf3 mc htop net-tools curl wget tree \
100 + git vim tmux mtr traceroute dnsutils iproute2 \
101 + jq lsof rsync unzip zip \
102 + netcat-openbsd socat \
103 + bash-completion \
104 + unattended-upgrades ufw fail2ban && \
105 + sudo dpkg-reconfigure -plow unattended-upgrades && \
106 + sudo apt clean && sudo apt autoremove -y
107 +
108 +Кратко, зачем что:
109 +
110 +* git – конфиги, dotfiles, скрипты.xda-developers+1
111 +* vim – базовый редактор всегда под рукой.tecmint+1
112 +* tmux – мультиплексор, чтобы сессии не умирали по SSH.admin-companion+1
113 +* mtr, traceroute – диагностика сети, трассировка + статистика.linuxblog+1
114 +* dnsutils – dig, nslookup для проверки DNS.[linuxblog](https://linuxblog.io/linux-sysadmin-tools/)​
115 +* iproute2 – современный стек ip, ss и т.п. (обычно уже стоит, но можно дотащить).manpages.ubuntu+1
116 +* jq – парсинг JSON в CLI (API, kubectl, docker и т.д.).tecmint+1
117 +* lsof – кто держит порт/файл, очень выручает.dedirock+1
118 +* rsync – бэкапы, заливка на другие сервера.[linuxblog](https://linuxblog.io/linux-sysadmin-tools/)​
119 +* unzip/zip – работа с zip‑архивами.[linuxblog](https://linuxblog.io/linux-sysadmin-tools/)​
120 +* netcat-openbsd, socat – проверки портов, простые TCP/UDP туннели.dedirock+1
121 +* bash-completion – автодополнение в bash (если на нём что‑то будешь делать).[linuxblog](https://linuxblog.io/linux-sysadmin-tools/)​
122 +
123 +--
124 +
125 +базовая настройка:
126 +
127 + # UFW
128 + sudo ufw default deny incoming
129 + sudo ufw default allow outgoing
130 + sudo ufw allow OpenSSH
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 +
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
184 +
185 +# ZSH
186 +
187 + sudo apt update && sudo apt install -y zsh git fonts-powerline curl && \
188 + sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended && \
189 + sed -i 's/^ZSH_THEME=.*/ZSH_THEME="agnoster"/' ~/.zshrc && \
190 + grep -q "^ZSH_DISABLE_COMPFIX=" ~/.zshrc && sed -i 's/^ZSH_DISABLE_COMPFIX=.*/ZSH_DISABLE_COMPFIX="true"/' ~/.zshrc || echo 'ZSH_DISABLE_COMPFIX="true"' >> ~/.zshrc && \
191 + sed -i 's/^plugins=(.*/plugins=(git sudo zsh-autosuggestions zsh-syntax-highlighting)/' ~/.zshrc && \
192 + git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions && \
193 + git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting && \
194 + printf "\nalias ll='ls -la'\nalias gs='git status'\nalias d='docker ps --format \"table {{.Names}}\t{{.Status}}\t{{.Ports}}\"'\nalias dcu='docker compose up -d'\nalias dcd='docker compose down'\nalias dl='docker logs'\nalias n='nano'\nalias lzd='lazydocker'\nalias dr='dry'\nalias dcuf='docker compose up -d --force-recreate'\nalias dv='docker ps -a --format \"table {{.Names}}\t{{.Mounts}}\"'\nalias dvc='docker ps -a --format \"{{.Mounts}}\" | tr \",\" \"\n\" | grep -v \"^$\" | sort | uniq'\nalias dvo='comm -23 <(docker volume ls -q | sort) <(docker ps -a --format \"{{.Mounts}}\" | tr \",\" \"\n\" | grep -v \"^$\" | sort | uniq)'\nalias dsp='docker system prune -a --volumes'\nalias ds='docker stats --no-stream'\nalias dcdub='docker compose down && docker compose up --build'\nalias cr_gitlab_repo='/prod/create_repo_and_push.sh'\n" >> ~/.zshrc && \
195 + chsh -s "$(which zsh)"
196 +
197 +дальше
198 +
199 + exec zsh
200 +
201 +что делает:
202 +
203 +* ставит zsh, git и powerline‑шрифты
204 +* ставит Oh My Zsh
205 +* включает нужную тему и плагины
206 +* добавляет твои алиасы
207 +* включает ZSH_DISABLE_COMPFIX="true"
208 +* делает zsh оболочкой по умолчанию
209 +
210 +--
211 +
212 +# Докер
213 +
214 + sudo curl -fsSL https://get.docker.com | sh &&
215 + LATEST=$(curl -sL https://api.github.com/repos/docker/compose/releases/latest | grep '"tag_name":' | cut -d'"' -f4)
216 + DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
217 + mkdir -p $DOCKER_CONFIG/cli-plugins
218 + curl -sSL https://github.com/docker/compose/releases/download/$LATEST/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
219 + chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
220 + docker compose version
221 +
222 +## Управление докером
223 +
224 +### ctop
225 +
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 + sudo chmod +x /usr/local/bin/ctop
228 +
229 +### lzd
230 +
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"