yinqiwen / gsnova

Private proxy solution & network troubleshooting tool.
BSD 3-Clause "New" or "Revised" License
560 stars 189 forks source link

求助 安桌手机用的配置和电脑上的配置是同一份配置吗? #68

Open lovemyself1214 opened 6 years ago

lovemyself1214 commented 6 years ago

想问一下各位大佬,安桌手机上用的配置和电脑上用的配置是同一份吗?我按照别的答案里的教程设置的,手机可以同步电脑 上的配置,但是手机上就是无法使用。电脑上一切正常。是不是这两个配置有不同的地方?我是直接复制了一份电脑 上的配置到android/heroku/下的,不知道这样对不对? 下面是我电脑 上的配置,哎,小白弄点东西好难啊。希望大佬们抽时间回复下。感激不尽啊

//this is just a example
"Log": ["color", "gsnova.log"],
"UserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36",
//encrypt method can choose from none/auto/salsa20/chacha20poly1305/aes256-gcm
//'auto' method would choose fastest encrypt method for current env
"Cipher":{"Method":"auto", "Key":"809240d3a021449f6e67aa73221d42df942a308a", "User": "gsnova"},
"Mux":{
    "MaxStreamWindow": "512K",
    "StreamMinRefresh":"32K"
},

"LocalDNS":{
    //only listen UDP
    "Listen": "127.0.0.1:5300",
    "FastDNS":["223.5.5.5","180.76.76.76"],
    "TrustedDNS": ["208.67.222.222", "208.67.220.220"]
},

"UDPGW":{
    //fake address, only used as udp protocol indicator
    "Addr":"20.20.20.20:1111"
},

"SNI":{
    //Used to redirect SNI host to another for sniffed SNI
    "Redirect":{
        //This fix "DF-DFERH-01" error in HW phone for google play 
        "services.googleapis.cn":"services.googleapis.com"
    }
},

//used to handle admin command from http client    
"Admin":{
    //a local http server, do NOT expose this http server to public
    //listen on private IP instead of the default config 
    //eg: "Listen": "192.168.1.1:7788",
    "Listen": ":7788",
    //used to broadcast admin server address.
    "BroadcastAddr":"224.0.0.1:48100",
    "ConfigDir":"./android"
},

"GFWList":{
    "URL":"https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt",
    "Proxy":"",
    "UserRule":[]
},

"Proxy":[
    {
        "Local": ":48100",
        //used to indicate if it's serving as a transparent proxy(work with iptables)
        "Transparent": false,
        "PAC":[
            //{"Protocol":["dns", "udp"],"Remote":"direct"},
            // Support rules 'IsCNIP/InHosts/BlockedByGFW'
            //{"Rule":["InHosts"],"Remote":"direct"},
            //{"Rule":["!IsCNIP"],"Remote":"heroku"},
            //{"Rule":["BlockedByGFW"],"Remote":"heroku"},
            //{"Host":["*notexist_domain.com"],"Remote":"Reject"},
            //{"Host":["*"],"Remote":"direct"},
            //{"URL":["*"],"Remote":"direct"},
            //{"Method":["CONNECT"],"Remote":"direct"}
            {"Remote":"Default"}
        ]
    },
    {
        "Local": ":48101",
        "PAC":[
            {"Remote":"heroku-websocket"}
        ]
    },
    {
        "Local": ":48102",
        "PAC":[
            {"Remote":"vps-quic"}
        ]
    }
],

