2017年4月

来自 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 带来的加成了。

教程中最后一大行参数中有一个参数格式写错了,正确的格式如下,感谢 @weyou 指出。

LKL_HIJACK_SYSCTL="net.ipv4.tcp_congestion_control=bbr;net.ipv4.tcp_wmem=4096 65536 67108864"

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

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

安装 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

一键脚本

OpenVZ的UML+BBR+SSR加速一键包

windows or macOS

win+R进入CMD or terminal:

每次重启后都要进行CMD(win+R)

macOS 需要 在MAC上安装adb

adb tcpip 56565 App Ops

adb -d shell sh /sdcard/Android/data/me.piebridge.brevent/brevent.sh 黑域
adb -d shell sh /data/data/me.piebridge.brevent/brevent.sh 新的

adb shell sh /sdcard/Android/data/com.zzzmode.appopsx/opsx.sh AppOpsX

adb shell sh /sdcard/Android/data/moe.shizuku.privileged.api/files/start.sh Shizuku Manager(window 双击命令脚本)

http://www.oneplusbbs.com/forum.php?mod=forumdisplay&fid=116&filter=author&orderby=dateline

设置——安全和指纹——屏幕锁定方式——重新设置一次密码——在安全启动界面 点击不用了

在线升级

OTA更新「设置-系统更新」。
全量包下载方式:
OS官网下载链接:http://www.h2os.com/download
OS官网下载链接:http://downloads.oneplus.net/
全量包升级方法:将全量包放到根目录,进入设置-系统更新-点击右上角“设置图标”-本地升级-选择你要更新的全量包。
刷氧OS的步骤
很简单,去一加oneplus官网下载rom,把rom复制到手机的根目录。接着关机,同时按住音量下键及功能键,机子震动后松手。进入菜单进行双清,双清完毕后选择机子内部的rom 进行升级。

一键工具箱

一加全机型万能工具箱震撼来袭V3.5.4
可以用第三方rec双清刷氢7.1,
刷完之后什么也别补,直接重启,
并允许恢复官方rec。
这样你手机的rec就会被强制恢复成官方rec

区别

氢OS和氧OS区别

一加的氧 OS 会跟踪用户的所有活动 v2ex
https://www.reddit.com/r/oneplus/comments/75ez9c/oneplus_oxygenos_builtin_analytics/
http://www.androidpolice.com/2017/10/10/never-settle-oneplus-found-collecting-personally-identifiable-analytics-data-phone-owners/

adb shell pm uninstall -k --user "0" net.oneplus.odm.provider

google camera working HDR+ 谷歌相机
https://androidfilehost.com/?fid=889964283620754773

A5屏

拨号界面输入##37847#,找到LCD这栏,看最后两个字母 A5屏

驱动

先下载,安装驱动,再手机选MTP模式,再在电脑上选择分区上有个驱动选择安装即可

支持win10/8.1 一加手机 Oneplus OneTwo ADB MTP驱动下载
WIN10 WIN8.1 安装ADB驱动 强制关闭驱动签名教程
https://www.xda-developers.com/google-camera-hdr-ported/

变红灯,表示退出快充状态,,还是在充的,
红灯切换到蓝灯快充状态,是有一下子是灯灭的,正常的
来自http://www.oneplusbbs.com/thread-4162898-1.html

公交卡

安卓9之前:
一加公交卡,独立app
安卓9之后:
商店,下载【卡券】,【一加公交卡】,酷安里下载【隐式启动】
使用:隐式启动,找到【一加公交卡】,点击,第一项,右边箭头,启动,开卡,再打开【卡券】,即显示
卡券打开【非app 图标】,在桌面小部件中找到,按住拖到桌面即可

若充值不了(用不了),可能是权限限制
 

  

最近在研究二维码的生成,目前找到了javascript版本和php版本。

先来说说javascript版吧,其实就是一个jquery插件——jquery.qrcode,看了源码之后发现jquery.qrcode.js里面提供了2种生成二维码的机制:使用canvas或table。对于支持html5的浏览器使用canvas效率是非常高的,并且不会对服务器产生任何压力,客户端也不会有太多压力;可是如果为了兼容像IE8等浏览器,还是需要使用table方式。

