推荐开发环境方案:

nvm > node > nrm > yarn > yrm 
推荐!用 nvm 管理 node 版本, NPM 源管理器切换不同源,yarn 源管理器切换不同源, 最终用yarn

管理 node 版本,选择 nvm 还是 n? hokaccha/nodebrew
nnvm && 用法
nvm的正确打开姿势

Window:

nodejs在windows下的安装配置(使用NVM的方式) 作者github && windows版本
Windows 下安装 nvm 管理 nodejs 版本,安装目录下找到settings.txt

setting.txt

root: C:\dev\nvm 
path: C:\dev\nodejs 
arch: 64 
proxy: none 
node_mirror: https://npm.taobao.org/mirrors/node/ 
npm_mirror: https://npm.taobao.org/mirrors/npm/

nvm 设置下载 node 的镜像地址

Centos

centos上安装

Mac

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

安装后完后重启终端,command -v nvm # 出现nvm 则正常。反之则继续看下面的

如果没有显示 nvm 看安装过程中出现的

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

把上面提示的内容放.bash_profile ,先ls -a查看下有没有这个文件,没有的话就

touch .bash_profile  #新建一个文件
open .bash_profile   #打开这个文件
source .bash_profile #重启生效

检验:

command -v nvm # 出现nvm 则正常
ls -a

如果按照iTerm2每次都需要source .bash_profile才生效:

touch .zshrc
open .zshrc

touch ~/.zshrc
open ~/.zshrc
source ~/.zshrc

添加:

source .bash_profile

生效:

source /etc/profile

安装node:

nvm list available #查看网络可以安装的版本:
nvm ls-remote   # 查看远程服务器可安装的版本
nvm install 10.10.0
nvm install 9.10.0
nvm install 8.10.0

安装完成提示:

nvm is not compatible with the npm config "prefix" option: currently set to "/Users/z/nvm/versions/node/v8.10.0"
Run `nvm use --delete-prefix v8.10.0` to unset it.

则使用指定版本:

nvm use --delete-prefix v8.10.0
node -v

显示此版本则表示操作成功。

mac中nvm的安装和使用
正确的安装和使用nvm(mac)

[root@localhost ~]# nvm --version
-bash: nvm: command not found
[root@localhost ~]# source ~/.nvm/nvm.sh
[root@localhost ~]# nvm --version
0.33.2
[root@localhost ~]#

nvm常用命令:

nvm install <version>  ## 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4
nvm uninstall <version>  ## 删除已安装的指定版本,语法与install类似
nvm use <version>  ## 切换使用指定的版本node
nvm ls  ## 列出所有安装的版本
nvm ls-remote  ## 列出所以远程服务器的版本(官方node version list)
nvm current  ## 显示当前的版本
nvm alias <name> <version>  ## 给不同的版本号添加别名
nvm unalias <name>  ## 删除已定义的别名
nvm reinstall-packages <version>  ## 在当前版本node环境下,重新全局安装指定版本号的npm包

npm 常用命令详解
http://www.runoob.com/nodejs/nodejs-tutorial.html
Node.js 教程
安装后,运行Node.js command prompt

npm

13 个 npm 快速开发技巧

安装依赖

npm install
//请特别注意,直接使用 cnpm 可能会导致依赖不正确。
//强烈建议给 npm 设置 taobao 的 registry,并且能通过如下操作解决npm速度慢的问题。 
npm install --registry=https://registry.npm.taobao.org 

npm源无法使用问题解决

推荐看这里mirror-config-china

https://npm.taobao.org/
设置淘宝源的是:

npm config set registry https://registry.npm.taobao.org

如果有些无法实现淘宝源的,需要设置回原来的就可以了(可能需要ss):

npm config set registry https://registry.npmjs.org

npm

查看npm配置

npm conig list

删除源

npm config delete registry

下面给出淘宝镜像的安装和卸载
安装

npm config set registry "https://registry.npm.taobao.org"
npm config set disturl https://npm.taobao.org/dist

卸载

