openwrt一些升级说明

关于dnsmasq

openwrt的默认dnsmasq并不支持ipset,需要安装dnsmasq-full版本。

这里就有了一个问题,当卸载dnsmasq之后,无法解析域名,也就无法安装dnsmasq-full了。

所以,在卸载dnsmasq之前先下载dnsmasq-full到本地,然后在线安装dnsmasq-full,由于dnsmasq还未卸载,这里的安装不会成功,但是相关的依赖会全部安装好。

这个时候再卸载dnsmasq,然后本地安装dnsmasq-full即可。

关于chinadns

chinadns的原理很简单,可设置两个dns,一个是国内的dns,一个是国外的可信dns。当接到解析任务的时候,会同时向两个dns发送解析请求。

首先国外的可信dns拥有优先权,如果国外dns先返回结果就采用,如果是国内ip,直接访问,如果是国外ip则通过代理访问。

如果国内dns先返回结果,如果是国内的ip则直接访问。如果是国外的ip则抛弃掉,采用国外dns的结果。

看到这里,大家可能都和我有一样的疑问,如果国内dns率先返回的是假的国内ip,这样不就解析失败了。

但是实际情况很有趣,国外被污染的域名返回的仍然是国外ip,至于原因,也许只有他们自己知道了。所以这一点暂时没有担心的必要。

其实chinadns主要思想的是提高访问速度,如果你把所有的解析任务交给国外的dns,那么对于国内网站来说,你访问的不一定是最快,最合适的服务器。而且经过代理访问dns必然大大的加大解析时间。不管如何chinadns仍然是目前最优的dns优化选择。

以下代码用来更新chinadns的中国路由信息。

 wget -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /etc/chinadns_chnroute.txt

迅雷下载宝的一些问题

如果您的下载宝一直提示下载器不在线,而且下载速度变慢,请您更新下载宝的固件到最新版。

我在官网找到的最新版是327版本,刷了之后,问题依旧。

打算刷第三方的固件。不过在寻找的过程中,找到了338版本,试了一下,问题得到解决。大家可以自行百度下载。

为什么迅雷不在官网放338的固件,值得大家联想。也许迅雷打算放弃下载宝。

网上现在还有一款基于openwrt的第三方固件,因为需要sd卡刷入,暂时就不折腾了,等338这个固件也不灵了再说吧。

pixel线刷教程

手机是pixel2  xl ,系统是win10。因为手机要root,无法ota,所以每月安全更新都要线刷,然后再重新刷入twrp,和root。

准备工作:

需要在这里下载谷歌的sdk工具。在这里下载你需要的线刷包。
线刷包解压到本地,修改flash-all.bat,去掉其中的-w,保留数据。不想保留数据就不用修改文件了。
这里下载twrp,在这里下载magisk

第一步:手机通过usb连接电脑,执行下列命令重启到bootloader模式

adb reboot bootloader

第二步:直接运行flash-all.bat进行刷机。

解压线刷包到adb目录下,直接运行flash-all.bat刷机。

第三步:刷入twrp和magisk

注意:首先刷入img包可以临时进入twrp,进入之后再刷入zip包,才可保留twrp,当然如果你认为刷入twrp并无必要,可以不刷zip包,直接刷入magisk获取root即可。

adb reboot bootloader
fastboot boot twrp包名.img

进入临时twrp先刷入twrp的zip包再刷入magisk,或者直接刷入magisk。

ubuntu安装mysql5.7

sudo apt-get install mysql-server
sudo apt-get install mysql-client

安全性的需要,不再提供root密码,需要自行设置。
执行以下命令,查找默认用户名和密码

sudo vim /etc/mysql/debian.cnf

用默认账号密码登陆后执行以下代码,修改root用户的密码,同时修改plugin模式

mysql> update mysql.user set authentication_string=password('您的密码'), plugin="mysql_native_password" where user='root' and Host = 'localhost';

接下来需要重启mysql服务。

sudo /etc/init.d/mysql restart

OPENVZ主机开启BBR加速

BBR加速会带来完全不一样的体验,尽量开启吧!

准备工作

此lkl脚本,需保证64位系统,glibc版本2.14以上。

