跳至主要内容

博文

目前显示的是 2019的博文

luci-app-shadowsocksR 编译填坑记

        如上一篇博文所写,我把自己的所有服务器都添加到使用ssrpanel架设的鸡场里面去了,这样比较好管理,另外也可以顺路卖一波小鸡鸡(虽然到现在为止一个也没有卖出去)。而为了减少被墙发现的风险,我的鸡场使用的是单端口多用户的模式,这种模式下SSR是需要设置协议参数的,然后我发现我之前编译的ssr路由客户端竟然没有协议参数这个选项。好在谷歌之后发现在这个 openwrt-ssr 的issue页面里面有解决方案,只好再编译一次了,顺便把之前编译的gfw模式不能使用这个坑也填上。         首先,按这个教程 《记第一次编译:SSR FOR LEDE》 把编译环境搭建好,然后把项目克隆到本地(或者VPS里面),这时先别编译,要修改里面的配置文件(下面以mt7620的sdk为例,具体命令请根据自己的实际情况指定路径)。         一、添加协议参数选项 修改client-config.lua文件: nano /root/openwrt-sdk-18.06.2-ramips-mt7620_gcc-7.3.0_musl.Linux-x86_64/package/openwrt-ssr/files/luci/model/cbi/shadowsocksr/client-config.lua 在 o = s:option(ListValue, "protocol", translate("Protocol")) for _, v in ipairs(protocol) do o:value(v) end o.rmempty = false 后面添加下面这句话: o = s:option(Value, "protocol_param", translate("Protocol Param")) 修改shadowsocksr.init文件: nano /root/openwrt-sdk-18.06.2-ramips-mt7620_gcc-7.3.0_musl.Linux-x86_64/package/openwrt-ssr/files/shadowsocksr.init 在 "pro

搭建了一个SSRPanel面板

        因为前段时间两会期间防火长城发威,我的几个VPS都不幸中招,导致合租的一些朋友差点断联。于是产生了架一个管理面板的想法,谷歌了一下,目前比较强大的就是SSRPanel,而且作者一直在更新,感觉比较成熟。不过网上的教程大多都是架设在CentOS上的,而且大部分都是使用宝塔面板来操作,而我习惯用Debian和自己自主安装,于是很是折腾了一段时间,不过好在最终还是建起来了。         先看看效果,用户,节点,流量,订单等等一目了然。         还可以发工单,这样合租的小伙伴有问题就可以直接在面板里面提交,不怕断联了。         可以添加帮助和说明文档,不会使用的小伙伴可以让他直接去帮助中心里面查看,不用每遇到一个不会使用的人就要从头到尾再教一次了。         强大的支付功能,有赞云,支付宝,支付宝国际都可以接入,不接入这些的话,你还可以使用卡券形式的充值码功能。         还有一些特色的功能,比如单端口多用户,可以让所有用户都使用常规端口(80/443),减少被墙发现的可能,没事看看自己的服务器列表还是很爽的。         另外还有营销管理,商品管理,防爬虫等等就不一一图示了,总的来说这个面板已经非常成熟,可以很容易的进行商业化。         不过我这个面板并不完善,目前还不可以使用邮件功能,谷歌了好几天也未发现要如何处理。想想也就几个人用,也就懒得继续折腾了。 搭建的话可以参考下面的教程: https://github.com/ssrpanel/SSRPanel ssrpanel:搭建shadowsocksr流量监控和用户管理面板

