{"id":51183254,"url":"https://github.com/subhajit-maji/mtproxy-docker","last_synced_at":"2026-06-27T08:30:24.630Z","repository":{"id":365456079,"uuid":"1272174330","full_name":"subhajit-maji/mtproxy-docker","owner":"subhajit-maji","description":"Self-hosted Telegram MTProxy server using Docker with simple setup, firewall config, and optional promotion tag support.","archived":false,"fork":false,"pushed_at":"2026-06-17T11:08:00.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"subhajit-maji","last_synced_at":"2026-06-17T13:08:29.045Z","etag":null,"topics":["docker","mtproxy","networking","proxy","proxy-server","self-hosted","telegram","telegram-proxy","ubuntu","vpn","vps"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/subhajit-maji.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-17T11:04:24.000Z","updated_at":"2026-06-17T11:11:37.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/subhajit-maji/mtproxy-docker","commit_stats":null,"previous_names":["subhajit-maji/mtproxy-docker"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/subhajit-maji/mtproxy-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhajit-maji%2Fmtproxy-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhajit-maji%2Fmtproxy-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhajit-maji%2Fmtproxy-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhajit-maji%2Fmtproxy-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/subhajit-maji","download_url":"https://codeload.github.com/subhajit-maji/mtproxy-docker/tar.gz/refs/heads/subhajit-maji","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/subhajit-maji%2Fmtproxy-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34847287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["docker","mtproxy","networking","proxy","proxy-server","self-hosted","telegram","telegram-proxy","ubuntu","vpn","vps"],"created_at":"2026-06-27T08:30:23.236Z","updated_at":"2026-06-27T08:30:24.625Z","avatar_url":"https://github.com/subhajit-maji.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# MTProxy Docker\n\nA simple, production-ready Telegram MTProxy deployment using Docker.\n\n## Features\n\n- ✅ Docker-based deployment\n- ✅ Supports Telegram MTProxy\n- ✅ Custom secret support\n- ✅ Promotion tag support\n- ✅ Uses port 443\n- ✅ Automatic restart (`unless-stopped`)\n- ✅ Compatible with Ubuntu 20.04, 22.04 and 24.04\n- ✅ Can be used with either a public IP or a DNS hostname\n- ✅ Easy to maintain and update\n\n## Requirements\n\n- Linux server (Ubuntu recommended)\n- Docker installed\n- TCP port `443` open in the firewall and cloud security rules\n- Public IPv4 address\n- (Optional) Domain name pointing to the server\n\n## Clone\n\n```bash\ngit clone https://github.com/subhajit-maji/mtproxy-docker.git\ncd mtproxy-docker\n```\n\n## Configuration\n\nCreate a `.env` file from the example:\n\n```bash\ncp .env.example .env\n```\n\nEdit `.env`:\n\n```text\nSECRET=YOUR_SECRET\nTAG=YOUR_PROMOTION_TAG\n```\n\n## Prerequisites\n\n- Docker Engine installed\n- Docker Compose v2 plugin installed\n\nOn Ubuntu/Debian:\n\n```bash\nsudo apt update\nsudo apt install -y docker-compose-v2\n```\n\nVerify the installation:\n\n```bash\ndocker compose version\n```\n\n## Start\n\n```bash\ndocker compose up -d\n```\n\n## Stop\n\n```bash\ndocker compose down\n```\n\n## Restart\n\n```bash\ndocker compose restart\n```\n\n## View logs\n\n```bash\ndocker compose logs -f\n```\n\n## Verify\n\nCheck that the container is running:\n\n```bash\ndocker ps\n```\n\nCheck that port 443 is listening:\n\n```bash\nsudo ss -ltnp | grep :443\n```\n\n## Telegram proxy links\n\nUsing an IP address:\n\n```\ntg://proxy?server=YOUR_SERVER_IP\u0026port=443\u0026secret=YOUR_SECRET\n```\n\nUsing a domain name:\n\n```\ntg://proxy?server=YOUR_DOMAIN\u0026port=443\u0026secret=YOUR_SECRET\n```\n\n## Cloudflare DNS\n\nIf using Cloudflare:\n\n- Create an **A** record pointing to your server IP.\n- Set the record to **DNS only** (grey cloud).\n- Do **not** enable Cloudflare proxying for MTProxy traffic.\n\n## Troubleshooting\n\n### Domain resolves but Telegram cannot connect\n\n- Confirm the domain points to the correct server IP.\n- Confirm TCP port 443 is open.\n- Confirm Docker is running.\n- Confirm the MTProxy container is healthy.\n- If using Cloudflare, ensure the DNS record is **DNS only**.\n\n### Connection refused\n\nCheck:\n\n```bash\ndocker ps\nsudo ss -ltnp | grep :443\n```\n\n### Container logs\n\n```bash\ndocker logs mtproxy\n```\n\n## Security\n\n- Do not publish your production secret.\n- Do not commit your `.env` file to GitHub.\n- Use `.env.example` with placeholder values instead.\n\n## Update\n\nPull the latest changes from the repository and recreate the container:\n\n```bash\ngit pull\ndocker compose pull\ndocker compose up -d\n```\n\n## Repository Structure\n\n```text\n.\n├── .env.example\n├── .gitignore\n├── CONTRIBUTING.md\n├── LICENSE\n├── README.md\n├── SECURITY.md\n├── docker-compose.yml\n├── docs/\n│   ├── setup.md\n│   └── cloudflare-dns.md\n└── scripts/\n    ├── install.sh\n    ├── start.sh\n    ├── stop.sh\n    ├── restart.sh\n    └── logs.sh\n```\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubhajit-maji%2Fmtproxy-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubhajit-maji%2Fmtproxy-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubhajit-maji%2Fmtproxy-docker/lists"}