{"id":21928619,"url":"https://github.com/nuvious/upnpseudograph","last_synced_at":"2025-03-22T12:24:43.045Z","repository":{"id":249766393,"uuid":"831439178","full_name":"nuvious/UPNPseudograph","owner":"nuvious","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-23T06:06:14.000Z","size":1388,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-20T08:14:54.022Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nuvious.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-07-20T14:51:54.000Z","updated_at":"2024-07-23T06:06:18.000Z","dependencies_parsed_at":"2024-07-23T08:02:46.158Z","dependency_job_id":"cb5dc05a-e20f-4513-aad4-a9f46d4402bd","html_url":"https://github.com/nuvious/UPNPseudograph","commit_stats":null,"previous_names":["nuvious/upnpseudograph"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvious%2FUPNPseudograph","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvious%2FUPNPseudograph/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvious%2FUPNPseudograph/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nuvious%2FUPNPseudograph/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nuvious","download_url":"https://codeload.github.com/nuvious/UPNPseudograph/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244955016,"owners_count":20537875,"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":[],"created_at":"2024-11-28T22:27:08.892Z","updated_at":"2025-03-22T12:24:43.020Z","avatar_url":"https://github.com/nuvious.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UPNPseudograph\n\nA detailed overview is available in a whitepapaer in [markdown](Whitepaper.md) and [pdf](Whitepaper.pdf) formats.\n\n## Demonstration\n\n[![UPNPseudograph](https://img.youtube.com/vi/BKqg3oSyqzU/0.jpg)](https://www.youtube.com/watch?v=BKqg3oSyqzU)\n\nA detailed overview is available in a whitepapaer in [markdown](Whitepaper.md) and [pdf](Whitepaper.pdf) formats.\n\n## Dependencies\n\nClone the repository:\n\n```bash\ngit clone https://github.com/nuvious/UPNPseudograph.git\n```\n\nThis project uses Pillow which requires external libraries:\n\n```bash\nsudo apt-get install -y \\\n    libjpeg-dev \\\n    zlib1g-dev \\\n    libtiff5-dev \\\n    libfreetype6-dev \\\n    liblcms2-dev \\\n    libwebp-dev \\\n    tcl8.6-dev \\\n    tk8.6-dev \\\n    python-tk\n```\n\nYou can then install the python requirements:\n\n```bash\npip install UPNPseudograph\n```\n\n## Usage\n\n### List Supported Devices\n\nBefore starting an agent, you must copy a fully qualified class path for one of the supported devices:\n\n```bash\n$\u003e upnpseudograph --supported-devices                                      \nupnpseudograph.upnp.RokuDevice\n```\n\n### C2 Agent\n\nA C2 agent is one that can send out messages and command for other agents to run.\n\n```bash\nupnpseudograph --preferred-device=upnpseudograph.upnp.RokuDevice --is-c2\n```\n\n\n### Generic Agent\n\nA generic agent will only send messages out and will not have a command line interface\nto interact with. It will receive messages and commands from the C2.\n\n```bash\nupnpseudograph --preferred-device=upnpseudograph.upnp.RokuDevice\n```\n\n### Interacting with Agent\n\nAfter a device is cloned you will receive a prompt to interact with other agents:\n\n```bash\nControl Panel:\n    m:[MESSAGE] - Send a message\n    f:[FILE_PATH] - Send file\n    g:[FILE_PATH] - Gets a file from an agent (c2 only)\n    c:[COMMAND] - Execute a command (c2 only)\n    l - List agents\n    q - quit\n            \nEnter command:m:hello\n0 192.168.1.42\nSelect agent to send to or type c to cancel:0\nMessage queued for 192.168.1.42\n```\n\n### Other Arguments\n\nThere are other arguments you can pass in depending on preference:\n\n|Argument|Description|\n|-|-|\n|--disable-passthrough|By default passthrough is enabled forwarding all requests to the cloned device to the actual device to help minimize an unintentional denial of service. This flag disables that functionality.|\n|--search-frequency|Sets the number of seconds to search for other agents. Default is 30 seconds.|\n\n# References\n\n[1] Contributing Members of the UPnP Forum, “UPnPTM Device Architecture 1.1,” 2008. Available: https://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.1.pdf. [Accessed: Jul. 23, 2024]\n\n[2] x011, “x011/SecretPixel,” GitHub, Mar. 29, 2024. Available: https://github.com/x011/SecretPixel. [Accessed: Jul. 22, 2024]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuvious%2Fupnpseudograph","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnuvious%2Fupnpseudograph","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnuvious%2Fupnpseudograph/lists"}