判断浏览器是否支持canvas的代码:

function canvasSupport() {
    return !!document.createElement('canvas').getContext;
}

于是,写了这么一个在线生成二维码的demo,下载即用,如果将table改为canvas将会得到一个质的提升。

$('#qrcodeTable').qrcode({
    render  : "table",
    text    : utf16to8(str),
    width:"400",
    height:"400"
});

jquery二维码插件下载地址:

使用jquery.qrcode生成二维码(支持中文).zip

来说说php中怎样实现二维码,主要使用phpqrcode这个开源库:http://phpqrcode.sourceforge.net/

官方给的项目库比较大,个人只使用了phpqrcode.php这一个文件:
php生成不带logo的二维码.zip

可惜是phpqrcode.php并未实现生成带有logo的二维码,但是使用php的GD库函数在《php利用PHP QR Code生成二维码(带logo)》中已经实现了。

源码下载:
php生成带logo的二维码.zip

以上转载:http://blog.zhengshuiguang.com/php/qrcode.html

如何用jquery.qrcode.js插件在线生成二维码

在之前的一篇文章中我介绍了用php怎么生成二维码,今天我要说的是用jquery.qrcode.js前端生成二维码。

jquery.qrcode.js是一个纯浏览器生成QRcode的jQuery插件,它使用非常简单,生成的QRcode无需下载图片,并且不依赖第三方服务。实在是挺好用的。

官网地址:https://larsjung.de/jquery-qrcode/

其实在官方的API已经说的很清楚了,我这里只是做个简单的案例。

<div id="container"></div>
<script>
    $('#container').qrcode({
        // 渲染的方式 : 'canvas', 'image' or 'div'
        render: 'canvas',
        // 容错率 L-H 递增 level: 'L', 'M', 'Q' or 'H'
        ecLevel: 'H',
        // 大小
        size: 200,
// 圆角
radius: 0.5,
        // 背景色
        background: '#ffffff',
        // 内容
        text: 'https://m69w.com',
    });
</script>

效果如下:略

在线生成二维码 http://www.hehaibao.com/qr && https://github.com/hehaibao/php-qrcode
https://github.com/lrsjng/jquery-qrcode && demo源码
使用jquery.qrcode,在线生成二维码,支持中文,可设置LOGO版!【JS版】
使用PHPqrcode类库,在线生成二维码【PHP版】

不算教程了,写的太简单了,只是给自己备份而已。本来开博客的意义也是,担心哪一天硬盘也跟凯旋的一样挂掉,什么资料都没了。博客就是一个记录和备份。这个手记是制作过程的简单记录,简单体现了思路,有些连思路都没有记。

土豆视频5.2去广告破解缓存限制手记

1,破解缓存限制

smali_classes2\com\tudou\detail\fragment\VideoCacheFragment.smali
smali_classes2\com\tudou\detail\fragment\VideoCacheFragment$2.smali

修改关键字跳转0x7f0b00e4
2,创建快捷方式

com.tudou.android\smali\com\tudou\ui\activity\WelcomeActivity.smali
.method private addShortcut()V

改为空函数
3,去视频播放前广告

com.tudou.android\smali\com\youku\player\goplay\TaskGetVideoAdvUrl.smali

函数.method protected bridge synthetic doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
删掉这一句

invoke-direct {p0}, Lcom/youku/player/goplay/TaskGetVideoAdvUrl;->connectAPI()V

3,去启动广告(好几秒那个静态的)

com.tudou.android\smali\com\tudou\ui\activity\WelcomeActivity.smali
.method private excutePosterTask()V

改为空函数
首次启动那个花不溜丢的动画
搜索guide_video,找到ID,最后定位到还是这个文件里
简单的判断+跳转
4,去除启动首屏的渠道logo
方法好多啊,挨个说:
1)最笨的方法,用PS把logo改透明。
2)或者channel_name文件改为空(里面就是渠道特征码)
3)或者在

com.tudou.android\smali\com\tudou\ui\activity\WelcomeActivity.smali

