2017年8月17日星期四

v2ray安装配置


官网
https://github.com/v2ray/v2ray-core/releases

安装v2ray
bash <(curl -L -s https://raw.githubusercontent.com/v2ray/install/master/go.sh)
此脚本会自动安装以下文件:
/usr/bin/v2ray/v2ray:V2Ray 程序;
/etc/v2ray/config.json:配置文件;
脚本运行完成后,你需要:
编辑 /etc/v2ray/config.json 文件来配置你需要的代理方式;
运行 service v2ray start 来启动 V2Ray 进程;
之后可以使用 service v2ray start|stop|status|reload|restart|force-reload 控制 V2Ray 的运行。
重启
ervice v2ray restart


服务端配置,http混淆

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbound": {
    "port": 80,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "UUID密码",
          "level": 1,
          "alterId": 64
        },
        {
          "id": "UUID密码",
          "level": 0,
          "alterId": 64
        }
      ]
    },
    "streamSettings": {
      "network": "tcp",
      "tcpSettings": {
        "header": {
          "type": "http",
          "response": {
            "version": "1.1",
            "status": "200",
            "reason": "OK",
            "headers": {
              "Content-Type": ["application/octet-stream", "application/x-msdownload", "text/html", "application/x-shockwave-flash"],
              "Transfer-Encoding": ["chunked"],
              "Connection": ["keep-alive"],
              "Pragma": "no-cache"
            }
          }
        }
      }
    }
  },
  "outbound": {
    "protocol": "freedom",
    "settings": {}
  },
  "outboundDetour": [
    {
      "protocol": "blackhole",
      "settings": {},
      "tag": "blocked"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "rules": [
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "blocked"
        }
      ]
    }
  }
}




客户端配置

{
  "log": {
    "loglevel": "none"
  },
  "inbound": {
    "port": 1086,
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": true,
      "ip": "127.0.0.1"
    }
  },
  "outbound": {
    "protocol": "vmess",
    "settings": {
      "vnext": [
        {
          "address": "服务器IP或域名",
          "port": 80,
          "users": [
            {
              "id": "UUID密码",
              "alterId": 64,
              "security": "auto"
            }
          ]
        }
      ]
    },
    "streamSettings": {
      "network": "tcp",
      "tcpSettings": {
        "header": {
          "type": "http",
          "request": {
            "version": "1.1",
            "method": "GET",
            "path": ["/"],
            "headers": {
              "Host": ["cloudflare.com", "amazon.com", "alicdn.com"],
              "User-Agent": [
                "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3212.101 Safari/537.36",
                        "Mozilla/5.0 (Linux; Android 7.1.1; Nexus 6P Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3012.0 Mobile Safari/537.36"
              ],
              "Accept-Encoding": ["gzip, deflate"],
              "Connection": ["keep-alive"],
              "Pragma": "no-cache"
            }
          }
        }
      }
    }
  },
  "outboundDetour": [
    {
      "protocol": "freedom",
      "settings": {},
      "tag": "direct"
    }
  ],
  "routing": {
    "strategy": "rules",
    "settings": {
      "domainStrategy": "IPIfNonMatch",
      "rules": [
        {
          "type": "field",
          "ip": [
            "0.0.0.0/8",
            "10.0.0.0/8",
            "100.64.0.0/10",
            "127.0.0.0/8",
            "169.254.0.0/16",
            "172.16.0.0/12",
            "192.0.0.0/24",
            "192.0.2.0/24",
            "192.168.0.0/16",
            "198.18.0.0/15",
            "198.51.100.0/24",
            "203.0.113.0/24",
            "::1/128",
            "fc00::/7",
            "fe80::/10"
          ],
          "outboundTag": "direct"
        },
        {
          "type": "chinasites",
          "outboundTag": "direct"
        },
        {
          "type": "chinaip",
          "outboundTag": "direct"
        }
      ]
    }
  }
}

2017年5月16日星期二

IOS获取旧版本 app 应用

https://gist.github.com/yangshaoshun/443f555dc7cc449d4ed990542a766871

iOS不越狱
Mac+iTunes+Charles4.x
Charles需要安装Charles Root Certificate.
1.Charles下载证书*.pem
Help->SSL Proxying->Save Charles Root Certificates...
2.钥匙串安装证书
File->Import Items,编辑并信任证书
菜单Proxy- 启用MacProxy,获取不到ssl内容的时候编辑菜单-Proxy-SSLProxySettings,添加hosts端口*443
步骤(以微信为例)

1.打开itunes和Charles,在iTunes中搜索微信,并点击Get按钮。(下载开始后可以暂停任务并删除。)

2.在Charles的请求列表中寻找形如https://*-buy.itunes.com(buyProduct)等的请求,右键启用Enable SSL Proxying和Breakpoints.
3.从Charles捕获buyProduct的返回中查找softwareVersionExternalIdentifiers字段及其对应的列表Value.此列表代表的版本号从最早到最新排列。