npm config delete registry
npm config delete disturl

window 下载出现 phantomjs 安装不上问题

设置环境变量:
控制面板->系统和安全->系统->高级系统设置->环境变量->编辑用户变量Path->将';C:\wamp3.0.4\www\phantomjs-2.1.1-windows\bin'添加到最末端即可)
win+R,输入cmd打开控制台,输入phantomjs -v,若输出了版本号,则证明安装成功了。
这个问题可能会影响到其他依赖的安装

https://yarnpkg.com/lang/zh-hans/docs/migrating-from-npm/
从 npm 迁移\
https://segmentfault.com/a/1190000014716713

快速安装
npm install -g yarn //在NPM 中安装

nrm 和yrm

修改npm和yarn源
双源管理工具cgr (change registry)都是基于nrm改写的,能同时管理npm、yarn的源

搭建 npm 私服

npm私服安装教程 - verdaccio 入门


Awesome APIs
中国国内可用API合集
支付宝数据接口
想写个 App 练手,有什么有趣的 API 接口推荐吗?
Github:GitHub API v3
Weibo:API - 微博API
Twitter:https://dev.twitter.com/
Dribbble:Dribbble Developer
V2EX API 接口
Angelist:API - AngelList
Nytimes:http://developer.nytimes.com/
(这个是从西乔的文章听说的),使用这个API,开发者可以调用到几百万份结构化过的数据,从1981 年至今,纽约时报报道的事件,畅销书,甚至房地产等等。
Instagram:https://www.instagram.com/developer/
聚合数据 http://free.juhe.cn/
Web Service(WEB服务) http://www.webxml.com.cn/zh_cn/web_services.aspx
百度API服务 http://apistore.baidu.com/
Apix https://www.apix.cn/
和风天气 http://www.heweather.com/

与翻译相关的。
有道翻译:http://fanyi.youdao.com/openapi
金山词霸:http://open.iciba.com/?c=wiki
百度翻译: http://api.fanyi.baidu.com/api/trans/product/apidoc

快递鸟 http://www.kdniao.com/
TMDb https://www.themoviedb.org/documentation/api
笑话的RESTful API http://www.icndb.com/api/
豆瓣API https://developers.douban.com/wiki/?title=guide
https://developers.douban.com/wiki/?title=api_v2
豆瓣Movie API Doc https://developers.douban.com/wiki/?title=movie_v2

API 搜索

APIs.io - the API search engine
ProgrammableWeb
public-apis
应用 Api
https://github.com/TonnyL/Awesome_APIs Chinese Part && Global Part

百度翻译:
https://sp1.baidu.com/5b11fzupBgM18t7jm9iCKT-xh_/sensearch/selecttext?q=%E4%BD%A0%E5%A5%BD

知乎日报-简要版 API:

http://news-at.zhihu.com/api/4/news/latest 今日热文
http://news.at.zhihu.com/api/4/news/before/ 更多往日热文

上面这两个地址是我们今天要做的首页的API,我们将发起request请求,拿回数据做渲染。
知乎日报 API 分析

api

Dingo API


官方

微信小程序官方文档 https://mp.weixin.qq.com/debug/wxadoc/dev/index.html
微信小程序接入指南 https://mp.weixin.qq.com/debug/wxadoc/introduction/index.html
微信小程序开发工具下载 https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html
简易教程 https://mp.weixin.qq.com/debug/wxadoc/dev/
框架 https://mp.weixin.qq.com/debug/wxadoc/dev/framework/MINA.html
组件 https://mp.weixin.qq.com/debug/wxadoc/dev/component/
API https://mp.weixin.qq.com/debug/wxadoc/dev/api/
Q&A https://mp.weixin.qq.com/debug/wxadoc/dev/qa.html
开发者社区 https://developers.weixin.qq.com/

微信web开发者工具
https://mp.weixin.qq.com/wiki?action=doc&id=mp1455784140
https://www.weixinsxy.com/jssdk/

