TGViewer
Channel Public Channel
DEV: Рубиновые тона

DEV: Рубиновые тона

@dev_in_ruby_colors

Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Subscribers
3.28K
Photos
155
Videos
2
Links
1.1K

Showing posts older than #1386 · Back to latest

Older Posts 20 shown
Post #1385 2.42K
У меня тут вышел новый пост со скучным названием "Отношения эквивалентности и разбиения множества в абстрактной алгебре". На самом деле, это довольно важная штука и мы её использовали (хоть и называли так), когда разбирали всякие поля, где строятся эллиптические кривые, и вообще многие принципы в криптографии. Так что можно ознакомиться, просто чтобы составить лучшее представление https://bodrovis.tech/posts/otnosheniya-ekvivalentnosti-razbieniya-mnozhestva-v-abstraktnoy-algebre/
Ilya Krukowski Отношения эквивалентности и разбиения множества в абстрактной алгебре | Ilya Krukowski Разбираем отношения эквивалентности, классы эквивалентности и разбиения множества простыми словами — с примерами modulo arithmetic, Z/nZ и finite fields.
  • ✍ 12
  • 👍 3
Post #1383 2.84K
Друзья, помните пост про sing-box и unbound? После него подумал: вот уж где ИИ реально выручает, так это в валидации конфигов и проверке правил. Сидеть и глазами вычитывать километровые JSON'ы или маршруты — удовольствие ниже среднего. А агент это схомячит за секунды и ещё подсветит, где подводные камни. Тесты авто-писать — та же история: делать лениво, а поручить машине — самое то.

У Guide DAO как раз вышла серия курсов под такой инженерный подход.

OpenClaw-инженер — агентурная ОС: контекст, SKILL.md, управление памятью и бюджетом, суровая инженерия.

Claude Code-разработчик — фабрика артефактов: превращаем поток мыслей в рабочее ТЗ с ограничениями и критериями.

Вайбкодер — от идеи и spec-kit до MVP с параллельными агентами и деплоем на Railway/Vercel.

Разработчик AI-агентов — самый хардкорный: OpenAI Responses API, RAO/ReAct, MCP, слои памяти, evals и кэпстоун LLM Wiki.

Плюс скоро появится курс по созданию продукта и его монетизации. Он идет в подарок к остальным курсам.

Я сам присматриваюсь к OpenClaw и агентам: один раз настроил систему — и она работает как часы, вместо того чтобы дёргать модель за ручку каждый день.

По моему промокоду KRUK дополнительная скидка 15% до 20 мая (суммируется со скидкой на сайте)👇
https://www.guidedao.xyz

Кто уже строит агентные системы — делитесь опытом! 🤖
Guide DAO Основы OpenClaw | Guide DAO Практика с OpenClaw и Hermes Agent: соберёте личного или бизнес-ассистента, настроите источники и проверите работу по логам и сценариям.
  • 👍 8
  • 🔥 5
  • ❤‍🔥 2
  • ❤ 1
  • 🤝 1
Post #1382 2.39K
  • 😁 30
  • 🙈 12
  • 💅 2
  • 🔥 1
Post #1381 2.41K
Друзья, я тут совершенно неожиданно заметил, что Telemt как-то *слишком* много пишет в логи даже если поставить log level в normal. Не очень понятно, баг ли это, но только за сегодня он умудрился написать 160 тысяч строк, а всего его лог-файл занял 2 гигабайта 😄

