分享自用代理工具 - glider

2017-07-13 22:31:47 +08:00
 nadoo

一直是在 linux 软路由上做透明代理使用,最近整理了一下,放在 github 上,分享给大家,或许有人用得着.

之前看到 v2 有人找以下几类工具,用 glider 可以轻松实现:

socks5 转 http
glider -l http://:8080 -f socks5://127.0.0.1:1080 -v
dns: udp 转 tcp
glider -l dnstun://:53=114.114.114.114:53 -v

这样可以在本地生成一个 dns 服务,可以 nslookup www.baidu.com 127.0.0.1 测试

glider -l dnstun://:53=8.8.8.8:53 -f ss://method:pass@server1:port1 -v

当然,一般是为了在国外解析,只要加上-f 参数,指定转发代理,就会通过转发代理去请求 8.8.8.8,作用你懂的...我一般用来配合 dnsmasq

同一个端口提供 http 和 socks5 代理服务
glider -l :8443 -f ss://method:pass@server1:port1 -v

如果需要就可以加上-f 参数转发到远端服务器

多个远端服务器,代理链(一个-f,逗号,分隔)
glider  -l redir://:1081 -l dnstun://:53=8.8.8.8:53 -f ss://method:pass@server1:port1,ss://method:pass@server2:port2

这样可以先通过 server1 做跳板,再连接 server2 进行转发

多个远端服务器,轮叫或高可用模式
glider  -l :8443 -f ss://method:pass@server1:port1 -f ss://method:pass@server2:port2 -s rr
glider  -l :8443 -f ss://method:pass@server1:port1 -f ss://method:pass@server2:port2 -s ha

项目地址

能力有限,代码水平也不高,期待大家指正...

9927 次点击
所在节点    分享发现
57 条回复
felixonmars
2017-07-31 00:05:32 +08:00
我是用代码直接编译的,没有用直接提供的 binary 哈,0.3 版本是重新 tag 了还是只是重新编译了?
nadoo
2017-07-31 00:17:01 +08:00
@felixonmars 重发 binary 的时候重新 tag 过,目前 github 上那个 tag 和 binary 都是对的.
felixonmars
2017-07-31 23:49:07 +08:00
好的,那我打的应该是修正后的 :)
nadoo
2017-08-23 22:56:38 +08:00
发一个编译好的开发中的版本,添加了一个"list"。

打开 rule 文件,在 forward 行加入你的代理服务器信息并取消行首注释(删除#),然后可以在浏览器中把 ip:8443 作为全局代理, 实现默认直连,list 中的网站使用上级代理;(类似浏览器 pac 的能力,在 glider 中实现了)
https://github.com/nadoo/glider/files/1245821/glider-0.4alpha.zip

有兴趣的同学可以先试一下
nadoo
2018-01-23 11:16:23 +08:00
@wwqgtxx v0.5.0,支持 udp,udp 也支持代理链,支持多上级代理 rr 转发模式;上级代理可以是 socks5 或者 ss
Tink
2018-04-19 10:21:37 +08:00
我想问下楼主这个和 gost 在性能上优势大否?
nadoo
2018-04-26 08:15:58 +08:00
@Tink 才看到. 我没有对比过性能。我这里一直是跑在网关服务器上,资源占用不高。
defunct9
2018-05-08 10:29:28 +08:00
@nadoo 请教楼主
我有两个 dns server , 一个带 AD 过滤,一个不带。
所以想架一个服务器,根据 client 来源 ip 不同来分发到后端不同的 DNS server
仔细看了半天文档,理论应该可以实现。

但是怎么配置呢?
nadoo
2018-05-08 18:28:01 +08:00
@defunct9 目前不能根据来源 ip 设置规则,只能根据目的 ip 来设;你这个需求,可能在网关上根据 iptables 策略来转发好一点。 后面我考虑下,也可以在 glider 规则里面加入来源 ip 的判断。
yuchenr
2018-07-11 12:01:35 +08:00
我来挖个坟。
简单食用了下,负载均衡对比 gost 多了 ha,并且支持 AEAD 算法。
另外是否支持 simple-obfs ?
nadoo
2018-07-11 16:34:56 +08:00
@yuchenr 目前正在加 vmess 支持,后续计划是 websocket,再往后想把 ssr 和 ss 那两个第三方 lib 重写整合一下、obfs 可以一起考虑
nadoo
2018-12-14 21:42:39 +08:00
@yuchenr 现在支持 simple-obfs 了 https://github.com/nadoo/glider

```bash
glider -verbose -listen :8443 -forward "simple-obfs://1.1.1.1:443?type=tls&host=apple.com,ss://AEAD_CHACHA20_POLY1305:pass@"
```
johnkiller
2019-01-08 22:11:37 +08:00
太良心了,正好找到这里,比 gost 好用,感谢作者,也感谢 gost 作者!
johnkiller
2019-03-14 17:02:29 +08:00
作者你好,我用 glider 有好几个月了 ,发现一个现象,就是随着流量请求的增大,glider 占用内存几乎是 200-400m 的样子了,而且似乎不会被释放掉。。。但是 github 同类开源软件 goproxy 内存占用几乎稳定在 30m 一下(流量很大也是),但是功能不如 glider 强大,现在已经离不开 glider 了,如果可以希望作者能优化一下(感激

题外话:
我发现用 sstap 连接 glider 的代理 udp 端口一直都是我设置的端口。
类似:
>> 服务器绑定在 172.16.*.*:1080.
johnkiller
2019-03-14 17:04:45 +08:00
@johnkiller 一下点了回复了,继续上一楼
用 goproxy 代理的时候每次连接 udp 端口都是随机的,而不是固定我给的 1080,会不会是这个原因
>> 服务器绑定在 172.16.*.*:62961.
nadoo
2019-03-14 23:32:38 +08:00
@johnkiller 感谢反馈!我平常基本不用 udp,所以可能没有注意到这个问题。。。请问 你是怎么使用 glider 呢?本地监听 socks5 ?用到 udptun 了吗?
foxconndmd
2021-03-12 08:41:07 +08:00
支持远程转发吗?即可通过代理链将本地端口映射到远程服务器上。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/375186

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX