npx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-1 --plugin aradotso-trending-skills-37This skill uses the workspace's default tool permissions.
> Skill by [ara.so](https://ara.so) — Daily 2026 Skills collection.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Skill by ara.so — Daily 2026 Skills collection.
TG WS Proxy is a local SOCKS5 proxy server for Telegram Desktop that reroutes traffic through WebSocket (WSS) connections to Telegram's Data Centers, bypassing network-level blocking without external servers.
Telegram Desktop → SOCKS5 (127.0.0.1:1080) → TG WS Proxy → WSS → Telegram DC
127.0.0.1:1080git clone https://github.com/Flowseal/tg-ws-proxy.git
cd tg-ws-proxy
pip install -e .
tg-ws-proxy
# Windows
tg-ws-proxy-tray-win
# macOS
tg-ws-proxy-tray-macos
# Linux
tg-ws-proxy-tray-linux
paru -S tg-ws-proxy-bin
# or
git clone https://aur.archlinux.org/tg-ws-proxy-bin.git
cd tg-ws-proxy-bin
makepkg -si
sudo systemctl start tg-ws-proxy-cli@1080
Download TgWsProxy_linux_amd64.deb from releases and install:
sudo dpkg -i TgWsProxy_linux_amd64.deb
chmod +x TgWsProxy_linux_amd64
./TgWsProxy_linux_amd64
tg-ws-proxy [--port PORT] [--host HOST] [--dc-ip DC:IP ...] [-v]
| Argument | Default | Description |
|---|---|---|
--port | 1080 | SOCKS5 proxy port |
--host | 127.0.0.1 | SOCKS5 proxy bind host |
--dc-ip | 2:149.154.167.220, 4:149.154.167.220 | Target IP per DC ID (repeat for multiple) |
-v, --verbose | off | Enable DEBUG logging |
# Default startup
tg-ws-proxy
# Custom port
tg-ws-proxy --port 9050
# Specify multiple DCs with IPs
tg-ws-proxy --dc-ip 1:149.154.175.205 --dc-ip 2:149.154.167.220 --dc-ip 4:149.154.167.220
# Verbose debug logging
tg-ws-proxy -v
# Full custom example
tg-ws-proxy --host 0.0.0.0 --port 1080 --dc-ip 2:149.154.167.220 -v
The tray application stores config in a platform-specific location:
%APPDATA%/TgWsProxy/config.json~/Library/Application Support/TgWsProxy/config.json~/.config/TgWsProxy/config.json (or $XDG_CONFIG_HOME/TgWsProxy/config.json){
"port": 1080,
"dc_ip": [
"2:149.154.167.220",
"4:149.154.167.220"
],
"verbose": false
}
CLI entry points are declared in pyproject.toml:
[project.scripts]
tg-ws-proxy = "proxy.tg_ws_proxy:main"
tg-ws-proxy-tray-win = "windows:main"
tg-ws-proxy-tray-macos = "macos:main"
tg-ws-proxy-tray-linux = "linux:main"
127.0.0.11080Right-click the tray icon → "Открыть в Telegram" — this opens a tg://socks deep link that auto-configures Telegram Desktop.
from proxy.tg_ws_proxy import main
import threading
# Run proxy in background thread
proxy_thread = threading.Thread(target=main, daemon=True)
proxy_thread.start()
pip install requests[socks]
import requests
proxies = {
"http": "socks5h://127.0.0.1:1080",
"https": "socks5h://127.0.0.1:1080",
}
response = requests.get("https://api.telegram.org/botTOKEN/getMe", proxies=proxies)
print(response.json())
from telethon import TelegramClient
from telethon.network.connection.tcpabridged import ConnectionTcpAbridged
import socks
client = TelegramClient(
'session',
api_id=int(os.environ["TG_API_ID"]),
api_hash=os.environ["TG_API_HASH"],
proxy=(socks.SOCKS5, '127.0.0.1', 1080)
)
async def main():
await client.start()
me = await client.get_me()
print(me.username)
import asyncio
asyncio.run(main())
import subprocess
dc_map = {
1: "149.154.175.205",
2: "149.154.167.220",
3: "149.154.175.100",
4: "149.154.167.220",
5: "91.108.56.130",
}
dc_args = []
for dc_id, ip in dc_map.items():
dc_args += ["--dc-ip", f"{dc_id}:{ip}"]
subprocess.Popen(["tg-ws-proxy", "--port", "1080"] + dc_args)
# Windows
pyinstaller packaging/windows.spec
# macOS
pyinstaller packaging/macos.spec
# Linux
pyinstaller packaging/linux.spec
Builds are also produced automatically via GitHub Actions in .github/workflows/build.yml.
| Binary | Minimum Version |
|---|---|
TgWsProxy_windows.exe | Windows 10+ |
TgWsProxy_windows_7_64bit.exe | Windows 7 x64 |
TgWsProxy_windows_7_32bit.exe | Windows 7 x32 |
TgWsProxy_macos_universal.dmg (Intel) | macOS 10.15+ |
TgWsProxy_macos_universal.dmg (Apple Silicon) | macOS 11.0+ |
TgWsProxy_linux_amd64 | Linux x86_64 + AppIndicator |
tg-ws-proxy -v and watch for connection logs1080# Find what's using port 1080
lsof -i :1080 # macOS/Linux
netstat -ano | findstr :1080 # Windows
# Run on a different port
tg-ws-proxy --port 1081
Then update Telegram Desktop's proxy port to 1081.
win7 variant — functionally identical, lower detection rateAppIndicator is required. Install it:
# Ubuntu/Debian
sudo apt install gir1.2-appindicator3-0.1
# Fedora
sudo dnf install libappindicator-gtk3
This is expected behavior. If WS returns a 302 redirect, the proxy automatically uses direct TCP. No action needed; Telegram will still connect.
tg-ws-proxy -v
Or set "verbose": true in config.json for the tray app.