"Channel":[
    {
        "Enable":true,
        "Name":"heroku-websocket",
        //Allowed server url with schema 'http/http2/https/ws/wss/tcp/tls/quic/kcp/ssh'
        //"ServerList":["quic://1.1.1.1:48101"],
        "ServerList":["wss://myapp.herokuapp.com"],
        //"ServerList":["tcp://127.0.0.1:18080"],
        //"ServerList":["ssh://root@1.1.1.1:22?key=./PPP"],
        //if u are behind a HTTP proxy
        "Proxy":"",
        "ConnsPerServer":3,
        "RemoteDialMSTimeout":5000,
        "RemoteDNSReadMSTimeout":1500,
        "RemoteUDPReadMSTimeout":15000,
        "LocalDialMSTimeout":5000,
        //Reconnect after 120s
        "ReconnectPeriod": 300,
        //ReconnectPeriod rand adjustment, the real reconnect period is random value between [P - adjust, P + adjust] 
        "RCPRandomAdjustment" : 10,
        //Send heartbeat msg to keep alive 
        "HeartBeatPeriod": 30,
        "Compressor":"none",
        "Hops":[]
    },
    {
        "Enable":false,
        "Name":"vps-quic",
        "ServerList":["quic://1.1.1.1:8080"],
        //if u are behind a HTTP proxy
        "Proxy":"",
        "ConnsPerServer":3,
        "RemoteDialMSTimeout":5000,
        "RemoteDNSReadMSTimeout":1500,
        "RemoteUDPReadMSTimeout":15000,
        "LocalDialMSTimeout":5000,
        //Reconnect after 120s
        "ReconnectPeriod": 1800,
        //ReconnectPeriod rand adjustment, the real reconnect period is random value between [P - adjust, P + adjust] 
        "RCPRandomAdjustment" : 60,
        //Send heartbeat msg to keep alive 
        "HeartBeatPeriod": 30,
        "Compressor":"none",
        "KCP":{
            "Mode":"fast"
        },
        "Hops":[]
    }
]

}

yinqiwen commented 6 years ago

因为路径问题,不能拷贝;需要手机从PC上运行的gsnova上同步

wangyi2005 commented 6 years ago

@yinqiwen 能不能把配置文件保存在手机内部存储,也方便导入修改。

yinqiwen commented 6 years ago

理论上可以,但是需要弄清楚程序的安装运行路径在哪里

lovemyself1214 commented 6 years ago

@yinqiwen 我是在电脑上的gsnova文件夹下建立 的的android / heroku 文件夹,然后把client,json 和复制到heroku 文件夹下,然后手机上安装 的那个0.28的apk ,然后手机上的profiles里也显示 了heroku, 电脑上浏览器打开http://127.0.0.1:7788/_conflist 显示 的heroku 打开http://127.0.0.1:7788/ 显示的也是heroku 打开heroku/显示 的是client,json和host .json ,打开这两个文件显示的就是配置的内容,但就是在手机上不能用啊 ,到底哪里出问题了啊?

yinqiwen commented 6 years ago

@lovemyself1214 可能是格式问题, 0.28.0/0.31.0 的配置格式有变化,你可以试下按照 0.28.0的配置格式改下,因为apk是0.28的

lovemyself1214 commented 6 years ago

@yinqiwen 还是不行 跟原来一样。可能就像你说的,可能是我弄的这个配置文件的格林有问题,谁能给份配置好的去掉服务器的配置啊,我拿来填上服务器就能用的那种,其实我用0.28的服务器也是一样,可能我太笨了吧 总也弄不好。好烦啊,

lovemyself1214 commented 6 years ago

@yinqiwen 问题还是木有解决,不过还是要谢谢你,谢谢你开发的这个工具,当前段时间我这里基于GAE的代理完全不能用的时候,我就想起两年前我部署在heroku的snova的0.23的那个C4版本,打开居然还能用。然后就又搜索了下,而且现在这个gsnova真的非常好用,真的是深深的感谢。

yinqiwen commented 6 years ago

update android client https://github.com/yinqiwen/gsnova/releases/download/0.31.0/gsnova_android-0.31.0.zip

lovemyself1214 commented 6 years ago

@yinqiwen 在我手机上安装了没法使用,只要放入后台运行就自动断开,哎,无奈了。不过,还是谢谢你 ,非常感谢。

wangyi2005 commented 6 years ago

@yinqiwen 非常感谢,可以直接输入配置服务器地址进行同步了,效果非常好。 有一个小问题就是在android通知栏“断开连接”后, gsnova enable vpn 没有同步为关闭状态。 AllowdApps 是否是 AllowedApps?

lovemyself1214 commented 6 years ago

我这手机一直不行,木有办法了。好可惜哇。

wangyi2005 commented 6 years ago

我这个 xiaomi miui 国际版 android 6 可以啊

