`
heiheben
  • 浏览: 136609 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

[精]Kingate1.6 for linux 编译与安装

阅读更多


新版Gcc编译Kingate1.6

2007-05-11 22:24:56 章鹏(final) 阅读次数(141)
http://final.52mdj.com/archives/31/
ubuntu 下编译出现

KConfig.h:52: error: extra qualification 'KConfig::' on member 'GetList'
make[2]: *** [KConfig.o] Error 1
make[2]: Leaving directory `/root/kingate-1.4/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/kingate-1.4/src'
make: *** [all-recursive] Error 1



应该说,Linux下功能最全的代理服务器差不多就是kingate了,支持http,https,socks,mms,ftp等等相当全面的协议,认证模块也算得丰富,并且还提供了基于Web进行配置管理的界面,是一个非常不错的开源软件。作者是一个国内的高手,只是近两年好像没有再继续更新了。有人说这个软件不够稳定,的确开启该软件的http代理服务时,代理服务器端存在容易崩溃的现象,不过我都是只开一个Web管理端口和socks5服务的,感觉还是十分稳定的。

本来考虑偷懒一下,直接找Debian下有deb包的代理软件来用,可惜找来找去,虽然有squid、socks5 server等同样非常优秀的代理服务器软件,可是总是无法兼顾http代理、socks代理和认证这三方面的功能,所以还是用回kingate了。
下载源码,准备编译环境

本来kingate的官方网站应该是http://www.kingate.net ,但现在访问不到了。可以到http://sourceforge.net/projects/kingate 下载最新的1.6版本源代码包,也就是kingate-1.6.tar.gz 。

我的操作系统版本是Debian Etch 4.1 (testing),为了能够编译kingate,大致需要安装gcc g++ gpp这几个包,安装时几个包会自动装上相关的依赖库。

修改源代码

由于现在gcc的版本已经是4.1了,对c++语法的支持略有变化,因此需要做如下改动:

1. src/KConfig.h的第52行,由

bool KConfig::GetList(const char *filename);
     // 改为
bool GetList(const char *filename);



2. src/KUser.h的第87行,由

std::string KUser::ListLoginUser();
     // 改为
std::string ListLoginUser();



配置和编译

1. ./configure --prefix=/opt/kingate
* 其中“/opt/kingate”是我想放置编译好的kingate程序的路径位置,详细可以参考随源代码的安装说明README.zh。
* 如果编译环境准备得没有问题,则./configure过程会顺利完成,如果报错,则可能因为缺少某些包造成的,要检查./configure的屏幕输出信息,看其中环境检查结果是“no”的项,有可能对应着某个还没有安装的包。
2. make install
* 如果已经按上面的方法修改了源代码,那么应该能够顺利完成编译;如果不修改源代码,则会抛出一个“error: extra qualification”。

执行kingate

使用命令/opt/kingate/kingate 启动代理服务,这时应该可以通过浏览器访问http://localhost:2222 以用户名root、密码kingate登录了。对系统参数的调整也可以通过Web界面来完成。

其他常用的kingate命令行参数包括:

prefix/bin/kingate 启动kingate
prefix/bin/kingate -f 强行启动kingate,如果启动kingate提示有一个在运行,而你又确实kingate没有运行,可以使用这个。
prefix/bin/kingate -h 查看kingate用法
prefix/bin/kingate -q 关闭kingate
prefix/bin/kingate -v 查看kingate版本
prefix/bin/kingate -d # 以调试方式运行程序。#为调试级别,(0-3)。数字越高显示信息也越多。

更详细的说明参照随源代码发布的README文件以及doc目录中的说明文档。 

分享到:
评论

相关推荐

    代理服务器 Kingate1.6 for linux

    见我的blog <br>Kingate1.6 for linux 编译与安装

    kingate-1.6.rar_kingate

    《Kingate 1.6:C语言实现的代理服务器源码解析》 Kingate是一款用C语言编写的代理服务器软件,其1.6版本的源代码公开,为开发者提供了宝贵的参考学习材料。本文将深入探讨Kingate的核心功能、设计原理以及源码中的...

    kingate-1.6源码

    能运行在linux,freebsd,...及其它类unix,还有windows(最新版本要求nt 4.0以上)操作系统上 kingate是一个多线程的程序(采用线程池的方式),所以短时间内大量的连接请求,kingate还能保持很高的性能。 kingate还支持...

    kingate-1.6源码(去config版)

    能运行在linux,freebsd,...及其它类unix,还有windows(最新版本要求nt 4.0以上)操作系统上 kingate是一个多线程的程序(采用线程池的方式),所以短时间内大量的连接请求,kingate还能保持很高的性能。 kingate还支持...

    Kingate 2.0 For Windows

    在2010-04-18发布了其2.0版本,可惜没有For Windows的发布版本,需要自己编译. 我在网上搜了下,没找到For windows的2.0发布版本.于是自己使用cygwin编译环境尝试自己编译.于是就有了这个东西. 编译了N次,也可能是我对...

    kingate 2.1 for windows

    在2010-04-18发布了其2.0版本,可惜没有For Windows的发布版本,需要自己编译. 在2012-02-02发布了其2.1版本,似乎还是没有For Windows的发布版本,需要自己编译. 赶紧从网上下载了cygwin编译环境。尝试使用以前的办法...

    1.安装Kingate

    1.安装Kingate

    kingate-2.0

    kingate代理服务器说明 kingate代理服务器,受GPL协议保护,官方站点:http://sourceforge.net/projects/kingate/。 支持http,https,socks,ftp,pop3,smtp,dns,telnet代理。 客户端的设置及用法同wingate一样,可以...

    Shell脚本实现监控kingate并自动启动

    自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,好吧,对于我们这样的懒人来说,...

    kingate-开源

    kingate是代理服务器。 支持http,袜子,ftp,smtp,pop3代理。

    http.rar_C++ http服务器_HTTP 服务器_VC HTTP服务器_vc kingate_代理

    标题中的"http.rar_C++ http服务器_HTTP 服务器_VC HTTP服务器_vc kingate_代理"表明这是一个关于C++实现的HTTP服务器项目,可能包含了VC++(Visual C++)开发环境下的源代码,以及一个名为"vc kingate"的组件或工具...

Global site tag (gtag.js) - Google Analytics