yjiang's cake

使用haproxy加速ssr

场景

  • 一台非直连cn的vps, 搭建了ssr
  • 一台内网可运行haproxy的机器
  • 家里联通线路访问ssr速度尚可
  • 公司/非联通线路访问ssr速度不佳

方案

  • 在家里路由器搭建haproxy, 使用haproxy反代ssr:
公司 <===> 家里(haproxy) <===> VPS

安装及haproxy配置

1.安装haproxy

此处使用entware-ng环境运行haproxy,需要根据实际情况自行安装haproxy

opkg update && opkg install haproxy

2.创建配置文件ssr.cfg

global
    #ulimit-n  51200
    log /dev/log    local0
    log /dev/log    local1 notice
    chroot /root
    pidfile /tmp/var/run/haproxy.pid
    user yjiang                      #自己运行haproxy的用户
    daemon                           #以后台形式运行haproxy
defaults
    log     global
    mode    tcp
    option  dontlognull
    option redispatch
    timeout http-request 10s
    timeout queue 1m
    timeout connect 2s
    timeout http-keep-alive 10s
    timeout check 10s
    timeout client 50000
    timeout server 50000
listen ssr
    bind *:9988                      #反代后ssr的端口
    mode tcp
    server ssr1 yjiang.cn:9988       #自己的ssr服务器及端口

3.启动haproxy

haproxy -f ssr.cfg

梅林固件User Script脚本创建方式

tips

  1. 可能需要手动开放haproxy绑定的端口, 例如上面配置文件需要开启9988
iptables -I INPUT -p tcp --dport 9988 -j ACCEPT
iptables-save
  1. 1024以内的端口是需要root权限的
  2. 从公司连接haproxy反代后的ssr服务时, 依旧需要vps上ssr服务的用户名/密码/加密协议.

archlinux手动链接网络

启用无线网卡

ip link set dev wlan0 up

生成wpa配置文件

wpa_passphrase <SSID> <paasword>  > wlan0.conf

连接

wpa_supplicant -i wlan0 -c wlan0.conf

更多

#自动获取ip
dhcpcd wlan0
#查看接入点
iw dev wlan0 scan |less
#启用网卡
ip link set dev wlan0 up
#关闭网卡
ip link set dev wlan0 down
#扫描可用热点
iw dev wlan0 scan

参考

ofo不使用虚拟定位下单

1.获取ofo_token

访问 ofo网页版,并登陆

chrome下如果无法输入账号密码,可打开调试工具使用移动设备模拟器模拟手机

从cookie中找到ofo_token项,复制下来

2.获取红包区域坐标信息

ofo使用的是高德地图,只需要从高德地图网页版获取坐标信息即可



3.创建订单

无需模拟定位,直接使用坐标下单

#!/usr/bin/env bash

#ofo_token
token="67968641-ab30-11e6-96d22-4f0e0e662348"
#纬度
lat="39.896219"
#经度
lng="116.445179"
#车牌号
carno="457396"

curl --request POST \
  --url https://san.ofo.so/ofo/Api/v2/carno \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data "accuracy=100.00000&altitude=40.11111&carno=$carno&lat=$lat&lng=$lng&source=2&source-version=12412&speed=-1.000000&tag=&token=$token&source-system=7.1.1&source-model=xiaomi_6plus"

4.等待10分钟,从手机app端结束骑行

Tips:

  • 每日每个账号最多获取5个红包
  • 选择红包区域时,尽量选择三个及以上红包重叠的位置,成功几率更大
  • 虽然carno一直用一个也能成功创建订单,不过建议还是每次换一个
  • 更新一个更完善的php的脚本

703n(openwrt)挂载U盘,并使用U盘启动(14.0x及15.0x版本 )

1. 适用于openwrt 14版本的设置方式

  • 由于703n刷完openwrt直邮400k可用空间,所以格式化的程序就不安装到703n上了,自己把U盘预先格式化为ext3格式.
  • 以自己U盘为例,分为两个区,一个7G作为系统分区,另外一个作为swap交换分区;
    因为在win下格式化,遇到个问题,只有一个分区能格式化为ext3,另一个只能是win下的格式;无所谓,先格一个,另外的交换分区稍后再说.

安装挂载需要的程序

opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage
#block-mount      挂载使用
#kmod-fs-ext4     ext3 ext4格式支持
#kmod-usb-storage 大容量存储设备支持
#block info查看挂载的设备
#block detect 查看挂载的配置

复制所有文件到U盘,重启下系统

mkdir -p /tmp/cproot 
mount / /tmp/cproot 
mount /dev/sda1 /mnt/ 
tar -C /tmp/cproot -cvf - . | tar -C /mnt/ -xf - 
sync 
umount /mnt 
umount /tmp/cproot

启用swap

mkswap /dev/sda2
swapon

修改 /etc/conf/fstab的mount项

config 'mount'
    option target /
    option device /dev/sda1
    option fstype ext3
    option options rw,sync
    option enabled 1
    option enabled_fsck 0
    option is_rootfs 1

config 'swap'
    option  device  '/dev/sda2'
    option  enabled '0'

知识扩展

关于更详细的交换分区 swap 的说明,可参照 linux下的交换分区–swap

2. 适用于openwrt 15版本的设置方式

  • 关于格式化存储卡及挂载缓存分区的方式没变,依旧可以成功
  • 在15.0x版本后extroot方式试了很多次都不成功,从日志看到总是 extroot:cannot found device,需要使用挂载 /overlay 的方式

安装挂载需要的程序

opkg update && opkg install block-mount kmod-fs-ext4 kmod-usb-storage

复制 overlay

mount /dev/sda1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ; umount /mnt

创建fstab配置文件

block detect > /etc/config/fstab; \
   sed -i s/option$'\t'enabled$'\t'\'0\'/option$'\t'enabled$'\t'\'1\'/ /etc/config/fstab; \
   sed -i s#/mnt/sda1#/overlay# /etc/config/fstab; \
   cat /etc/config/fstab;

关于overlay

openwrt的一种透明挂载技术, 它会将/rom挂载为/根文件,然后用/overlay覆盖根目录/,这样,当你对文件系统进行修改时,实际操作的其实是overlay,而rom是不变的.

参考引用

Copyright © 2016 yjiang's cake

返回顶部