{"id":17306863,"url":"https://github.com/xtrime-ru/telegramrss","last_synced_at":"2025-05-16T18:03:30.149Z","repository":{"id":53900964,"uuid":"169139702","full_name":"xtrime-ru/TelegramRSS","owner":"xtrime-ru","description":"Convert telegram posts to RSS or json in amphp server","archived":false,"fork":false,"pushed_at":"2025-05-05T15:50:55.000Z","size":204,"stargazers_count":264,"open_issues_count":5,"forks_count":44,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-05T16:53:09.493Z","etag":null,"topics":["amphp","async","json","microservice","php","rss","self-hosted","server","telegram"],"latest_commit_sha":null,"homepage":"https://tg.i-c-a.su","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/xtrime-ru.png","metadata":{"files":{"readme":"README.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,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-02-04T19:56:52.000Z","updated_at":"2025-05-05T15:50:58.000Z","dependencies_parsed_at":"2023-02-09T23:15:15.479Z","dependency_job_id":"68447a6d-d51c-44b0-a83f-311d20c31c4e","html_url":"https://github.com/xtrime-ru/TelegramRSS","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtrime-ru%2FTelegramRSS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtrime-ru%2FTelegramRSS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtrime-ru%2FTelegramRSS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xtrime-ru%2FTelegramRSS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xtrime-ru","download_url":"https://codeload.github.com/xtrime-ru/TelegramRSS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254582901,"owners_count":22095518,"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":["amphp","async","json","microservice","php","rss","self-hosted","server","telegram"],"created_at":"2024-10-15T11:59:43.943Z","updated_at":"2025-05-16T18:03:30.096Z","avatar_url":"https://github.com/xtrime-ru.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TelegramRSS\nRSS/JSON generator for telegram\n\nGet posts from my [TelegramApiServer](https://github.com/xtrime-ru/TelegramApiServer) and output them as RSS or JSON.\n\n## Features\n* Fast async [amphp](https://github.com/amphp/) http server\n* Use as micro-service to access Telegram API\n* Get any public telegram posts from groups as json or RSS\n* fail2ban, RPM limits, IP blacklist\n* Full media support. Access any media from messages via direct links.\n\n## Architecture Example\n\n![Architecture Example](https://hsto.org/webt/j-/ob/ky/j-obkye1dv68ngsrgi12qevutra.png)\n\n## Installation\n\n1. Install docker  \n    ```shell\n    curl -fsSL https://get.docker.com -o get-docker.sh\n    sudo sh ./get-docker.sh\n   ```\n1. Install and start [Telegram Api Server](https://github.com/xtrime-ru/TelegramApiServer)\n1. Install and start\n    ```shell \n    git clone https://github.com/xtrime-ru/TelegramRSS.git TelegramRSS\n    cd TelegramRSS\n    ```\n1. `cp .env.docker.example .env.docker` and check settings in .env.docker: domain, ratelimit, allowed refferes, etc...\n1. Start container:\n    ```\n    docker compose pull\n    docker compose up -d\n    ```\n\n## Upgrade to v4\n```shell\ngit pull\ndocker compose pull\ncp .env.docker .env.docker.v1\ncat .env.docker.example \u003e .env.docker\n#check new config and move old options from your .env.docker.v1 to new .env.docker\ndocker compose up -d\n```\n\n## Additional steps\n1. Edit `.env.docker` if needed. \n1. Restart RSS server `docker compose restart`\n1. Example of Nginx config \n    ```\n    server {\n        listen      %ip%:443 ssl;\n        server_name tg.i-c-a.su;\n    \n        ssl_certificate      /home/admin/conf/web/ssl.tg.i-c-a.su.pem;\n        ssl_certificate_key  /home/admin/conf/web/ssl.tg.i-c-a.su.key;\n    \n        location / {\n            proxy_set_header Host $http_host;\n            proxy_set_header SERVER_PORT $server_port;\n            proxy_set_header REMOTE_ADDR $remote_addr;\n            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n            proxy_set_header Upgrade $http_upgrade;\n    \n            fastcgi_param REMOTE_ADDR $http_x_real_ip;\n            proxy_http_version 1.1;\n            proxy_set_header Connection \"keep-alive\";\n    \n            proxy_pass http://127.0.0.1:9504;\n        }\n    \n    }\n    ```\n   Set `REAL_IP_HEADER=X-Forwarded-For` in .env.docker to retrieve client IP from nginx.\n  \n## Examples    \n### JSON\n* URL: https://tg.i-c-a.su/json/breakingmash\n* Custom limit: https://tg.i-c-a.su/json/breakingmash?limit=50 \n  \n  Maximum: 100 posts\n  \n* Pagination: https://tg.i-c-a.su/json/breakingmash?page=2\n* Get one message: https://tg.i-c-a.su/json/breakingmash?id=10738\u0026limit=1\n\n### RSS\n* URL: https://tg.i-c-a.su/rss/breakingmash\n* Custom limit: https://tg.i-c-a.su/rss/breakingmash?limit=50 \n\n  Maximum: 100 posts\n  \n* Pagination: https://tg.i-c-a.su/rss/breakingmash/2\n* Get one message: https://tg.i-c-a.su/rss/breakingmash?id=10738\u0026limit=1\n\n### Media\n* https://tg.i-c-a.su/media/breakingmash/10738/preview\n* https://tg.i-c-a.su/media/breakingmash/10738\n\nDefault address of RSS server is `http://127.0.0.1:9504/`\n    \n## Contacts\n\n* Telegram: [@xtrime](tg://resolve?domain=xtrime)\n* Email: alexander(at)i-c-a.su\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtrime-ru%2Ftelegramrss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxtrime-ru%2Ftelegramrss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxtrime-ru%2Ftelegramrss/lists"}