XX-net / XX-Net

A proxy tool to bypass GFW.
32.99k stars 7.7k forks source link

有个想法,想精简一下xx-net,只保留gae模块,和自动扫描。 #2301

Closed yeahwu closed 8 years ago

yeahwu commented 8 years ago

具体是这样的,俺fork一下xx,大家到上面做减法,比如: 1:去掉web ui 2:去掉php,x-tuunel 3:去掉pac 4:去掉ID上传模块 5:精简ip段 6:各项参数优化 等等 反正就是搞出来给geek用的,效率之上,累赘去掉 吖,大家以为如何?反正俺就是瞎想的 @Cat7373 @simonasd @linhua55 @xxnet @xyuanmu ……

Cat7373 commented 8 years ago

0.0 我觉得WebUI还是蛮好用的- - GAE上传可以单独一个分支放,而不是默认下载- -

xxnet commented 8 years ago

​你之需要gae_proxy/local 目录就可以了,然后稍微修改下ini文件,就可以关掉pac。 精简ip段这个就自己修改对应文件。 这个模块一直保持可以独立运行。

如果其他目录删除,那需要把python27/1.0/lib/noarch 目录下的几个库文件拷贝过去就好了。

yeahwu commented 8 years ago

其实俺感觉熟悉gae的人,完全不用看webui的,虽然web很人性化 id上传嘛,gae老手自然想得到别的办法, 减掉这些,主要是体现和xx的差异,把效率突出出来。

Cat7373 commented 8 years ago

在我的电脑上XX占用的CPU可以忽略不计,内存20MB- - 感觉已经很低了- -

xxnet commented 8 years ago

​XX-Net 启动耗时,是在加载OpenSSL库上,新版的OpenSSL库采用python ctypes去动态解析C的符号,非常耗时。

而退出时间,是在等待扫描、连接线程超时结束,此处可以优化,不过暂时没有研究出特别有效和完善的策略。

yeahwu commented 8 years ago

懂鸟,谢x大详解

yeahwu commented 8 years ago

李世石快哭了,又输给AlphaGo鸟。强烈要求开源,哈哈

jzp820927 commented 8 years ago

如果其他目录删除,那需要把python27/1.0/lib/noarch 目录下的几个库文件拷贝过去就好了。

@xxnet 如果是在 linux 自带python 环境下,也需要 noarch 目录下的几个库文件拷贝过去么?还是只要 gae_proxy/local 目录就可以了?

xxnet commented 8 years ago

在 2016年3月10日 下午4:46,天朝猪 notifications@github.com写道:

如果其他目录删除,那需要把python27/1.0/lib/noarch 目录下的几个库文件拷贝过去就好了。

@xxnet https://github.com/xxnet 如果是在 linux 自带python 环境下,也需要 noarch 目录下的几个库文件拷贝过去么?还是只要 gae_proxy/local 目录就可以了?

需要把noarch里的几个文件拷贝过去,那里有几个库文件是自己写的,因为多个模块用到了,比如xlog,simple_http_server,不过越来越觉得没有自己重写的必要了,标准库提供了足够的灵活性。

jzp820927 commented 8 years ago

我也觉得能用官方库的话,更好。 那我试试精简一下看看效果怎么样。

yeahwu commented 8 years ago

2016-03-10t09-34-28 146z

jzp820927 commented 8 years ago

@xxnet 在 linux 系统下面,我把 gae_proxy/local 下面的所有文件复制到了一个新文件夹 xx,然后又复制了 python27/1.0/lib/noarch 下面的 xlog.py,simple_http_server.py,simple_http_client.py,utils.py,socks.py 到 xx 文件夹,在 xx 文件下面用 python proxy.py 可以正常运行,http 没问题,https 不能访问,我看了下没有生成 CA.cet 是不是少复制了什么库文件?但是又可以正常运行,而且 data 自定义配置的功能丢失了,运行的时候没有自动生成 data,把原来备份的 data 复制到 xx 下面也没有效果,怎么保留 data/gae_proxy 下面 good_ip.txt,manual.ini,scan_ip.log 这3个文件的自定义配置和扫描日志功能?

