Подписка Obsidian в России, sync, public...
Используй бесплатный git. Заведи свой сервер. 10 минут дел.
Я сказал Git, а не Github. Давай разберись уже с этим, айтишник.
Всем привет!
Решил поделиться своим небольшим опенсорс-проектом на C# (Windows Forms). Программа называется EasyGit, и создал я её чисто для себя и друзей, чтобы решать одну простую задачу — быстро клонировать Git-репозитории в пару кликов, не открывая терминал и не запуская тяжелые официальные клиенты.
Логика под капотом работает на библиотеке LibGit2Sharp.
Начинающим разработчикам, которые ещё путаются в командах терминала.
Тем, кому нужно просто быстро стянуть проект с гитхаба в нужную папку и сразу начать работать, не вспоминая синтаксис git clone.
Интерфейс максимально простой (никакого перегруженного мусора): вставил ссылку на репозиторий, выбрал папку на компе, нажал кнопку — и всё готово. Проект полностью открытый, исходники весят копейки, а весь лишний компиляционный мусор я уже отсек, так что репозиторий теперь чистый как слеза.



Скриншоты из программы
Сейчас как раз выкатил свежее обновление, поправил пару багов и доработал встроенный апдейтер, так что утилита теперь сама умеет проверять свежие релизы на GitHub.
Ссылка на репозиторий (там же лежит готовый релиз в архиве): https://github.com/Pashamin/EasyGit/
Буду рад фидбеку и критике, код открытый, так что если есть идеи, что улучшить — залетайте в пул-реквесты!
Разработчик пишет код, коммитит. В описании одного из коммитов мелькает «HERMES.md» — просто название файла. После этого ИИ-ассистент в терминале начинает молча тратить деньги сверх оплаченного тарифа. Человек работает как обычно и не замечает — пока не кончается лимит доплаты. Сотни долларов мимо.
Я перечитал issue на GitHub дважды — звучит как байка. Но там пошаговое воспроизведение в три команды, таблица «что ломает, что нет» и холодный ответ поддержки. Не байка.
Автор issue платит за подписку Claude Code — $200 в месяц. В личном кабинете квота почти полная: потрачено 13%. А система пишет, что доплата сверх тарифа исчерпана. $200.98 — ушли на доплату, хотя должны были идти из подписки.
Он не стал гадать. Клонировал репозитории, удалял историю коммитов кусками, сужал круг. Нашёл: если в тексте коммита есть слово «HERMES.md» — Claude Code начинает считать запросы как платные сверх тарифа. Не файл на диске — именно строка в описании коммита. В нижнем регистре «hermes.md» — всё работает. «HERMES.txt» — тоже нормально. Только «HERMES.md» большими буквами ломает биллинг.
Воспроизводится в три команды в пустой папке:
mkdir /tmp/test-fail && cd /tmp/test-fail git init && echo test > test.txt && git add . && git commit -m "add HERMES.md"
После этого любой запрос к Claude Code — и деньги идут мимо тарифа. Почему? Claude Code перед каждым запросом читает свежие коммиты из репозитория и отправляет их на сервер как часть контекста. Сервер видит «HERMES.md» — и переключает маршрут.
Если ты работал в таком репо неделями — счётчик крутился, пока ты искал не баг, а «почему модель стала такой жадной».
Разработчик Anthropic закрыл тикет в тот же день: мол, сработала «слишком агрессивная система защиты от злоупотреблений», исправили.
Вдумайся. «Защита от злоупотреблений», которая не блокирует запрос, а молча переключает тебя на платный счётчик. Это как если бы антиспам в почте не удалял письма, а тихо переводил тебя на платный тариф. (Аналогия корявая, но суть та же.)
Дальше — классика. Поддержка отвечает шаблоном: мол, не компенсируем технические ошибки биллинга. Человек провёл полное расследование, нашёл причину, написал воспроизведение с нуля — а ему автоответ.
Тред попал на Hacker News, набрал тысячу с лишним голосов — публичный скандал оказался единственным рычагом быстрее тикета. После этого — рефанд и кредит для затронутых. До HN — не дождался. Мне кажется, выводы тут очевидны.
Если ты пользуешься Claude Code и привязал карту — твоя история коммитов уже не «просто текст». Раньше ты думал про секреты в .env. Теперь думай ещё и про строку в git log: любой инструмент, который скармливает его ИИ-модели как контекст, делает из сообщений коммитов часть контракта с биллингом.
К слову, баг стреляет не только на claude-opus-4-6 — автор проверил на claude-opus-4-7, результат тот же. Тикет закрыли в тот же день — это быстро. Но $200 уже ушли.
Странные списания при полной квоте? Смотри не дашборд — смотри, что недавно коммитили в активном репо. И если инструмент ведёт себя как чёрный ящик — иногда срабатывает только публичный тикет с пошаговым воспроизведением. Не потому что так надо жить.
Короткий вывод, без морали сверху: когда продукт обещает «агента в терминале», он обязан быть предсказуемым в том, за что именно ты платишь. Иначе это не ассистент — слот-машина с README.
Ещё разборы инструментов и денег в ИИ: MAX · aivibenews.ru
По работе приходится очень часто и очень много репозиториев Git обновлять. Порядка 200 за раз. Причём сервер в РФ. Я тоже в РФ. И очень часто происходит разрыв соединения на стороне провайдера со статусом 128.
Стандартная библиотека OpenSSL, которую Git использует по умолчанию, не могла договориться с промежуточным узлом провайдера о параметрах TLS.
Наконец нашёл решение.
git config --global http.sslBackend schannel
Если и это не поможет, то можно попробовать вернуться к старой версии протокола
git config --global http.version HTTP/1.1
Было несколько сообщений о подобных проблемах.
Наконец какое-то время смогу пожить нормально. Хотя кого я обманываю.
Надеюсь именно тебе пригодится.
Как всё начиналось
В телеграм-канале подписчики выбрали новый челлендж: сделать Git в Telegram. Чтобы можно было через бота инитить проекты, пушить файлы, коммитить — и всё это в публичном канале с тредами.
Хранение данных
Сначала хотел всё в JSON пихать. Два дня подергал — понял, что это пиздец. Конкурентный доступ, целостность данных, версионность — JSON для такого не приспособлен.
Перешёл на SQLite. Просто, надёжно, транзакции есть, всё в одном файле.
Сущности расписал:
users — кто юзает
projects — проекты (привязаны к треду в канале)
files — файлы внутри проекта
file_versions — все версии файлов (чтоб откатываться можно было)
commits — коммиты
commit_files — связка коммитов с версиями файлов
В коде завёл датаклассы, чтоб не таскать кортежи из SQL. Теперь из базы возвращаются нормальные объекты, IDE подсвечивает, типы контролируются.
Я возненавидел маркДАУНА
Казалось бы, что может быть проще: обернул код в тройные апострофы, указал язык — и Telegram сам подсветит.
В теории.
На практике Telegram использует свой диалект Markdown, где куча служебных символов: _, *, [, ], (, ), ~, >, #, +, -, =, |, {, }, ., ! — и их надо экранировать.
В коде эти символы встречаются на каждом шагу.
Перепробовал кучу вариантов экранирования:
экранировать всё подряд — код превращается в кашу
не экранировать — Telegram шлёт нахуй
экранировать только проблемные места — всё равно вылезали ошибки
В какой-то момент просто забил на Markdown и перешёл на HTML. Telegram умеет принимать HTML. Да, он не такой красивый, но зато предсказуемый.
Всё. Никаких точек, подчеркиваний, обратных слешей. Три символа — и код летит как надо.
Права доступа, которые работали сами
Когда бот начал обрастать функциями, задумался о безопасности. Начал писать проверки в каждую команду:
Добавил в /commit, потом в /rm, потом в /branch... И тут до меня дошло.
Они уже работали. С самого начала.
Я просто забыл, как спроектировал базу данных. В таблице projects есть поле owner_id, и все запросы фильтруются по нему. Показать проекты — только свои. Найти файл — только в своих. Выбрать проект — только из своих.
Команды
Думал будет команд 5-6. Щас уже под два десятка:
/start, /init, /use, /list, /ls, /commit, /log, /status, /rm, /rmproject, /rmproject_confirm, /ignore, /ignored, /unignore, /branch, /branches, /checkout, /diff, /cat
И это не предел. Хочется ещё /tree добавить, коллаборацию, приватные проекты... А там может и до безумных идей дойдём — типа кодспейса прямо в боте, чтоб код редактировать не выходя из Telegram.
Что в итоге
GitGram живёт и работает. Бот принимает файлы, коммиты ходят, ветки переключаются, диффы показываются. Всё в тредах, каждый проект отдельно.
Все файлы падают в канал-репозиторий: @Git_Gram
Бот: t.me/Git_GramBOT
Вся разработка ведется ТУТ!
Да, на практике GitGram нахуй не нужен. Есть GitHub, GitLab, куча нормальных инструментов. Но сама задумка прикольная.
Когда читал, родилась новая тема для ИА Панорамы. Дальше в их стиле:
Государственной Думой принят закон о запрете на территории России распространения клавиатур с латинскими символами.
Вчера в первом чтении принят закон «О стандартизации и суверенитете печатных устройств для ЭВМ". С лета этого года будет запрещено хранение и распространение печатных устройств (клавиатур), на которых нанесены латинские символы. По словам депутатов, это не только поддержит ранее принятый закон, призванный очистить русскоязычное пространство от надписей на языке недружественных стран, но и защитить граждан России от деструктивного влияния и различных угроз, исходящих из-за рубежа.
По данным ВЦИОМ более 70% россиян хотя бы раз подвергались попыткам обмана мошенниками или вербовки запрещённым в РФ организациями, когда посещали зарубежные сайты либо общались в таких менеджерах как Телеграмма*, Раздор* и ЧтоПриложение*
* Вольный перевод названия запрещённых на территории РФ приложений, используемых для мошенничества, координации террористов, а также продажи запрещённых веществ и оружия.
Для защиты граждан от влияния недружественных государств и продолжающегося искажения русского языка иностранными словами было принято решение ограничить доступ к печати латинских символов.
Ввиду технологических условий принято решение вводить ограничения постепенно. С 1 июня 2026 года на прилавках магазинов должны остаться печатные устройства, на которые нанесены только кириллические символы. Распространение клавиатур старых образцов или продажа средств для обхода закона (например, наклеек или услуг лазерной гравировки) будет караться конфискацией оборудования и товара, а также штрафом: Для физических лиц до 10 000 рублей; для юридических лиц до 1 000 000.
Небезопасные печатные устройства будут распространяться только по лицензии. Для её получения потребуется лично подать заявку через приложение MAX, описав причину потребности использования латинских символов. Также потребуется пройти специальный курс по противостоянию мошенничеству и вербовке. Заявки будут обрабатываться не более 30 рабочих дней. Номерное устройство будет являться личным и может быть отозвано по решению регулятора.
До 2030 года планируется ввести запрет и на хранение без лицензии приобретённых ранее устройств с незаконными символами. На продаваемых телефонах также будет отключена возможность переключения языка экранной клавиатуры. Создана государственная программа, нацеленная на решение проблем перехода на полностью отечественные системы путём устранения сфер, где возникает острая потребность в использовании зарубежных символов. Отечественные компании, такие как Mail.ru взялись за переработку самых популярных языков программирования для возможности применения с кириллицей. Планируется создание национального реестра программных библиотек. Одним из первых станет основанный на "C++" язык "БлѢ", что является сокращением от "благословенный ять".
По предварительным данным, население положительно воспринимает грядущие изменения. Пенсионерка из Балашихи Нина Степановна инициативу одобрила: «Внук всё по клавишам стучит и стучит. А теперь пусть стучит по-нашему. Глядишь, и добрее станет».