https://github.com/Tencent/wepy wepy官方仓库
https://tencent.github.io/wepy/ wepy官方文档
https://github.com/aben1188/awesome-wepy 微信小程序组件化开发框架wepy开发资源汇总

文档接口例子

http://203.195.235.76/jssdk/#menu-image

https://blog.csdn.net/u011500781/article/details/51746364
微信公众平台前端人员对接(微信拍照上传)
http://203.195.235.76/jssdk/#menu-image

https://aotu.io/notes/2018/06/07/Taro/
多端统一开发框架 - Taro

《小程序从0到1,微信全栈工程师一本通》作者专栏
https://zhuanlan.zhihu.com/zero-weapp

框架

taro
wepy
mpvue
小程序组件化开发框架 (GitHub) https://wepyjs.github.io/wepy
https://tencent.github.io/wepy/index.html WePY | 小程序组件化开发框架
微信小程序wepy开发资源汇总

第三方微信小程序在线开发手册(更新落后) http://doc.pietian.com/

微信小程序开源项目库汇总
微信小程序开源项目库汇总 http://www.opendigg.com/tags/wechat-app

项目

微信小程序 - 王者图鉴
给ofo共享单车撸一个微信小程序
微信小程序ofo小黄车+thinkphp5.0打造全栈应用
电影推荐 - 微信小程序
微信小程序商城

cms:https://www.icmsdev.com/

Wordpress API

https://github.com/iamxjb/winxin-app-watch-life.net
https://deliciousbrains.com/creating-a-wordpress-theme-using-the-rest-api-and-vue-js/
https://github.com/bstavroulakis/vue-wordpress-pwa
https://www.npmjs.com/package/vue-wordpress
https://segmentfault.com/a/1190000008715104

typecho

Wetypecho && GitHub

https://mp.weixin.qq.com/s/GnHzJWYFJUXYuvYq6Cb_FA
微信小程序“反编译”实战(一):解包

Vue仿微信菜单编辑器demo



转发一个免认证转区教程吧

APPID换区

其实是利用老版本icloud 3.0可以转区无需验证支付方式的一个漏洞,直接上教程
1)必须先下载icloud 3.0
百度网盘链接:https://pan.baidu.com/s/1mivB7sO
苹果官方链接:http://downloads.informer.com/icloud/download/?ca63fd4&p2148fe=1
2.在 iCloud 3.0 中使用想要修改地区的 Apple ID 进行登录。并依次进行操作
1
2
3
4
5
3.改完后用此ID登录appstore,会发现已清空已购项目,不过并不影响之前在国区已购应用的下载
6

教程结束,趁此方法还没GG可以多撸几个其他区的帐号。

谢谢SK_ 大佬提醒PS:有一个地方需要注意的。也就是说icloud如果最后提示你的购买无法完成,可以用iTunes登录补全信息(你会发现支付方式可以选择无),信息都在直接跟着步骤完成就可以激活了!

换区更新

中国区已下架的更新办法:国区退出 -> 随便找个美区账号(没账号?可去万能淘宝看看)登一次 -> 更新列表会显示更新 -> 退出美区重新登陆国区 -> 切换到已购列表点更新。

不用把自己的国区账号转换成其他区,不用删掉重新下,也不用强行把自己id换成其他区,亲测有效!!!

本文转自:http://www.hostloc.com/thread-378092-1-1.html

谢谢 @xu81709752 大佬提供内容~

想买个美区 apple 账号。可是我淘宝怎么搜索不出来




Regular Expression

马上收藏!史上最全正则表达式合集
密码强度的正则表达式(JavaScript)总结
身份证号码的正则表达式及验证详解(JavaScript,Regex)
https://m.w3cschool.cn/regex_rmjc/
https://www.w3cschool.cn/regex_rmjc/
正则表达式30分钟入门教程