.method private initView()V函数下根据渠道特征码显示渠道logo的的内容给删除
从:cond_1一直往下找一直到cond_12一堆都是。所以直接把跳转到cond_1的语句直接改为跳转到cond_13(表示不加logo)就可以了
5,去除titlebar的应用推荐和游戏推荐按钮
layout/index.title.xml中相应布局高度宽度改为0即可
6,去除“发现”频道
这个更简单了

layout/home_bottom_bar.xml

中将相应布局weight值改为0
还有个小毛病就是“精选”频道拉到最底下会提示进入发现频道,还有个箭头指过去……
找到资源文件,定位到布局

res\layout\index_item_foot.xml

爱怎么改怎么改都行了
7,屏蔽“我的”界面中“大家都在看”模块
Fiddler抓包知道访问网址为http://rec.api.3g.tudou.com/v5/user/rec_videos?pid=34d185b5c1336e16&_t_=1439828914&_e_=md5&_s_=d8af732769fef74e7eea4963abffafa1&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001
搜索关键词rec.api.3g.tudou.com,屏蔽相关网址即可
虽然这个网址是recommend,用于广告的,但是为了保险,其实可以只屏蔽“rec_videos”这个字段。
8,屏蔽搜索界面的“大家都在看”和下面的推荐

http://api.3g.tudou.com/v5/search/recommend?pid=34d185b5c1336e16&_t_=1439829729&_e_=md5&_s_=bed05ad375bd98eb1a578f9ad9783fdd&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001

和上面一样,搜索“search/recommend”,改为空即可
同时会出现“走神啦,点击屏幕重试”的提示,搜索这句提示,定位到layout/all_hint_layout.xml,各元素宽高字体大小都改为0.0dip
9,搜索框中默认的搜索推荐,加载自

http://api.3g.tudou.com/v5/home?pid=34d185b5c1336e16&_t_=1439831674&_e_=md5&_s_=70bcf672ad41e439bdc40c6d55502c7e&guid=bb5281c2dfeb44c6339b10586e09f6b8&ver=5.2&network=WIFI&operator=_46001&excludeNew=0&show_url=1&live=1

返回的值中有“search_area”字段,里面定义了两个子字段"search_adv": "大家都在搜", "search_word": "土豆映像季"
smali_classes2\com\youku\vo\SkipInfo.smali中找到这两个字段,改为空
这样的话,进入搜索界面,不会有“土豆映像季”这个关键词了,点击搜索按钮也会提示“搜索关键字不能为空”
但是主界面搜索框里仍然有这几个字。
最简单的方法是考虑通过修改布局实现去除。仍然是肉眼遍历所有图片资源,找到搜索按钮,定位到布局

res\layout\index_title_search.xml

textview那一段
10,视频详情页推荐
抓包

http://rec.api.3g.tudou.com/v4_4/album_rec?pid=34d185b5c1336e16&_t_=1439874368&_e_=md5&_s_=f318077f48286cda5fc0e12df7dff176&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001&album_id=248045&count=6&cid=30&pcode=90000321

搜索v4_4/album_rec
改为空即可
还有一个v4/recommend/video
一样改为空
11,安装后的首次启动动画,是个mp4文件,直接定位到

smali\com\tudou\guide\GuideVideoActivity.smali

靠近最下面的地方播放了这个视频

invoke-direct {p0}, Lcom/tudou/guide/GuideVideoActivity;->play()V

把这句删掉就可以了,然后mp4文件也可以删除了,安装包可以节省4M左右
12,视频播放水印
全屏时的视频水印不只是图片,还会出现订阅发布者的按钮,通过订阅按钮图片资源文件顺着驴腿摸驴蛋,找到了全屏水印的布局文件

res\layout\plugin_fullscreen_watermark.xml

将所有高度宽度改为0.0dip就可以了
非全屏时的播放水印,通过资源文件\res\drawable-xxhdpi-v4\ic_water_mark_small_plug.png
定位到布局,
相应布局宽高改为0的话,整个搜索框都没了
找这句textview的ID index_page_search
13,七夕启动图片

http://api.3g.tudou.com/v4_4/initial?pid=34d185b5c1336e16&_t_=1439995112&_e_=md5&_s_=4665780e265617eea29d83be2ed29190&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001&brand=Meizu&btype=MX4&os=Android&os_ver=5.0.1&wt=1152&ht=1920&imsi=&imei=866007020052013&deviceid=21f26c755ecc7682&mobile=%2B8618675563352&uuid=&time=1439995110855&mac=00:00:00:00:00:00

返回的信息里有图片和显示时长“keep_time”是2秒,影响启动速度,当然要干掉
屏蔽v4_4/initial 关键词即可
14,抓包意外发现了另外一个广告网址

http://ad.api.3g.tudou.com/adv/startpage?pid=34d185b5c1336e16&_t_=1439996989&_e_=md5&_s_=88b6e24859eba9dcf7e69e186f809288&guid=215fc3689204a7a3a5f6ce73ebbf64bf&ver=5.2&network=WIFI&operator=_46001&site=-1&version=1.0&width=1152&height=1920&imei=866007020052013&mac=00:00:00:00:00:00&aid=21f26c755ecc7682&net=1000&isp=%E4%B8%AD%E5%9B%BD%E8%81%94%E9%80%9A_46001&vc=0&mdl=MX4&dvw=1152&dvh=1920&dprm=3000&osv=5.0.1

直接屏蔽之
顺带发现了ad.api.3g.youku.com,必须也一起屏蔽
屏蔽之后启动速度提高至少2秒

土豆视频5.2去广告破解缓存限制手记

转 腾讯视频去广告手记
制定的计划如下
位置权限
创建快捷方式权限
自启权限
屏蔽“遇见模块”
搜索界面不能沉浸
播放前广告
第二次以后的启动广告
黑色退出菜单改为白色半透明
首页首屏的游戏入口屏蔽掉
将持续更新,搞定一个写一步,中间指不定多改点别的,都属正常
启动第二屏闪屏广告
在图片资源中找到“点击跳过”的图片资源,然后一步两步,一步两步,一步一步似爪牙,似魔鬼的步伐,找到了

smali\com\tencent\qqlive\tad\splash\SplashManager.smali

简单阅读即可发现

.method public static getAndShowAdView

定义了广告的获取和显示

sget-object v1, Lcom/tencent/qqlive/tad/splash/SplashManager;->splashAd:Lcom/tencent/qqlive/tad/data/SplashAdLoader;

在这一句下面加上const/4 v1, 0x0即可
视频播放前广告
抓包,一个一个链接检查,最后发现获取广告的url类似于这样

http://lives.l.qq.com/livemsg?sdtfrom=v5004&device=21&vid=w00177qj2du&ad_type=WL_WK&defn=msd&clip=1&ty=web&coverid=ks868i3pu174pu3&live=0&offline=0&pf=aphone&from=5&dtype=1&pu=0&platform=10303&v=QVaPhoneV4.1&adaptor=1&openudid=915bda9994060d1221c7eae77857ac7e&appversion=150620&chid=0&data=AS64N6HIoeOlSg2LJTyWyVJkXyJ8vF3KJDv4Dq%2FTDHySYXyblTfE7zvF%2FTrmUO7WUbsKV%2BAvvGhgzkOB7%2BLX3cTZA9iiEEaeILXGY07kAMK56Ax8MwYhvLFJKVko39dG%2FVroFDb%2B3th4UMnvZBCdS8UYRfqn4pexZrk%2BKloAwWRjMtY0FTCBKjCog8gKrw6YZIHpfOihwbpLCe%2FfuFlE4d%2B54608Yd%2BTw7Zs%2BuHRhr3DcVTZsDjSORqDV%2Bxi8P%2FMtnmM8Om82VeblNN8BSXUEaWU1zCjIe5xxaXdjHEcUdwQFgExEBcWUWZsIxbimLnKAqY2gxJeLEw58kKWWoqkHT8wiYRDx6aQDDs%2Bl2ZC445yaioILCyWZYhe5FmG4nEEU5RCxhSPTfr1Bta%2FIxZMsBI9XMwb5xxHiX6fHuXkkTkjhdy2%2BTrgztlJxQ2e3dIIt92vEheQ597ztDtYCQ65%2Bakl9dhNVayDyBZ6mXVNSaXJApJy60njfbgqe15kllsbjYW8F1nHvfx4Oq4RK0KNxzYp1QdBj07mVgxnUkW0kwnfeiGrXkizdVpNixDDdzAWyjBZKsblrK86RVxNNedLS8is%2BGtQf%2FTuS7J7HHPBnIuN8dWD2AIyK%2FfBX0YlaScZXzwLc2m0USJgV%2B9MGB4jTNAB%2BU2XQgZW25Ncz5NQUZ3jZZp4oB4fPcEQ%2BS0TG2ZpyhxLftrrkGnosXcSb%2FN%2FSPCSgG7zn238Dt5UekrQesFweoOY8DthRxU%3D