lovemyself1214 commented 6 years ago

我可以把配置文件同步过去,但是就是用不了,你能贴个你用的配置文件给我嘛?我的也是小米的手机,我想是 不是我的配置文件哪里有弄的不对的 你把你的服务器信息隐去,把你的配置的文件发出来看看行吗?先谢谢了@wangyi2005

wangyi2005 commented 6 years ago

0.31.0 版本,记住 allowedApps 设置为 allapps。

{
    "Log": ["color"],
    "UserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36",
    "Cipher":{"Method":"auto", "Key":"809240d3a021449f6e67aa73221d42df942a308a"},
    "Mux":{
        "MaxStreamWindow": "512K",
        "StreamMinRefresh":"32K"
    },
    "User": "gsnova",
    "LocalDNS":{
        //"Listen": "127.0.0.1:5300",
        "FastDNS":["223.5.5.5","180.76.76.76"],
        "TrustedDNS": ["208.67.222.222", "208.67.220.220"]
    },
    "UDPGW":{
        "Addr":"20.20.20.20:1111"
    },
    "Proxy":[
        {
            "Local": ":1080",
            "Transparent": false,
            "PAC":[
                {"Protocol":["dns", "udp"],"Remote":"direct"},
                {"Remote":"Default"}
            ]
        }
    ],
    "Channel":[
        {
            "Enable":true,
            "Name":"Default",
            "ServerList": ["wss://#########.herokuapp.com"],
            "SNIProxy": "########",
                   "Proxy":"",
            "ConnsPerServer":3,
            "RemoteDialMSTimeout":5000,
            "RemoteDNSReadMSTimeout":1500,
            "RemoteUDPReadMSTimeout":15000,
            "LocalDialMSTimeout":5000,
            "ReconnectPeriod": 300,
            "RCPRandomAdjustment" : 10,
            "HeartBeatPeriod": 30,
            "Compressor":"none",
            "Hops":[]
        }
    ]
}
lovemyself1214 commented 6 years ago

@wangyi2005 非常谢谢,我一会儿试下,嗯,我一直选的all apps。

lovemyself1214 commented 6 years ago

@yinqiwen 同样的非常感谢作者,还特意更新了一个app。太感谢了。

lovemyself1214 commented 6 years ago

@wangyi2005 不知道怎么称呼好,叫大佬吧,问一下,部署在openshift的app。客户端的配置里应该怎么写啊?看不太懂,因为heroku有个例子在照着写就行,这个openshift不知道怎么写,如果方便的话,就跟我说一下,感谢不尽,上次的事也非常感谢。

wangyi2005 commented 6 years ago

在openshift、heroku等 paas 部署服务端,一般使用 paas 提供的 endpoint,也可以用 custom domain。 1、heroku目前好像只支持wss,"ServerList": ["wss://#########.herokuapp.com"] 2、openshift支持wss,http2,要看用哪个docker image,怎么配置 secure route。 如果是edge,"ServerList": ["wss://#########.7e14.starter-us-west-2.openshiftapps.com"] 如果是passthrough,"ServerList": ["http2://#########.7e14.starter-us-west-2.openshiftapps.com"]

lovemyself1214 commented 6 years ago

@wangyi2005 heroku 我不管是填https http wss 都可以用。openshift 的secure route 我选的是edge .docker用的 作者的https://hub.docker.com/r/gsnova/gsnova-paas/ 这个。我再试试看,

lovemyself1214 commented 6 years ago

@wangyi2005 非常感谢,弄好了。谢谢大佬的解疑释惑。感激。

addsun commented 5 years ago

你们好,同样问题,PC可以,但手机不行。已同步配置,allowedApps 设置为 allapps 还是不能用,是不是系统太旧呢?谢谢

gsnova版本:0.33.1 手机系统:android 5.1

配置文件: //this is just a example "Log": ["color", "gsnova.log"], "UserAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36", //encrypt method can choose from none/auto/salsa20/chacha20poly1305/aes256-gcm //'auto' method would choose fastest encrypt method for current env "Cipher":{"Method":"auto", "Key":"809240d3a021449f6e67aa73221d42df942a308a", "User": "gsnova"}, "Mux":{ "MaxStreamWindow": "512K", "StreamMinRefresh":"32K", "StreamIdleTimeout":10, "SessionIdleTimeout":300 },

