zhangboyang / py3_udp_port_forwarder

a simple udp port forwarder written in python3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

# py3_simple_udp_port_forwarder
a simple udp port forwarder written in python3

一个用 Python3 语言写的 UDP 端口转发器

特点:
  支持跨 IPv4 与 IPv6 的数据包转发
  使用 Python3 编写,可以跨平台使用
  
使用方法:
  将前面 L 开头的那行修改为服务器监听地址,R 开头那行修改为需要转发到的地址。
  然后保存执行即可。

已知问题:
  在 Windows 系统下,断开 UDP 连接时会抛出异常导致程序崩溃


P.S. 这个程序是我设计用来让《东方心绮楼》这个游戏支持 IPv6 联机的。
  搭配《东方心绮楼》游戏的使用方法:
    在建立游戏的机器上使用如下配置:
      L = ('::', 10800)
      R = ('127.0.0.1', 10800)
    在连接游戏的机器上使用如下配置:
      L = ('127.0.0.1', 23333)
      R = ('对方IPv6地址', 10800)
    在连接游戏的机器上使用 127.0.0.1:23333 来联机。
    这样就可以让《东方心绮楼》游戏支持 IPv6 联机对战了(不过我没有测试过观战模式)。
    注意在连接游戏的机器上本地监听端口不能是 10800 因为可能会造成端口冲突导致联机失败。
    另外 127.0.0.1 不能用 localhost 代替因为 Windows 系统会把它解析为 IPv6 地址。
  在与 MHY 同学的联机中,IPv6 的延迟略大于 IPv4,但是延迟很稳定,不像 IPv4 那么易变。
  P.S. #2 今天博丽灵梦很忙。 ToT

About

a simple udp port forwarder written in python3

License:MIT License


Languages

Language:Python 100.0%