- 1
$ find ~ -name .git -type d -prune -printf "***\n%p\n***\n" -exec git -C '{}/..' status \;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
$ find ~ -name .git -type d -prune -printf "***\n%p\n***\n" -exec git -C '{}/..' status \;
MAKAKA 21.02.2021 04:49 # 0
вот так я проверяю статусы своих проектов
hormand 21.02.2021 13:24 # 0
guest6 21.02.2021 05:45 # 0
Есть два варианта:
* цепочка, куда он будет срать -j DROPами, а я буду в нее -j из INPUT
* использовать ipset
Вроде как мулион CIDR адресов проще хранить в ipset. Это правильнее?
bormand 21.02.2021 06:23 # 0
Про ipset согласен. Он быстрее линейного поиска.
guest6 21.02.2021 15:18 # 0
115.57.127.137 (115.57.127.137): 1697 Times
bormand 21.02.2021 15:25 # 0
Ну будет 16 раз вместо 1600.
MAKAKA 21.02.2021 15:43 # 0
так в том-то и дело:)
чем меньше пидорасов тем лучше. Кстати, я хочу загрузить в ipset российские сети из geoip.
Я за пределы Роиссии всё равно не ежжу, а многих пидорсов это отсечет
что думаешь?
guest6 21.02.2021 15:46 # 0
MAKAKA 21.02.2021 15:48 # 0
Кстати, в истории про чувака, которому поломали RDP в Querty, порт был совсем не стандартный. но это его не спасло
guest6 21.02.2021 15:49 # 0
MAKAKA 21.02.2021 15:52 # 0
Если есть возможность уменьшить соприкосновение с говном, то лучше же уменьшить, нет?
ps: в случае RDP всё еще хуже, так как там нет ключа, но RDP вообще без VPN нельзя никогда и никому
guest6 21.02.2021 16:00 # 0
Ну и пароль 123 не ставь.
MAKAKA 21.02.2021 16:00 # 0
guest6 21.02.2021 16:01 # 0
MAKAKA 21.02.2021 16:04 # 0
момент прихода urgent обновления, которое нужно поставить
момент взлома и захода к тебе с логином admin (ну вдруг там дырку в ssh нашли)
guest6 21.02.2021 16:06 # 0
MAKAKA 21.02.2021 16:09 # 0
Обычно ssh срутся в secure.
logwatch собирает из этого дайджест, и про каждый ip пишет, сколько раз он пытался к тебе пробиться
guest6 21.02.2021 16:14 # 0
MAKAKA 21.02.2021 16:16 # 0
guest6 21.02.2021 16:01 # 0
MAKAKA 21.02.2021 16:02 # 0
или вот открывать порт 22, и сразу отдавать туда терабайт данных.
Нехай хомяк подавится
bormand 21.02.2021 17:53 # 0
А продвинутые ботнеты, я думаю, уже давно научились понимать что к чему и отключаться по таймауту или при кривом ответе.
MAKAKA 21.02.2021 18:07 # 0
я так в молодости со спамом боролся. Когда к тебе пидарас подключается, то он обычно делает это с маленьким таймаутом, потому что у пидараса еще миллион лохов на очереди, пидарасу торопиться надо.
А нормальный сервер никуда не торопится, так что таймаут в 2 секунды для него не проблема
bormand 21.02.2021 18:11 # 0
MAKAKA 21.02.2021 18:14 # 0
Только вот как ты объянпишь питуху, что его письмо пол часа идет, как в 1988-м году?
bormand 21.02.2021 18:16 # 0
MAKAKA 21.02.2021 18:40 # 0
--Я тут письмо отсылал пол часа назад. Говорят, оно не пришло
--Ща (смотрит ``mailq``), сейчас поправлю
MAKAKA 21.02.2021 17:20 # 0
У убунтублядей по умолчанию стоит ufw. Это такой тул для тех, кто слишком туп для iptables.
ufw по умолчанию делает ``-P INPUT DROP`` и первым правилом -j в какие-то свои цепочки.
В ``sshguard-setup`` написано, что он создает ipset sshguard4, и предлагает в iptables делать
``-m set --match-set sshguard4 src -j DROP``
У ufw есть спец файл before.rules, в который можно срать кастомными правилами.
Но разумеется ufw стартует ДО sshguard, не видит такого сета, падает, и машина остается с пустым INPUT с политикой DROP по умолчанию.
Мучающиеся пользователи обоссаного ufw пишут свои юниты с Before=ufw.service
https://selivan.github.io/2018/07/27/ipset-save-with-ufw-and-iptables-persistent-and.html
А белый человек просто берет ``netfilter-persistent``: У него есть плагин для ipset и iptables, и разумеется ipset идет раньше.
Так что счастливые пользователи ufw либо используют цепочку вместо ipset (цепочку создать в ufw можно, так как она тоже создается через iptables) либо пилят свой юнит
В этом есть еще глобальный отсос прыщеблядей, потому что iptables и ipset это разные тулы. А должны быть конечно одной и той же тулой.
В файрволах для белых людей типа pf и таблицы адресов, и правила для работы с ними создаются одинаково
bormand 21.02.2021 17:25 # 0
А вкатить туда пустой сет, который потом sshguard наполнит не прокатит? Тогда его скрипт упадёт?
Или это не шелл скрипт, а именно набор ПРАВИЛ для iptables?
MAKAKA 21.02.2021 17:27 # 0
bormand 21.02.2021 17:30 # 0
Х.з., мне вообще не нравится идея таскать персистентный снимок правил. Он поди ещё и автоматом всё говно сохраняет, а не когда ты попросишь?
MAKAKA 21.02.2021 17:33 # 0
Работает так:
* делаешь нужные тебе правила
* читаешь -L , убеждаешься, что всё ок
* говоришь ему save
При старте он их поднимает. из ненужного говна он сохраняет разве что счетчики.
А как тебе нравится? Шел скрипт с iptables при загрузке?
Лучше всего конечно pf со своим pf.conf, но увы
bormand 21.02.2021 17:35 # 0
Да, шелл скрипт. Его хоть читать и документировать можно, в отличие от.
MAKAKA 21.02.2021 17:40 # 0
Комментировать можно через ``-m comment``, да и править руками.
Но я согласен, что писать руками удобнее
bormand 21.02.2021 17:44 # 0
Бля, ну это как json комментировать через фейковые поля... Выглядит как говно, если честно.
Да и добавлять правила в середину таблицы не особо приятно. А в скрипте это просто курсор подвинуть.
MAKAKA 21.02.2021 17:46 # 0
L --line-number
а потом -I [номер] вроде
Какой дистриб предлагает скрипт по умолчанию кроме слаки?
не хочется делать самопал
bormand 21.02.2021 17:50 # 0
Сразу вспоминается древний бейсик или какой-нибудь ed...
MAKAKA 21.02.2021 17:55 # 0
Кстати, проблему возможно можно решить с помощью nfttables: там вроде наконец один интерфейс для работы И с таблтцами адресов, и с правилами, но могу напиздеть
bormand 21.02.2021 17:40 # 0
Ибо "делаешь правила" часто заканчивается отвалом консоли, особенно по ньюфажеству.
MAKAKA 21.02.2021 17:45 # 0
Но лучше всего проблему решил микрот:
https://wiki.mikrotik.com/wiki/Manual:Console#Safe_Mode
Хз, почему никто эту идею у него не подрезал
hormand 21.02.2021 23:58 # 0
Desktop 21.02.2021 18:22 # 0
guest6 21.02.2021 23:17 # 0
правда, sshguard там по умолчиню не имеет конфига, а в экзампле лежит кривой, так что чуток нужно попирдолица и почитать ман
guest6 21.02.2021 15:48 # 0
MAKAKA 21.02.2021 15:49 # +3
У птиц есть такая фишка. У них нету сфинктера, потому процесс сранья они не контролируют.
Desktop 21.02.2021 18:22 # 0
MAKAKA 21.02.2021 18:38 # +1
Desktop 21.02.2021 18:39 # +1
bormand 21.02.2021 18:40 # +1
MAKAKA 21.02.2021 18:43 # +2
Умение контролировать свои эмоции и сранье -- удел высших существ. Млекопитающих всяких
bormand 21.02.2021 18:49 # 0
Desktop 21.02.2021 18:53 # 0
Анатомически существуют два разных сфинктера:
Внутренний сфинктер ануса (The internal sphincter of the anus) - гладкомышечный, непроизвольно сокращаемый сфинктер.
Внешний сфинктер ануса (The external sphincter of the anus) - состоящий из поперечно-полосатой мускулатуры, сокращаемый произвольно то есть управляемый сознанием сфинктер.
hormand 21.02.2021 21:14 # 0
MAKAKA 21.02.2021 18:53 # +2
Млеки не летают, так что бОльшую часть жизни они проводят в каком-то закрытом пространстве, и зачем там срать?
во-вторых наверное тебя по говну учуит хищник(если ты жертва) или жертва (если ты хищник)
Знаешь же про медведя и колокольчик?
ЗЫ: это всем бы не помешало, но видимо не все развились
Desktop 21.02.2021 18:54 # +2
– История появления и эволюция компьютера
– Эволюция компьютера - Дилетант
– Эволюция Windows - как менялась самая популярная система
– Эволюция Интернета
bormand 21.02.2021 19:01 # +2
guest6 21.02.2021 19:03 # +1
hormand 23.02.2021 13:08 # 0
Desktop 21.02.2021 18:55 # 0
Desktop 21.02.2021 18:44 # +2
MAKAKA 21.02.2021 18:45 # 0
Desktop 21.02.2021 18:49 # +1
они одиноки
но всё-таки раки не так жестоки
JloJle4Ka 21.02.2021 18:52 # +1
Rooster 21.02.2021 20:03 # +1
bormandinho 22.02.2021 12:00 # +2
Desktop 23.02.2021 16:19 # +1
— Так ведь другого-то и нет!
— Вот никакого и не читайте.
Desktop 23.02.2021 15:55 # +1
bormand 23.02.2021 16:10 # +2
Desktop 23.02.2021 16:15 # +2
guest6 23.02.2021 16:50 # 0
bormand 23.02.2021 16:52 # 0
guest6 23.02.2021 16:57 # 0
guest6 23.02.2021 15:31 # 0
ахахах
JloJle4Ka 23.02.2021 16:09 # 0
guest6 23.02.2021 16:49 # 0
BJlADuMuPCKuu_nemxy 23.02.2021 16:59 # +1
MAKAKA 23.02.2021 17:41 # +1
подсудимых принесут
Прокурора и истца
Ламца дрица гопцаца
guest6 23.02.2021 15:33 # 0
bormand 23.02.2021 15:34 # +1
guest6 23.02.2021 15:59 # +2
Desktop 23.02.2021 15:48 # +1
git pull для покрупнее
guest6 23.02.2021 16:00 # 0
>git pull
на прдакш сервере доступ к гиту?
Desktop 23.02.2021 16:03 # 0
> на прдакш сервере доступ к гиту?
- pet project же, что такого? По ключу всё равно доступ. На том же гх можно настроить read-only access
bormand 23.02.2021 16:12 # 0
У ngk вообще был r/w доступ на его репу... Ибо кому она нахуй сдалась.
На серваке пилил, оттуда же коммитил.
Desktop 23.02.2021 16:16 # 0
Я так понимаю, что тот же гх чисто по имейлу в коммите юзверя определяет?
bormand 23.02.2021 16:18 # +2
А никак. Что напишешь в переменной -- то и закоммитит. Никаких проверок там нет.
Ты вон даже на гитхабе можешь коммитить от имени Линуса.
guest6 23.02.2021 16:19 # +1
Desktop 23.02.2021 16:21 # 0
bormand 23.02.2021 16:25 # 0
Хотя никто вроде так не делает.
Desktop 23.02.2021 16:28 # 0
Я просто к тому, насколько просто иметь командный git просто как git over ssh, без гитлабов, gitea и прочего
bormand 23.02.2021 16:29 # 0
Но "права на ветки" и т.п. будешь сам прикручивать, емнип.
Desktop 23.02.2021 16:31 # 0
bormand 23.02.2021 16:35 # +1
Для одного человека, конечно, вообще насрать.
bormand 23.02.2021 16:28 # 0
Desktop 23.02.2021 16:31 # 0
bormand 23.02.2021 16:34 # 0
guest6 23.02.2021 16:18 # 0
Я собираю разные подходы
* сборку пакета и установку
* пул из гита и запуск шелскрипта
* python fabric и иже с ними (для удаленного запуска)
* контейнеры гит
Desktop 23.02.2021 16:22 # 0
guest6 23.02.2021 16:45 # +1
А почему я написал гит -- я не знаю
По всей видимости, я ебалн
Desktop 23.02.2021 16:46 # 0
bormand 23.02.2021 16:52 # 0
JloJle4Ka 23.02.2021 16:06 # +1
Desktop 23.02.2021 16:07 # +2
MAKAKA 23.02.2021 17:50 # 0
У меня вот при выкладке много всякого говна происходит
А в другом месте делается rsync, чтобы всё не пересоздавать.
И есть еще фронтэнд с ``npm install`` и вебпаком!
Неужели каждый свое пилит?
Desktop 23.02.2021 18:17 # 0
guest6 23.02.2021 19:17 # 0
просто интересно, кто как делает
Fike 23.02.2021 18:19 # 0
Desktop 23.02.2021 18:22 # 0
JloJle4Ka 23.02.2021 18:27 # 0
bootcamp_dropout 23.02.2021 20:34 # 0
сборка статики разве не должна быть частью пайплайна фронта?
а гзип - настройкой сервера?
MAKAKA 23.02.2021 21:28 # 0
Как еще она может быть описана кроме как шелл скриптом?
>сборка статики разве не должна быть частью пайплайна фронта?
Должна. В этом конкретном проекте ее нет, но если бы была -- то конечно бы я ее туда включил.
>а гзип - настройкой сервера?
Это предархивирование. Каждый .css и .js файл архивируется в .gz.
А потом nginx берет уже готовую gz версию, не архивя ничего на лету (gzip_static)
bootcamp_dropout 24.02.2021 00:26 # 0
MAKAKA 24.02.2021 00:31 # 0
bootcamp_dropout 24.02.2021 00:35 # 0
Саму конфигурацию ты пишешь "на коленке" но на вебпаке пишут многие, и докерфайл пишут многие поэтому каждый новый скрипт понятен и в него легко въехать человеку с улицы что и отличает его от поделки на коленке
guest6 24.02.2021 00:39 # +1
Я правда не понимаю, чем написание шелл скрипта отличается от написания того же самого в RUN в докере)
Однако, докер хотя бы автоматизирует процесс (docker pull итд)
bootcamp_dropout 24.02.2021 00:43 # 0
>чем написание шелл скрипта отличается от написания того же самого в RUN в докере
если ты все равно используншьдокер для деплоя, почему бы на нем и не написать?
guest6 23.02.2021 19:17 # 0
guest6 23.02.2021 20:11 # 0
MAKAKA 23.02.2021 21:28 # 0
guest6 23.02.2021 21:31 # 0
guest6 23.02.2021 21:37 # 0
guest6 23.02.2021 21:39 # 0
guest6 23.02.2021 21:40 # 0
guest6 23.02.2021 20:13 # 0
guest6 23.02.2021 19:29 # 0
https://i.postimg.cc/Dy2xYhGr/image.png
hormand 23.02.2021 22:58 # 0
6e3By3HbIu_nemyx 25.02.2021 23:31 # 0
MAKAKA 26.02.2021 01:25 # 0
Это find, она может в любом shell работать