4.在iTunes中删除先前下载好的包,并再次执行1,将会发现Charles断点执行到。点击EditRequest-XMLText,编辑其中的appExtVrsId为 老版本的vrsId并点击Execute,可能需要在断点再次执行到时点击Execute。

5.在iTunes已安装的App中可以查找到需要的老版本的APP.

越狱下载插件app admin

2017年5月13日星期六

Firefox常用

稳定版下载地址:http://www.mozilla.org/en-US/firefox/all/
ESR版下载地址:https://www.mozilla.org/en-US/firefox/organizations/all/


禁用Firefox插件签名要求

先创建一个config.js文件
//
 try {
 Components.utils.import("resource://gre/modules/addons/XPIProvider.jsm", {})
 .eval("SIGNED_TYPES.clear()");
 }
 catch(ex) {}

之后保存文件。
右键单击它,然后选择重命名。
将其命名为config.js。确保它被称为config.js而不是config.js.txt。
移动Firefox安装文件夹中的config.js文件。
On Windows, this is either C:\Program Files\Mozilla Firefox\ or C:\Program Files (x86)\Mozilla Firefox\.
On Linux, it is /usr/lib/firefox- or /usr/lib64/firefox-
On Mac, it is /Applications/Firefox.app/Contents/Resources 中存放config.js

步骤2:创建config-prefs.js

MAC存放地址 /Applications/Firefox.app/Contents/Resources/defaults/pref 中存放config-prefs.js

在桌面上创建第二个文本文档,然后在编辑器中打开它。
将以下行粘贴到其中:
pref("general.config.obscure_value", 0);
pref("general.config.filename", "config.js");


将文件重命名为config-prefs.js。
将文件移动到Firefox程序文件夹的默认\ pref文件夹,例如C:\ Program Files \ Mozilla Firefox \ defaults \ pref
重新启动Firefox。

步骤3:在Firefox Stable或Beta中安装未签名的加载项。

一旦完成,您可能会像以前一样在Firefox Stable或Beta中重新安装任何附加组件,签名或未签名。

转载:https://www.ghacks.net/2016/08/14/override-firefox-add-on-signing-requirement/

2017年5月10日星期三

net-speeder加速

主页
https://github.com/snooda/net-speeder

 安装步骤:
1:下载源码并解压
wget https://github.com/snooda/net-speeder/archive/master.zip
unzip master.zip
cp -r /tmp/net-speeder-master/ /usr/local/net_speeder/
cd  /usr/local/net_speeder/
2:准备编译环境
debian/ubuntu:
#安装libnet-dev:
apt-get install libnet1-dev
#安装libpcap-dev:
apt-get install libpcap0.8-dev 
centos:
#下载epel:https://fedoraproject.org/wiki/EPEL/zh-cn 例:CentOS6 64位:
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
#(如果是centos5,则在epel/5/下)
#安装epel:
rpm -ivh epel-release-6-8.noarch.rpm
#然后即可使用yum安装:
yum install libnet libpcap libnet-devel libpcap-devel
编译:
Linux Cooked interface使用编译(venetX,OpenVZ):
sh build.sh -DCOOKED
普通网卡使用编译(Xen,KVM,物理机):
sh build.sh
使用方法(需要root权限启动):
  • 端口加速
安装完成后加速端口: nohup /usr/local/net_speeder/net_speeder venet0 "ip" >/dev/null 2>&1 &
(vultr上的是:nohup /usr/local/net_speeder/net_speeder eth0 "ip" >/dev/null 2>&1 &)
用supervisor。贴个配置。
1
2
3
4
5
[program:net_speeder]
command=/usr/local/net_speeder/net_speeder venet0 "ip"
autorestart=true
autostart=true
stderr_logfile=/var/log/net_speeder.err.log
stderr_logfile_maxbytes=1MB
stdout_logfile=/var/log/net_speeder.out.log
stdout_logfile_maxbytes=1MB
user=root
重新载入配置, supervisorctl reload。
查看net-speeder是否运行:
ps aux|grep net_speeder|grep -v grep
关闭net_speeder: killall net_speeder
设置net-speeder定时开关
net-speeder实际上是颇有争议的,双倍发包会导致网络拥堵,有点损人利己的感觉。因此,tennfy给出一个折中的方案,就是在晚上高峰期的时候开启net-speeder,空闲时间关闭。
1、设置时区
由于美国的VPS时区跟中国是不一致的,因此需要给VPS设置一下时区。 执行以下命令
echo "Asia/Shanghai" >/etc/timezone
输入date命令查看VPS上显示的时间是否与本地相同。
2、设置net-speeder定时开关
我们设定19点开启,24点关闭。执行以下命令:
echo '0 19 * * * root nohup /root/net_speeder venet0 "ip" >/dev/null 2>&1 &' >>/etc/crontab
echo "0 0 * * * root killall net_speeder" >>/etc/crontab
/etc/init.d/cron restart

2017年5月5日星期五

homebrew安装

