Telegram 制限付きメディアダウンローダー (weiruan-Telegram)
概要
このリポジトリは「Telegram 受限媒体下载器」として公開されているユーザースクリプトで、Telegram Web 上の制限付き(受限)画像や動画をブラウザから直接ダウンロードできるようにします。特徴は Canvas でレンダリングされた画像や一時的な Blob/オブジェクト URL に対しても対応し、可能な限り最高画質のメディアを自動選択して保存できる点です。インターフェースは画面上に浮かぶグラデーションのダウンロードボタンを提供し、ダウンロード進捗表示・Toast/システム通知・アニメーションといった UX 改善機能を備えています。Tampermonkey 等のユーザースクリプトマネージャで導入して利用します。(約300字)
リポジトリの統計情報
- スター数: 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字)
リポジトリ情報:
- 名前: weiruan-Telegram
- 説明: 説明なし
- スター数: 36
- 言語: JavaScript
- URL: https://github.com/weiruankeji2025/weiruan-Telegram
- オーナー: weiruankeji2025
- アバター: https://avatars.githubusercontent.com/u/247753895?v=4
READMEの抜粋:
🚀 Telegram 受限媒体下载器
一个功能强大的油猴脚本,用于下载 Telegram Web 中的受限图片和视频,支持最佳质量下载。
✨ 主要功能
1. 📥 全面下载支持
- ✅ 下载所有受限图片(包括 Canvas 渲染的图片)
- ✅ 下载所有受限视频
- ✅ 自动获取最佳质量的媒体文件
- ✅ 支持多种媒体格式
2. 🎨 用户友好界面
- ✅ 精美的悬浮下载按钮(渐变色设计)
- ✅ 可自定义按钮位置(四个角落可选)
- ✅ 实时下载进度提示
- ✅ Toast 通知 + 系统通知双重提醒
- ✅ 平滑的动画效果
3. ⚙️ 丰富的设置选项
- ✅ 自定义下…