chinashiyu/gfw.press

可以去掉GUI界面吗

silent-x opened this issue · 32 comments

这样就可以跑在一些没装图形界面的设备上了

我早就提出来了,作者一直没回复,见 #6

开发过程就是先有一个命令行的Client,然后才做的GUI。
后续会做一个命令行版的,以便大家装在路由器等小型设备。

瞅了眼代码,是通过 AES 加密传输的 HTTP(S) 透明代理。拿 C 或者 Rust 写一个应该挺容易的。

那你写个吧

@jzp820927 有时间了就写。但是大概是不会有的……

改天有空先拿c#写个client 然后拿mono跑起来看看 c++功底太差 留给别人吧

@lilydjwg 好吧,我也不知道作者啥时候能出 命令行版,估计要很久去了。
@silent-x 最好是用跨平台的语言写,比如,go,python,c,java,这样一个代码,通用全部平台。

@jzp820927 mono跑c# 和java一样的 python还在学。。。

@silent-x 好吧,你啥时候开发?到时候我帮你测试?

mritd commented

@jzp820927 @silent-xhttps://github.com/mritd/gfw.press 。。。我能说我服务端还没跑起来么?谁特么教教我 squid3 和 3proxy 怎么玩 啊。。。宝宝委屈

@mritd 我去,squid 这么简单,还用教麽,默认配置就能运行。
apt-get install squid
如果服务没启动,就启动一下
service squid start
就OK了。
要是搭建好了,记得分享你的服务器给俺用哈!

兄弟,你太牛了,用你的魔改版,运行大杀器成功,非常感谢。给你一万个赞!

mritd commented

@jzp820927 你确定。。默认配置?别闹 啊。。。真假的。。。我怎么鼓捣半天不好使咧,RP问题?打开方式不对?

twfcc commented

樓上說squid3不設定用默認,sudo nmap -sS -sV -p 3128 --script http-open-proxy.nse your_vps_ip 看看甚麼結果才下定論,大爺還是最少要寫上在squid.conf 的 http_port 3128 改為 http_port 127.0.0.1:3128吧

@mritd 肯定确定啊,squid 我玩很久了,默认就是监听的 3128 端口,大杀器也是连接的默认 3128 端口,如果你运行不了,可以把报错日志贴出来看看,反正我可以正常运行。
还有不知道你是用什么方式安装的,包管理器?源码?如果包管理器安装的运行不了,可以用最原始的方式,下载源码,三步编译,./configure && make && make install ,然后直接运行 squid 也行。

还有我不知道你的服务器是什么环境,我是 Ubuntu Server 16.04
cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
UBUNTU_CODENAME=xenial

下面是我自己编译源码运行的结果,给你看看,没改配置,就是默认配置:
root@ubuntu:/etc/squid# squid
root@ubuntu:/etc/squid# ps -aux|grep squid
root 64035 0.0 0.2 70156 5484 ? Ss 13:01 0:00 squid
proxy 64037 0.0 0.9 75408 18552 ? S 13:01 0:00 (squid-1)
proxy 64038 0.0 0.0 13280 1700 ? S 13:01 0:00 (logfile-daemon) /var/log/squid/access.log
root 64095 0.0 0.1 9496 2272 pts/1 S+ 13:08 0:00 grep --color=auto squid
root@ubuntu:/etc/squid# netstat -tlnp|grep 3128
tcp6 0 0 :::3128 :::* LISTEN 64037/(squid-1)

@twfcc 你这个也就是改了监听端口,默认配置是监听 0.0.0.0,如果不想对外监听,可以监听到 127.0.0.1,不改监听也不影响作为大杀器的后端。

twfcc commented

大殺器流量只須經過本地127.0.0.1:3128,squid3默認沒密碼監聽所有介面,這就是公共代理,搞不好VPS供應商會封權,我寫了配置好的腳本安裝大殺器,可以控制用戶訪問端口,用3proxy,並修改了JAVA運行參數,可以在較少RAM的VPS上運行 https://github.com/twfcc/gfw.press_installer/blob/master/gfw3proxy.sh

好吧,其实这个公共代理,对国内用户并没用,国外用户估计用代理的需求也很小。
不过出于对 vps 的安全考虑,可以只监听 127.0.0.1。反正也只是作为 gfw 的后端用。
其实你可以提个 PR 在 readme.txt 说明下监听地址的安全性问题,就是不知道 repo主,会不会来处理。

twfcc commented

魚大爺不寫後端的手冊,因為那是另一個項目,那裡有用戶手冊,gfw.press就像stunnel,只是加密隧道,配置文件只有user.txt和server.json,確實沒啥好寫,又不用gen證書,欠的是這個協議和加密文件說明,不利第三方開發客戶端,3proxy 如果用socks描述文件端口改為1080,大殺器就是socks代理,大爺都沒說明,,實在難明

@twfcc 还可以用srelay这种

目前大杀器这种设计方法还是挺好的,大杀器只负责加密,和透明转发流量,不负责后端的代理协议,这样后端的代理应用,就可以由用户自己来搭配,选择自己喜欢的代理程序作为后端。目前官方提供的后端都是 http 代理协议。@twfcc 按你这么一说,大杀器还支持 socks 协议的后端代理程序。这个还真没试过,这么一说,大杀器,就是一个无关后端协议的 加密和透明转发器。

mritd commented

@jzp820927 找到原因了,并非后端问题,我可能把服务端的某些核心代码改动错了,我一直用 jar 包方式启动的服务端。。。 换成原始项目就好了,等我有时间修复一下。。。现在在出差

你的意思是,问题出在大杀器上?和 squid 无关?

mritd commented

@jzp820927 问题出在 我身上,我把服务端客户端全部封装到了一个 jar 里面,可能某些代码调整错了,导致服务端的 始终报错(socket closed)......蛋疼中,准备有时间 回去对比一下。。。。

哦,找到原因就行了。祝你成功。

mritd commented

@jzp820927 已搞定,jar 支持 GUI 启动,可直接命令行启动 Server/Client 。。。1.0 版本魔改完成

已经合并到你的 github 项目中了?我正在用你的项目,我也升级试试。
对了,能否对你的 魔改版提个建议,能否加个多服务器的支持?就是我在 json 配置文件中添加多个服务器,然后,如果正在用的服务器失效,就可以自动切换到下一个可用服务器?

@silent-x 额,我是 Ubuntu Server 无 X 环境,能运行么?
好吧,刚刚打开你项目首页,已经看到说明,通过 mono 运行命令模式,我去试试,回头给你汇报。

@silent-x 不好意思,昨天有点事,一直没时间测试。今天测试了一下,提示下面错误,你看看是什么原因
系统环境,上面贴的有:#11 (comment)

mono GFW.Sharp.Console
Cannot open assembly 'GFW.Sharp.Console': File does not contain a valid CIL image.

不错,大杀器又多了一个客户端,马上去测试下,谢谢!

這麼一個騙子代碼,如同中學生的課程作業,靠這麼多殭屍相互吹捧,你做了什麼? @jzp820927