Debian9 添加rc.local开机启动

    相信不少朋友已经发现,在升级到Debian9之后,那个熟悉的开机启动项rc.local已经不见了,在自定义一些开机启动项目时变得不是那么方便了。好在这个功能并不是被砍掉了,而是默认没有开启,把它重新开启即可。     看一下这个服务的状态,默认是没有开启的。 systemctl status rc-local     现在来开启它,首先创建一个rc.local文件,里面包含下记内容,注意这16行是同一个命令,一次性全部复制到命令终端执行。 cat <<EOF >/etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing.   exit 0 EOF     授予执行权限 chmod +x /etc/rc.local     启动 rc-local 服务 systemctl start rc-local     现在再看看服务状态,显示已经激活。 systemctl status rc-local     需要开机启动的项目可以添加到rc.local的exit 0前面。     转载自      Debian 9.x stretch 解决 /etc/rc.local 开机启动问题

SSR端口转发伪装网页流量

        自从两会开始之后,我的梯子服务器直接被tcp阻断了,新建了一个用两天又被封了端口,无奈之下研究起怎么伪装流量,然后发现可以通过SSR的端口转发,和服务器上的网站共用端口,配合对应的混淆方式可以减少被gfw发现的可能。首先我们得先把网站和ssr建好,可以参考前面的博文。 超简单的自建SSR教程 Typecho建站记(一)---初建 Typecho建站记(二)---ssl加密及域名转发         用winscp软件登陆到服务器,进入到ssr文件夹(默认在root/shadowsocksr),找到user-config.json,右击修改,端口设置为443,混淆和协议参数按下图配置,新增将"redirect":""修改为 "redirect" : ["*:443#127.0.0.1:1443"], (注意包括最后的逗号)。可以复制我的配置,把ip地址和密码改掉就可以了。 {     "server": "*.*.*.*",     "server_ipv6": "::",     "server_port": 443,     "local_address": "127.0.0.1",     "local_port": 1080,     "password": "passwd",     "method": "aes-128-ctr",     "protocol": "auth_aes128_sha1",     "protocol_param": "",     "obfs": "tls1.2_ticket_auth",     "obfs_param": "",     "speed

Typecho建站记(三)---使用ufw防火墙提升服务器安全

        网站建好之后,考虑到服务器的安全性,我们需要禁用掉不必要的端口,减少被黑的可能性,因此就需要安装防火墙了。虽然Debian9自带的iptables也可以配置防火墙规则 ,但是配置起来比较复杂,因此我使用配置起来比较简单的ufw。         运行下面的命令安装ufw apt install ufw -y         初始化ufw配置(默认禁止所有入站,同意所有出站) ufw default deny incoming ufw default allow outgoing         允许ssh访问连接,否则启用防火墙后将无法通过ssh管理服务器(默认ssh管理端口为22,如果你的是其他,请自行修改)。 ufw allow 22         允许web服务的访问连接,默认为80和443两个端口。 ufw allow 80 ufw allow 443         查看防火墙状态和规则,此时未启用则会显示Status: inactive,启用后则会显示相应的规则 。 ufw status verbose         启用防火墙 ufw enable         至此已经配置好了防火墙,但是如果我们以后要修改的话,还可能会用到下面的命令。          删除对应端口的访问权限 ufw delete allow 80         甚至直接停止防火墙 ufw disable         或者重置防火墙(会删除所有配置的规则) ufw reset 参考文章: 如何在Debian 9上使用UFW设置防火墙

Typecho建站记(二)---ssl加密及域名转发

      上一篇博文中我已经把typecho站点建好,但是此时的站点是没有经过ssl加密,有可能会被运营商劫持或被中间人攻击,另外没有加密的网站在搜索引擎中的权重相对是比较低的,因此给网站加上ssl加密还是很有必要的。这里我用Certbot自动配置lets-encrypt的证书,在debian9系统中实现。         添加ssl加密         因为certbot需要用到stretch-backports,而stretch-backports在Debian自带源中是没有的,需要添加源,注意下面四行是一个命令,全部复制到终端后执行即可。 cat >> /etc/apt/sources.list<<EOF # backports deb http://deb.debian.org/debian stretch-backports main EOF         然后执行更新 apt update         安装certbot apt install certbot python-certbot-apache -t stretch-backports -y         运行certbot certbot --apache         运行后会有对话框,按下图选择对应的选项即可。         至此ssl加密已经设置完成,而且域名转发也开启了,但是此时的转发是不够完美的,还需要自己再添加规则。         完善域名转发         前面在购买域名的时候我们添加了两条解析记录,现在又设置了加密,这样的话就会出现4个网址组合,如下示例: http://example.com http://www.example.com https://example.com https://www.example.com         这样对我们的访客是不友好的,而且搜索引擎也会将这当做四个不同的网站来收录,无形中降低了网站在搜索引擎中的排名。因此我们需要把这四个域名统一起来,这里就需要用到域名转发了。上面设置ssl加密的时候,certbot已经设置好了其中一个http网址的转发,因此我们把另外一个网址添加到转发规则里面就可以了

Typecho建站记(一)---初建

        前面我有用ghost建过网站,但是一段时间后发现,发现有一个不好的地方就是ghost没有自带评论功能,虽然可以添加第三方评论,但如果以后要迁移的话,肯定会比较麻烦,于是研究了一下其他博客平台,wordpress臃肿需求服务器的配置比较高,而typecho简洁需求配置低,综合考虑下我选择了typecho,顺便说一下我的系统是debian9。 一、域名解析         因为现在普通的域名都不会很贵(一般一年12刀以下),因此我不建议用免费的。找一个域名商买下你想要的域名(我在谷歌域名买的),进入域名管理---dns设置,按下图添加两条解析记录,DATA就是你vps的ip地址。 二、环境搭建         typecho需要有web服务(nginx,apache等),数据库(mysql,sqlite等)以及php环境,因为我的vps配置比较差,所以我用了apache+sqlite+php的搭配。         安装apache: apt update apt install apache2 -y          安装sqlite apt install sqlite3 -y         安装php环境 apt install php php-dev php-curl php-pear php-mysql libapache2-mod-php php-mcrypt php-gd php-mbstring php-pdo php-sqlite3 -y 三、下载解压typecho         进入网页安装位置var/www/html cd /var/www/html         下载typecho wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz         解压typecho tar -zxvf 1.1-17.10.30-release.tar.gz         进入解压后的typecho文件夹,将其中的文件移动到var/www/html,然后授予权限。 cd build mv * /var/www/html ch

利用iptables进行流量转发提升网速

        有题记这个想法的原因是我有一个搬瓦工传家宝VPS,神奇的是这个vps还可以看Netflix。但是没想到换了传说中墙中墙的移动光纤后,翻墙网速是断崖式下跌,由1080p直接降到360p还要缓冲的地步,不得己在谷歌上百度了一下,发现可以通过流量转发的形式提升网速,碰巧的是我有vultr日本的vps,在移动光纤下速度还可以,于是开始折腾了,至于为什么选择iptables这个方法,则是因为在debian里,这种方法不需要另外安装软件而且同时支持tcp/udp转发。         首先,ssh连接日本vps,然后输入下记命令开启流量转发并保存: echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf sysctl -p         然后执行下记命令添加iptalbes规则(23.11.59.11为美国vps的ip,13333为美国服务器的ss端口,45.7.190.110为日本vps的ip): iptables -t nat -A PREROUTING -p tcp -m tcp --dport 13333 -j DNAT --to-destination 23.11.59.11:13333 iptables -t nat -A PREROUTING -p udp -m udp --dport 13333 -j DNAT --to-destination 23.11.59.11:13333 iptables -t nat -A POSTROUTING -d 23.11.59.11 -p tcp -m tcp --dport 6881 -j SNAT --to-source 45.7.190.110 iptables -t nat -A POSTROUTING -d 23.11.59.11-p udp -m udp --dport 6881 -j SNAT --to-source 45.7.190.110         最后,则是保存规则并重启iptables: service iptables save service iptables restart         现在,ss的连接方法是直接把美国的ip改为日本的ip

编译ssr for openwrt18.06.2(MT7620A)

        过年把小米mini带回老家,结果发现不知道是配置文件出错还是什么原因,发现lede17里面的ssr竟然无法保存修改过的选项,重启后就失效,恰好环聊群里有一个基友说他的K2升级了openwrt18.06.2,可以直接安装旧版ssr(这里是我理解错了,他是从别的地方下载的),我想着这么简单,也升级了,然后悲剧的发现安装旧版的ssr无法在Luci页面打开。         貌似这个ssr还是比较小众,当初我从openwrt15升级到lede的时候也是没有找到对应系统版本的ipk安装包,这次也懒得去找了,直接打开电脑,连上vps,翻出上次编译时写的教程,然后下载sdk,编译,安装一气呵成,直接就可以使用了。         编译过程就不再重复说了,和上次的教程《 记第一次编译:SSR FOR LEDE 》一样。这里只把我编译好的ipk文件共享出来,然后补一下上次留下的坑。这个坑就是编译的这个软件只能使用国内路由模式,gfw模式是无效的。经前面环聊里面的基友解释,原来是ssr安装时配置文件有误,把原来指向/etc/dnsmasq.ssr的gfwlist列表错误指到了/tmp里面,因此可以使用uci命令把这个指向重新改回来,具体命令如下: 添加列表到dnsmasq: uci add_list dhcp.@dnsmasq[0].confdir=/etc/dnsmasq.ssr 保存修改: uci commit dhcp 重启dnsmasq: /etc/init.d/dnsmasq restart 另外可以用下记命令查询前面的修改是否生效(生效则返回/etc/dnsmasq.ssr): uci get dhcp.@dnsmasq[0].confdir         现在可以在国内Ip和gfw列表模式之间自由切换了 ,ipk文件请移步到这里下载。 ssr for openwrt 18.06.2(mt7620a)

另一种翻墙方法---记V2ray初安装

        很早之前就听近V2ray的大名了,也想自己架设一台试试。前一段时间响应习大大的号召回老家支持新农村建设,在老家忙里偷闲地找教程看了一眼,结果被那长长的一串配置文件给吓倒了,也没有细看就放弃了。这次回到城里闲下来再细看了一下,原来也没有想象中那么难啊,于是上机一试,一次成功,这比配置SS/SSR还要简单嘛。下面说说配置过程。         服务器端:         ssh登陆服务器,还没有服务器的朋友可以使用我的推广链接 https://www.vultr.com/?ref=7216851 购买Vultr的服务器,具体流程及ssh客户端使用方法可以参考我前面的博文: Vultr自建SS服务 ,记住服务器系统版本选Debian9 64位,然后分别输下记命令:      #下载v2ray安装脚本,提示‘go.sh' saved即为成功。 wget https://install.direct/go.sh     #执行安装脚本,提示V2ray v4....... is installed即为成功, 同时注意记录下蓝色字样的PORT和UUID,后面配置客户端时需要用到。 可以鼠标选中UUID后的字符串后右击,会将该字符串复制到剪贴板。 bash go.sh      #首次安装时V2ray不会自动运行,输入下记命令以运行V2ray。 systemctl start v2ray     至此服务器端配置完成。         客户端(以IOS系统ShadowsRoket软件为例):         打开ShadowsRoket,点右上角的加号添加节点,类型选Vmess,服务器填你的服务器IP地址,端口和UUID填刚刚生成的(比如我的端口是10218,UUID是27696e6c-893......),备注随便填,如下图,保存选用后即可愉快的畅游无界网络。         至此初步的V2ray已经架设完成并可以使用,当然还有一些高级的用法,不过那相对复杂一些,如果只是作为个人翻墙的话目前已经够用了。另外如果你是新建的服务器,可能需要开启bbr提速网络,参考我前面的博文: Vultr上SS服务优化-开启bbr         参考文章:          V2Ra