Telegram 制限付きメディアダウンローダー (weiruan-Telegram)

Tool

概要

このリポジトリは「Telegram 受限媒体下载器」として公開されているユーザースクリプトで、Telegram Web 上の制限付き(受限)画像や動画をブラウザから直接ダウンロードできるようにします。特徴は Canvas でレンダリングされた画像や一時的な Blob/オブジェクト URL に対しても対応し、可能な限り最高画質のメディアを自動選択して保存できる点です。インターフェースは画面上に浮かぶグラデーションのダウンロードボタンを提供し、ダウンロード進捗表示・Toast/システム通知・アニメーションといった UX 改善機能を備えています。Tampermonkey 等のユーザースクリプトマネージャで導入して利用します。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 36
  • フォーク数: 0
  • ウォッチャー数: 36
  • コミット数: 30
  • ファイル数: 6
  • メインの言語: JavaScript

主な特徴

  • 受限(制限付き)画像・動画のダウンロードをサポート(Canvas 描画対応)
  • 自動で可能な限り最高画質のメディアを取得
  • 画面に表示されるグラデーションの浮動ダウンロードボタン(位置カスタマイズ可)
  • ダウンロード進捗、Toast とシステム通知による通知機能

技術的なポイント

本スクリプトはブラウザ上で動作するユーザースクリプト(Tampermonkey 等)として設計されており、Telegram Web の DOM とネットワーク挙動に対して非侵襲的にフックして動作します。メディア取得部分は大きく分けて(1)ページ内に存在する直接URL/object URL の検出、(2)Canvas に描画された画像の抽出、(3)内部 API や動的に生成される最適品質 URL の解析、に対応します。Canvas は toBlob / toDataURL を用いてバイナリ化し、Blob から download 用のリンクを生成して保存します。ネットワーク側では fetch(ReadableStream)を使ったダウンロードで進捗を算出し、UI に反映します。UI は DOM に浮動ボタンを挿入する方式で、CSS によるグラデーションとアニメーションを実装、位置は設定に応じて四隅に移動可能です。設定はローカルストレージまたは GM_setValue/GM_getValue を用いて永続化し、通知は GM_notification とブラウザの Notification API の両方を利用して二重に行います。互換性にも配慮しており、Tampermonkey/Violentmonkey など主要なスクリプトマネージャで動作するメタ情報が付与されています。CORS や一時的な署名付き URL、チャネルやアカウントの権限制約など、Telegram 側の仕様により取得できないケースもあり、その場合はエラーハンドリングでユーザーに通知する設計です。コードは ES6+ の非同期処理(async/await)を多用し、モジュール的に機能を分離して可読性と保守性を高めています。(約700字)

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • INSTALL.md: file
  • LICENSE: file
  • README.md: file
  • USAGE_GUIDE.md: file

…他 1 ファイル

まとめ

Telegram Web 上で制限付きメディアを手軽に高画質保存できる実用的なユーザースクリプトです。(約50字)

リポジトリ情報:

READMEの抜粋:

🚀 Telegram 受限媒体下载器

一个功能强大的油猴脚本,用于下载 Telegram Web 中的受限图片和视频,支持最佳质量下载。

版本 许可证 平台

✨ 主要功能

1. 📥 全面下载支持

  • ✅ 下载所有受限图片(包括 Canvas 渲染的图片)
  • ✅ 下载所有受限视频
  • ✅ 自动获取最佳质量的媒体文件
  • ✅ 支持多种媒体格式

2. 🎨 用户友好界面

  • ✅ 精美的悬浮下载按钮(渐变色设计)
  • ✅ 可自定义按钮位置(四个角落可选)
  • ✅ 实时下载进度提示
  • ✅ Toast 通知 + 系统通知双重提醒
  • ✅ 平滑的动画效果

3. ⚙️ 丰富的设置选项

  • ✅ 自定义下…