Tg bridge.

This commit is contained in:
mguschin
2026-04-29 20:09:17 +03:00
parent 2d86df749b
commit 6feff1c7e6
3 changed files with 42 additions and 0 deletions

1
.gitignore vendored
View File

@@ -1,2 +1,3 @@
.env .env
data/prosody/certs data/prosody/certs
web-sites

View File

@@ -25,6 +25,10 @@ modules_enabled = {
-- Admin interface -- Admin interface
"admin_adhoc"; "admin_adhoc";
-- Gateway support
"privilege";
"http_file_share";
}; };
modules_disabled = { modules_disabled = {
@@ -75,6 +79,17 @@ VirtualHost "guschin.info"
key = "/etc/prosody/certs/guschin.info.key"; key = "/etc/prosody/certs/guschin.info.key";
certificate = "/etc/prosody/certs/guschin.info.crt"; certificate = "/etc/prosody/certs/guschin.info.crt";
} }
privileged_entities = {
["telegram.guschin.info"] = {
roster = "both"; -- auto add/remove Telegram contacts from roster
message = "outgoing"; -- reflect messages sent via official Telegram apps
iq = {
["http://jabber.org/protocol/pubsub"] = "both"; -- PEP bookmarks
["http://jabber.org/protocol/pubsub#owner"] = "set"; -- message display sync
["urn:xmpp:http:upload:0"] = "get"; -- upload on behalf of users
};
};
}
-- Secondary virtual host (user@xmpp.guschin.info) -- Secondary virtual host (user@xmpp.guschin.info)
VirtualHost "xmpp.guschin.info" VirtualHost "xmpp.guschin.info"
@@ -87,3 +102,11 @@ VirtualHost "xmpp.guschin.info"
Component "muc.guschin.info" "muc" Component "muc.guschin.info" "muc"
modules_enabled = { "muc_mam" } modules_enabled = { "muc_mam" }
storage = "sql" storage = "sql"
-- HTTP file upload (XEP-0363) — used by slidgram for Telegram→XMPP attachments
Component "upload.guschin.info" "http_file_share"
http_file_share_access = { "telegram.guschin.info" }
-- Telegram gateway (slidgram)
Component "telegram.guschin.info"
component_secret = os.getenv("SLIDGRAM_COMPONENT_SECRET")

View File

@@ -38,6 +38,24 @@ services:
networks: networks:
- prosody - prosody
slidgram:
image: git.sr.ht/~nicoco/slidgram:latest
container_name: slidgram
environment:
SLIDGE_JID: telegram.guschin.info
SLIDGE_SECRET: ${SLIDGRAM_COMPONENT_SECRET}
SLIDGE_SERVER: prosody-xmpp
SLIDGE_PORT: 5347
SLIDGE_UPLOAD_SERVICE: upload.guschin.info
volumes:
- ./data/slidgram:/var/lib/slidge
restart: unless-stopped
depends_on:
prosody:
condition: service_healthy
networks:
- prosody
networks: networks:
prosody: prosody:
driver: bridge driver: bridge