Skip to content

Instantly share code, notes, and snippets.

View ergolyam's full-sized avatar

ergolyam ergolyam

View GitHub Profile
@ergolyam
ergolyam / tg_uploader.py
Last active June 13, 2026 02:21
script for sending files from stdin to Telegram using mtproto
#!/usr/bin/env -S uv run --script
# /// script
# requires-python = ">=3.12"
# dependencies = [ "pyrofork", "tgcrypto-pyrofork", "rich", "pysocks" ]
# ///
import argparse
import asyncio
import io
import math
@ergolyam
ergolyam / chatgpt-to-md.js
Last active September 12, 2025 21:19
Save current ChatGPT dialog (user + assistant) as a .md file via the Tampermonkey menu.
// ==UserScript==
// @name ChatGPT → Markdown saver
// @namespace tgpt.chat.markdown.saver
// @version 1.3
// @description Save current ChatGPT dialog (user + assistant) as a .md file via the Tampermonkey menu.
// @match https://chatgpt.com/*
// @match https://chat.openai.com/*
// @match http*://*/* // lets you run this on mirrors/embeds too (menu-only, harmless)
// @match file:///* // saved HTML files
// @grant GM_registerMenuCommand
@ergolyam
ergolyam / touchscreen-pad.py
Last active October 3, 2025 13:35
script that turns a touchscreen into a touchpad
#!/usr/bin/env python3
import argparse
import time
import math
import logging
from dataclasses import dataclass
from typing import Optional, Dict, Tuple, List
from evdev import InputDevice, UInput, ecodes as E
@ergolyam
ergolyam / vless-guide.md
Last active June 26, 2026 18:33
Развёртывание VLESS (Reality) на VPS с маскировкой под свой сайт

Развёртывание VLESS (Reality) на VPS с маскировкой под свой сайт

Инструкция поднимает связку 3x-ui + Xray (VLESS/Reality) в podman-контейнерах, с Nginx как маскировкой под реальный TLS-сайт и с автоматическим обновлением сертификатов.

Панель 3x-ui остаётся доступной только через SSH-туннель (без публикации в интернет).

Note

Везде, где указано example.com, подставьте свой домен.

[!NOTE]

@ergolyam
ergolyam / void_install.md
Last active March 7, 2026 15:10
Гайд по установке void linux на uefi

Установка void linux

Разметка

  • Загрузите образ Live и войдите в систему.

  • Создайте два раздела в cfdisk:

    • /dev/sdX1 - для efi 100M (Type: EFI System)
    • /dev/sdX2 - для root весь диск (Type: Linux filesystem)
@ergolyam
ergolyam / dnstt-guide.md
Last active May 13, 2026 00:49
Развёртывание dnstt на VPS в podman quadlet

Развёртывание dnstt на VPS в podman quadlet

Инструкция поднимает связку dnstt-server + SOCKS5-backend в podman-контейнерах через quadlet.

На клиенте вы запускаете dnstt-client и получаете локальный TCP-порт, который работает как вход в удалённый SOCKS5-прокси.

Везде, где указано example.com, подставьте свой домен.

Содержание

@ergolyam
ergolyam / matrix-guide.md
Last active July 25, 2026 16:34
Развёртывание Matrix-сервера со звонками на VPS в podman quadlet

Развёртывание Matrix-сервера со звонками на VPS в podman quadlet

Инструкция поднимает связку Continuwuity + Element Web + LiveKit + lk-jwt-service в podman-контейнерах через quadlet, с Nginx как TLS reverse proxy.

Matrix-сервер и Element Web будут доступны на основном домене, а backend для звонков - на отдельном поддомене.

Везде, где указано example.com и calls.example.com, подставьте свои домены.

Содержание

@ergolyam
ergolyam / config.bu
Created July 1, 2026 02:27
Fedora core os install guide
# vim: filetype=yaml
variant: fcos
version: 1.6.0
storage:
files:
- path: /etc/hostname
mode: 0644
contents:
inline: ${HOSTNAME}
@ergolyam
ergolyam / ygg-peer-picker.sh
Last active July 7, 2026 14:09
Search for Yggdrasil peers
#!/bin/sh
set -f
URL_DEFAULT='https://peers.yggdrasil.link/publicnodes.json'
url=$URL_DEFAULT
source_file=
sort_mode=ping
records_mode=0
@ergolyam
ergolyam / torrserver-mpv.user.js
Last active July 14, 2026 20:17
Tampermonkey userscript: Opens TorrServer M3U playlists directly in mpv
// ==UserScript==
// @name TorrServer playlists to mpv
// @namespace local.torrserver.mpv
// @version 1.2.0
// @description Opens TorrServer M3U playlists directly in mpv
// @match http://192.168.1.11:8090/*
// @match http://127.0.0.1:8090/*
// @match http://localhost:8090/*
// @run-at document-start
// @sandbox raw