{"id":28395554,"url":"https://github.com/masoudir/simple_udp_proxy","last_synced_at":"2025-06-27T04:32:11.812Z","repository":{"id":57467713,"uuid":"307058873","full_name":"masoudir/simple_udp_proxy","owner":"masoudir","description":"This is a python implementation of the simple_udp_proxy. This code, automatically creates a bidirectional bridge between new udp connections to a unique udp port by creating a proxy for each new connection.","archived":false,"fork":false,"pushed_at":"2020-11-06T10:50:40.000Z","size":65,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-20T09:04:40.164Z","etag":null,"topics":["bridge","mavlink","mavproxy","proxy","python","udp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/masoudir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-25T08:52:40.000Z","updated_at":"2025-02-05T15:07:31.000Z","dependencies_parsed_at":"2022-09-17T18:01:39.689Z","dependency_job_id":null,"html_url":"https://github.com/masoudir/simple_udp_proxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masoudir%2Fsimple_udp_proxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masoudir%2Fsimple_udp_proxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masoudir%2Fsimple_udp_proxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/masoudir%2Fsimple_udp_proxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/masoudir","download_url":"https://codeload.github.com/masoudir/simple_udp_proxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":256287881,"owners_count":22365990,"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":["bridge","mavlink","mavproxy","proxy","python","udp"],"created_at":"2025-05-31T20:08:59.432Z","updated_at":"2025-06-27T04:32:11.799Z","avatar_url":"https://github.com/masoudir.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Github Page: [https://github.com/masoudir/simple_udp_proxy](https://github.com/masoudir/simple_udp_proxy)\n\n# Introduction to simple_udp_proxy\nThis is a python implementation of the simple_udp_proxy. This code, automatically creates a bidirectional bridge between new\nudp connections to a unique udp port by creating a proxy for each new connection.\nThe total structure of this proxy is illustrated as below:\n\n![Screenshot](img/structure.png)\n\nThis package could be used for every UDP nodes and also every nodes using MAVLink protocol such as MAVProxy,\n MissionPlanner, Ardupilot-SITL, PX4-SITL and etc. This package will be very useful for devices that use one port number\n for UDP broadcasting, so that you can use different client UDP applications for receiving their UDP packets separately.\n\n# Installation \n\n## Installing via pip\n\nJust follow these codes:\n\n```bash\npip3 install -U simple_udp_proxy\n```\n\nThe -U parameter allow to update simple_udp_proxy version if it is already installed.\n\n## Installing via git\n\nJust clone the project:\n\n```bash\ngit clone https://github.com/masoudir/simple_udp_proxy\n```\n\n# How to use\n\n\n## Commands\n\n* `python3 simple-udp-proxy.py -h` - Shows available commands for help.\n* `python3 simple-udp-proxy.py --i [INPUT_PORT]` - Input UDP port (default = 14550).\n* `python3 simple-udp-proxy.py --o [OUTPUT_PORT]` - Initial UDP output port (Other UDP ports start from this UDP port with the incremental of 1) (default = 1220).\n* `python3 simple-udp-proxy.py --verbose [VERBOSE]` - D: Disable Verbose, 1: Enable Verbose (Make all output logs visible).\n* `python3 simple-udp-proxy.py --log [LOG]` - 0: Disable Logging, 1: Enable Logging.\n\nExample:\n\n* `python3 simple-udp-proxy.py --i 14520 --o 4520 --log 1 -- verbose 1` - Creates a proxy in 14520 UDP port and forwards to ports starting from 4520\n\nThe structure would be as follow:\n\n    client node with port 5678   \u003c---\u003e PROXY in 14520 port   \u003c---\u003e APPLICATION#1 host access port with 4520 port\n    client node with port 7852   \u003c---\u003e PROXY in 14520 port   \u003c---\u003e APPLICATION#2 host access port with 4521 port\n    ...\n    ...\n    ...\n\n## Python code\n\nJust follow \"test/test.py\" as below:\n\n* `python3 test/test.py`\n\nThis code creates a new UDP port while a new incoming UDP port wants to send data to the host UDP port which is set on \n14550.\n\nThe code is as below:\n\n    from simple_udp_proxy import simple_udp_proxy as px\n    px.is_verbose = True\n    px.is_log_enabled = True\n    proxy = px.UdpProxy(in_port=14550, out_port=1220, buf_size=1024)\n    while True:\n        pass\n\n# License\n\nThe source code generated by Masoud Iranmehr (@masoudir) is available under the permissive MIT License.\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasoudir%2Fsimple_udp_proxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmasoudir%2Fsimple_udp_proxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmasoudir%2Fsimple_udp_proxy/lists"}