说说这个系统特别之处吧,这个系统的主控模块是用C语言写的,而显示的结果是nginx来呈现的,这就要求nginx必须能调用C程序,目前的测试结果是,nginx不仅支持C及C++语言,同时还能支持perl和JAVA,但必须要有fastcgi 库来支持,等项目完成后,我将会写一个如何让nginx支持fastcgi的文章。
分类: 技术文章
shell加密工具shc
辛辛苦苦写了一堆shell,由于某些不可见人的原因,我要把它们加密,就找到了shc这个工具
1) 工具说明
shell脚本是可读写的, 很有可能会泄露敏感信息, 如用户名/密码/路径/IP等. 同样在shell脚本运行时会也泄露敏感信息. shc是一个加密shell脚本的工具, 它的作用是把shell脚本转换为一个可执行的二进制文件. 这就很好的解决了上述问题.
下载安装
下载: https://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.7.tgz
安装:
mkdir /usr/local/man/man1/ (install时会把man文件放入该目录,如果该目录不存在需提前建好)
tar vxf shc-3.8.7.tgz && cd shc-3.8.7
make test
make strings
make install
Installing shc and shc.1 on /usr/local
Do you want to continue? <输入y>
install -c -s shc /usr/local/bin/
install -c -m 644 shc.1 /usr/local/man/man1/
用法:
which shc
/usr/local/bin/shc
shc
shc parse(-f): No source file specified
shc Usage: shc [-e date] [-m addr] [-i iopt] [-x cmnd] [-l lopt] [-rvDTCAh] -f script
3) 加密脚本
shc -v -f test.sh
-v是verbose模式, 输出更详细编译日志;
-f 指定脚本的名称.
$ ll test*
-rwxr-xr-x 1 oracle oinstall 1178 Aug 18 10:00 test.sh
-rwx–x–x 1 oracle oinstall 8984 Aug 18 18:01 test.sh.x
-rw-r–r– 1 oracle oinstall 14820 Aug 18 18:01 test.sh.x.c
$ file test.sh.x
test.sh.x: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), stripped
可以看到生成了动态链接可执行二进制文件test.sh.x和C源文件testup.sh.x.c, 注意生成的二进制文件因为是动态链接形式, 所以在其它平台上不能运行.
4) 生成静态链接的二进制可执行文件
可以通过下面的方法生成一个静态链接的二进制可执行文件:
$ CFLAGS=-static shc -r -f test.sh
$ file testup.sh.x
5) 通过sch加密后的脚本文件很安全吗?
一般来说是安全的, 不过可以使用gdb和其它的调试工具获得最初的源代码. 如果需要更加安全的方法, 可以考虑使用wzshSDK. 另外shc还可以设置脚本的运行期限和自定义返回信息:
$ shc -e 03/31/2007 -m "the mysql backup scrīpt is now out of date." -f test.sh
-e表示脚本将在2007年3月31日前失效, 并根据-m定义的信息返回给终端用户.
关于 favicon.ico
今天tail -f error.log的时候发现报错,全是没找到favicon.ico文件,google了一下,发现IE在将你的网站加入收藏夹的时候自动会搜寻你网站下的 /favicon.ico 文件(如果你没有特别指定的话),其实这就是我们常常说的收藏夹的图标文件。所以根据这个也可以统计有多少人将我们的网站加入了收藏夹。
具体请看
What is Favicon.ico? Personalise Your Site’s Bookmark
不过一般的情况下功能简单而且免费的 Icon Edit就足够了。
今天让我们说说rinetd吧
在Rob Flickenger写的linux server hacks里有过介绍,主要功能是可以把本地服务器流量传递给远程服务器,此工具可以运用在linux上以及win上。
rinetd默认的配置文件是/etc/rinetd.conf,格式很简单
源IP 源端口 目标IP 目标端口 比如
0.0.0.0 1234 1.1.1.1 22
在windows上,我们可以使用rinetd唯一的有用参数-c 来指定rinetd.conf的地址,一般来说应把rinetd.conf放在和rinetd.exe同一目录中,这样就可以用如下命令调用了
rinetd -c rinetd.conf
执行完后,DOS窗口不会退出就是成功了,你可以看看本地机器的1234启动了没有,如果启动了用putty连接看看是否可以连到1.1.1.1上?特别注意一下,用putty连接的时候IP要写127.0.0.1,否则会报错。
为了方便下载,已经将软件放到
https://techlife.com.cn/soft/里了
今天发现的一个问题
今天领导说写个脚本查查磁盘空间,因每台机器不一样,比如有的有好几块硬盘,有的就有一块,还有比如说有的是linux,有的是freebsd,有的是solaris,与其这样不如直接写个show df 的脚本好了,我是这样写的
/bin/bash
$disk = df -lh
echo $disk
结果非常糟糕,显示到一行去了,其实本意是直接按命令格式输出就可以了,其实解决相当简单,我想是因为有时候我们写多了脚本,脑子习惯复杂思考了,解决如下
/bin/bash
df -lh > 1.txt
完了!
每篇文章后加了个广告
实战NGINX中的错误
今天又空看了两章,发现有个明显错误,在平滑重启nginx的时候,张宴写了一条命令
kill -HUP /usr/local/webserver/nginx/logs/nginx.pid
而其实应该是
kill -HUP cat /usr/local/webserver/nginx/logs/nginx.pid
今天在某论坛看到有人提这个问题,这说明一般我们看书时尤其是新出版的,一定要加以消化,不能人云亦云,写在这里给大家提个醒而已。
《实战Nginx》PDF电子书下载
这本书全称是《实战Nginx:取代Apache的高性能Web服务器》,国内的张宴写的,这哥们应该是在金山逍遥网工作。
现在提供的下载是网上找的,仅为学习使用,如果大家觉得不错,希望支持一下作者,毕竟是咱们中国人自己写的书
https://diavps.vpser.net/nginx-pdf-download.zip
https://www.boobooke.com/b/book0469.zip
两个下载地址任选其一。
响应号召,页面变灰(方法转自张宴博客)
步骤如下:
1、重新编译Nginx,增加http_sub_module模块:
wget https://nginx.org/download/nginx-0.8.39.tar.gz
tar zxvf nginx-0.8.39.tar.gz
cd nginx-0.8.39
./configure –user=www –group=www –prefix=/usr/local/webserver/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module
make && make install
pkill -9 nginx
/usr/local/webserver/nginx/sbin/nginx
在nginx.conf配置文件的http {…}大括号内增加以下两行:
sub_filter ‘</head>’ ‘<style type="text/css">html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }</style></head>’;
sub_filter_once on;
保存后,重新加载配置文件:
/usr/local/webserver/nginx/sbin/nginx -t
/usr/local/webserver/nginx/sbin/nginx -s reload
如果某些带有Flash的页面仍显示彩色,或浏览器上下滚动条拖动时Flash FLV播放器变花(例如剑网3、剑侠世界官网分流页),将Flash改为JS输出(本例为SWFObject):
<script type="text/javascript" src="https://v.xoyo.com/site/v.xoyo.com/web/js/swf.js”></script>
<div id="video_content"></div>
<script type="text/javascript">
<!–
var video_player_so = new SWFObject("https://api.v.xoyo.com/external/player.swf?autostart=true&config=https://api.v.xoyo.com/external/video-542.swf", "sotester", "439", "246", "7");
video_player_so.addParam("wmode", "opaque");
video_player_so.addParam("allowfullscreen","true");
video_player_so.addParam("allowscriptaccess","always");
video_player_so.write("video_content");
//–>
</script>
ASE ChartDirector 简单介绍
这个程序是跨平台跨系统的在几乎所有编程语言下生成各种图表的程序(收费,如果没有lic文件的话,会在生成的图片下出现黄色条)
1、下载
https://www.advsofteng.com/download.html
目前支持语言
ChartDirector for ASP/COM/VB
ChartDirector for .NET
ChartDirector for JSP/Java
ChartDirector for ColdFusion
ChartDirector for PHP
ChartDirector for Perl
ChartDirector for Python
ChartDirector for Ruby
ChartDirector for Ruby