使用dante-server和stunnel搭建socks代理服务器

2013.12.04/2016.08.30发布于笔记暂无评论#note#proxy#socks5#stunnel#ubuntu

总结在Ubuntu上使用Dante和Stunnel搭建socks代理服务器的过程,以供日后查询。

dante-server是一个免费的socks代理服务器,stunnel可以使用openssl对通信数据进行加密,相关程序的版本为

  • Ubuntu: 16.04 x86_64
  • dante-server: v1.4.1
  • stunnel: 5.30

安装和配置dante-server

安装dante-server

继续阅读...

CMake使用总结

2013.11.12/2015.10.02发布于笔记暂无评论#c++#cmake#note#总结

总结CMake的常用命令,并介绍有用的CMake资源。

CMake意为cross-platform make,可用于管理c/c++工程。CMake解析配置文件CMakeLists.txt生成Makefile,相比直接用Makefile管理工程,CMake更灵活和简单。

简单的例子

一个完整的Demo可参考这里

假设当前目录的结构为

继续阅读...

Ubuntu上安装和配置FreeRadius和DaloRadius

2013.11.07/2016.08.29发布于笔记暂无评论#note#radius#ubuntu#vpn#教程

总结我在Ubuntu上安装FreeRadius和DaloRadius的步骤及遇到的问题,以供日后查询,系统为Ubuntu 12.04.3 X86_64,本文的FreeRadius配置使用MySQL作为后端存储相关数据。

FreeRadius可以为pptp和l2tp提供验证和统计等功能,DaloRadius为FreeRadius提供一个网页界面。阅读本文前确保已经正确安装了pptpd或xl2tpd服务器。相关安装配置教程可参考使用pptpd搭建VPN在Ubuntu12.04上安装l2tp/ipsec VPN服务器

开始安装前建议先通读一下wikipedia:RADIUSradius介绍,了解一些radius的概念。

安装必要的软件

sudo apt-get install freeradius freeradius-mysql radiusclient1 php5 php5-mysql php5-gd php5-cgi php5-fpm php-pear php-db mysql-server-5.5
继续阅读...

在Ubuntu12.04上安装l2tp/ipsec VPN服务器

2013.11.06/2015.02.06发布于笔记暂无评论#ipsec#l2tp#note#ubuntu#vpn#教程

因为众所周知的原因,l2tp业已沦陷,本文不再维护。

记录我在Ubuntu服务器上安装l2tp/ipsec VPN的过程,以供日后查询。ipsec用于验证和加密数据包,由openswan提供;l2tp即第二层隧道协议,由xl2tpd提供。

安装相关软件

默认配置即可,后面另有详细介绍。

sudo apt-get install openswan xl2tpd ppp
继续阅读...

awstats+nginx配置笔记

2013.11.04/2014.12.03发布于笔记暂无评论#awstats#nginx#note#perl#ubuntu#教程

awstats可以分析服务器日志,并提供图形化的分析结果,demo可参考本博客的awstats页面。以下是一篇简单的awstats教程,记录我在ubuntu系统上安装和配置awstats7.2 + nginx的过程。

awstats7.2下载和配置

下载awstats

cd /tmp
wget http://prdownloads.sourceforge.net/awstats/awstats-7.2.zip
cd /usr/local
sudo unzip /tmp/awstats-7.2.zip
sudo mv awstats-7.2 awstats

www.mawenbao.com为例,创建新的配置文件/etc/awstats/awstats.www.mawenbao.com.conf

继续阅读...

Python内置函数open()打开模式总结

2013.08.29发布于笔记暂无评论#note#python

总结python2.7中open函数的打开模式。

open()

参考python2.7的网上文档:

open(name[, mode[, buffering]])

Open a file, returning an object of the file type described in section File Objects. If the file cannot be opened, IOError is raised. When opening a file, it’s preferable to use open() instead of invoking the file constructor directly.

The first two arguments are the same as for stdio‘s fopen(): name is the file name to be opened, and mode is a string indicating how the file is to be opened.

各模式总结

继续阅读...

Python笔记

2013.08.25发布于笔记暂无评论#note#python

记录一些零散的Python笔记。

Paramiko

paramiko的ssh.exec_command()命令会开启一个单独的session,而且在exec_command中设定的环境变量不会传递给后续的脚本。解决方法是使用bash执行命令:

ssh.exec_command("bash -l -c 'some commands and some scripts...'")

Python2.x设置默认编码为UTF-8

继续阅读...

Debian/Ubuntu自启动方法总结

2013.08.25/2013.12.05发布于笔记暂无评论#debian#note#startup#ubuntu#未完成

总结Debian/Ubuntu的启动方法.

XDG AutoStart

将程序的快捷方式置于/etc/xdg/autostart即可随XDG自启动.下面是fcitx输入法的快捷方式.

[Desktop Entry]
Name=Fcitx
Name[zh_CN]=Fcitx
Name[zh_TW]=Fcitx
Comment=Input Method
Comment[zh_CN]=输入法
Comment[zh_TW]=輸入法
Exec=fcitx
Icon=fcitx
Terminal=false
Type=Application
Categories=System;Utility;
StartupNotify=false
X-GNOME-Autostart-Phase=Applications
X-GNOME-AutoRestart=false
X-GNOME-Autostart-Notify=false
X-KDE-autostart-after=panel
X-KDE-StartupNotify=false

~/.config/autostart

继续阅读...