Giter Site home page Giter Site logo

仅对私有 IP 总是直连 about cow HOT 11 CLOSED

cyfdecyf avatar cyfdecyf commented on August 26, 2024
仅对私有 IP 总是直连

from cow.

Comments (11)

cyfdecyf avatar cyfdecyf commented on August 26, 2024
  1. addrInPAC 只有在通过端口映射想把内网的 cow 提供给外网使用才需要。
  2. cow 会记录每个二级代理失败的次数,上限是 30。对于失败过的二级代理,以失败次数分之一的概率再次尝试使用。二级代理失败次数每次启动时都是 0。
  3. cow 目前只支持同时指定多个 shadowsocks 代理,http/socks 代理各自只能指定一个,如果指定多个则只有最后一个有效。以后会去掉这个限制。
  4. IP 地址总是直连是特意这样的,为了避免访问内网机器时也走代理。能给一个页面 link 中包含 ip 的被墙网站地址么?

from cow.

graminc avatar graminc commented on August 26, 2024

1
经过自己验证,目前COW 0.6.3中 http、socks、shadowsocks三大类别哪一个在就前先启动哪一个,http、socks只能执行各自类别中最后一个。
"“cow 目前只支持同时指定多个 shadowsocks 代理”“ 原来同时支持多个,back策略下执行shadowsocks类别第一个其他备用。

2
如果软件功能本身可以稳定支持多个http/socks 代理,不明白为何要限制。希望在下一版本中取消限制。

3
”“二级代理失败次数每次启动时都是 0。”“应该就是每次启动按 http、socks、shadowsocks三大类别哪一个在前就先启动。刚启动是失败次数重置嘛。

4
端口映射不太明白,没环境设置使用。

5
“IP 地址总是直连是特意这样的,为了避免访问内网机器时也走代理”
内网ip与公网ip应该容易区分吧。
”“能给一个页面 link 中包含 ip 的被墙网站地址么?”“ 请看邮件。

from cow.

cyfdecyf avatar cyfdecyf commented on August 26, 2024
  1. addrInPAC 一般用不到,不用管
  2. 我觉得这个就没必要添加选项了,交给软件处理即可
  3. 没有支持多个 http, socks 代理只是因为之前没有人提这样的需求,后面会实现。在 backup 策略下代理的使用顺序跟在配置文件中出现的顺序一样
  4. 会考虑修改 ip 地址的处理方式,谢谢建议

from cow.

cyfdecyf avatar cyfdecyf commented on August 26, 2024

@graminc 指定多个 http/socks 代理的功能已经加入,代码在 develop branch 上。如果不方便自己编译的话告诉我你需要的平台版本,我帮你编译以后帮忙测试下吧。

只针对内网 IP 总是使用直连的功能过几天应该也会完成。

from cow.

cyfdecyf avatar cyfdecyf commented on August 26, 2024

@graminc 0.7 版发布了,改成仅对私有 IP 才总是使用直连。

from cow.

graminc avatar graminc commented on August 26, 2024

@cyfdecyf 谢谢回复。

1
多谢作者的新版发布改进。今天下午才看到。
目前,我不会编译程序,代码只能看懂皮毛的一点点。

2
“0.7 版发布了,改成仅对私有 IP 才总是使用直连。”已验证成功。

目前已经同时支持两个http/scoks代理。
不能同时支持三个http代理。前三个http代理顺序无论如何排列,3号代理总是不尝试。
同样的不能同时支持三个socks代理。
我不知道支持多个代理时,支持的数目多少,是不是在编写代码时只能一个个添加。
如果是只能一个个添加的话,抱歉我的要求可能太高,会大幅增加作者的编写工作量。

4
提个建议cow-taskbar 窗口,希望能像windows 命令行cmd窗口一样,可以执行 标记复制粘贴清屏 动作。
清屏cls命令最重要,cow-taskbar 窗口中较多日志时,不方便查看,行数一多容易看错行,尤其在测试验证时。重新加载时日志依然保留,只能退出重启cow-taskbar。

测试环境Windows 7 Home Basic 64bit,抱歉目前没有其他使用环境。

谢谢!

from cow.

graminc avatar graminc commented on August 26, 2024

cow-win64-0.7 rc.txt 配置如下:
listen = 127.0.0.1:7777
alwaysProxy = false
loadBalance = backup
#8087 goagent
#10000 apjp
#10006 appp
#7070 ssh1
#5000 ssh2
#1080 shadowsocks

httpParent = 127.0.0.1:10000
httpParent = 127.0.0.1:8087
httpParent = 127.0.0.1:10006
socksParent = 127.0.0.1:1080
socksParent = 127.0.0.1:5000
socksParent = 127.0.0.1:7070

dialTimeout = 9s
readTimeout = 9s
#addrInPAC = 127.0.0.1:7777

网络不稳定,对dialTimeout、readTimeout两处做了修改。

from cow.

cyfdecyf avatar cyfdecyf commented on August 26, 2024

@graminc 非常感谢你详细的说明,只有前两个二级代理有效是因为代码有 bug,已经修复并且发布新版本,麻烦再更新下。

cow-taskbar.exe 其实是从 goagent 中拿来的(不是我自己编译的),只是为了可以隐藏 cmd 窗口。如果觉得查看 log 不方便的话可以之间从 cmd 窗口里启动 cow,用 ctrl+c 来中止 cow 的执行。

from cow.

graminc avatar graminc commented on August 26, 2024

谢谢作者的更新改进!

@cyfdecyf 新版本 cow-win64-0.7.1.zip 测试一切正常

cow-win64-0.7.1 rc.txt 配置如下:(部分)

socksParent = 127.0.0.1:7070
socksParent = 127.0.0.1:1080
socksParent = 127.0.0.1:5000
httpParent = 127.0.0.1:10000
httpParent = 127.0.0.1:8087
httpParent = 127.0.0.1:10006

发现有时前两个代理有时同时使用,这是不是 “可同时指定多个二级代理,支持简单的负载均衡” 的功能呢?

是不是只有loadBalance = hash才能负载均衡,loadBalance = backup 不 支持负载均衡呢?

from cow.

graminc avatar graminc commented on August 26, 2024

loadBalance = hash 如何使用?
不知道怎么用,样例配置sample-config 中能给举个例子吗?

from cow.

cyfdecyf avatar cyfdecyf commented on August 26, 2024

backup 是按顺序使用二级代理,前面的连接失败了才使用后面的。

hash 根据网站的 host name优先尝试特定的某个代理,如果连接失败再尝试其他的代理。host name 跟代理的对应关系是固定的,避免某些网站做 ip 检查而不能登录。

如果你有一个稳定而且速度快的二级代理就用 backup,其他代理只是作为备份。

from cow.

Related Issues (20)

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.