Если используете эту штуку, я настоятельно советую проверить логи и угомонить его (например можно в override сделать RUST_LOG=warn или просто выставить в конфиге silent
  • 👍 12
  • 👎 1
  • 💯 1
Post #1380 2.45K
Разбираем лабораторную схему Xray XHTTP split, где upload и download идут через разные публичные endpoints: up-сервер принимает исходящий поток, down-сервер отдаёт клиенту основной download, а обе половины сходятся в один Xray backend через приватную сеть. https://www.youtube.com/watch?v=c0ZZFIV6kPs
YouTube XHTTP Split в Xray: Разносим upload/download на два VPS Разбираем лабораторную схему Xray XHTTP split, где upload и download идут через разные публичные endpoints: up-сервер принимает исходящий поток, down-сервер отдаёт клиенту основной download, а обе половины сходятся в один Xray backend через приватную сеть.…
  • ❤‍🔥 15
  • ❤ 5
Post #1379 2.21K
Post #1378 2.14K
Post #1377 2.33K
Post #1376 2K
Post #1375 1.78K
Сегодня нашёл интересную штуку (с трудом, так как наши друзья, разрабатывающие xray-core, очень любят писать весь changelog на китайском).

Оказывается буквально несколько дней назад они добавили поддержку Finalmask - это дополнительный слой маскировки трафика поверх обычных транспортов вроде XHTTP/REALITY/TLS.

Там есть несколько вариантов работы. Самый простой это fragment - "мягкая" фрагментация начала соединения. Он режет стартовые пакеты, например TLS ClientHello, на несколько частей с небольшими задержками. За счёт этого DPI сложнее распознать протокол по первому крупному и "красивому" пакету. Плюс fragment в том, что он почти не ломает совместимость и обычно даёт минимум побочек. Это, конечно, не волшебная таблетка, но в целом штука неплохая.

Например, можно при желании использовать это на участке между двумя вашими серверами. Для этого на промежуточном сервере просто пишется вот такое в раздел streamSettings (для outbound)

        "finalmask": {
"tcp": [
{
"type": "fragment",
"settings": {
"packets": "tlshello",
"length": "100-200",
"delay": "10-20",
"maxSplit": "3-6"
}
}
]
}


На сервере-получателе ничего менять не надо. Учтите, что xray нужно обновить по крайней мере до версии 26.3.27.

Есть и более мощная штука, называется sudoku. Она не просто дробит поток, а меняет его внешний вид по согласованному правилу/паролю между клиентом и сервером. Это сложнее, поэтому обе стороны должны поддерживать sudoku и иметь одинаковые настройки. Плюс sudoku в том, что трафик становится менее похож на стандартный Xray/REALITY/XHTTP и хуже ловится простыми сигнатурами.

Увы, похоже на участке между двумя серверами это особо работать не будет, если на сервере-получателе (сервер Б) стоит caddy и работает как reverse proxy. Зато это можно настроить между клиентом и первым сервером вот так, тоже в streamSettings, но для inbound:

  "finalmask": {
"tcp": [
{
"type": "fragment",
"settings": {
"packets": "tlshello",
"length": "100-200",
"delay": "10-20",
"maxSplit": "3-6"
}
},
{
"type": "sudoku",
"settings": {
"password": "длинный пароль",
"paddingMin": 8,
"paddingMax": 64
}
}
]
}


Но на клиенте обязательно тоже нужно настроить finalmask. Так, v2rayn это уже умеет, там просто жмётся в расширенных настройках finalmask и вставляется json вот такой

{
"tcp": [
{
"type": "sudoku",
"settings": {
"password": "тот же пароль",
"paddingMin": 8,
"paddingMax": 64
}
},
{
"type": "fragment",
"settings": {
"packets": "tlshello",
"length": "100-200",
"delay": "10-20",
"maxSplit": "3-6"
}
}
]
}


Далее там можно сформировать share link (она довольно большая тк кодируется json). Другие клиенты это умеют не все. Streisand - нет, happ - для винды вроде да, для мака не похоже, onexray - да, v2rayng - вроде должен, но там судя по всему только в пре-релизной версии. Но думаю в ближайшие месяцы это добавят много где
  • ❤ 17
  • 👍 8
  • 🔥 4
Post #1374 1.71K
Post #1373 1.69K
Примерный список команд из прошлого видео тут https://gist.github.com/bodrovis/4c65951e81e9139585aa2b351eb8203c

Но это самый базовый набор, в идеале ещё врубить BBR, разобраться с DNS, защитить сервер и прочее
Gist Xray VLESS + XHTTP + TLS Relay, WARP: 2-Server Setup Xray VLESS + XHTTP + TLS Relay, WARP: 2-Server Setup - gist:4c65951e81e9139585aa2b351eb8203c
  • ❤ 9
  • 👍 5
  • 💘 2
  • 🙏 1
Post #1372 18.9K
Post #1371 1.86K
Сегодня поговорим о том, как настроить MTProxy с Telemt для Telegram, пропустив трафик через промежуточный сервер с помощью XRay (XHTTP). https://www.youtube.com/watch?v=qAYdoyjXr3A
  • ❤ 7
  • 👍 2
Post #1370 1.9K
Post #1369 1.94K
Post #1368 1.81K
Хотел поделиться небольшим трюком, который позволяет легко сгенерировать файлы sbom и добавить аттестацию для приложений Go, которые компилируются через Goreleaser в GH Actions. Имея эти данные, любой может проверить происхождение файла, контрольные суммы (которые также подписаны отдельно) и удостовериться, что билд реально делался в этом репо. Конечно, это не докажет, что в коде нет каких-то скрытых нехороших штук.

В общем, в сам action добавляются разрешения

permissions:
contents: write
id-token: write
attestations: write
artifact-metadata: write


Потом ставятся такие штуки перед go releaser:

     - name: Install Syft
uses: anchore/sbom-action/download-syft@v0

- name: Install Cosign
uses: sigstore/cosign-installer@v4.1.1


Следующим шагом запускается Goreleaser, а затем ставится аттестация:

      - name: Find checksum file
shell: bash
run: echo "CHECKSUMS_FILE=$(ls dist/*_checksums.txt)" >> "$GITHUB_ENV"

- name: Generate artifact attestation
uses: actions/attest@v4.1.0
with:
subject-checksums: ${{ env.CHECKSUMS_FILE }}


В самом же конфиге go releaser помимо обычных вещей добавляется:

checksum:
name_template: "{{ .ProjectName }}_{{ .Version }}_checksums.txt"
algorithm: sha256

sboms:
- artifacts: archive

release:
draft: false
prerelease: auto
mode: replace

changelog:
disable: true

signs:
- id: checksums
cmd: cosign
signature: "${artifact}.sigstore.json"
artifacts: checksum
args:
- sign-blob
- "--bundle=${signature}"
- "${artifact}"
- "--yes"


После этого всё сделается "само". Затем через Cosign любой может сделать верификацию, либо посмотреть аттестацию прямо на GitHub
  • ❤ 7
  • 👍 5
Post #1367 1.71K
Гитхабу что-то поплохело, на все коммиты пишет 😄
  • 🤯 3
  • 🍾 2
Post #1366 1.86K
Сегодня... просто музыка. Внезапно для любителей оперы, прямиком из театра. От лучшей части группы Ravens Die Laughing. Худшая часть (то есть я) в это время просто пила пиво - вероятно, это и к лучшему 😂 https://www.youtube.com/watch?v=0vx8UkcMwa8
YouTube Pur ti miro | L' Incoronazione di Poppea | Ailura with Catherine B. | Live (20.12.2025) Pur ti miro | L' Incoronazione di Poppea (Claudio Monteverdi). Ailura from RDL with Catherine B. Live in Riga, Hamlets theatre, 20.12.2025
  • 🆒 6
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →