在自己拥有代理 IP 池的情况下,如何通过代码实现三重代理?
配置的话,用 ss 加 tor 可以实现高匿名性。
网上找了一些资料,没找到自己有用的信息。刚在 github 找了下 tor 开源项目,还没开始读。
有没有大佬能给点解答,原理上的(类似 tor 的实现)或者相关开源项目代码分享。
补充:代理 IP 池通过 Python 爬取免费 IP 分享的网站爬来的,当前可以实现一层代理,想实现多重代理功能,能否实现,如何实现。
小白一个,有不对的地方请大佬指正。希望有大佬能答疑解惑(拜谢)
可能我表述的不太清楚,在这里补充一下: 1.不考虑匿名性,只考虑如何实现多重代理 2.我的问题是想通过代码自己实现一个工具实现多重代理的功能,而不是怎么配置多重代理 3.是否具备可实现性,如何实现?
ps: 重点是想通过代码自己实现多重代理的功能,暂不考虑匿名性,能否实现,如何实现?
1
tylinux 2018-03-01 00:41:52 +08:00
proxychains-ng?
|
2
flynaj 2018-03-01 00:43:28 +08:00 via Android
gost
|
5
fhbyljj 2018-03-01 00:56:04 +08:00 via Android
同问
|
6
gamexg 2018-03-01 06:52:02 +08:00 via Android
tcproute2
|
7
huiyifyj 2018-03-01 07:57:36 +08:00 via Android
实现三重代理就为了高匿名性?
说说除了公司私密信息外的其他用处 |
8
kisama12 OP |
9
yingfengi 2018-03-01 08:19:02 +08:00 via Android
洋葱流量可识别,虽然不知道你干啥,但是知道你在用
|
10
ThirdFlame 2018-03-01 08:40:09 +08:00
路由器跑酸酸乳+终端再加 goagent 或者 vpn 双重 也可以自由组合其他的技术
|
11
wizardoz 2018-03-01 09:36:55 +08:00
想不通用多重代理的优势在哪里。从墙的角度讲,只要最外层的协议被识别就会被墙掉。
从数据安全性的角度讲,混用多种加密不如好好配要一种你认为最安全的加密。 |
12
xmoiduts 2018-03-01 10:19:59 +08:00 via Android
小飞机 win 客户端包含了“配置正向代理”选项,可以在此为这架飞机本身配置下一级代理。
|
13
GhostStar 2018-03-01 10:32:52 +08:00
gost+1
|
14
zhjits 2018-03-01 10:43:23 +08:00
举个例子,比如你所有代理都是 HTTP 代理的情况下
首先你要知道 HTTP 代理有个 CONNECT 可以打出一个 TCP tunnel 然后先用一个 HTTP 代理去 CONNECT 下一个 HTTP 代理的地址,再在代码里面暴露出打出来的 TCP 洞,在这个洞里面再跑一个 HTTP 代理协议就好 |
15
cfcboy 2018-03-01 14:47:03 +08:00
gost+1
|
16
kisama12 OP 谢谢楼上的各位,找到 gost 了:)
|
17
winara 2018-11-15 17:05:34 +08:00
@gamexg
TcpRoute2 启动报错,帮忙看下是什么原因 macos10.13.6 TcpRoute2 version 0.5.8 panic: sync: inconsistent mutex state goroutine 15 [running]: sync.(*Mutex).Lock(0xc820012060) /home/travis/.gimme/versions/go1.5.linux.amd64/src/sync/mutex.go:74 +0x16d math/rand.(*lockedSource).Int63(0xc820012060, 0x0) /home/travis/.gimme/versions/go1.5.linux.amd64/src/math/rand/rand.go:239 +0x28 math/rand.(*Rand).Int63(0xc8200102c0, 0x6f185) /home/travis/.gimme/versions/go1.5.linux.amd64/src/math/rand/rand.go:46 +0x39 math/rand.(*Rand).Int(0xc8200102c0, 0x0) /home/travis/.gimme/versions/go1.5.linux.amd64/src/math/rand/rand.go:56 +0x21 math/rand.Int(0xc8200fc000) /home/travis/.gimme/versions/go1.5.linux.amd64/src/math/rand/rand.go:183 +0x23 net.exchange(0xc8200f2000, 0xf, 0xc82000e8c0, 0x31, 0xc8200f0001, 0x12a05f200, 0x0, 0x0, 0x0) /home/travis/.gimme/versions/go1.5.linux.amd64/src/net/dnsclient_unix.go:143 +0x3ec net.tryOneName(0xc82009c300, 0xc82000e8c0, 0x31, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...) /home/travis/.gimme/versions/go1.5.linux.amd64/src/net/dnsclient_unix.go:176 +0x425 net.goLookupIPOrder.func1(0xc82009c300, 0xc820011c50, 0xc8200189c0, 0x1) /home/travis/.gimme/versions/go1.5.linux.amd64/src/net/dnsclient_unix.go:452 +0x59 created by net.goLookupIPOrder /home/travis/.gimme/versions/go1.5.linux.amd64/src/net/dnsclient_unix.go:454 +0x3ba goroutine 1 [chan send]: github.com/go-fsnotify/fsnotify.(*Watcher).Close(0xc8200182a0, 0x0, 0x0) /home/travis/gopath/src/github.com/go-fsnotify/fsnotify/kqueue.go:92 +0x38a github.com/gamexg/TcpRoute2/ufile.(*UFile).Close(0xc820052070) /home/travis/gopath/src/github.com/gamexg/TcpRoute2/ufile/ufile.go:111 +0xb2 github.com/gamexg/TcpRoute2/netchan.(*hostsDns).Config(0xc82000ad20, 0xc820041f18, 0x0, 0x0) /home/travis/gopath/src/github.com/gamexg/TcpRoute2/netchan/dnschan_hosts.go:155 +0xbdf main.main() /home/travis/gopath/src/github.com/GameXG/TcpRoute2/main.go:120 +0x11db goroutine 5 [syscall]: syscall.Syscall6(0x16b, 0x3, 0x0, 0x0, 0xc82002be70, 0xa, 0x61a980, 0x0, 0x0, 0x0) /home/travis/.gimme/versions/go1.5.linux.amd64/src/syscall/asm_darwin_amd64.s:41 +0x5 syscall.kevent(0x3, 0x0, 0x0, 0xc82002be70, 0xa, 0x61a980, 0x0, 0x0, 0x0) /home/travis/.gimme/versions/go1.5.linux.amd64/src/syscall/zsyscall_darwin_amd64.go:202 +0x77 syscall.Kevent(0x3, 0x0, 0x0, 0x0, 0xc82002be70, 0xa, 0xa, 0x61a980, 0x0, 0x0, ...) /home/travis/.gimme/versions/go1.5.linux.amd64/src/syscall/syscall_bsd.go:447 +0x94 github.com/go-fsnotify/fsnotify.read(0x3, 0xc82002be70, 0xa, 0xa, 0x61a980, 0x0, 0x0, 0x0, 0x0, 0x0) /home/travis/gopath/src/github.com/go-fsnotify/fsnotify/kqueue.go:492 +0x8d github.com/go-fsnotify/fsnotify.(*Watcher).readEvents(0xc8200182a0) |
18
gamexg 2018-11-15 18:22:50 +08:00
@winara #17
像是 go 运行时问题,理论可以 github.com/golang 报告 bug。 不过 go1.5 已经很老了,go 现在是 1.11 ,应该不会被处理。 重新启动是否还会出现错误? 如果还是有问题,也许使用 go1.11 编译可以解决这个问题。 |
19
QUIOA 2019-12-30 22:43:27 +08:00 via Android
你是不是要批量大量号搞什么东西?刷赞刷粉 or 其他晦涩项目?你不是说要分享出来,,这么久了
|