返回结果中有广告的flv文件地址,因此,找livemsg找到了文件

smali\com\tencent\ads\service\a.smali

.method static constructor <clinit>()V函数改为空即可
唉,其实腾讯视频很良心,没多少广告的,以上这两个弄完,去掉一些权限,基本就可用了
干掉“首次启动创建快捷方式”
搜索“shortcut”,找到唯一一个smali文件,唯一一个函数,改为空即可

smali\com\tencent\qqlive\ona\base\b.smali
.method private static b(Landroid/content/Context;Z)V

去除各种推送
其实各种接收器、权限等等都摘除干净的话,也差不多了
然后根据push的开关,定位到smali\com\tencent\qqlive\ona\usercenter\activity\SettingActivity.smali,下面有开关写法,把开的相关功能都删掉,然后把设置中的开关也屏蔽就可以了
去除发现模块

layout/layout_toolbar.xml

去除小圆点

img_updata.png

解决无法使用qq登录
其实改了签名,就没法调用qq登录了,这个无法破解,但是可以变通,就是如果腾讯视频检测到手机上没有qq客户端的话,会直接弹出账号密码登陆框让你登录,所以就好改了
把所有的com.tencent.mobileqq改为空即可
垃圾网址

http://monitor.uu.qq.com/analytics/upload
http://omgmta1.qq.com:80/mstat/report/?index=

明显是腾讯分析的统计上报url,必须干掉

http://pingma.qq.com:80/mstat/report/?index=

你们一定是一伙的

1、由于很多人不是真正的Google Play商店花钱买的,所以安装后有谷歌广告
2、新版的时间日期排列比较蛋疼
3、有些人喜欢默认文件夹优先显示

首先你要会反编译,会使用apktool,然后你要下载了新版本的RE管理器,这个可以到酷安下载:下载地址
1、先去广告反编译之后修改

smali/com/google/android/vending/licensing/LicenseChecker.smali

然后搜索checkAccess 然后在下面代码中间插入一行

move-result v0
const/4 v0, 0x1 //强制验证v0不等于0(这行为新增)
if-eqz v0, :cond_0 //验证了v0=0就会直接跳转到cond_0
const-string v0, "LicenseChecker"

2、时间日期排列修改,直接全局搜索替换
搜索%td %tb %ty %tT替换成%tY-%tm-%td %tT
3、默认文件夹优先先修改/res/xml/preferences.xml

<CheckBoxPreference android:title="!string/folders_first_title" android:key="folders_first" android:summary="This is a check box" android:defaultValue="false" />

把上面一行修改成

<CheckBoxPreference android:title="!string/folders_first_title" android:key="folders_first" android:summary="This is a check box" android:defaultValue="true" />

然后在/smali/com/speedsoftware/rootexplorer/搜索folders_first估计可以搜到好多,但是找对了修改就可以,一共修改两处
第一处

const-string v1, "folders_first"
const/4 v2, 0x0 //直接把0x0改成0x1即可 const/4 v2, 0x1
invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z

第二处

const-string v1, "folders_first"

直接在这中间添加一行