过滤文章中多余的------
//正则 匹配多余的
var arr = ['----------------------------------------------------------------------------------------------------'];//100个
var arr1 = ['--------------------------------------------------'];//50个
var arr2 = ['-------------------------'];//25个-
var arr3 = ['-----','----------'];//5,10个-
//多次匹配和一次匹配的结果不同
//var arr3 = ['-----','------','-------','--------','---------','----------'];//5,6,7,8,9,10个
var res = it.internalNotic.replace(new RegExp(arr.join('|'),'img'),'-');
var res1 = res.replace(new RegExp(arr1.join('|'),'img'),'-');
var res2 = res1.replace(new RegExp(arr2.join('|'),'img'),'-');
var res3 = res2.replace(new RegExp(arr3.join('|'),'img'),'-');
console.log(res);
console.log(res1);
console.log(res2);
console.log(res3);


dir 列文件名   
deltree 删除目录树     
cls 清屏           
cd 改变当前目录
copy 拷贝文件    
diskcopy 复制磁盘     
del 删除文件   
format 格式化磁盘
edit 文本编辑      
mem 查看内存状况          
md 建立子目录(新建文件夹)      
move 移动文件、改目录名     
more 分屏显示      
type 显示文件内容         
rd 删除目录        
sys 制作DOS系统盘
ren 改变文件名     
xcopy 拷贝目录与文件      
chkdsk 检查磁盘    
attrib 设置文件属性
fdisk 硬盘分区     
date 显示及修改日期       
label 设置卷标号   
defrag 磁盘碎片整理
msd 系统检测       
path 设置搜寻目录         
share 文件共享     
memmaker内存优化管理
help 帮助          
restore 恢复备份文件      
set 设置环境变量   
time 显示及修改时间
tree 列目录树      
debug 随机调试程序        
doskey 重新调用DOS命令
rempt 设置提示符  
undelete恢复被删的文件    
scandisk检测、修理磁盘         
    
不常用DOS命令
diskcomp磁盘比较              
append 设置非执行文件路径
expand 还原DOS文件             
fasthelp快速显示帮助信息  
fc 文件比较                    
interink启动服务器 
setver 设置版本                
intersvr启动客户机  
subst 路径替换                 
qbasic Basic集成环境
vsafe 防病毒                   
unformat恢复已格式化的磁盘  
ver 显示DOS版本号              
smartdrv设置磁盘加速器
vol 显示磁盘卷标号             
lh 将程序装入高端内存     
ctty 改变控制设备              
emm386 扩展内存管理 
cmd--------CMD命令提示符 
chkdsk-----Chkdsk磁盘检查 
certmgr.msc----证书管理实用程序 
calc-----------启动计算器 
charmap--------启动字符映射表 
cliconfg-------SQL SERVER 客户端网络实用程序 
Clipbrd--------剪贴板查看器 
conf-----------启动netmeeting 
compmgmt.msc---计算机管理 
cleanmgr-------垃圾整理 
ciadv.msc------索引服务程序