xyuanmu commented 8 years ago

@jzp820927 刚刚试着精简了下,data默认在 上级/上级/ 生成,如果想改到本目录可以修改下面四个文件,删掉 os.pardir, os.pardir, 即可: null 还有一个文件,刚才查漏了: null

xyuanmu commented 8 years ago

初步实现的Windows版本:proxy.zip 测试平台:win7/winXP python版本:2.7.8(提取自GoAgent) data目录在根目录生成。

yeahwu commented 8 years ago

@xyuanmu 兄,你咋这么能干呢!赶紧测试先。

xyuanmu commented 8 years ago

xp 也测试通过 不知道是不是openssl版本的问题,python同样是2.7.8版本,xx-net CPU使用率要比GoAgent低好多。

yeahwu commented 8 years ago

哎呦,这个屌,这个屌爆鸟,俺就喜欢这样的,目前运行良好。

yeahwu commented 8 years ago

@xyuanmu pull到你的git上去吧!大家可以去把别的平台完善一下嘛。

xyuanmu commented 8 years ago

@yeahwu 为了减小体积和文件数量,我把所有的py都放进压缩包里了,多平台我觉得还是分不同的版本比较妥,Linux平台自带Python体积可以做得更小。

yeahwu commented 8 years ago

@xyuanmu 赶脚只需要win和linux双平台就好了,没办法嘛,俺们面对的是geek,小众嘛, 放到俺群里去了哦,让大家也试试?

xyuanmu commented 8 years ago

@yeahwu IP段是 XX-Net 的,没改,扫描线程是默认的50,可以自己添加 manual.ini

[google_ip]
max_scan_ip_thread_num = 50
yeahwu commented 8 years ago

哦,刚看了一下 good ip改为1000,线程改为30,渣机没办法,还有你的私货放出来吧,ip段,不要多,精就好。

xyuanmu commented 8 years ago

@yeahwu 上传新版本了,链接还是刚才那个链接。更新python到2.7.11,数据储存到data目录而不是二级目录gae_proxy,IP段用的48W版本和checkiptools同步。

yeahwu commented 8 years ago

在试用,目前良好,ip段也看了,哈哈,这次没保留。

yeahwu commented 8 years ago

还有一个问题,扫描过程中,可以设置延时吗?看好多扫出来的ip延时厉害,延时超1000的基本也没法用鸟哇。

jzp820927 commented 8 years ago

@xyuanmu 就盼你出个最简化的 Linux 版本,可以精简很多 py库文件,估计总体大小能最简到 几百KB。

xxnet commented 8 years ago

​精简py 库,可以用coverage 工具跑一遍,然后只包含那些覆盖到的文件,库文件就可以删除一大批。 进一步的精简,理论上可以把函数内容分析一遍,没有跑过的函数都删除,不过这还没有找到工具支持。

yeahwu commented 8 years ago

其实linux上xx-net表现就良好鸟,挺溜。

yeahwu commented 8 years ago

@xyuanmu 其实你这里面还有几个文件是可以删除的, good ip.txt goodipv6.txt proxy.pac addto-startup.js 这几个文件,俺看也没什么卵用。

xxnet commented 8 years ago

​3.x 改版,有一个想法,想把各个模块分成不同的github项目,在需要时才去下载对应的模块。 再另外提供一个完整版本,给需要的人。

yeahwu commented 8 years ago

@xxnet 必须支持,要不一锅粥,赶脚是糊的。wiki交给俺鸟,其它的你忙。

yeahwu commented 8 years ago

目前优化到刚刚720p,目标是1080p,@xyuanmu兄加油!

jzp820927 commented 8 years ago

