V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
binux
V2EX  ›  分享创造

只有一个文件的 HTTP(s) 代理服务器

  •  
  •   binux ·
    binux · 2014 年 8 月 20 日 · 7210 次点击
    这是一个创建于 4163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    每次 python -m SimpleHTTPServer 是不是很爽,有时候想弄个HTTP代理,要装个 squid 还要配一大堆参数。

    现在只需要一个文件(标题党了一下。。还要tornado。。),就能跑出一个代理服务器!

    https://github.com/binux/pyproxy

    不止这样!甚至不需要下载,只要一个命令(限*nix),你立即拥有!

    python -c "u='https://github.com/binux/pyproxy/releases/download/v0.1/pyproxy.zip';import urllib2,sys,tempfile;f=tempfile.NamedTemporaryFile(suffix='.zip');urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));f.write(urllib2.urlopen(u).read());sys.path.insert(0,f.name);f.flush();from pyproxy import main;main();"

    不不不,这还不够,这个代理还支持 API 方式调用,支持各种用户验证,支持 HTTPS!看 git 就知道了。

    这几年写过好多个不同功能代理,技能点往几个方向发展,全异步的流式代理,API 控制的代理,和地址改写的web代理。试试看能不能合在一起。

    8 条回复    2014-08-20 21:46:17 +08:00
    kukat
        1
    kukat  
       2014 年 8 月 20 日
    signature 是跟 https://github.com/mloughran/signature 一样的吗?
    lonely520224
        2
    lonely520224  
       2014 年 8 月 20 日
    看起来不错!
    binux
        3
    binux  
    OP
       2014 年 8 月 20 日
    @kukat 不知道哎,有使用想给某个 url 做代理,但是不想别人知道用户米密码,那就给那个 url,path,host 授权就可以了。
    spritevan
        4
    spritevan  
       2014 年 8 月 20 日
    写个 setup.py

    pip install git+ssh://[email protected]/binux/pyproxy.git

    不比那堆 python -c "..." 好看多了
    binux
        5
    binux  
    OP
       2014 年 8 月 20 日
    @spritevan pip 需要安装啊,install 还污染环境。。python -c 有个 python 就能用
    spritevan
        6
    spritevan  
       2014 年 8 月 20 日
    @binux >< 我有一个专用的 playground virtualenv
    nicai000
        7
    nicai000  
       2014 年 8 月 20 日
    对于部署来说, 是否单独文件依赖少区别很大, 鄙视标题党.
    jackton
        8
    jackton  
       2014 年 8 月 20 日
    想要带缓存的
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5179 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 09:15 · PVG 17:15 · LAX 01:15 · JFK 04:15
    ♥ Do have faith in what you're doing.