Initial commit

This commit is contained in:
Dichgrem 2024-04-20 07:32:15 +08:00
parent 7cb7647ff5
commit 0d9e862927
188 changed files with 2 additions and 719 deletions

View File

@ -49,7 +49,6 @@ tags = ["Calling-cards"]
- 5.关于副卡 - 5.关于副卡
有些小伙伴在买完流量卡后打算作为主力卡使用那这样原先的卡套餐就没必要了可以办理8元保号套餐让号码可以继续使用。 有些小伙伴在买完流量卡后打算作为主力卡使用那这样原先的卡套餐就没必要了可以办理8元保号套餐让号码可以继续使用。
![image-zbxy.webp](https://pic.dich.ink/1/2024/03/06/65e8664fec536.webp)
- 6.关于注销 - 6.关于注销
每个运营商最多办5张电话卡因此注销需谨慎流量卡大部分可以线上异地注销但也要仔细看清楚条款。 每个运营商最多办5张电话卡因此注销需谨慎流量卡大部分可以线上异地注销但也要仔细看清楚条款。
@ -62,14 +61,10 @@ tags = ["Calling-cards"]
一是激活卡需要预充值数额较多二是额外的流量以流量包形式给出此流量包不同活动获得方式也不同三是155G中包括定向流量不能和其他APP混用四是超额后资费特贵要小心。 一是激活卡需要预充值数额较多二是额外的流量以流量包形式给出此流量包不同活动获得方式也不同三是155G中包括定向流量不能和其他APP混用四是超额后资费特贵要小心。
![image-kabe.webp](https://pic.dich.ink/1/2024/03/06/65e8667230bda.webp)
![image-szky.webp](https://pic.dich.ink/1/2024/03/06/65e8665fb6963.webp)
注意要实名购卡,且收获地址要足够详细,会有专门的快递小哥和你线下激活,预充值,注意接受电话! 注意要实名购卡,且收获地址要足够详细,会有专门的快递小哥和你线下激活,预充值,注意接受电话!
2.隐藏的条款办完卡后进入营业厅的APP可能不会马上出现这是因为系统的延迟以及运营商的计时方式需要在月初才能有全部的流量后几天按百分比计算第二个月就正常了。 2.隐藏的条款办完卡后进入营业厅的APP可能不会马上出现这是因为系统的延迟以及运营商的计时方式需要在月初才能有全部的流量后几天按百分比计算第二个月就正常了。
![image-vvxp.webp](https://pic.dich.ink/1/2024/03/06/65e866583d1d8.webp)
## 后记 ## 后记
仔细观察条款,不要冲动消费。 仔细观察条款,不要冲动消费。

View File

@ -179,8 +179,6 @@ SPF 解决了接收方验证发件人域名 SPF 记录内 IP 地址从而验证
当邮件服务器接收到邮件时,先验证 DKIMSPF然后再根据 DMARC 的配置检查。这样就能确保最终用户看到的 `From` 字段和 SPF、DKIM 认证的发件人一致了。 当邮件服务器接收到邮件时,先验证 DKIMSPF然后再根据 DMARC 的配置检查。这样就能确保最终用户看到的 `From` 字段和 SPF、DKIM 认证的发件人一致了。
## 后记
改变自:[电子邮件的工作原理](https://einverne.github.io/post/2022/03/how-email-send-and-receive.html)

View File

@ -47,11 +47,9 @@ tags = ["open","software","licenses"]
世界上的开源许可证Open Source License大概有上百种而常见的开源协议大致有GPL、BSD、MIT、Mozilla、Apache和LGPL等。 世界上的开源许可证Open Source License大概有上百种而常见的开源协议大致有GPL、BSD、MIT、Mozilla、Apache和LGPL等。
![Image](pic/65e86e88d8580.webp)
![65e86e88d8580.webp](https://pic.dich.ink//i/2024/04/20/6622f837a561f.webp)
![da68b98e404578126b87c5afd9ba9bc3.webp](https://pic.dich.ink/1/2024/03/06/65e86e88d8580.webp)
![free_software_licenses.webp](https://pic.dich.ink/1/2024/03/06/65e86f310fd5f.webp)
## Apache License ## Apache License
Apache LicenseApache许可证是Apache软件基金会发布的一个自由软件许可证。 Apache LicenseApache许可证是Apache软件基金会发布的一个自由软件许可证。

View File

@ -1,250 +0,0 @@
+++
title = "PVE安装与MC服务器搭建"
date = 2023-08-11
[taxonomies]
tags = ["PVE","Debain"]
+++
前言 假期将至不少家里有闲置设备的小伙伴想尝试开设一个我的世界Minecraft服务器却不知从何下手。本文以 PVE-Debian-MCSM 为主线介绍其部署流程。
<!-- more -->
## 什么是PVE
PVE (全称 Proxmox Virtual Environment) 是一款开源免费的虚拟化环境平台同时支持KVM 虚拟机和 LXC 容器。它基于 Debian 和 KVM 技术开发,可在一台 PC 或服务器上同时运行Linux、OpenWRT、Windows 等实现计算、网络、存储一体化解决方案即所谓的“all in one”。类似的平台还有ESXi、Unraid等。
![image-acze.webp](https://pic.dich.ink/1/2024/03/06/65e866888f518.webp)
## 什么是MCSM
MCSManager 面板简称MCSM 面板)是一款全中文,轻量级,开箱即用,多实例和支持 Docker 的 Minecraft 服务端管理面板。
此软件在 Minecraft 和其他游戏社区内中已有一定的流行程度,它可以帮助你集中管理多个物理服务器,动态在任何主机上创建游戏服务端,并且提供安全可靠的多用户权限系统,可以很轻松的帮助你管理多个服务器。
![image-gfvh.webp](https://pic.dich.ink/1/2024/03/06/65e86679bf8aa.webp)
具体步骤安装PVE并优化开设虚拟机并安装Debian安装mscm界面并开设实例配置网络服务。
## 准备工作
- 1.PVE镜像推荐使用7.4版本 https://www.proxmox.com/en/downloads
- 2.Debian镜像https://mirrors.tuna.tsinghua.edu.cn/debian/dists/ 不建议使用DVD版会出现奇怪的问题。
- 3.我们的老伙计Rufushttps://www.423down.com/10080.html
- 4.Purpur1.19 服务端https://purpurmc.org/
- 5.MC启动器HMCLhttps://hmcl.huangyuhui.net/
- 6.Zerotier客户端https://www.zerotier.com/download/
## 一.安装PVE并优化
1.将下载好的镜像用Rufus写入U盘。
![image-rzsv.webp](https://pic.dich.ink/1/2024/03/06/65e8666328232.webp)
2.将U盘插到目标主机上面进入BIOS-boot设置启动顺序。这里我使用二手浪潮服务器X99主板矿龙电源以及一块128G的SSD固态。注意大部分服务器主板有机箱入侵检测机制需要在说明书中找到特定针脚并用导电帽盖上否则无法开机。
3.进入安装界面选择install
![image-jnjm.webp](https://pic.dich.ink/1/2024/03/06/65e86672288a5.webp)
随后跑码,进入如下界面,同意协议:
![image-tuay.webp](https://pic.dich.ink/1/2024/03/06/65e8665e5bea6.webp)
设置硬盘与文件类型可以选择ext4或者btrfs;
![image-jmqb.webp](https://pic.dich.ink/1/2024/03/06/65e8667524dfc.webp)
选择国家与地区这里需要手打出China
![image-bjtq.webp](https://pic.dich.ink/1/2024/03/06/65e86688bc677.webp)
随后设置密码与邮件,邮件可以随便填:
![image-nyjm.webp](https://pic.dich.ink/1/2024/03/06/65e8666ca9d1c.webp)
然后设置网络连接这里插网线就有地址设置主机名并记下内网IP地址
![image-exsk.webp](https://pic.dich.ink/1/2024/03/06/65e8667d982ed.webp)
检查无误后开始安装:
![image-lizj.webp](https://pic.dich.ink/1/2024/03/06/65e86670b1d4d.webp)
![image-alwv.webp](https://pic.dich.ink/1/2024/03/06/65e866883d700.webp)
安装完成后 reboot。
4.浏览器打开 PVE 地址进入系统后我们需要给PVE换源。
## 换源
首先,移除(备份)一下 PVE 原始的官方源 (将 sources.list 改名为 sources.list.bak)
``mv /etc/apt/sources.list /etc/apt/sources.list.bak``
添加国内 Debian 软件源:
``nano /etc/apt/sources.list``
改为
```
deb https://mirrors.ustc.edu.cn/debian/ bookworm main contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm main contribe
deb https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib
deb-src https://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib
```
``#编辑文件 pve-no-subscription.list``
``nano /etc/apt/sources.list.d/pve-no-subscription.list``
内容如下:
``deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription``
屏蔽 PVE 企业源:
``nano /etc/apt/sources.list.d/pve-enterprise.list``
将下面这一行注释掉 (前面加上井号)
``#deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bookworm pve-no-subscription``
更新测试:
``apt-get update``
## 二.新建虚拟机并安装Debian
1.找到 local-btrfs(pve),在其中的 ISO 中上传下载好的 Debian 镜像;
![image-umwh.webp](https://pic.dich.ink/1/2024/03/06/65e8665b63a68.webp)
2.随后创建虚拟机,选择 Debian 镜像并设置 CPU 核数与硬盘、内存大小;
![image-yqwh.webp](https://pic.dich.ink/1/2024/03/06/65e8665280168.webp)
3.一路确认后开机进入命令行界面即可开始Debian安装。我们选择graphical install
![image-xxnf.webp](https://pic.dich.ink/1/2024/03/06/65e866531e486.webp)
4.选择国家和语言,随后自动配置网络;
![image-btiq.webp](https://pic.dich.ink/1/2024/03/06/65e8668621c39.webp)
5.设置主机名,跳过域名设置;设置 root 账户名和密码、普通用户账户名与密码;
![image-ziat.webp](https://pic.dich.ink/1/2024/03/06/65e866513265d.webp)
![image-byig.webp](https://pic.dich.ink/1/2024/03/06/65e86686bb058.webp)
6.对磁盘进行分区,由于是虚拟机我们选择使用整个磁盘;
![image-bsyh.webp](https://pic.dich.ink/1/2024/03/06/65e866874398d.webp)
![image-hihs.webp](https://pic.dich.ink/1/2024/03/06/65e86677d1a34.webp)
7.安装基本系统,随后将进入包管理器和大组件安装;
![image-ldsc.webp](https://pic.dich.ink/1/2024/03/06/65e8667090f06.webp)
我们选择清华源速度较快。注意Debian 安装时默认开启安全源,这个源是国外的所以下载速度极慢,因此还需要修改配置文件。
在安装步骤进入到选择安装的桌面环境和软件时, 键入 Ctrl+Alt+F2 可以看到从图形界面转到了tty命令终端, 键入 Enter
这里修改软件源配置文件
```
nano /target/etc/apt/sources.list
```
修改debian-security源地址  `http://mirrors.ustc.edu.cn ` 目测最快
```
deb http://mirrors.ustc.edu.cn/debian-security bullseye-security main
```
修改后 Ctrl+X 退出保存,然后退出终端重新进入界面继续安装,键入 Ctrl+Alt+F5。
![image-uphv.webp](https://pic.dich.ink/1/2024/03/06/65e8665b075cf.webp)
下载需要一些时间,此时可以饮口茶先,随后看到如下界面:
![image-whqy.webp](https://pic.dich.ink/1/2024/03/06/65e86657265a4.webp)
由于是服务器所以不需要桌面环境:
![image-qhns.webp](https://pic.dich.ink/1/2024/03/06/65e8666556171.webp)
安装 grub 引导:
![image-ujgc.webp](https://pic.dich.ink/1/2024/03/06/65e8665c6a5c2.webp)
随后安装完成reboot后进入mscm的安装。
## 三.安装MCSM并开设实例
**1.开机进入tty1界面**
**2.安装JAVA环境**,不同版本的游戏的 Java 版本也不同。这里我们使用1.19版,需要安装 Java18。
安装 wget 和 下载 Java18
``apt install wget && wget http://img.zeruns.tech/down/Java/OpenJDK18U-jre_x64_linux_hotspot_18.0.1_10.tar.gz``
创建安装目录
``mkdir /usr/local/java/``
解压当前目录下的 JDK 压缩文件
``tar -zxvf OpenJDK18U-jre_x64_linux_hotspot_18.0.1_10.tar.gz -C /usr/local/java/``
软链接程序到环境变量中
``ln -sf /usr/local/java/jdk-18.0.1+10-jre/bin/java /usr/bin/java``
测试是否安装正常,显示 `openjdk version "18.0.1" 2022-04-19` 则为正常
``java -version``
**3.端口开发**,面板需要 23333和24444 端口,游戏服务器默认端口是 25565。
在 PVE-防火墙中打开它们。如果还是不行,执行如下命令:
```
systemctl stop firewalld
systemctl disable firewalld
service iptables stop
```
从而关闭防火墙。
**4.安装面板**,这里使用一键安装命令(注意该脚本仅适用于 AMD64 架构)
``wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup.sh | bash``
执行完成后,使用 ``systemctl start mcsm-{web,daemon} ``即可启动面板服务。使用 ``systemctl enable mcsm-{daemon,web}.service ``实现开机自启。
**5.在浏览器中打开该地址**加上23333端口后缀即可看到面板账户为root密码为123456。
**6.新建实例**,上传 Purpur1.19 服务端,设置名称随后开启实例
![image-taez.webp](https://pic.dich.ink/1/2024/03/06/65e8665e659d2.webp)
7.随后我们可以在**配置文件**中设置游戏的相关选项,如关闭正版验证等。
![image-sgzp.webp](https://pic.dich.ink/1/2024/03/06/65e86663a7b22.webp)
**8.大功告成**,此时打开 HMCL 启动器,即可加入游戏。
## 四.配置联机网络
1.此时不要忘记需要和小伙伴们一起玩耍。如果你家里有公网固定 IPv4 或者 IPv6直接输入联机即可如果没有公网IP此时就需要进行内网穿透或者DDNS。
这里介绍一种名为 zerotier 的工具。
2.首先在 https://www.zerotier.com/ 注册并创建一个私有网络;
3.首先在虚拟机中安装 curl 命令支持
``apt-get install curl``
4.安装gnupg非对称信息加密系统通讯所需必备软件
``apt-get install gnupg``
5.安装 ZeroTier
``curl -s https://install.zerotier.com/ | bash``
安装成功后提示如下:
``Success! You are ZeroTier address [ xxxxxxxxx ].``
方括号内地址为类似于MAC地址。
6.设定开机自启动(分别执行如下命令)
``systemctl start zerotier-one.service``
``systemctl enable zerotier-one.service``
7.加入自己的私有网络
``zerotier-cli join xxxxxxxxx``
8.大功告成!此时只要让小伙伴们下载 zerotier 客户端并加入相同的私有网络,即可一起快乐联机!

View File

@ -213,19 +213,6 @@ volumes:
``docker-compose up -d`` ``docker-compose up -d``
在浏览器中访问服务器ip:端口号如http://123.45.67.890:8080如显示登录界面即代表安装成功。域名解析和反代步骤略。 在浏览器中访问服务器ip:端口号如http://123.45.67.890:8080如显示登录界面即代表安装成功。域名解析和反代步骤略。
## 三.Miniflux的使用方法
首先,初次登陆会弹出注册界面,注册为管理员账户;随后进入主页,可以看到:
![image-eiye.webp](https://pic.dich.ink/1/2024/03/06/65e8667b963e1.webp)
在设置中可以在集成中连接你自己的工作流以及设置Api密钥便于客户端登陆还可以添加用户来多人协作。
![image-hqtj.webp](https://pic.dich.ink/1/2024/03/06/65e866764fcc5.webp)
在源+中可以添加新源并自动帮你查找网址中的RSS链接;也可以批量导入已有的订阅列表:
完成后我们可以在客户端进行连接当然如果就一台设备的话也不用服务端同步。如图所示以Fluent Reader为例输入刚刚的网址和用户名-密码,即可同步。
![image-fozk.webp](https://pic.dich.ink/1/2024/03/06/65e86679ca967.webp)
## 后记 ## 后记
[RSS源](https://morerss.com/tools_zh.html) [RSS源](https://morerss.com/tools_zh.html)

View File

@ -160,4 +160,3 @@ Disallow: /
站点地图可以列出网站上所有的页面,比如产品分类,产品详情页,新闻博客页等。我们将站点地图提交给搜索引擎,可能会帮助爬虫更快地发现我们的网站。谷歌是在谷歌站长后台提交站点地图,其他搜索引擎同理。 站点地图可以列出网站上所有的页面,比如产品分类,产品详情页,新闻博客页等。我们将站点地图提交给搜索引擎,可能会帮助爬虫更快地发现我们的网站。谷歌是在谷歌站长后台提交站点地图,其他搜索引擎同理。
![图片-vveb.webp](https://pic.dich.ink/1/2024/03/06/65e86690b2b44.webp)

View File

@ -13,7 +13,6 @@ tags = ["working"]
## 一.关于薪酬 ## 一.关于薪酬
薪酬是 货币+实物报酬 的总和,包括: 薪酬是 货币+实物报酬 的总和,包括:
![v2-26bc48adc9539ddbd25c6339d3e8d082_1440w.webp](https://pic.dich.ink/1/2024/03/06/65e87637a1c2a.webp)
> 直接薪酬:指的是以现金形式,按照一定的周期,直接发放给你的货币,比如每个月的固定薪资,或者各种现金的补贴,奖金等等。 > 直接薪酬:指的是以现金形式,按照一定的周期,直接发放给你的货币,比如每个月的固定薪资,或者各种现金的补贴,奖金等等。
@ -70,7 +69,6 @@ tags = ["working"]
五险一金是国家规定,企业必须为员工缴纳的社会保障。 五险一金是国家规定,企业必须为员工缴纳的社会保障。
五险比例根据地方不同有细微差别而一金比例在5%-12%之间浮动单位缴纳的比例不得低于你个人承担的比例。一般来说比例是相等的比如你自己缴纳12%单位也为你缴纳12%。如果你的税前薪酬是10000元那么你当月公积金账户里会有2400元其中个人单位各占一半。 五险比例根据地方不同有细微差别而一金比例在5%-12%之间浮动单位缴纳的比例不得低于你个人承担的比例。一般来说比例是相等的比如你自己缴纳12%单位也为你缴纳12%。如果你的税前薪酬是10000元那么你当月公积金账户里会有2400元其中个人单位各占一半。
![v2-61b8ded39b60ba91a6abb5128c794380_1440w.webp](https://pic.dich.ink/1/2024/03/06/65e876936e9fa.webp)
- 养老保险 - 养老保险
参加基本养老保险的个人达到法定退休年龄时男职工60岁;从事管理和科研工作的女职工55岁;从事生产和工勤辅助工作的女职工50岁自由职业者、个体工商户女年满55周岁累计缴费满15年的按月领取基本养老金。 参加基本养老保险的个人达到法定退休年龄时男职工60岁;从事管理和科研工作的女职工55岁;从事生产和工勤辅助工作的女职工50岁自由职业者、个体工商户女年满55周岁累计缴费满15年的按月领取基本养老金。
@ -328,7 +326,6 @@ Offer也不是劳动合同。用人单位单方面发出的offer可以视为要
**1.应纳税所得额** **1.应纳税所得额**
应纳税所得额=收入-起征点5000元 应纳税所得额=收入-起征点5000元
![v2-61b8ded39b60ba91a6abb5128c794380_1440w.webp](https://pic.dich.ink/1/2024/03/06/65e876d122f47.webp)
个人因任职或者受雇而取得的工资、薪金、奖金、年终加薪、劳动分红、津贴、补贴以及与任职或者受雇有关的其他所得都应该叫个人所得税。 个人因任职或者受雇而取得的工资、薪金、奖金、年终加薪、劳动分红、津贴、补贴以及与任职或者受雇有关的其他所得都应该叫个人所得税。
>不包括 >不包括

View File

@ -1,152 +0,0 @@
+++
title = "Android TV 折腾小记"
date = 2023-08-08
[taxonomies]
tags = ["android-TV"]
+++
前言 由于 AppleTV 的高昂的售价和普通电视盒子广告的泛滥,一台开源、多功能的原生安卓电视盒子逐渐成为智能家居的必备神器。出于对 IPTV、YouTube 和家庭影院等需求,以及对一面赏心悦目电视墙的期待,这里分享 Android TV 以下简称ATV安装的一些要点。
<!-- more -->
准备工作:
- 1.一个 ATV 镜像,这里使用 Tosathony 制作的 Android TV x86 9.0 支持 Android tv Remote且可以下载 Google Play Store 。https://pan.baidu.com/s/17eDDrf4WzWVmrc9hLw-c_w?pwd=a728
- 2.我们的老朋友 Rufus 写盘工具https://www.423down.com/10080.html
- 3.Android tv Remote 手机遥控器软件https://android-tv-remote-control.en.softonic.com/android
- 4.Tiny ADB 软件: https://androidmtk.com/tiny-adb-and-fastboot-tool#installer
- 5.一些可安装的软件:
- 当贝市场https://www.dangbei.com/apps/
- 哔哩哔哩TV版https://www.fenxm.com/104.html
- kodi: http://www.kodiplayer.cn/
- ATV Launcher: https://www.fenxm.com/592.html
安装流程:
## 一、写盘BIOS启动
1.使用 Rufus 将下载好的 ATV 镜像写入U盘。
![image-tlej.webp](https://pic.dich.ink/1/2024/03/06/65e8665dd27b9.webp)
2.将U盘插到目标主机上并设置 BIOS-boot 优先启动,不同设备进入 BIOS 的按键不同大部分是F2或者DEL
## 二、开始安装
1.boot 成功后可以看到如下界面:
![image-mvrh.webp](https://pic.dich.ink/1/2024/03/06/65e8666eac466.webp)
2.我们选择自动安装:
![image-yudd.webp](https://pic.dich.ink/1/2024/03/06/65e86651a32f2.webp)
3.经过跑码后进入若干个选项,一路 yes 过去,文件系统选 ext4;
![image-zycr.webp](https://pic.dich.ink/1/2024/03/06/65e8664cc6063.webp)
![image-hesu.webp](https://pic.dich.ink/1/2024/03/06/65e86677e6b6c.webp)
![image-xgcp.webp](https://pic.dich.ink/1/2024/03/06/65e86653ab2b1.webp)
随后运行 ATV 并拔出U盘
![image-hwoz.webp](https://pic.dich.ink/1/2024/03/06/65e866762b828.webp)
## 三、进入Google界面
由于国内网络环境问题,导致一些界面无法进入,可使用如下方法或全局科学。
1.如果卡在 Google的logo 界面或者动画比较缓慢,或者重启后无法进入 ATV 界面,需要在``BIOS-Advanced-OS selection``中将其设置为Windows 8.X或者Android。
![image-ckgi.webp](https://pic.dich.ink/1/2024/03/06/65e866840ebf2.webp)
2.然后可以看到 PayPal 界面,这里使用可以 `Ctrl+Alt+F1` 进入命令行界面,随后输入
``pm disable com.tosanthony.tv.networkprovider #注意空格``
回车执行,随后按`Ctrl+Alt+F7或F8`回到图形界面。
![image-rdqf.webp](https://pic.dich.ink/1/2024/03/06/65e8666529ea7.webp)
3.下一步,我们可以看到自动更新界面,这里我们需要禁用它:
同样`Ctrl+Alt+F1` 进入命令行界面,随后输入
``pm disable com.google.android.tungsten.setupwraith #注意空格``
回车执行,随后按`Ctrl+Alt+F7或F8`回到图形界面。
![image-chcc.webp](https://pic.dich.ink/1/2024/03/06/65e866843a99e.webp)
4.此时会进入一个 WiFi 界面如果你是使用网线直连就没有问题或者用键盘连接家里的WiFi作者因为工控机没有WiFi模块在这里卡了半天。
5.现在我们可以看到进入了 ATV 的桌面。
![image-fjzc.webp](https://pic.dich.ink/1/2024/03/06/65e8667b8c994.webp)
## 四、安装软件并设置桌面启动
1.首先我们在设置中找到“设置”>“设备首选项”>“关于”然后在“构建”上点击几次以解锁“开发人员”选项随后开启USB调试开关。
![image-ylsa.webp](https://pic.dich.ink/1/2024/03/06/65e86652f1a2a.webp)
![image-vtwo.webp](https://pic.dich.ink/1/2024/03/06/65e86651ded04.webp)
2.随后在设置 > 设备首选项 > 关于 > 状态中找到并记下IP 地址然后用Tiny ADB连接上去这里使用命令adb connect <IP 地址>随后在ATV端授权连接
![image-mgql.webp](https://pic.dich.ink/1/2024/03/06/65e8666eec785.webp)
3.接着使用命令adb install <path to android app.apk>将要安装的软件包上传,也可以将文件拖到命令提示符窗口上以复制其路径,回车确认。
附一些 ADB 常用命令:
```
adb reboot #将重启 Android 设备。
adb reboot recovery #将设备重新启动到恢复模式
adb push <local> <remote> #将文件从您的 PC 复制到您的 Android 设备。
adb shell wm density <dpi> #改变显示器的像素密度
adb kill server #切断 PC 和 Android TV 之间的连接。
```
4.如果存在一些软件无法安装可开启ARM兼容层具体方法为在 `dl.android-x86.org/houdini/9_y/houdini.sfs` 中下载得到`houdini.sfs`,把文件名改成`houdini9_y.sfs`随后拷贝进U盘进入命令行界面输入 `ls` 找到 storage 目录,输入 `cd storage` 进入你的U盘输入 `ls` ,查看你拷贝的 `houdini9_y.sfs` 文件,并复制到该目录下。
```
cp houdini9_y.sfs /system/etc
enable_nativebridge
reboot
```
5.安装一些软件包后我们发现需要代替掉ATV自带的桌面从而形成海报墙的效果这和 linux 的桌面环境切换有异曲同工之处。注意:替换前需要已经安装完成其他桌面!!!!(比如 ATV Launcher )我们使用
``pm disable-user --user 0 com.google.android.tvlauncher ``
恢复原有桌面:
```
C:\Users\root>adb shell
generic_x86:/ $ su
generic_x86:/ # pm enable --user 0 com.google.android.tvlauncher
Package com.google.android.tvlauncher new state: enabled
```
命令,禁用 google 默认的桌面。随后重启,即可看到如下海报墙:
![image-vjkj.webp](https://pic.dich.ink/1/2024/03/06/65e86648d6dcb.webp)
## 后记
Android TV google 官方 TV 库
https://github.com/googlesamples/leanback-showcase
智能电视,电视盒子开发 SDK
https://github.com/boxmate/tvframe
选中框切换动画,适用于电视
https://github.com/EZJasonBoy/FocusChangeAnimation
仿泰捷视频最新 TV 版 Metro UI 效果. 仿腾讯视频 TV 版(云视听•极光) 列表页
https://github.com/hejunlin2013/TVSample
tv 常用效果控件,包括焦点、边框处理等
https://github.com/evilbinary/Tvwidget
Android tv盒子投影仪 控件
https://github.com/FrozenFreeFall/Android-tv-widget
TV 项目常用工具(焦点问题,适配问题等.)
https://github.com/genius158/TVProjectUtils

View File

@ -1,116 +0,0 @@
+++
title = "安卓刷机与root教程"
date = 2023-09-07
[taxonomies]
tags = ["android","root"]
+++
前言 自安卓系统诞生以来root 一直是玩机的必备过程。时至今日,在安卓定制系统日益完善的情况下,能 root 的机型越来越少,本文以小米手机为例,介绍 root 的具体方法。
<!-- more -->
## 一.什么是root
这涉及安卓的权限系统。Andoird 系统是基于 Linux 内核的其中的权限大致可以分为四级即一般软件权限用户权限ADB 权限和超级管理员权限su。而所谓 Root 也就是使手机获得超级管理员的权限但是出于种种原因厂商默认不提供超级管理员的权限因此root的本质就是一个提权的过程。
## 二.为什么要root
以权限系统为例,一般软件权限需要经过用户同意,即每次安装前出现的各种请求弹窗;而 ADB 权限常常用于开发者模式,可以调试一些比较深层的设置;至于 root 权限则为系统的最高权限,与 Windows 的 system 权限相当(比 administer 还高)。因此,当我们具备了 root 权限后,就可以实现许多功能,例如屏蔽广告,虚拟定位,安装 Google 框架和软件满血运行CPU等等。
## 三.如何root
首先我们要了解安卓系统的分区和启动。安卓的分区包括
1. recovery 分区类似PC端的PE环境手机上的恢复出厂设置即为从 recovery 恢复;
2. cache 分区,保存系统最常访问的数据和应用程序。 擦除这个分区,不会影响个人数据,只是删除了这个分区中已经保存的缓存内容;
3. boot 分区类似PC端的MBR分区用来引导系统启动擦除后手机会卡在开机 logo 的界面;
4. system 分区包括操作系统与软件vendor 定制文件与库文件等等,擦除后会卡在开机的动画界面;
5. data 分区,存放用户数据和系统设置,擦除后不影响系统的运行。
6. 手机启动阶段存在名为 bootloader 的程序,与 PC 端的 BIOS 类似,被称为 fastboot 模式,厂商一般会将其锁定。
![图片.webp](https://pic.dich.ink/1/2024/03/06/65e8668fbcf26.webp)
早些年间,存在大量一键 rootkingroot 之类的软件,可以直接刷写 root 包,获得 root 权限,但成功率不高;
因此,现在主流的刷机步骤为
1. 解开 bootloader俗称解BL锁。
2. 刷入第三方 recovery比如大名鼎鼎的 TWRP
3. 进入 recovery 模式通过TWRP刷入其他系统可选包括线刷和卡刷两种方法
4. 刷入 Magisk (面具)工具通过修补img文件获得 root 权限;
5. 安装 Magisk 模块和 Lsposed 框架(可在其中下载许多模块,推荐一键救砖,系统优化和 root 隐藏)
6. 安装 Momo 软件检测系统环境是否正常。
## 四.哪些机型可以root
看到这里很多小伙伴肯定跃跃欲试,不过在 2023 年的今天,能 root 的机型还是比较少。首先是最容易的一加和小米,可以申请官方解 BL 锁需要等待7天其次是联想索尼等海外品牌也比较容易而 oppo 和 vivo 及其子品牌 iqoo 和 realme 有些是不行的苹果的越狱在10代前是可以的而华为全部机型都是不可以的除非上万能的淘宝收费解锁直接烧录芯片至于三星BL 锁一旦解开就会触发芯片物理熔断机制,无法使用 pay 以及升级系统体验极差。因此刷机有风险root 需谨慎!刷机前要了解相应的厂商,考虑保修和变砖的问题!
## 五.具体操作流程
1.笔者以 redmi k30pro 5G 这款手机为例,首先我们进入手机设置界面,进入“我的设备”,在“全部参数”中找到“ MIUI 版本”,连续点击后开启开发者模式,随后在“更多设置”中开启 USB 调试, USB安装 功能。
2.随后下载大名鼎鼎的搞机工具箱http://jamcz.com/ 由B站up主晨钟酱出品里面具有许多功能包括进入各个模式无极调速等等
![图片-hpcf.webp](https://pic.dich.ink/1/2024/03/06/65e86698787d4.webp)
然后我们进入小米官网https://www.miui.com/unlock/download.html 下载官方解锁工具需要登陆小米账号并等待7天随后即可解锁。
![图片-cqty.webp](https://pic.dich.ink/1/2024/03/06/65e8669b6262e.webp)
3.解锁完成后在https://mifirm.net/downloadtwrp/148 中下载对应的 TWRP 版本,注意 redmi 的海外名为 Poco 。
![图片-fvmc.webp](https://pic.dich.ink/1/2024/03/06/65e8669970621.webp)
4.随后用数据线连接手机,用其中的一键刷写刷入 TWRP随后下载 rom 包,可以选择原版,官改版,海外版和类原生版。相关链接:
``https://miuiver.com/``
``https://mi.fiime.cn/Android``
这里选择 ``https://c.mi.com/global/miuidownload/index``
下载时注意一并下载 boot.img 文件,作为 Magisk 的修补用。然后下载 Magisk 包,与 rom 一起存入TF卡或者U盘中。
Magisk : ``https://magisk.me/zip/``
**注意由于本机型为新型AB分区**``https://www.jianshu.com/p/b2726b304801`` 因此如果刷机失败需要下载原厂包用以恢复AB分区否则无法启动和安装rom。
5.通过搞机工具箱进入 recovery 模式首先我们在wipe中清除Data、Cache两个分区俗称“双清”随后在高级清除选项中清除 Data、Cache、Dalvik Cache 和 System 分区,俗称“四清”。
![图片-jout.webp](https://pic.dich.ink/1/2024/03/06/65e86697464e1.webp)
![图片-rdqx.webp](https://pic.dich.ink/1/2024/03/06/65e8669388775.webp)
6.清除完成后即可开始刷机。将 TF 卡或者U盘插入手机在“安装”中选择 rom 包,右滑确认刷机;随后如法炮制,刷入 magisk.zip 包,不然会卡在开机 logo 界面,俗称“卡米”。
![图片-tabl.webp](https://pic.dich.ink/1/2024/03/06/65e86692414a8.webp)
7.刷完之后重启,则会进入安装界面。注意:如果刷的是海外版的包,千万不能联网安装,否则会失败且变为国内版。
**据说miui13以后优化不好这里使用12.5版。**
![图片-aquy.webp](https://pic.dich.ink/1/2024/03/06/65e8669b8dcb6.webp)
随后可以看到桌面环境
![图片-ozqh.webp](https://pic.dich.ink/1/2024/03/06/65e86694ddf8e.webp)
8.此刻我们将下载好的 boot.img 文件复制到手机上,打开 Magisk 软件,在其中选择修补一个文件,选中 boot.img修复完成后可以看到超级用户一栏可以使用了说明root完成。
![图片-ufkn.webp](https://pic.dich.ink/1/2024/03/06/65e8669197f5b.webp)
![图片-djlq.webp](https://pic.dich.ink/1/2024/03/06/65e8669a36927.webp)
## 六.Root后的模块安装
包括大名鼎鼎的yc调度Lposed 框架,李跳跳和 scene 软件都是必备的,这些资源可在我的 alist 中下载:``https://share.dich.ink/STORJ/ROOT``
## 后记
关于 root 的其他用途还有很多,这里就不一一列举,分享一些常用模块:
``https://sspai.com/post/68531``
## 参考
- [lineageos镜像](https://download.lineageos.org/devices/lmi/builds)
- [lineageos教程](https://wiki.lineageos.org/devices/lmi/install/variant1/)
- [机型介绍](https://wiki.lineageos.org/devices/lmi/variant2/)
- [XDA-没有声音的问题解决](https://xdaforums.com/t/no-sound-issue-can-u-help.4479225/)
- [XDA-更换内核](https://xdaforums.com/t/kernel-overclocked-no-gravity-2023-08-28-protonclang.4531497/)

View File

@ -1,108 +0,0 @@
+++
title = "ChromeBook研究记"
date = 2023-08-12
[taxonomies]
tags = ["chromebook"]
+++
前言 ChromeBook 作为国外一款定位为商务办公和学生入门的机器其性能在2023年的当下似乎已经过时在其退出中国市场后更是接近绝迹。不过针对特殊需求下的部分机型在今天仍然极具性价比。
<!-- more -->
作为一个垃圾佬,作者常常去发掘二手平台的诸多“洋垃圾”;而就在某一天,一台名为 ASUS ChromeBook C302 的机器吸引了我的注意力,且看其配置:
![image-kmux.webp](https://pic.dich.ink/1/2024/03/06/65e8667181a0f.webp)
此前作者一直认为 ChromeBook 只存在于 Google 的 Pixelbook 机型之上,就如同 Mircosoft的Surface Pro 一样;实际上,主流 OEM 厂商——美帝良心想、社会主义戴、惠普宏碁华硕三星等等—-都推出过 Chromebook。
但本次所说的这台 ASUS 的机器属实让我眼前一亮质感上佳的银白色全金属外壳360度可翻转的触摸屏以及最大10小时的续航和仅仅1.15千克的重量这简直是轻薄本和平板的完美结合美中不足的是其接口较少两个type-C、一个3.5mm耳机口和SD卡接口显得有些单薄而在性能上Intel m3-6y30和8+32G的组合只能说差强人意。
不过,作为触摸屏和翻转本的结合,用来当阅读器、上网本和视频播放器以及盖泡面上实用性极强,在亚马逊的 kindle 退出中国市场后阅读器市场群魔乱舞高昂的售价和低配的机型遍地横行而一般的平板生态和手机重复价格不菲如果没有游戏需求ChromeBook 是不错的选择。
到祸啦家人们!我们看看其实际效果究竟如何?首先映入眼帘的是经典的 Chrome OS 界面这里注意登录需要有Google的账号Gmail邮箱如果暂时没有可以用访客模式登录在该模式下的一切操作不会保存在硬盘似乎很好的保护了隐私而在登录谷歌后可以看到其完善的生态包括原生的 play 商店、Chrome 浏览器Gmail 邮箱等等。
那么ChromeBook 有哪些玩法呢?
## 一.进入开发者模式
我们假设你已经有了一个 Google 账号,并在往期的博客中部署了 openwrt那么此时通过全局科学让 chromebook 联网,随后登录账号,此时我们完成了第一步;随后拆开后盖,拧下主板上的 BIOS 写保护螺丝。注意在拆卸背板的时候,有两颗螺丝藏在上侧脚垫下,需要先用工具去除脚垫再拆卸这两颗螺丝;下侧的两个脚垫下没有螺丝。如图所示:
![image-rybv.webp](https://pic.dich.ink/1/2024/03/06/65e86662ed8c9.webp)
随后打开背板,卸下图示位置(在蒙皮下)的大螺丝:
![image-mfjq.webp](https://pic.dich.ink/1/2024/03/06/65e866496a43d.webp)
随后装回后盖按住键盘上的Esc和“刷新”键不动然后按下电源键。这样Chromebook会进入“恢复”模式
![image-edcy.webp](https://pic.dich.ink/1/2024/03/06/65e8668011f98.webp)
然后同时按下键盘上的Ctrl键和D键
![image-efqm.webp](https://pic.dich.ink/1/2024/03/06/65e8667e34bdd.webp)
按下Enter系统重启
这时会有一声“滴”的BIOS提示音。
![image-hzut.webp](https://pic.dich.ink/1/2024/03/06/65e866753ff2d.webp)
随后等待Chrome OS重置即可。
![image-ntmm.webp](https://pic.dich.ink/1/2024/03/06/65e8666e00a56.webp)
重置完成后看到如下界面以后每次开机都要按Ctrl+D进入系统
![image-goit.webp](https://pic.dich.ink/1/2024/03/06/65e866790a8f6.webp)
随后在设置-高级中可以看到开发者模式已打开此时传到ChromeOS中的其他APP即可安装。
附阅读器和视频效果:
![image-wuzq.webp](https://pic.dich.ink/1/2024/03/06/65e866580fe13.webp)
![image-acav.webp](https://pic.dich.ink/1/2024/03/06/65e86680d5edf.webp)
## 二.安装其他系统
如果你不喜欢 ChromeOS 或者需要 linux 环境那么可以尝试安装其他系统例如FydeOS,manjaro等。我们以crouton脚本为例需要全局科学
这里是 crouton 项目的github地址``https://github.com/dnschneid/crouton``
由于我们已经进入开发者模式这时打开chromeOS的浏览器同时按住ctrl和alt和t会打开一个命令行窗口。 输入命令 shell ,回车,之后会出现 linux 的真正命令行。随后安装 crouton,如果你是用 chromeOS 下载的 crouton那么这个文件应该在~/Downloads目录下。 执行命令:
``sudo sh ~/Downloads/crouton -r list``
列出所有可以用的发行版版本。像ubuntudebiankali等等。 随后使用命令列出所有可以选择安装的组件:
``sudo sh crouton -t list``
这其中就包括各种桌面环境gnomekdexfacelxde啥的。 我们选择最轻量的lxde
``sh crouton -r stretch -t lxde``
随后设置用户名密码等等。安装完成后在chromeOS的linux shell里面输入命令
``sudo startlxde``
就能启动 linux 了。
实际上crouton 的原理,是基于 linux 下的一个软件, chroot
在linux系统中它可以把linux系统的根目录也就是 / ),切换到其它的目录。 crouton 利用这一点,将 chromeOS 的根目录切换到指定的安装了另一系统的文件。而且会出现两个特性为linux 可以享受到 chromeOS 的驱动支持,不用担心驱动问题,且使用的是 chromeOS 的系统内核。
由于该内核过于精简,会出现一些服务跑不了的情况,这时我们可以用第二种方法:刷 BIOS。我们进入 linux shell插入一个空U盘输入如下命令
```
cd
curl -LO mrchromebox.tech/firmware-util.sh
sudo install -Dt /usr/local/bin -m 755 firmware-util.sh
sudo firmware-util.sh
```
成功启动脚本后可以看到如下界面:
![image-lroz.webp](https://pic.dich.ink/1/2024/03/06/65e8666f76c3e.webp)
选择标注了“Full ROM”的选项按照提示备份BIOS和刷入BIOS随后 reboot然后可以按正常的装系统流程Rufus写入ISO启动
注意:需要先删除 ChromeBook 的硬盘分区仅支持UEFI启动且 Windows 驱动不太完整。
## 后记
合适的设备总是相对而言的,只要符合需求即可,不必过多的追求工具的完美。

View File

@ -11,7 +11,6 @@ tags = ["Git"]
前言 Git作为现代软件开发中不可或缺的版本控制工具常常让初学者感到困惑。本文旨在介绍 Git 的全流程安装和基本使用,希望能够帮助新手更轻松地理解和掌握 Git 的基本概念和操作。 前言 Git作为现代软件开发中不可或缺的版本控制工具常常让初学者感到困惑。本文旨在介绍 Git 的全流程安装和基本使用,希望能够帮助新手更轻松地理解和掌握 Git 的基本概念和操作。
<!-- more --> <!-- more -->
## 安装git ## 安装git
![Image](pic/65e86e88d8580.webp)
Windows[https://git-scm.com/download/](https://git-scm.com/download/) Windows[https://git-scm.com/download/](https://git-scm.com/download/)

View File

@ -1,63 +0,0 @@
+++
title = "OpenWrt 软路由部署"
date = 2023-08-08
[taxonomies]
tags = ["openwrt"]
+++
前言 openwrt 是一个自由的、兼容性好的嵌入式 linux 发行版。作为软路由玩家必备的一款神器,可以实现诸如去广告,多拨和科学上网等多种功能。本文以 openwrt 在X86平台的安装为例介绍其部署流程。
<!-- more -->
## 为什么是X86
无论是作为主路由或是旁路由,传统路由器由于主频低,内存小,并不适合作为软路由;而 NAS-软路由一体式 又有 all in boom 的风险因此推荐X86平台作为物理机。当然也可以采用 armbian 平台或是开发板例如网心云老母鸡、树莓派等设备。截至本文撰写时间二手平台上的价格不太利好一台J1900平台的售价往往在200左右而专门的多网口工控机价格在200到1000不等树莓派更是成为了理财产品需要慎重选择。
## 准备工作
- 1.openwrt 的编译包,由 eSir 大佬编译的三个经典版本:
https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr
- 2.PE 启动盘这里推荐微PEhttps://www.wepe.com.cn/download.html
- 3.img 写盘工具https://www.roadkil.net/program.php?ProgramID=12#google_vignette
- 4.一个U盘与一台双网口物理机
安装流程:
## 一、进入PE环境
1.打开微PE将其安装进U盘中安装完成后将 img 工具和 openwrt 包一起放进去;
![image-xgsv.webp](https://pic.dich.ink/1/2024/03/06/65e8665416902.webp)
2.将U盘插入目标主机进入 BIOS-boot 设置U盘优先启动各主板进入 BIOS 的按键不同,不确定的话建议都试一遍。
![image-uxcl.webp](https://pic.dich.ink/1/2024/03/06/65e8665ae2917.webp)
## 二、格式化硬盘并写盘
1.进入PE环境中可以看到存在名为“分区助手”的软件打开它并将目标主机硬盘格式化注意不要分区不要分区不要设置文件系统否则后续可能无法编译
![image-lxgv.webp](https://pic.dich.ink/1/2024/03/06/65e8666fc739c.webp)
点击左上角提交并执行
![image-efkt.webp](https://pic.dich.ink/1/2024/03/06/65e8667fc956e.webp)
2.打开img写盘工具将openwrt包写入硬盘注意不要写进U盘里。
![image-otsu.webp](https://pic.dich.ink/1/2024/03/06/65e86669be5c8.webp)
## 三、进入配置界面
1.重启系统并快速拔出U盘避免重新进入PE这时系统开始运行了。注意Esir固件是不跑码的无需担心。
![image-ogrk.webp](https://pic.dich.ink/1/2024/03/06/65e8666b11d79.webp)
2.当看到 `please press Enter to activate this console`这个提示的时候系统就安装完毕了。可使用 passwd 命令设置密码。软路由将自动获取IP地址随后我们在浏览器中打开该地址即可看到 Lucl 界面。
![image-ariu.webp](https://pic.dich.ink/1/2024/03/06/65e86687ef0fc.webp)
## 后记
开源世界还存在着 DD-WERT、Tomato 等系统。正如互联网的发展并非一帆风顺OpenWRT 也出现过核心开发者出走,另立山头推出 LEDE 等波折在18年 LEDE 与 openwrt 合并后,通过众多开发者的不懈努力, OpenWRT 有了现在丰富完善的生态。
## 参考
- [Openwrt wiki](https://openwrt.org/zh/docs/start)
- [OpenWrt在线定制编译](https://openwrt.ai/?target=ipq807x%2Fgeneric&id=xiaomi_ax3600)
- [openwrt luci 页面无法访问 问题排查](https://www.cnblogs.com/tfel-ypoc/p/17226064.html)
- [超详细多图简单OpenWRT 设置IPV6配置](https://post.smzdm.com/p/axz6369w/)
- [保姆级-光猫改桥接-路由拨号-openwrt端口转发](https://blog.csdn.net/weixin_44548582/article/details/121064734)
- [360T7刷机](http://www.ttcoder.cn/index.php/2023/07/11/p0/)

View File

@ -35,7 +35,6 @@ tags = ["Podcast"]
- 通过RSS订阅 几乎每个独立播客的主播都会反复强调「请使用节目 RSS 链接在 泛用型播客客户端 里订阅节目」,一定程度上有无 RSS 订阅链接是作为独立播客的判断标准。使用 RSS 链接订阅播客其实非常简单——得到节目的 RSS 订阅链接后将之粘贴到你的播客客户端内通常是节目的搜索栏或地址栏即可。大多数播客应用都支持这种方式。注意例如喜马拉雅、荔枝等平台是没有原生RSS链接的因此对第三方服务生成的 RSS 链接要注意鉴别。有些服务提供者会在不告知主播和听众的前提下,私自在节目中间插入广告,非常影响节目收听体验,在使用时请注意甄别。 - 通过RSS订阅 几乎每个独立播客的主播都会反复强调「请使用节目 RSS 链接在 泛用型播客客户端 里订阅节目」,一定程度上有无 RSS 订阅链接是作为独立播客的判断标准。使用 RSS 链接订阅播客其实非常简单——得到节目的 RSS 订阅链接后将之粘贴到你的播客客户端内通常是节目的搜索栏或地址栏即可。大多数播客应用都支持这种方式。注意例如喜马拉雅、荔枝等平台是没有原生RSS链接的因此对第三方服务生成的 RSS 链接要注意鉴别。有些服务提供者会在不告知主播和听众的前提下,私自在节目中间插入广告,非常影响节目收听体验,在使用时请注意甄别。
## 三.常见客户端优缺点 ## 三.常见客户端优缺点
![image-pdyk.webp](https://pic.dich.ink/1/2024/03/06/65e866685c6c8.webp)
`我个人推荐使用开源的 AntennaPod 。` `我个人推荐使用开源的 AntennaPod 。`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 924 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1018 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 662 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Some files were not shown because too many files have changed in this diff Show More