const/4 v2, 0x1
invoke-interface {v0, v1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z

修改完成之后直接回编译打包签名安装测试,反编译,回编译以及签名这里不做说明,越狱大大说,如果你有更好的修改方法欢迎和他一起搞基交流。

本文转自pwelyn-越狱

去广告软件最强总结篇
卡饭论坛--广告规则过滤区
利用hosts去广告
Google hosts 持续更新

https://forum.xda-developers.com/android/apps-games/app-adclear-root-version-ad-blocker-t3309011
https://forum.xda-developers.com/android/apps-games/app-dns66-source-host-ad-blocker-root-t3487497
https://forum.xda-developers.com/showthread.php?t=1916098

关于adguard去广告规则的增强

酷安网友给了这两个补充
http://git.oschina.net/halflife/list/raw/master/ad.txt
https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/ABP-FX.txt
还是满给力的

另外,我针对quankan.tv在手机版页面(包括app,实为内嵌h5)
去除底部广告
|http://m.quankan.tv/ad/dibu.js
|http://m.quankan.tv/ad.j
去除页面内的红字提醒
|http://m.quankan.tv##div.contenttt
如果装了手机app的话,可以把app下载提示、页面bottom也去掉,获得更好体验
|http://m.quankan.tv##p.pBtn
|http://m.quankan.tv##footer.footer
大侠阿木自用
http://www.daxiaamu.com/wp-content/uploads/files/blocklist.txt

https://spam404bl.com/spam404scamlist.txt 
https://raw.githubusercontent.com/cjx82630/cjxlist/master/cjxlist.txt 

https://secure.fanboy.co.nz/fanboy-japanese.txt 
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf.txt 
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf_element_hiding.txt 
https://raw.githubusercontent.com/k2jp/abp-japanese-filters/master/abpjf_paranoid.txt 
http://tofukko.r.ribbon.to/Adblock_Plus_list.txt

SSR+ACl去广告(适合iOS和未root安卓)

https://github.com/leosam1995/My_ACL_Rules

看到锁屏广告的时候长按 多任务键 就现出原形了

ADB找出广告

1.要进入开发者模式打开USB调试,安装驱动,这部分教程比较丰富,就略过了。
2.下载adb工具包。
3.找一根稳定的数据线,将手机连接电脑,在手机的弹出窗口中允许USB调试。
1.然后用管理员进CMD,输入(将双引号内的路径换成你电脑上ADB工具所在路径)

cd /d "Z:\Desktop\adb"

2.查看设备,输入

adb devices

如果你的驱动安装正确,应该可以看到有设备,如果没有,请返回准备工作,检查驱动是否正确安装。
3.尝试运行手机中一些APP,笔者花了3分钟时间,在运行到一个清理应用的时候,弹出了广告,按home键返回桌面广告滞留了一瞬间,说明有可能不是APP内的广告。
4.电脑上迅速清理日志,输入

adb logcat -c

清理一次设备日志记录,这时候开始不要操作手机。
5.然后点击一下广告,广告肯定会打开浏览器或者什么别的操作。
6.电脑上输入

adb logcat -d > c:/b.log

在C盘下会创建一个b.log,储存了刚才的设备操作。
7.用notepad++或者其他文本编辑器打开b.log,搜索"Touch event's",可以忽略大小写来查找。
不出意外应可以找到2个事件,一次是按下,一次是弹起。
如图可以看到,在点击事件下方,一个ID为10640的进程拉起了浏览器。
我们把这个ID记下来。
8.回到adb,输入

adb shell

进入shell界面,再输入(将10640换成你找到的ID)

ps | grep "10640"

返回结果如下
这个com.zdworks.android.zdcalendar就是罪魁祸首
后面的事情就简单了,可以直接在adb中输入,卸载之。

adb uninstall com.zdworks.android.zdcalendar

9.返回手机,关闭USB调试。
教程至此,我们已经成功揪出这个家伙,教程分2段写的,所以命令的时间会有差异。

https://voice.google.com/u/0/signup

完了,GV的车真开走了
https://hostloc.com/thread-1008606-1-1.html

10美元永久保留GV
https://www.v2ex.com/t/848817

GV买断
https://www.v2ex.com/t/848606

最近,Google Voice美国电话号码又火起来了,不少朋友渴望获得自己的Google Voice美国电话号码,但苦于无法申请到,目前看到淘宝上居然又人买,就想着写个自己亲测能申请到Google Voice美国号码的教程,当然不想折腾的也是可以花点钱买的。

自动版

申请Google Voice号码的关键:

  1. 美国代理IP,如SS或者VPN
  2. 美国电话号码用来验证
  3. 自动点击工具
  4. Gmail账号

有这几样东西就好搞定Google Voice美国电话号码,
其实方法还是非常的简单,关键是几个技巧,如美国验证电话号码等。
这里一个一个来说,呵呵~

一、美国代理
自行准备吧。现在用VPS搭建个SS代理还是非常好用的

二、Gmail账号申请
这个就不用多提了吧,挂上代理即可申请,建议绑定辅助邮箱和安全手机号码,保证账号的安全性。
三、美国电话号码验证
这里,目前亲测textnow.com免费1个月的美国电话号码账号可以搞定,申请也非常简单,简单的填写点信息即可搞定。
这里说下,获得textnow电话号码后,用Chrome浏览器先随便给一个美国号码打下电话,把需要用到的权限给同意下即可。另外也可以用textnow客户端,这样就可以用来验证Google Voice需要的美国电话号码了。

Textnow 安卓客户端
链接: http://pan.baidu.com/s/1cuzPuQ 密码: ntun

鼠标连续点击工具
链接: http://pan.baidu.com/s/1bpCEKBd 密码: agmk 解压密:RUYO.net

美国各州简称及区号 Word
链接: http://pan.baidu.com/s/1jHIffsq 密码: g3it

环聊 & 环聊拨号器
链接: http://pan.baidu.com/s/1kVatZ3h 密码: bbnz

四、申请Google Voice号码
你要有一部安卓手机,首先获取TEXTNOW号码,输入一个区号
1
得到一个虚拟美国号码登陆GOOGLE Voive后会提示你输入你的号码,也就是NEXTNOW的虚拟号码。

在Google Voice申请过程中验证了美国电话号码身份后,就可以选号了。Google Voice选号网站如下:

https://www.google.com/voice 目前是新版,请切换成旧版。

Google Voice选号如下图:
2
接着就点继续就可以了,但一般需要多次点击才能成功,会出现如下错误提示:“there was an error with your request. please try again.”

没点耐心的闲吧还是建议放弃,手点大法非常难申请到,建议使用鼠标连点器,一般1个小时内就能成功,反正我是很久才申请到的。

脚本版

一般情况下选好号码提交都会遇到错误,这时候可以多试几次,或者使用上面按键精灵之类的软件。如果有美国 vps 的话,也可以直接在 vps 上跑脚本来刷号码:使用 chrome 浏览器,用 F12 打开检查工具,然后,选择一个号码,点提交,切换到 network 选项卡,会看到一个请求,右击选择 “Copy” > “Copy as cURL (bash)” ,然后就可以在 vps 上执行这个了脚本了,这个思路来自 wd and cc。每次执行都相当在页面上点”提交”按钮。
用脚本来重复执行,直到没有错误出现就申请好了,脚本会自动退出,google 会给你发一封邮件。将下面的文本复制保存到 gv.sh ,用刚复制的那个替换掉下面 result=$() 括号中的内容,并将 curl 改成 curl -s

contains() {
    string="$1"
    substring="$2"
    if test "${string#*$substring}" != "$string"
    then
        return 0    # $substring is in $string
    else
        return 1    # $substring is not in $string
    fi
}

while true; do
    result=$(curl -s 'https://www.google.com/voice/b/0/service/post' -H 'origin: https://www.google.com' ... --compressed)
    contains "$result" "error" || exit 0
    sleep 1.5
done

注:脚本部分参考了 how-do-you-tell-if-a-string-contains-another-string-in-unix-shell-scripting
运行出错,请下载模板

然后执行:

bash gv.sh &

3
如何查看shell脚本的运行过程?bash -x gv.sh
注意事项

第一, 新注册的Google账号,然后申请GV, 千万不要跳IP登录。否则被封的几率非常大。

第二,有人说环聊安卓无法接收来电?请仔细研究环聊设置中是否开启了 【来电】开关。记住全程挂美国V.P.N。

第三,Textnow无法接听?文中提到最好使用客户端。如果客户端都无法接听,那没办法了。PS: 语音消息无法验证。

第四,Google Voice有回收政策,而不回收的前提就是半年内使用Google Voice号码发短信或者打电话,这点还是很容易做到的。

from http://www.nbmao.com/archives/2936

保存gv不掉 最简单的办法
http://jiezhi.github.io/2017/03/12/get-google-voice/

【干货】判断哪些号码可以注册Google Voice,如何绕过限制

https://voice.google.com/u/0/signup

Google Voice 回收机制 https://www.v2ex.com/t/837196#reply50
Google Voice 号码如何保号 https://zhuanlan.zhihu.com/p/344220650
google voice 过期了能找回来吗 https://hostloc.com/thread-970943-1-1.html
Google Voice注册/保号/永久号(副号)购买教程 https://51.ruyo.net/15955.html
https://shop.suhj.com/about/
https://duanxin-jiema.com/receive-sms-online-usa-12093085482/
Google Voice号码转移2分钟图文教程和注意事项 https://www.goojie.eu/173.html
关于 Google Voice 过期提示相关问题 https://pdf-lib.org/Home/Details/12756

Typecho站点

http://www.typecho.re/
http://www.typecho.biz/
https://typecho.me/
http://www.yzmb.me/
http://www.boke8.net
https://github.com/typecho-fans

插件

https://github.com/mrgeneralgoo/typecho-update-assistant
https://github.com/Archeb/MailValidate
https://plugins.typecho.me/firstblood
发布仿自wp的一款主题Channel+Tinyfader首页幻灯插件
https://codeup.me/armx.html
https://github.com/natcube/ArmX
多用户会员中心
WeMediaForTypecho付费阅读插件(支持payjs+SPay免登录支付)
https://fwalert.com/115 https://github.com/YianAndCode/Comment2Fanwan

教程

Typecho-文档及教程
Typecho二次开发 文章表添加新字段
收集一些TYPECHO模板制作过程中的常见代码、插件、模板
收集typecho相关方面的代码、插件、主题等信息
Typecho 有没有二次开发文档?
Typecho博客主题制作常用变量和函数代码之文章列表调用篇 http://xtw.teai.org/
博客程序Typecho主题模版制作常用调用变量和函数,参数分享
给typecho加上类似CMS焦点图轮播幻灯片功能效果(代码调用非插件)
客添加能动的看板娘(Live2D)-关于模型的二三事
强迫症福音:博客的中文和英文之间会自动加入一个空白符了
Typecho 导航栏不显示某分类或独立页面
Typecho导航栏菜单显示所有分类目录
Typecho 自定义二级菜单
Typecho 设置父分类和子分类不同样式的方法
教程
typecho导航调用分类,并实现折叠效果
https://github.com/buxia97/RuleApp

微信插件

typecho评论微信通知插件
https://github.com/binjoo/WeChatHelper
https://github.com/jrotty/typecho-for-notice
微信公众号关注并获取密码插件
小程序版typecho && GitHub

微信推送

https://github.com/YianAndCode/Comment2Wechat
整合Typecho评论邮件提醒加上微信推送 用的插件

https://github.com/binjoo/YangCong
Comment2Wechat https://github.com/YianAndCode/Comment2Wechat

后台两步验证插件 for Typecho

Themes

https://github.com/crazystear/Practice01 配色很舒服的主题
https://github.com/jrotty/Themia-for-TE
https://github.com/chakhsu/pinghsu
https://www.ihewro.com/archives/489/ handsome
typecho主题及插件ArmX
http://www.marky.cn/typecho-emoji.html
http://www.marky.cn/InstantClick.html
Typecho网址分类导航主题TiNav
自动收录、批量验证的导航主题免费发布

安全

config.inc.php中加入这样才完全开启了SSL

define('__TYPECHO_SECURE__',true);

Typecho修改后台路径留下的漏洞
Typecho漏洞利用工具首发,半分钟完成渗透测试
Typecho的错误输出

基于Typecho的企业主题【集合贴】

其他

instantclick 中文文档
typecho评论表单第一次提交失效的问题

http://******/?_=密码