简介

Homebrew是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,相当于linux下的apt-get、yum神器;Homebre可以在Mac上安装一些OS X没有的UNIX工具,Homebrew将这些工具统统安装到了 /usr/local/Cellar 目录中,并在 /usr/local/bin 中创建符号链接。

Homebrew的安装

Homebrew的安装很简单,只需在终端下输入如下指令:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安装完成
Homebrew安装成功后,会自动创建目录 /usr/local/Cellar 来存放Homebrew安装的程序。 这时你在命令行状态下面就可以使用 brew 命令了.
⚠️注意:如果在安装过程中返回400,可以在几分钟后尝试重新安装。

Homebrew的使用

  • 安装软件:brew install 软件名,例:brew install wget
  • 搜索软件:brew search 软件名,例:brew search wget
  • 卸载软件:brew uninstall 软件名,例:brew uninstall wget
  • 更新:brew update 这会更新 Homebrew 自己,并且使得接下来的两个操作有意义——
  • 检查过时(是否有新版本):brew outdated 这回列出所有安装的软件里可以升级的那些
  • 升级:brew upgrade 升级所有可以升级的软件们
  • 清理:brew cleanup 清理不需要的版本极其安装包缓存
  • 显示已安装软件:brew list
  • 查看软件信息:brew info/home 软件名 ,例:brew info git / brew home git
    ⚠️brew home指令是用浏览器打开官方网页查看软件信息
  • 查看那些已安装的程序需要更新: brew outdated
  • 显示包依赖:brew reps
转载:http://www.jianshu.com/p/4e80b42823d5

2017年4月18日星期二

shadowsocksR ssr openwrt 编译

最新参考https://github.com/ywb94/openwrt-ssr

以下是老版编译

git clone -b shadowsocksR https://github.com/etnperlong/openwrt-shadowsocks.git package/shadowsocks-libev

更改版本号
git clone https://github.com/shadowsocksr/shadowsocksr.git
git log 获取commit id
修改commit id为最新版
bfdb71349be780a3cb365f581ef59ff0cef29b65

添加支持库

更新feeds
./scripts/feeds update -a
安装feeds(不是必须)
./scripts/feeds install -a

make menuconfig
make -j4 package/shadowsocks-libev/compile V=99

编译后清理文件
make clean

测试运行
/usr/bin/ssr-redir -c /var/etc/shadowsocksr.json -u -f /var/run/ss-redir.pid

SSR重启命令
/etc/init.d/shadowsocksr restart

openwrtx86x64配置

openwrt虚拟机分区扩展
http://blog.csdn.net/llq6llq/article/details/48655483#t1

固件下载

下载openwrt官网最新的x64固件openwrt-15.05.1-x86-64-combined-ext4.img.gz,要选择combined-ext4版本的。

固件转换

由于VMware需要的vmdk的磁盘镜像文件,而我们下载的openwrt固件却是img格式,我们需要通过qemu-img工具将其转换。

打开VMware下的ubuntu虚拟机,将下载好的openwrt-15.05-x86.img.gz中的img文件解压拷贝到ubuntu虚拟机内。

安装qemu-img:

sudo -s

apt-get install qemu-utils
将img文件转换为vmdk文件:

qemu-img convert -f raw openwrt-15.05.1-x86.img -O vmdk openwrt.vmdk
扩展磁盘

经过转换过的openwrt.vmdk的磁盘空间默认才只有60MB,明显不够用,需要先挂载到ubuntu的虚拟机里进行扩展。

在ubuntu里加载新磁盘的时候,要选择IDE类型和独立永久模式。
这里写图片描述

在新磁盘的实用工具中选择扩展,将空间改为1GB
这里写图片描述

我们这里虽然将虚拟磁盘的总空间修改了,但里面实际的分区大小是没有变化的,我们需要在ubuntu虚拟机下做后续修改。

在ubuntu终端下获取root权限

sudo -s
确定你新挂上去的磁盘文件对应的设备名是什么,我的是/dev/sda

修改磁盘分区

fdisk /dev/sda

p
查询到对应的磁盘分区表信息,里面的sda2中start信息需要记住!!!9216!!!
这里写图片描述

在fdisk中将原有第二个分区删掉

d [enter]

2 [enter]

n [enter]

p [enter]

2 [enter]

9216 [enter]

[enter]

w [enter]
这里写图片描述

使用resize2fs修改分区

resize2fs /dev/sda2
这里写图片描述

将ubuntu虚拟机关机,把openwrt.vmdk从ubuntu虚拟机中移除。

创建虚拟机

用刚才处理好的openwrt.vmdk创建虚拟机,注意硬盘需选择IDE类型。

开机后,就跟正常的openwrt玩法一样了。


界面安装
http://blog.sina.com.cn/s/blog_59b89af00101c501.html

配置网卡:
vi /etc/config/network

双网卡配置,lan口:hostonly wan口:桥接
本机手动配置成lan口的ip地址才能连接。