gpedit.msc-----组策略 
sndrec32-------录音机
Nslookup-------IP地址侦测器
explorer-------打开资源管理器
logoff---------注销命令
tsshutdn-------60秒倒计时关机命令
lusrmgr.msc----本机用户和组
services.msc---本地服务设置
oobe/msoobe /a----检查XP是否激活
notepad--------打开记事本
cleanmgr-------垃圾整理
net start messenger----开始信使服务
compmgmt.msc---计算机管理
net stop messenger-----停止信使服务
conf-----------启动netmeeting
dvdplay--------DVD播放器
charmap--------启动字符映射表
diskmgmt.msc---磁盘管理实用程序
calc-----------启动计算器
dfrg.msc-------磁盘碎片整理程序
chkdsk.exe-----Chkdsk磁盘检查
devmgmt.msc--- 设备管理器
regsvr32 /u *.dll----停止dll文件运行
drwtsn32------ 系统医生
rononce -p ----15秒关机
dxdiag---------检查DirectX信息
regedt32-------注册表编辑器
Msconfig.exe---系统配置实用程序
rsop.msc-------组策略结果集
mem.exe--------显示内存使用情况
regedit.exe----注册表
winchat--------XP自带局域网聊天
progman--------程序管理器
winmsd---------系统信息
perfmon.msc----计算机性能监测程序
winver---------检查Windows版本 
sfc /scannow-----扫描错误并复原
taskmgr-----任务管理器(2000/xp/2003
winver---------检查Windows版本 
wmimgmt.msc----打开windows管理体系结构(WMI) 
wupdmgr--------windows更新程序 
wscript--------windows脚本宿主设置 
write----------写字板 
winmsd---------系统信息 
wiaacmgr-------扫描仪和照相机向导 
winchat--------XP自带局域网聊天
mem.exe--------显示内存使用情况 
Msconfig.exe---系统配置实用程序 
mplayer2-------简易widnows media player 
mspaint--------画图板 
mstsc----------远程桌面连接 
mplayer2-------媒体播放机 
magnify--------放大镜实用程序 
mmc------------打开控制台 
mobsync--------同步命令
dxdiag---------检查DirectX信息 
drwtsn32------ 系统医生 
devmgmt.msc--- 设备管理器 
dfrg.msc-------磁盘碎片整理程序 
diskmgmt.msc---磁盘管理实用程序 
dcomcnfg-------打开系统组件服务 
ddeshare-------打开DDE共享设置 
dvdplay--------DVD播放器
net stop messenger-----停止信使服务 
net start messenger----开始信使服务 
notepad--------打开记事本 
nslookup-------网络管理的工具向导 
ntbackup-------系统备份和还原 
narrator-------屏幕“讲述人” 
ntmsmgr.msc----移动存储管理器 
ntmsoprq.msc---移动存储管理员操作请求 
netstat -an----(TC)命令检查接口
syncapp--------创建一个公文包 
sysedit--------系统配置编辑器 
sigverif-------文件签名验证程序 
sndrec32-------录音机 
shrpubw--------创建共享文件夹 
secpol.msc-----本地安全策略 
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 
services.msc---本地服务设置 
Sndvol32-------音量控制程序 
sfc.exe--------系统文件检查器 
sfc /scannow---windows文件保护
tsshutdn-------60秒倒计时关机命令 
tourstart------xp简介(安装完成后出现的漫游xp程序) 
taskmgr--------任务管理器
eventvwr-------事件查看器 
eudcedit-------造字程序 
explorer-------打开资源管理器
packager-------对象包装程序 
perfmon.msc----计算机性能监测程序 
progman--------程序管理器
regedit.exe----注册表 
rsop.msc-------组策略结果集 
regedt32-------注册表编辑器 
rononce -p ----15秒关机 
regsvr32 /u *.dll----停止dll文件运行 
regsvr32 /u zipfldr.dll------取消ZIP支持
cmd.exe--------CMD命令提示符 
chkdsk.exe-----Chkdsk磁盘检查 
certmgr.msc----证书管理实用程序 
calc-----------启动计算器 
charmap--------启动字符映射表 
cliconfg-------SQL SERVER 客户端网络实用程序 
Clipbrd--------剪贴板查看器 
conf-----------启动netmeeting 
compmgmt.msc---计算机管理 
cleanmgr-------垃圾整理 
ciadv.msc------索引服务程序
osk------------打开屏幕键盘 
odbcad32-------ODBC数据源管理器 
oobe/msoobe /a----检查XP是否激活 
lusrmgr.msc----本机用户和组 
logoff---------注销命令
iexpress-------木马捆绑工具,系统自带
Nslookup-------IP地址侦测器
fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器
gpedit.msc-----组策略

BAT 批处理脚本 教程

下载
怎样自动以管理员身份运行bat文件?
管理员运行 一键查看本地ip && ip设置dns设置等


from http://www.hostloc.com/thread-372361-1-1.html

简介

在Debian 8 和Ubuntu16 + 系统上一键部署魔改版BBR,自动换内核成 4.10.15 ,自动安装Headers。
用户只需要将系统安装成 Debian 8 或者 Ubuntu 16 即可,剩下的交给脚本来吧。
1
参考资料
魔改BBR原帖:http://www.hostloc.com/thread-372277-1-2.html
萌新教程: http://www.hostloc.com/thread-372335-1-1.html
脚本技术: https://doub.io/wlzy-16/

安装使用(一键代码)

wget -N --no-check-certificate https://raw.githubusercontent.com/FunctionClub/YankeeBBR/master/bbr.sh && bash bbr.sh install

安装过程中如果出现这张图片,请选择NO 来删除其他内核:
2
然后根据提示重启系统。
重启完成后,运行

bash bbr.sh start

即可启动魔改版BBR。

特殊情况
部分商家的VPS可能会遇到换内核之后无法启动系统的情况,所以请运行脚本前一定要备份好重要数据!!

查看魔改BBR状态

运行命令

sysctl net.ipv4.tcp_available_congestion_control

如果看到有 tsunami 就表示开启成功!
3


来自 https://www.v2ex.com/t/353778

首先感谢 91yun 的 linhua :
https://www.91yunbbs.com/discussion/comment/1382/#Comment_1382

2 个相关链接:
https://www.netdevconf.org/2.1/session.html?tazaki
https://github.com/lkl/linux

教程从这里开始

先去 VPS 的 Panel 里打开 TUN/TAP 功能

创建一个 tap0

ip tuntap add tap0 mode tap
ip addr add 10.0.0.1/24 dev tap0
ip link set tap0 up

打通 tap0 和 host 之间的网络

iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o venet0 -j MASQUERADE

假设我们准备在 443 端口开启 BBR

iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2

安装 haproxy ,并禁止开机自启

apt-get install haproxy
update-rc.d haproxy disable

新建一个 /root/haproxy/haproxy.cfg

假设你原来的 server 监听的是 12580 端口, BBR 的端口开在 443 。

defaults
mode tcp
timeout connect 5s
timeout client 60s
timeout server 60s

listen shadowsocks
bind 10.0.0.2:443
server server1 10.0.0.1:12580

下载 Linux Kernel Library ,解压到 /root/haproxy

https://drive.google.com/file/d/0ByqeeKN198fcdDVLMmVKakl5VE0/view?usp=sharing

tar -xzvf liblkl-hijack.so.tgz

是时候开启 haproxy 为 BBR 过桥了,以下命令必须一行打完

LD_PRELOAD=/root/haproxy/liblkl-hijack.so LKL_HIJACK_NET_QDISC="root|fq" LKL_HIJACK_SYSCTL='net.ipv4.tcp_congestion_control="bbr";net.ipv4.tcp_wmem="4096 65536 67108864"' LKL_HIJACK_NET_IFTYPE=tap LKL_HIJACK_NET_IFPARAMS=tap0 LKL_HIJACK_NET_IP=10.0.0.2 LKL_HIJACK_NET_NETMASK_LEN=24 LKL_HIJACK_NET_GATEWAY=10.0.0.1 LKL_HIJACK_OFFLOAD="0x8883" haproxy -f /root/haproxy/haproxy.cfg

大功告成!

现在可以用客户端连上试试看了
12580 是原来 server 的端口
443 是开启 BBR 以后的端口

后记

如果需要把原来 12580 端口的 UDP 协议也转发到 443 端口,可以添加以下命令

iptables -t nat -A PREROUTING -i venet0 -p udp --dport 443 -j REDIRECT --to-port 12580

补充一个安全性的更新,感谢 @BOYPT ,原来的 haproxy 是以 root 用户启动,建议在 haproxy.cfg 文件顶部增加如下内容。
global
user haproxy
group haproxy

顺便再推荐一个个人认为不错的应用场合。
将 nginx 的 80 和 443 端口改为 10080 和 10443 ,让开了 BBR 的 haproxy 监听 80 和 443 端口,配置文件里将这 2 个端口指向 10080 和 10443 。就能让你的网站享受 BBR 带来的加成了。
第 2 条附言 · 71 天前
教程中最后一大行参数中有一个参数格式写错了,正确的格式如下,感谢 @weyou 指出。

LKL_HIJACK_SYSCTL="net.ipv4.tcp_congestion_control=bbr;net.ipv4.tcp_wmem=4096 65536 67108864"
第 3 条附言 · 70 天前

既然你们都喜欢快餐,那我提供一个脚本吧。

手动调试成功后,就可用下面脚本设置开机自启。

安装 supervisor ,添加配置文件,用于开机自启

/etc/supervisor/conf.dhaproxy-lkl.conf

[program:haproxy-lkl]
command=/root/haproxy/haproxy-lkl-start
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/root/haproxy/haproxy-lkl_stdout.log
stdout_logfile_maxbytes=1MB
stderr_logfile=/root/haproxy/haproxy-lkl_stderr.log
stderr_logfile_maxbytes=1MB

haproxy 配 Linux Kernel Library 的启动脚本。

原来的服务监听 12580 端口。开启 BRR 后,新的监听端口在 443 。

/root/haproxy/haproxy-lkl-start

!/bin/sh

ip tuntap add tap0 mode tap
ip addr add 10.0.0.1/24 dev tap0
ip link set tap0 up

iptables -P FORWARD ACCEPT

iptables -t nat -D PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2
iptables -t nat -A PREROUTING -i venet0 -p tcp --dport 443 -j DNAT --to-destination 10.0.0.2

iptables -t nat -D PREROUTING -i venet0 -p udp --dport 443 -j REDIRECT --to-port 12580
iptables -t nat -A PREROUTING -i venet0 -p udp --dport 443 -j REDIRECT --to-port 12580

export LD_PRELOAD=/root/haproxy/liblkl-hijack.so
export LKL_HIJACK_NET_QDISC="root|fq"
export LKL_HIJACK_SYSCTL="net.ipv4.tcp_congestion_control=bbr;net.ipv4.tcp_wmem=4096 65536 67108864"
export LKL_HIJACK_NET_IFTYPE=tap
export LKL_HIJACK_NET_IFPARAMS=tap0
export LKL_HIJACK_NET_IP=10.0.0.2
export LKL_HIJACK_NET_NETMASK_LEN=24
export LKL_HIJACK_NET_GATEWAY=10.0.0.1
export LKL_HIJACK_OFFLOAD="0x8883"
export LKL_HIJACK_DEBUG=1

haproxy -f /root/haproxy/haproxy.cfg

Enjoy~~~



PHP脚本

<?php
$data=file_get_contents('http://directspace.net/vps_dedicated.htm');
$available=strpos($data,"Available October 28th");
if (!$available) {
        mail ("yourmail@gmail.com", "WoW! DS2$ Available!", "DS2$ Available,GOGO!");
}
?>

<?php
$data=file_get_contents('https://directspace.net/eportal/cart.php?a=add&pid=173');
$available=strpos($data,"Out of Stock");
if (!$available) {
        mail ("yourmail@gmail.com", "WoW! DS2$ Available!", "DS2$ Available,GOGO!");
}
?>

Crontab这样写

*/5 * * * * /usr/local/php/bin/php /home/wwwroot/dsmonitor.php

这就行了,如果crontab不能执行,可能是你的系统不支持*/5这样的写法,那你就0,5,10,15,20.....55这样写
from http://www.hostloc.com/thread-32575-1-1.html

2.from http://www.hostloc.com/forum.php?mod=viewthread&tid=370961&page=2#pid4666780

<?php
    ignore_user_abort();
    set_time_limit(0);
        
    while(true)
    {
        $f = file_get_contents("http:xxxxx");
        $m = md5($f);

        $hash = file_get_contents("hash.txt");
        if($hash!=$m)
        {
            file_put_contents("hash.txt",$m);
            mail("aaa@qq.com","发生变化","内容。。。");       //mail 函数如果使用过多,有些邮箱会让他直接进垃圾邮件或者拒收,本质是调用linux的sendmail 之类发送。
                
        }
            
        echo "执行了一次<br>";
        sleep(60*15);    //休眠15分钟
            
    }