2018年12月

记录一下自动化部署ssr过程

记录一下,免的自己后面忘记.

下载脚本&运行脚本

wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log

另外一个源

wget --no-check-certificate https://raw.githubusercontent.com/quniu/shadowsocks-all/master/install/shadowsocks-all.sh
chmod +x shadowsocks-all.sh
./shadowsocks-all.sh 2>&1 | tee shadowsocksR.log

安装

第一步输入密码,
第二步输入端口号,
第三步输入加密方式 (默认7)

任意键等待安装

修改配置文件

vi /etc/shadowsocks.json 

配置防火墙

systemctl stop firewalld.service

启动/停止ss服务

ssserver -c /etc/shadowsocks.json -d start
ssserver -c /etc/shadowsocks.json -d stop
// 端口处理
// 查看所有打开的端口: 
firewall-cmd --zone=public --list-ports
// 添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
// 重新载入
firewall-cmd --reload
// 查看
firewall-cmd --zone= public --query-port=80/tcp
// 删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

开启bbr加速

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

重启后验证是否开启bbrlsmod | grep bbr返回看到 tcp_bbr 就说明 BBR 已经启动了

记录一下v2ray

bash <(curl -L -s https://install.direct/go.sh)

注意要处理防火墙

C#通过Jurassic实现运行js脚本代码

做网络爬虫抓取页面数据的时候经常会有下面的情况:
很多网站的前端代码里面,会对某些数值或者字符串做加密解密处理后生成令牌,从而达到让其他人无法轻易调用自己对外开放的接口.
这个时候就希望后台能直接执行js代码,省得还要自己写一遍.
本人主要用C#来写,写一下c#执行js脚本代码的步骤.
c#执行js脚本的库有很多,推荐用jurassic,简单通用,限制少.
首先jurassic的dll文件推荐直接用nuget安装,比较省心省事.

关键代码如下:

...
using Jurassic;

...
string jsFun = @"
    ....
    function aaa(a,b){
        return a + b;
    }
    ....
";    // js 脚本 脚本里面可以复制很多个js的function
ScriptEngine sc = new ScriptEngine();
sc.Execute(jsFun);    // 执行js脚本 
double z = sc.Evaluate<double>("aaa(5,6);"); // 注意如果是字符串变量的话,变量左右要加 '
这样就能运行js脚本的函数得到最终值了.

sc.Evaluate<T>还能执行js表达式,不过上面的用法用的最多,其他的就不多说了

WEBGL 编程指南 unexpected token after conditional expression

WEBGL编程指南书中对应的demo文件中,有好几个demo文件直接运行无法显示页面效果,控制台会报错:

Failed to compile shader: ERROR: 0:3: 'GL_ES' : unexpected token after conditional expression

原因是demo中写错了,修改一下即可:

...
// Fragment shader program
var FSHADER_SOURCE =
  '#ifdef GL_ES\n' +
  'precision mediump float;\n' + // Precision qualifier (See Chapter 6)
  '#endif GL_ES\n' +
...

这里#endif 不应该加GL_ES,去掉即可,那一行改成:
'#endif \n' +

笔者应该是复制错了吧...我看了一下好多地方是这样写.
为像我一下在学这本书的人记录一下.