Git Product home page Git Product logo

udp-proxy's Introduction

udp-proxy

A simple encrypted udp proxy in python

一个用Python写的简单的UDP代理,由服务器端(udp_server.py)和客户端(udp_client.py)两部分组成。参考shadowsocks的代码对传输数据做了简单混淆。并且对长度较小的udp包在头部填充了一些随机字符(有实验结果表明GFW会特别干扰长度较小的udp数据包)。

由于UDP的限制,一个服务端只能与一个客户端连接。

写这个东西的初衷是用来封装OpenVPN的UDP流量,避免被GFW检测到和干扰 - -

使用方法

使用方式和obfsproxy类似,只不过这个是UDP的。

以OpenVPN为例:

假设在IP是1.2.3.4的国外服务器上架设了OpenVPN Server,监听1194 UDP端口。

在1.2.3.4上运行:

./udp_server.py -s 1.2.3.4 -p 1194 -l 7070 -k "foobar"

在OpenVPN客户端机器上运行:

./udp_client.py -s 1.2.3.4 -p 7070 -l 7071 -k "foobar"

"foobar"是自定义的密码,服务器端和客户端需要相同。

然后修改OpenVPN客户端的配置文件:

remote 1.2.3.4 1194

改为

remote 127.0.0.1 7071

注释掉"redirect-gateway def1"这行(如果OpenVPN服务器有push "redirect-gateway def1"也要去掉),然后增加下面几行:

mssfix 1422
route 1.2.3.4 255.255.255.255 net_gateway
route 0.0.0.0 128.0.0.0
route 128.0.0.0 128.0.0.0

这样就可以了。

udp-proxy's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

udp-proxy's Issues

感谢分享,有个小问题

在执行的时候python2.4中with结构执行错误,改成笨方法就行。想问一下如果我想改成tcp的加密代理的话只需要改socket函数吗?obfsproxy使用前要安装tor,特别麻烦,再次感谢分享,很有用的工具

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.