{"id":22441215,"url":"https://github.com/cycloctane/upnppass","last_synced_at":"2025-03-27T10:14:32.232Z","repository":{"id":266595542,"uuid":"898765979","full_name":"Cycloctane/upnppass","owner":"Cycloctane","description":"SSDP proxy for UPnP/DLNA. Pass UPnP discovery messages through subnet/vpn.","archived":false,"fork":false,"pushed_at":"2024-12-05T03:56:53.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-05T04:27:14.780Z","etag":null,"topics":["dlna","go","golang","proxy","upnp"],"latest_commit_sha":null,"homepage":"","language":"Go","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/Cycloctane.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}},"created_at":"2024-12-05T01:53:01.000Z","updated_at":"2024-12-05T03:56:57.000Z","dependencies_parsed_at":"2024-12-05T04:27:22.487Z","dependency_job_id":"478e9bc6-f1bc-4097-875d-41edb69b3acf","html_url":"https://github.com/Cycloctane/upnppass","commit_stats":null,"previous_names":["cycloctane/upnppass"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fupnppass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fupnppass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fupnppass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fupnppass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cycloctane","download_url":"https://codeload.github.com/Cycloctane/upnppass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236677550,"owners_count":19187473,"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":["dlna","go","golang","proxy","upnp"],"created_at":"2024-12-06T02:13:26.610Z","updated_at":"2025-02-01T14:42:29.059Z","avatar_url":"https://github.com/Cycloctane.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# upnpPass\n\nUPnP Pass: Pass UPnP/DLNA discovery messages through subnet/vpn/port-forwarding.\n\nThis program acts like a [SSDP Server Proxy](https://datatracker.ietf.org/doc/html/draft-cai-ssdp-v1-01#section-7.2) for UPnP devices. It retrieves description from UPnP device and announces SSDP messages in local network to make the target UPnP device visible in local subnet.\n\nIt only sends advertisements for the target. Location in advertisements remains the same as UPnP device's orginal address. UPnP clients (control points) should be able to connect to the target UPnP device directly.\n\nIt can also be used for accessing remote UPnP/DLNA service through port forwarding or vpn that do not route multicast traffic (like ipsec and openvpn).\n\nCurrently supports UPnP root devices and services. Proxy for embedded devices is not implemented yet.\n\n## Usage\n\n### upnpPass\n\n```bash\n./upnppass -i $interface -u $description_url -t 1800\n```\n\n- `-i`: Network interface used for sending SSDP multicast messages.\n- `-u`: URL of target UPnP device's root device description. (`http://host:8200/rootDesc.xml` for minidlna)\n- `-t`: Advertisement duration (max-age).\n\nFor example, to make a minidlna server in remote network visible to localhost after forwarding remote minidlna server's 8200 port to local 127.0.0.1:\n\n```bash\n./upnppass -i loop -u http://127.0.0.1:8200/rootDesc.xml -t 1800\n```\n\n### upnpFind\n\nupnpFind is a helper program for searching available upnp root devices in local network. It is useful for getting root device description URL that can be used in upnpPass `-u`.\n\n```bash\n./upnpfind\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycloctane%2Fupnppass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcycloctane%2Fupnppass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycloctane%2Fupnppass/lists"}