"ProxyLimit":{
    "WhiteList":["*"],
    "BlackList":[]
},

// expose port  by upnp for p2p
//"UPNPExposePort":56789,

"LocalDNS":{
    //only listen UDP
    "Listen": "127.0.0.1:5300",
    "FastDNS":["223.5.5.5","180.76.76.76"],
    "TrustedDNS": ["208.67.222.222", "208.67.220.220"]
},

"UDPGW":{
    //fake address, only used as udp protocol indicator
    "Addr":"20.20.20.20:1111"
},

"SNI":{
    //Used to redirect SNI host to another for sniffed SNI
    "Redirect":{
        //This fix "DF-DFERH-01" error in HW phone for google play 
        "services.googleapis.cn":"services.googleapis.com"
    }
},

//used to handle admin command from http client    
"Admin":{
    //a local http server, do NOT expose this http server to public
    //listen on private IP instead of the default config 
    //eg: "Listen": "192.168.1.1:7788",
    "Listen": ":7788",
    //used to broadcast admin server address.
    "BroadcastAddr":"224.0.0.1:48100",
    "ConfigDir":"./android"
},

"GFWList":{
    "URL":"https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt",
    "Proxy":"",
    "UserRule":[]
},

"Proxy":[
    {
        "Local": ":48100",
        //used to indicate if it's a MITM proxy server, which would use generated cert for TLS connections
        "MITM": false,  
        "HTTPDump":{
            "Dump":"./httpdump-48100.txt",
            "Domain":[],  
            "ExcludeBody":["text/css"]
        },  
        "PAC":[
            //{"Protocol":["dns", "udp"],"Remote":"direct"},
            // Support rules 'IsCNIP/InHosts/BlockedByGFW'
            //{"Rule":["InHosts"],"Remote":"direct"},
            //{"Rule":["!IsCNIP"],"Remote":"heroku"},
            //{"Rule":["BlockedByGFW"],"Remote":"heroku"},
            //{"Host":["*notexist_domain.com"],"Remote":"Reject"},
            //{"Host":["*"],"Remote":"direct"},
            //{"URL":["*"],"Remote":"direct"},
            //{"Method":["CONNECT"],"Remote":"direct"}
            {"Rule":["IsPrivateIP"],"Remote":"direct"},
            {"Remote":"Default"}
        ]
    },
    {
        "Local": ":48101",
        "PAC":[
            {"Remote":"heroku-websocket"}
        ]
    },
    {
        "Local": ":48102",
        "PAC":[
            {"Remote":"vps-quic"}
        ]
    }
],

"Channel":[
    {
        "Enable":true,
        "Name":"heroku-websocket",
        //Allowed server url with schema 'http/http2/https/ws/wss/tcp/tls/quic/kcp/ssh'
        //"ServerList":["quic://1.1.1.1:48101"],
        "ServerList":["wss://xxxxxxxxx.herokuapp.com"],
        //"ServerList":["tcp://127.0.0.1:18080"],
        //"ServerList":["ssh://root@1.1.1.1:22?key=./PPP"],
        //if u are behind a HTTP proxy
        //"Proxy":"",
        "ConnsPerServer":3,
        "RemoteDialMSTimeout":5000,
        "RemoteDNSReadMSTimeout":1500,
        "RemoteUDPReadMSTimeout":15000,
        "LocalDialMSTimeout":5000,
        //Reconnect after 120s
        "ReconnectPeriod": 300,
        //ReconnectPeriod rand adjustment, the real reconnect period is random value between [P - adjust, P + adjust] 
        "RCPRandomAdjustment" : 10,
        //Send heartbeat msg to keep alive 
        "HeartBeatPeriod": 30,
        "Compressor":"none",
        "Hops":[],
        //Use matched RemoteSNI host to connect at remote side
        "RemoteSNIProxy":{
            //"*.google.*":"GoogleHKSNI"
        }
    }

]

}