Borrowing it
Nothing to install: this file belongs to po4yka/RIPDPI. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/po4yka/RIPDPI/main/.agents/skills/ws-tunnel-telegram/SKILL.mdgit clone --depth 1 https://github.com/po4yka/RIPDPIWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/po4yka/ripdpi/ws-tunnel-telegram)<a href="https://agentmods.dev/skills/po4yka/ripdpi/ws-tunnel-telegram"><img src="https://agentmods.dev/badge/skills/po4yka/ripdpi/ws-tunnel-telegram/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/po4yka/ripdpi/ws-tunnel-telegram"><img src="https://agentmods.dev/badge/skills/po4yka/ripdpi/ws-tunnel-telegram.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00051 | $0.03791 |
| Opus 5.5 | $0.00020 | $0.01516 |
| Sonnet 5.5 | $0.00010 | $0.00758 |
| Haiku 4.5 | $0.00005 | $0.00379 |
Grade A, and why
ws-tunnel-telegram scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 236 lines — stays where its author put it; the contents beside it link to each section on GitHub.
WebSocket Tunnel for Telegram (ripdpi-ws-tunnel)
1. Purpose
middlebox/DPI blocks Telegram by detecting MTProto signatures on direct TCP to known DC
IPs. The WS tunnel wraps MTProto inside WSS to kws*.web.telegram.org, so DPI sees
standard TLS + HTTP Upgrade rather than raw MTProto.
WsTunnelMode lives in ripdpi-config/src/model/group.rs; the adaptive runtime setting lives in model/runtime.rs:
Off-- disabled (default)Always-- every Telegram connection uses WS tunnel immediatelyFallback-- try desync first; escalate to WS tunnel only on failure
2. Architecture
Three crates now share this pipeline. ripdpi-ws-transport-port owns DC
classification and the WsTransport trait boundary; ripdpi-ws-bootstrap
owns encrypted-DNS resolution of the WS endpoint; ripdpi-ws-tunnel owns the
concrete MTProto/TLS/WS implementation and re-exports the transport-port types
so most call sites only need to depend on ripdpi-ws-tunnel.
App -> TUN -> ripdpi-proxy -> handshake pipeline
1. classify_target(target_ip) -- ripdpi-ws-transport-port/src/dc.rs (dc_from_ip / dc_from_ipv6)
2. read 64-byte MTProto init from client -- ripdpi-proxy-runtime/.../handshake/ws_tunnel.rs
3. classify_mtproto_seed(init) -- ripdpi-ws-tunnel/src/mtproto.rs: ValidatedMtproto{dc}
4. resolve_ws_tunnel_addr(dc) -- ripdpi-ws-bootstrap/src/resolver.rs: encrypted DNS
5. open_ws_tunnel_with_timeout(dc, ..) -- ripdpi-ws-tunnel/src/connect.rs: TLS + WS handshake
6. ws_relay(client, ws, seed_request) -- ripdpi-ws-tunnel/src/relay.rs (+ relay/ submodules)
Runtime entry points (ripdpi-proxy-runtime/src/runtime/handshake/ws_tunnel.rs):
should_ws_tunnel_first()--WsTunnelMode::Always+ known Telegram IPshould_ws_tunnel_fallback()--WsTunnelMode::Fallback+ known Telegram IPrun_ws_tunnel()/run_ws_tunnel_with_seed()-- classify, resolve, relay
WsTunnelResult enum: ValidatedMtproto, NotMtproto, UnmappableDc,
ShortInit, BootstrapFailed, WsOpenOrRelayFailed.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 236 lines · 51 tokens per session scan A f9f5f53ad70d
ws-tunnel-telegram is a skill published in the GitHub repository po4yka/RIPDPI (85 stars, last pushed yesterday), licensed BSD-3-Clause. It adds 51 tokens to every session and 3,791 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-07.
ws-tunnel-telegram compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| ws-tunnel-telegrampo4yka/RIPDPI | Skill | 85 | yesterday | BSD-3-Clause | A | 51 | Claude Code, Codex |
| maui-networking-offline-datadotnet/maui-labs | Skill | 235 | yesterday | MIT | A | 87 | Claude Code, Codex |
| maui-aspire-clientdotnet/maui-labs | Skill | 235 | yesterday | MIT | A | 100 | Claude Code, Codex |
| compose-dataMeet-Miyani/compose-skill | Skill | 303 | 15d ago | MIT | A | 151 | Claude Code |
| remote-api-footgunsmaxrave-dev/kotlin-footguns | Skill | 2.1k | 9d ago | GPL-3.0 | A | 55 | Claude Code |
| network-tracingnexus-labs-automation/mobile-observability | Skill | 116 | 2mo ago | MIT | A | 31 | Claude Code |
| offline-firstTalissonVitorino/kmp-ios-skills | Skill | 16 | 2mo ago | MIT | A | 26 | Claude Code, Codex |