Linux系统架设支持自助开通Shado wsocks及VPN前端的教程
程序实现:通过网页端注册,自助开通VPN帐号及Shadowsocks帐号。并可实现流量统计
系统要求 Debian 6 x64 纯净系统 by: Lop
①配置环境
apt-get update
apt-get install apache2 //输入y
apt-get install mysql-server //输入y 创建MYSQL密码 要两遍一样
apt-get install php5 输入y
apt-get install php5-mysql
apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin //输入y 选apache回车 OK 密码 密码 密码
cp /etc/phpmyadmin/apache.conf /etc/apache2/sites-available/phpmyadmin
cd /etc/apache2/sites-enabled/
ln -s ../sites-available/phpmyadmin
/etc/init.d/apache2 restart
/配置环境完成,请访问VPS的IP,如果显示“It Works”,http://ip/phpmyadmin 能够显示phpmyadmin。则表示环境配置成功/
②安装PPTP及L2TP的vpn (通过freeradius控制用户及流量,方法来自yzs.me)
cd //回到根目录
wget http://soft.yzs.me/freeradius.sh -O /tmp/freeradius.sh && bash /tmp/freeradius.sh
//选2-选1-输入MYSQL密码-创建radius密码-输入服务器IP-创建预共享密钥
echo "INSERT INTO radcheck (id,username,attribute,op,value) VALUES
('','vpntest','Cleartext-Password',':=','11234')" | mysql -u root -p
radius
//创建一个测试帐号vpntest 密码11234 并做vpn连接测试。VPN可以连接则为正常!
/至此vpn安装完成,会自动在mysql创建一个名为radius的数据库,用来存储vpn的用户名和密码/
③上传网站前端
解压ssnode.zip 并把所有内容上传到/var/www
更改/lib文件夹下config-simple.php 为 config.php
并配置数据库
define('DB_HOST','127.0.0.1');
define('DB_USER','root');
define('DB_PWD','mypassw');
define('DB_DBNAME','radius');
//例如上面的,请根据实际情况更改
/上传ssnode网站完成,ip可以访问主站页面则为正常/
④导入前端和ss程序公用的数据库
访问http://ip/phpmyadmin 并登陆
进入数据库radius 并导入sql/user.sql
/此数据库在ssnode.zip的sql目录下/
⑤安装Shadowsocks程序
解压shadowsocks-manyuser.zip 并把shadowsocks-manyuser上传到root目录
形成此目录 /root/shadowsocks-manyuser/shadowsocks
进入/root/shadowsocks-manyuser/shadowsocks 并编辑Config.py
cd /root/shadowsocks-manyuser/shadowsocks
vi Config.py
例子如下:
MYSQL_HOST = '127.0.0.1'
MYSQL_PORT = 3306
MYSQL_USER = 'root'
MYSQL_PASS = 'mypassw'
MYSQL_DB = 'radius'
//数据库名请保持radius不变,密码根据自己实际情况更改
⑥运行Shadowsocks
cd //回到根目录
apt-get install python-pip python-m2crypto
pip install cymysql
apt-get install screen //安装相关程序
cd /root/shadowsocks-manyuser/shadowsocks
screen python server.py
//进入Shadowsocks目录 并用screen命令运行Shadowsocks
⑦前端注册测试
访问你的IP 并注册一个新账户
Shadowsocks 的账户保存在数据库radius的user表中
VPN的账户保存在数据库radius的radcheck表中
前端注册成功则可以在上述两个表中看到。同时应该也可以进行相关的vpn或shadowsocks连接。
最后说明:以上程序源码及程序均来自互联网。感谢相关程序及源码作者@orvice @Extreme @mengskysama,并请尽量不要用于商业用途。
不足:
时间仓促,前端只能可以进行SS的流量统计,并显示。虽然可以统计和限制VPN流量。但并不是和ss公用的。也还没实现在前端显示。L2TP功能暂时有些不好用,我尽量联系yzs解决。
演示站 http://ssnode.com
//附加说明1
可通过修改 主站lib/config.php的
//invite only
$invite_only = false;
//附加说明2:开放本地MYSQL,用于多ss服务器
mysql -uroot -p
grant all privileges on . to 'root'@'%' identified by 'mypassw';
flush privileges;
quit
service mysql restart
源码打包↓
https://github.com/mengskysama/shadowsocks
https://github.com/orvice/ss-panel
Linux系统架设支持自助开通Shado wsocks及VPN前端的教程的更多相关文章
- 检测Linux系统是否支持某系统调用
随内核版本的变化,会增加一些新的系统调用,但如果glibc没有跟上,则不能直接调用,这个时候可以自己包装一下.如果想知道内核是否支持某系统调用,先得知道它的系统调用ID号,下面代码即是用来检查是否支持 ...
- Linux系统编程:基本I/O系统调用
文件描述符 进程每打开一个文件的时候,会获得该文件的文件描述符,而后续的读写操作都把文件描述符作为参数.在用户空间或者内核空间,都是通过文件描述符来唯一地索引一个打开的文件.文件描述符使用int类型表 ...
- 烂泥:Linux系统与windows系统文件同步
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章中,我们介绍了有关Linux系统之间的文件同步,这篇文章我们来介绍下,有关Linux系统与windows系统,以及windows系统与windo ...
- Linux体系结构(二): Linux系统层次
前一节内容大概介绍了一下Linux的历史由来,各大Linux发行厂商都是基于GNU项目下的所有开源软件,来构建各自己的Linux发行版本,一个完整的Linux发行版本大概可以分为以下四个层次结构: ...
- 高并发情况下Linux系统及kernel参数优化
众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参数方面和IO事件分配机制等.下面就从几方面来调整使Linux系统能够支持高并发环境. Iptabl ...
- windows系统正常但linux系统下找不到文件的问题
问题描述:最近一个项目开发环境是windows系统,正式环境是linux系统.验证码图片在开发环境正常,但是在正式环境下一直报404. 问题原因:File dir = new File(realPat ...
- Linux系统磁盘
所有有系统都一样,都是一种软件被安装于某个硬件之上,这个硬件无外非是一种存储设备,通常操作系统都是安装在磁盘中,所以Linux系统也是一样,都是安装在磁盘中,但是它与Windows系统不一样,因为Li ...
- Linux系统kernel参数优化
目录 iptables相关 单进程最大打开文件数限制 内核TCP参数方面 内核其他TCP参数说明 众所周知在默认参数情况下Linux对高并发支持并不好,主要受限于单进程最大打开文件数限制.内核TCP参 ...
- 一款开源Office软件---Lotus Symphony在Linux系统下的应用
点击下载观看试用录像 Linux系统下的办公软件有OpenOffice.永中Office.红旗Red Office.金山Wps Office及StarOffice等,今天我为大家介绍IBM推进军O ...
随机推荐
- 用js实现跳转提示页面
效果图: 网页布局 <p>操作成功</p> <strong>5</strong><span>秒后回到主页</span><a ...
- awk与cut在以空格为分割域时的区别
awk默认以空格为分割域,比如我想获得某进程pid:[root@SHCTC-GAME12-44 ~]# ps -ef|grep "sshd -f"|grep -v greproot ...
- solr-tomcat 中文乱码
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1" conn ...
- java String的equals,intern方法(转载)
JAVA中的equals和==的区别 ==比较的是2个对象的地址,而equals比较的是2个对象的内容. 显然,当equals为true时,==不一定为true: 基础知识的重要性,希望引起大家的重视 ...
- MS SQLserver数据库安装
SQL2008的安装 1,双击打开setup安装文件 2,点击“全新安装或向现有安装添加功能” 3,安装程序支持规则,安装完之后,点击确定 4,输入产品的密钥,点击下一步 5,弹出“安装程序支持文件” ...
- css 利用border属性制作箭头 Using Borders to Make Pure CSS Arrows
不再需要多余的图片 用border属性自然能创造箭头效果 学习地址:http://tech.patientslikeme.com/2010/11/09/using-borders-to-make-pu ...
- VIM 语法检查
VIM Grammar Check 一.Language Tool Create by Dominique Pellé REFER:LanguageTool wikipedia REFER:Langu ...
- mysql 相关环境配置
1. mysql 版本要求 5.5 以上, 否则不支持 emoji 表情. $ sudo apt-get install mysql-server $ sudo vim /etc/mysql/my.c ...
- T-SQL
今天继续数据库知识的梳理.接下来的主要内容是T-SQL,针对的数据库是SQL Server 2008. 几个术语 数据定义语言(DDL,Data Definition Language):用来建立数据 ...
- Android开发系列之学习路线图
通过前面的3篇博客已经简单的介绍了Android开发的过程并写了一个简单的demo,了解了Android开发的环境以及一些背景知识. 接下来这篇博客不打算继续学习Android开发的细节,先停一下,明 ...