@xxnet 早就盼望模块化了,把核心和模块独立开来,这样对不用的系统,都挺有用的

wangfeng87 commented 8 years ago

原版Goagent可以看xvideos,xx-net就不行,那个参数有问题

yeahwu commented 8 years ago

@wangfeng87 俺真想截图给你看下,谁说xx不行的。 要看xvideos,并发数稍微调高点,效果更好。

yeahwu commented 8 years ago

哎,李师师又要输鸟,阿尔法狗看来可以上十段鸟。首先,李师师这个发型就输鸟

xyuanmu commented 8 years ago

good ip.txt goodipv6.txt 这两个是可以去掉,proxy.pac不行,第一份生成的时候需要,可以精简里面的内容;addto-startup.js用来添加开机启动项的,从GoAgent提取过来的。

yeahwu commented 8 years ago

@xyuanmu 有个想法,去掉pac,去掉cmd窗口,然后goagent.exe做到像lantren菜单栏一样,只要一个退出键。或者直接点击图标退出。 为毛俺的想法总是这么天马行空?呵呵

jzp820927 commented 8 years ago

现在运行基本上没问题,就是 py 文件一大堆,不晓得怎么像你这样,放到一个 zip 文件中。

xyuanmu commented 8 years ago

@yeahwu 呵呵,这个俺可搞不定。

今天精简的成果,win下将库文件压缩到2.03M,估计不能再减了,再减就要动很多代码了: win: proxy.zip linux: proxy-linux.zip

@jzp820927 也就只有win下可以将py放到压缩包里,linux还是要散的,不过文件少很多。

kittycheny commented 8 years ago

我觉得可以做一个定制界面,所有功能模块化,你需要什么功能进行打钩,然后点击下载。@yeahwu

yeahwu commented 8 years ago

@xyuanmu 刚试了下,速度稳定720p,这边把并发数调低点反而速度好了点,默认的8是不是太高

yeahwu commented 8 years ago

@xyuanmu windows下好像不能生成pac文件,新版的,是不是动刀子动得过鸟?

xyuanmu commented 8 years ago

可以啊,你没设置pac模式吧

yeahwu commented 8 years ago

没有,不过刚试了一下,data文件夹没有发现pac文件。然后我记得pac文件有几百kb呀!

yeahwu commented 8 years ago

@xyuanmu 兄,你这压缩包是怎么搞得,俺想解包改里面的一个py文件,再压缩不管用,启动不鸟

jzp820927 commented 8 years ago

@xyuanmu 问个问题,linux 下为什么每个 py 文件都会自动生成一个同名的 pyc 文件?我把所有 pyc 文件全删了,下次运行又会自动全部生成。goagent 不会生成这种文件,一直没搞懂,这文件是干嘛用的?

Cat7373 commented 8 years ago

编译缓存,应该可以在python里调。。

xyuanmu commented 8 years ago

@jzp820927 因为GoAgent的 proxy.py 里加了句 sys.dont_write_bytecode = True,而且压缩包里的py也不会生成pyc或者pyo。GoAgent 作者还将所需的库都放到了egg文件里,这个文件可以跨平台使用,前提是要有基本的python库。

@yeahwu 就普通的zip压缩,你改了哪个文件?昨天测试的时候发现,需要访问一次pac文件才会生成,而且是通过gfwlist更新,所以文件夹里面那个pac只要保证修改时间在前一天就会生成新pac。今天抽空改一下,启动自动生成pac。

yeahwu commented 8 years ago

@xyuanmu 两个老问题 1:火狐不能用google搜索 本来是想通过修改 proxy_handler.py 解决,解包后再压缩,启动失败。 后来找到一个简单方法,proxy.ini中hosts把 www.google.com=direct改为gae,就好鸟。 2:google老是跳出验证信息 这个你应该知道怎么改

建议把Linux版,pull到你的git上去,有些小问题大家可以一起过去解决嘛!