{"id":13817739,"url":"https://github.com/AmirrezaNasiri/telegram-web-bridge","last_synced_at":"2025-05-15T20:32:47.229Z","repository":{"id":37512355,"uuid":"183243191","full_name":"AmirrezaNasiri/telegram-web-bridge","owner":"AmirrezaNasiri","description":"🌉 A bidirectional web-based proxy for Telegram Bot API request calls and webhook callbacks.","archived":true,"fork":false,"pushed_at":"2023-09-15T16:32:51.000Z","size":551,"stargazers_count":21,"open_issues_count":2,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-19T15:45:30.294Z","etag":null,"topics":["filtering","iran","proxy","telegram","telegram-bot","telegram-bot-api"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AmirrezaNasiri.png","metadata":{"files":{"readme":"README.fa-IR.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-04-24T14:13:40.000Z","updated_at":"2024-08-09T08:32:37.000Z","dependencies_parsed_at":"2024-01-13T15:37:47.549Z","dependency_job_id":"91357df2-3c91-47ea-b092-534ec74cfa85","html_url":"https://github.com/AmirrezaNasiri/telegram-web-bridge","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmirrezaNasiri%2Ftelegram-web-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmirrezaNasiri%2Ftelegram-web-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmirrezaNasiri%2Ftelegram-web-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AmirrezaNasiri%2Ftelegram-web-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AmirrezaNasiri","download_url":"https://codeload.github.com/AmirrezaNasiri/telegram-web-bridge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254418744,"owners_count":22068143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["filtering","iran","proxy","telegram","telegram-bot","telegram-bot-api"],"created_at":"2024-08-04T06:00:54.473Z","updated_at":"2025-05-15T20:32:43.888Z","avatar_url":"https://github.com/AmirrezaNasiri.png","language":"PHP","funding_links":[],"categories":["پی اچ پی PHP"],"sub_categories":[],"readme":"\u003e **Warning**\n\u003e این پروژه آرشیو شد و دیگه توسعه پیدا نمی‌کنه. اگه توسعه‌دهنده PHP هستین و به ادامه پروژه تمایل دارین،‌ لطفا [یه گفتگو ایجاد کنین](https://github.com/AmirrezaNasiri/telegram-web-bridge/discussions/new?category=general) تا ما مطلع بشیم.\n\n\n\u003cdiv dir=\"rtl\" align=\"right\"\u003e\n\n[🔸 بازگشت به صفحه انگلیسی](README.md)\n\n## Telegram Web Bridge\n[![Licensed under the MIT License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n\n![Telegram Web Bridge](assets/telegram-web-bridge.png)\n\n\u003e پکیج Telegram Web Bridge یک نرم افزار تحت وب پراکسی مانند است که به عنوان یک رابط بین اپلیکیشن شما و سرورهای تلگرام بصورت دوطرفه عمل می‌کند. این نرم افزار در یک محیط بدون محدودیت قرار گرفته و درخواست‌های ارسالی توسط اپلیکیشن شما به تلگرام را دریافت کرده و آن‌ها را از مسیری بدون محدودیت به تلگرام ارسال خواهد کرد. همچنین این نرم افزار قادر به دریافت Webhookهای تلگرام و تحویل آن به اپلیکیشن شماست.  \n\u003e این نرم افزار برپایه فریم‌ورک سبک [Slim](https://github.com/slimphp/Slim) ساخته شده است.\n\n## به چه دردی می‌خورد؟\n\nاین نرم افزار در مواقعی می‌تواند کاربردی باشد که دسترسی به سرورهای Telegram Bot API ممکن نباشد (مثلاً زمانی که یک کشور ارتباط با تلگرام را فیلتر یا بلاک می‌کند).\n\n![ارتباط بدون پراکسی](assets/fa-IR/without_proxy.png)\n\nدر این شرایط، چنین مشکلاتی پیش خواهد آمد:\n* اپلیکیشن اصلی ما قادر به میزبانی در خارج از آن منقطه یا کشور نیست.\n* قادر به ارسال درخواست‌ها به Telegram Bot API نیستیم.\n* قادر به دریافت Webhookهای تلگرام نیز نیستیم.\n* ... اما همچنان به ارتباط با تلگرام نیازمندیم!\n\nاینجاست که این پل نرم افزاری به میان می‌آید. شما می‌توانید این پل را در خارج از منطقه میزبانی کنید و از آن برای ارسال و دریافت پیام‌های ربات تلگرام استفاده کنید.\n\n![ارتباط با پراکسی](assets/fa-IR/with_proxy.png)\n\n### اما راه‌کارهای بسیار دیگری نیز وجود دارد!\nبله، برای حل این مشکل راه‌کارهای بسیاری وجود دارد اما همه آن‌ها قابل پیاده سازی توسط افرادی که کمتر با مسائل فنی آشنا هستند نیست.\nاین پل نرم افزاری به سادگی قابل پیاده سازی حتی روی هاست‌های اشتراکی نیز است (از آنجایی که بسیار ارزان و به راحتی قابل راه اندازی هستند)! برای استفاده از این نرم افزار، کافی است آن را دانلود کرده، بر روی هاست اشتراکی خود از حالت فشرده خارج کرده و چندین گزینه را تنظیم کنید.\n\n## پیش‌نیازها\nاین پل نرم افزاری به موارد زیر نیاز دارد:\n* یک هاست اشتراکی، سرور مجازی یا سرور اختصاصی.\n* PHP نسخه 7 (یا بالاتر) با ماژول `json` فعال شده\n* یک گواهی SSL نصب شده که می‌تواند از انواع رایگان Self-signed یا LetsEncrypt باشد. پیشنهاد ما گواهی رایگان LetsEncrypt است چون در چندین کلیک قابل نصب است. اگر گواهی پولی نیز خریداری کرده باشید، مشکلی نیست.\n\n## نصب\nمی‌توانید نرم افزار را به دو صورت استفاده کنید: یا بسته فشرده با قابلیت پیاده سازی آسان یا دانلود کدهای منبع و ساخت آن.\n\n### بسته فشرده با قابلیت پیاده سازی آسان (پیشنهاد شده برای افراد غیرفنی)\nبه لینک زیر رفته و آخرین نسخه بسته را دانلود کنید:\n[دانلود بسته‌های آماده](https://github.com/AmirrezaNasiri/telegram-web-bridge/releases)  \n\nفایل را بر روی هاست اشتراکی خود، در فضایی قابل دسترس برای عموم آپلود کرده و از حالت فشرده خارج کنید. آدرس (URL)ای که به پوشه بسته اشاره می‌کند، همان `appUrl` شما در فایل تنظیمات خواهد بود.\n\n⛓ برای ادامه، به [بخش بعدی بروید](#configuration).\n\n### دانلود کدها و ساخت بسته (پیشنهاد شده برای افراد فنی)\nمخزن را بر روی سرور یا کامپیوتر خود کپی کنید:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```bash\n$ git clone https://github.com/AmirrezaNasiri/telegram-web-bridge\n```\n\u003c/div\u003e\n\nبا استفاده از [Composer](https://getcomposer.org/download/)، وابستگی‌های بسته را نصب کنید:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```bash\n$ composer install\n```\n\u003c/div\u003e\n\n#### تست کردن\nتست‌هایی پایه‌ای برای ارسال درخواست نوشته شده اند اما برای دریافت Webhookها هنوز تستی نوشته نشده است. در تلگرام، یک ربات مخصوص این تست ایجاد کرده و شروع به گفتگو با آن کنید. فایل `tests/settings.php` را باز کرده و به این ترتیب تنظیم کنید:\nتوکن ربات خود را در فیلد `botApiToken` بنویسید:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```\n'botApiToken' =\u003e '123456789:aBcdEfghIjklm_nOpqRsTuvWXyZaBcDEFjhi',\n```\n\u003c/div\u003e\n\nشناسه کاربری حساب تلگرام خودتان را نیز در فیلد `chatId` قرار دهید:  \nشناسه از طریق ربات [@chatid_echo_bot](https://t.me/chatid_echo_bot) قابل استخراج است.\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```\n'chatId'      =\u003e '123456789,\n```\n\u003c/div\u003e\n\nو در نهایت تست‌ها را اجرا کنید:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```bash\n$ composer test\n```\n\u003c/div\u003e\n\n### پیکربندی\nتمامی موارد قابل تنظیم در این فایل هستند: `src/settings.php`  \nبرای شروع به کار، تنها تغییر مقادیر `appUrl`، `crtPath` و `webhookEndpoints` کافی است.\n\n### استفاده از پل نرم افزاری\nحالا که همه چیز آماده شده است، کافیست در اپلیکیشن خود، آدرس تمام درخواست‌هایی که به Telegram Bot API فرستاده می‌شود را از مقدار `https://api.telegram.org` به مقداری که در فیلد `appUrl` تنظیمات ذخیره کرده‌اید تغییر دهید.  \nبرای مثال، درخواست زیر:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```http request\nGET https://api.telegram.org/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe\n```\n\u003c/div\u003e\n\nباید به آدرس زیر تغییر کند:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```http request\nGET https://example.com/path-to/telegram-web-hook/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/getMe\n```\n\u003c/div\u003e\n\nبرای دریافت درخواست‌های Webhook از تلگرام نیز کافیست یک بار دیگر متد `setWebhook` را فراخوانی کنید:\n\u003cdiv dir=\"ltr\" align=\"left\"\u003e\n  \n```http request\nPOST https://example.com/path-to/telegram-web-hook/bot123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11/setWebhook\n```\n\u003c/div\u003e\n\nپل نرم افزاری، پارامترهای `url` و `certificate` درخواست شما را به مقادیری که در فایل تنظیمات مشخص کرده‌اید تغییر خواهد داد. بنابراین اگر متد `getWebhookInfo` را اجرا کنید، نتایج با آن چه که در `setWebhook` تنظیم کرده بودید متفاوت خواهد بود.\nدر زمان ارسال Webhookها توسط تلگرام، این پل نرم افزاری آن‌ها را دریافت کرده و به آدرس مشخص شده در فایل تنظیمات ارسال خواهد کرد.\n\n#### از بسته‌هایی دیگر برای ارسال درخواست‌های ربات استفاده می‌کنید؟\nمشکلی نیست. می‌توانید با روش‌های گوناگون آدرس اصلی Telegram Bot API را به پل نرم افزاری خود تغییر دهید. برای برخی از بسته‌ها، راهنمایی‌هایی موجود است:\n* [irazasyed/telegram-bot-sdk](https://github.com/irazasyed/telegram-bot-sdk/):  \nاگر از این بسته در پروژه لاراول (Laravel) خود استفاده می‌کنید، می‌توانید ببینید که [چگونه BASE_BOT_URL را تغییر دهید](https://github.com/irazasyed/telegram-bot-sdk/issues/632#issuecomment-482867189).\n\n## مشارکت\nاین پروژه، از مشارکت شما صمیمانه استقبال می‌کند.\n* اگر یک خطای امنیتی پیدا کردید، [با من در ارتباط باشید](http://amirreza.in/#page-contact).\n* برای هر نوع خطای دیگر، لطفاً [یک issue ایجاد کرده](https://github.com/AmirrezaNasiri/telegram-web-bridge/issues) و برای رفع آن ما را یاری کنید.\n* اگر مشکلی را رفع یا قابلیت‌های جدیدی اضافه کردید، [یک Pull Request ایجاد کنید](https://github.com/AmirrezaNasiri/telegram-web-bridge/pulls).\n\n## مجوز نرم افزار\nاین نرم افزار تحت [مجوز MIT](LICENSE) مورد استفاده قرار می‌گیرد.\n\n## لینک‌های کاربردی\n* [Telegram Bot API](https://core.telegram.org/bots/api)\n* [ByteGate](https://bytegate.ir/) (وبلاگ ما)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAmirrezaNasiri%2Ftelegram-web-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAmirrezaNasiri%2Ftelegram-web-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAmirrezaNasiri%2Ftelegram-web-bridge/lists"}