检查glibc版本

ldd --version

1.安装

wget https://raw.githubusercontent.com/kuoruan/shell-scripts/master/ovz-bbr/ovz-bbr-installer.sh 
chmod +x ovz-bbr-installer.sh 
./ovz-bbr-installer.sh

这里需要设置您的加速端口,填写ss或ssr的端口即可。

2.开启多端口

vim /usr/local/haproxy-lkl/etc/port-rules

3.启动 重启  停止服务

systemctl {start|stop|restart} haproxy-lkl

或者

service haproxy-lkl {start|stop|restart}

4.检查状态

iptables -t nat -nL

这里可以看到LKL_IN的端口转发规则

5.自定义配置(新手勿动,看看就好)

vim /usr/local/haproxy-lkl/sbin/haproxy-lkl

ubuntu 建立python虚拟开发环境

1.安装virtualenv

$ sudo pip3 install virtualenv

2.创建虚拟环境

$ virtualenv -p python3 web

3.进入虚拟环境

$ source web/bin/activate

4.退出虚拟环境

$ deactivate

5.删除虚拟环境

删除相应目录即可

注意

创建虚拟环境时,虚拟目录会建在当前所在的目录下,所以请提前建立好目录并进入。

为网站添加免费加密证书

免费证书很多,我选择的是Let’s Encrypt。
毕竟免费,需要每三个月续期一次。

1.下载certbot

git clone https://github.com/certbot/certbot
cd certbot

2.生成免费证书

./certbot-auto certonly --webroot --agree-tos -v -t --email 邮箱地址 -w 网站根目录 -d 网站域名

3.生成dhparams

openssl dhparam -out /etc/ssl/certs/dhparams.pem 2048

4.配置nginx

在nginx配置文件中server中添加下列内容

listen 443ssl on;ssl_certificate /etc/letsencrypt/live/网站域名/fullchain.pem;ssl_certificate_key /etc/letsencrypt/live/网站域名/privkey.pem;ssl_dhparam /etc/ssl/certs/dhparams.pem;ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers HIGH:!aNULL:!MD5;

把所有访问重定向到ssl,必须新建如下server段,在同一个server段下会陷入循环重定向。

server {
    listen 80;
    server_name your.domain.com;
    return 301 https://$server_name$request_uri;
}

5.重启nginx,over!

6.最后,关于续期

在certbot目录执行,和第二步略有不同,当然可以制作一个自动脚本。

./letsencrypt-auto certonly --renew-by-default --email 邮箱地址 -d 域名

执行完这一步重启服务。

如何判断goagent是否需要更新服务端

最近goagent更新比较频繁,原因大家都懂的。

以前更新基本只更新客户端,如果能正常使用,基本上不会考虑服务端的更新了。

最近强迫症作祟,再加上goagent不太稳定,开始考虑更新服务端。

到官方大概看了下,终于明白何时应该更新服务端。

官方的更新记录里面一般会这样表示:

  • [1111 否]goagent 3.0.8 发布, 采用 google_cn/google_hk 混合模式.
  • [1110 是]goagent 3.0.7 发布, 优化 rc4 加密.
  • [1106 是]goagent 3.0.6 发布, GAE 支持 rc4 加密选项.

在更新日期后面如果“是”则表示需要更新服务端。当然如果你是跨版本更新,中间有任意环节需要更新服务端的话,也是需要更新服务端的。

twitter手机客户端登陆出现“登陆时出错”如何解决?

最近发现即使挂上vpn登陆twitter客户端,仍然出现“登陆时出错”的问题。

经过几天的排查,终于发现问题根本。以前通过smarthost修改了手机的hosts文件。其中包含twitter的部分内容,如今这部分内容已经失效。通过修改hosts文件删掉twitter的内容即可。

如果你发现通过代理仍然无法登陆twitter客户端,请检查一下host文件,删除失效部分的hosts内容即可。

同样,这种方法应该也适用其他客户端,毕竟即使挂了代理,解析地址时还是会先通过hosts文件。

ps:smarthost貌似已经很久没有更新内容了,不知道出了什么问题。

顺便恭喜twitter成功上市。