为原版Openwrt安装SSR-plus插件

之前文章提到过,我使用恩山lean大神的固件,主要是看中了他固件中的luci-app-ssr-plus这个插件,但是由于自己编译的固件稳定性上总是差点意思,不得已换回了官方原版openwrt,随之科学上网的插件也换成了shadowsocks-libev,这个插件是非常优秀的,但还是存在几个我非常介意的问题:

  1. ss的特征貌似已经能被GFW识别,国庆前我的三台私人服务器就全挂了,全面换成v2ray是迫在眉睫,但是该插件只支持原版ss
  2. 该插件的地址只能是IP地址,不支持域名,所以对于justmysocks这样被封后自动动换IP的服务就非常麻烦

v2ray官方没有提供我路由器架构的二进制文件,当然,openwrt就是以插件多闻名,其实可选的v2ray方案也很多,比如第三方固件openwrt-v2ray就提供了我需要的文件,再配合luci-app-v2ray也可以搭建出来,不过这套配置我是试过的,说实话配置起来比较复杂,DNS的解析转发、ChinaList、GFWList等功能也都需要自己来,所以我的第一选择还是luci-app-ssr-plus

在原版openwrt上使用这个插件有两种方法

  1. 编译出适合架构的程序及依赖程序的ipk文件
  2. 在原版系统中加入插件然后整体编译出一个固件刷入

我使用的是第一种方案,第二种方案没有尝试呢,有时间的话试过之后再来分享,下面正式开始。

编译插件

注意:编译过程中必须全程全局科学上网,否则某些package下载不下来,有非常大的概率编译出错

  1. 首先要把lean的整套源码从github克隆下来,然后进入该目录
git …
➟ 查看全文

从lean大神的LEDE系统刷回原版Openwrt

自从知道恩山lean大神开源的LEDE系统,一直沉迷于它的方便,自己想要什么就编译什么,比如他自己开发的adbyby和ssr-plus插件,但是使用了一段时间以后,就发现某些软件的兼容性有问题,不定时重启且重启后无法联网,无奈只能选择刷回原版,但是刷回的过程非常艰辛,今天把握成功刷回的过程记录下来分享给大家。如下图,这是我路由器的型号和架构。

pic1

我从openwrt的官网下载了几乎所有我能下载到的固件,不论是稳定版还是开发版。(中间混杂着一个newifi3的固件请无视)

pic2

任何一个固件使用luci自带的刷写页面都会提示“不支持所上传的映像文件格式,请选择适合当前平台的通用映像文件”。这就让我很郁闷,我也是刷过上百次原版固件的人了,怎么这次就不行了呢?

pic3

我查阅了openwrt官网几乎所有的教程,比如这个这个,在里面学到从命令行使用sysupgrade刷回,但也是提示各种各样的错误,见下面的代码,我甚至已经买好USB-TTL线准备拆机救砖了。

# sysupgrade -F -n -v -T /tmp/FW_WRT1900ACS_1.0.3.187766_prod.img 
Image metadata not found
Image check 'fwtool_check_image' …
➟ 查看全文

微博图床禁止外链?不存在的!

微博图床使用的是最基本的限制第三方引用策略,这个问题倒是很好解决,

编辑pelicanthemes/你的主题/templates/base.html,在两个<head>标签之间插入

<meta name="referrer" content="no-referrer" />

这样就禁止网页的引用信息,从而让微博无法拿到这个字段,但目前已知的问题是某些流量统计、方可追踪的脚本可能无法正常运行。

微博此举也可能只是警告一下,之后会不会再次加强限制不得而知,所以上上策还是赶紧备份图片,迁移到一个便宜又靠谱的图床去。

参考

  1. 报!微博图床挂了 ??
➟ 查看全文

使用Numba为Python提速10+倍

前一阵写了一个获取股票数据的程序,准备玩玩预测,在添加指标时,有一个指标我是这么定义的

指标名称:当前位置

描述:当天收盘价在过去300天内的位置百分比

算法:(当前收盘价 - 过去300天内最低价的最小值) / (过去300天内最高价的最大值- 过去300天内最低价的最小值 )

按说这么容易的一个指标,一个Pandas rolling函数就搞定了,但是我为什么没选择rolling函数?原因如下:

  1. rolling函数只能操作一列数据,比如只能在close这一列应用函数,而无法同时处理三列(low,high,close)。

  2. rolling函数会使你的数据减少window-1个天数,类似于MA指标,但是MA我最大只用到60日线,而这个window要被设置为300天,为了这么一个指标平白损失299个数据我觉得不值得。

综上,所以我决定手撸一个方法,修改一点规则作为变通

如果当前日之前的数据个数不足window个,那么就取[0,T]这段时间

数据如下,这个指标其实只用到了三列,这里用了上证指数作为例子,数据都存储为DataFrame格式。

from read_data import ReadData

TIME_STEP = 300
index_day = ReadData.index_day …
➟ 查看全文

Git设置代理

查看git连接方式

使用下面命令查看连接方式

$ git remote -v
origin  git@github.com:username/reponame.git (fetch)
origin  git@github.com:username/reponame.git (push)

像上面这种就是SSH方式

http代理

如果你是使用http/https方式连接git那么就要用这种方式设置代理,

编辑用户目录下的.gitconfig文件,添加http代理信息

vim ~/.gitconfig

[http]
        proxy = socks5://IP:PORT
[https]
        proxy = socks5://IP:PORT

需要说明一点,据说git是不认https代理的,所以只需要添加http代理即可,但是加上也没有问题。

sock5代理

如果是使用SSH方式连接git,那么就要通过设置SSH配置文件来达到目的

首先确定系统里有没有nc …

➟ 查看全文