Steam Drun Mod — Набор утилит для Steam. Друнья вместо друзей, визуальная накрутка часов и тд. https://github.com/mmmacintosh/SDM/releases
  • C# 74.6%
  • JavaScript 21.2%
  • Python 1.8%
  • PowerShell 1.5%
  • Batchfile 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-20 23:49:03 +03:00
.gitignore 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
app.manifest 2.4: ключ в мини-профиле и не уезжает на строку ниже 2026-09-20 01:13:42 +03:00
build.cmd 2.5: база тех кто юзает sdm в firebase, логотип у ников всех из базы 2026-09-20 23:36:49 +03:00
LICENSE первая версия 2026-08-24 02:26:07 +03:00
logo.png Steam Drun Mod 2.0: новый интерфейс, hours faker, автообновление, значок создателя 2026-09-20 00:42:39 +03:00
logo.py Steam Drun Mod 2.0: новый интерфейс, hours faker, автообновление, значок создателя 2026-09-20 00:42:39 +03:00
Program.cs 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
README.md 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
release.cmd 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
release.ps1 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
screen.png Steam Drun Mod 2.0: новый интерфейс, hours faker, автообновление, значок создателя 2026-09-20 00:42:39 +03:00
sdm.ico Steam Drun Mod 2.0: новый интерфейс, hours faker, автообновление, значок создателя 2026-09-20 00:42:39 +03:00
sdm.js 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
Sync.cs 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
Ui.cs 2.5: проверка релизов раз в десять минут пока стим открыт 2026-09-20 23:40:40 +03:00
Updater.cs 2.5: обновления из firebase вместо гитхаба, release.cmd 2026-09-20 23:49:03 +03:00
Web.cs Steam Drun Mod 2.0: новый интерфейс, hours faker, автообновление, значок создателя 2026-09-20 00:42:39 +03:00

Steam Drun Mod

набор мод утилит для стима.

Друн Mod. меняет всех друзей на друней прям везде. список друзей, магазин, сообщество, оверлей, чат, профили, даже чужие комменты

список друзей → список друней друзья играют → друнья играют добавить в друзья → добавить в друнья

Steam Hours Faker. сканирует библиотеку, выбираешь игру и делаешь с часами что хочешь: спрятать (везде будет ??? ч.), поставить своё число, накинуть сверху к реальным. накинутые растут дальше пока играешь. меняется везде где стим показывает часы: библиотека, профиль, магазин, список игр. только у тебя на экране, стим на сервере хранит настоящие

как юзать

  1. качаешь sdm.exe из releases
  2. запускаешь. если пишет что стим без devtools порта, жми «включить devtools порт» внизу (попросит админа, стим лежит в program files) и перезапусти стим
  3. друн mod → «в клиенте стима» патчит файлы (тоже админ, тоже перезапуск), «в вебе» работает сразу
  4. steam hours faker → ждёшь пока подгрузит иконки, тыкаешь игру, выбираешь режим, применить

закрываешь окно оно уходит в трей и оттуда следит за стимом. галка автозапуск чтобы стартовало с виндой

что за devtools порт

магазин, сообщество, профили стим грузит с сервера, там файлы не подправишь. поэтому в папку стима кладётся файл .cef-enable-remote-debugging, после перезапуска стим открывает порт 8080 с devtools протоколом (тот же что у хрома). exe цепляется к нему и в каждую вкладку подсовывает sdm.js, который правит текст прямо в дом дереве. на новые страницы и фреймы тоже, там mutation observer. без порта работает только патч файлов, ни веб-друни ни часы не будут

значок sdm у ников

все кто юзает мод лежат в общей базе, и у каждого из них рядом с ником везде висит логотип sdm: профиль, комменты, список друней, чат, мини-профили. у создателя вместо логотипа ключ. база в firebase, сервера у мода нет. exe при старте стима кладёт туда свой steamid и раз в час забирает список, больше в сеть не ходит. выключить нельзя, в этом смысл

в окнах клиента у ников нет steamid, там значок ловится по нику и аватарке из friendStore стима, поэтому в клиенте он только у друней. в вебе у всех

база это realtime database с такими правилами (u юзеры, rel релизы, туда пишет только секрет):

{
  "rules": {
    "u": {
      ".read": true,
      "$id": {
        ".write": true,
        ".validate": "$id.matches(/^7656119[0-9]{10}$/) && newData.isString() && newData.val().length < 64"
      }
    },
    "rel": {
      ".read": true,
      ".write": false
    }
  }
}

адрес базы зашит в Program.cs

обновления

при старте стима и дальше раз в десять минут exe смотрит версию в firebase (rel/v). если есть новее, в окне стима вылезает уведомление с кнопкой «обновить», по ней exe качает sdm.exe оттуда же (rel/exe, base64), подменяет себя и перезапускается. в самом окне sdm тоже есть ссылка

гитхаб для обновлений не используется: он прячет репу от всех кроме владельца, и релизы оттуда никто скачать не может

выложить новую версию: release.cmd. собирает, кладёт exe и версию в базу. секрет базы (project settings → service accounts → database secrets) лежит в secret.txt рядом, он в gitignore

файлы

  • Program.cs - патч локализации, настройки часов, main
  • Web.cs - devtools протокол, инъекция скрипта во вкладки
  • Ui.cs - окно, всё нарисовано руками через gdi
  • Updater.cs - проверка версии в firebase и самообновление
  • release.cmd + release.ps1 - собрать и выложить новую версию в firebase
  • Sync.cs - база тех кто юзает мод, firebase
  • sdm.js - то что живёт внутри стима: друни, часы, значки у ников
  • logo.py - генерит sdm.ico и logo.png (нужен pillow)

настройки лежат в реестре HKCU\Software\sdm. оригиналы локализации рядом с файлами как .drunbak, откат тоже кнопкой

собрать самому

build.cmd

компилятор есть в любой винде начиная с 7, ничего ставить не надо. exe весит ~110кб, из них половина иконка

если стим обновился

стим при обновлении может перезаписать файлы локализации и друнья в клиенте пропадут. просто включи тумблер ещё раз. веб часть и часы от обновлений не зависят

с millennium

работает, порт 8080 они делят нормально

лицензия

mit