JPEG 自动旋转



手机拍照的时候,EXIF里会带上Orientation的标记,一般的看图工具能很好地处理拍照方向,但是照片直接用于图像识别就麻烦了,不是所有工具都会认这个EXIF信息。使用手机拍照构建图像学习数据集的时候,务必要让图片正确旋转,否则标注的信息或者识别到的位置都可能会是错的。

使用 jhead http://www.sentex.net/~mwandel/jhead/usage.html

jhead -autorot xxx.jpg

JPEG 自动旋转 by @sskaje: https://sskaje.me/2019/11/jpeg-auto-rotate/

OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter

前言

Network Topology
Network Topology

RT-AC68U 使用PPPoE拨号上网,但是分配的IP是100.64.204.111, 看着像公网IP实际却是Carrier-grade NAT.

现在需要将RT-AC68U与一台在公网的EdgeRouter使用OpenVPN Site-to-Site连接起来,并在RT-AC68U端实现policy-based routing。
需要让RT-AC68U下的所有设备能访问EdgeRouter LAN的网络,并根据需求透过VPS访问指定互联网。

本实验参考下列文章:
Set up OpenVPN Site-to-Site on UBNT EdgeRouter Lite
EdgeRouter OpenVPN Connectivity Monitor
EdgeRouter 策略路由实现分析
EdgeRouter Policy Based Routing Using DNSMASQ IPSET

Continue reading “OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter” »

OpenVPN Site-to-Site VPN between Asus Merlin And Ubnt EdgeRouter by @sskaje: https://sskaje.me/2017/10/openvpn-site-to-site-vpn-asus-merlin-ubnt-edgerouter/

Incoming search terms:

WireGuard wg-quick PostUp的高级玩法

真的很高级。

wg-quick是WireGuard用来启动网络设备的**脚本**。

注意了,迄今为止,wg-quick是用bash写的一个脚本,不知道未来会不会变,至少目前shebang是

Continue reading “WireGuard wg-quick PostUp的高级玩法” »

WireGuard wg-quick PostUp的高级玩法 by @sskaje: https://sskaje.me/2017/06/wireguard-wg-quick-postup%e7%9a%84%e9%ab%98%e7%ba%a7%e7%8e%a9%e6%b3%95/

Incoming search terms:

另类方法劫持手机流量

实际上看,CharlesProxy并不能100%地“劫持”到手机的https流量,说“劫持”可能不太合适,因为CharlesProxy根本都不把这个443端口的请求在请求列表里显示出来。

这次玩的是GameLoft的Asphalt Xtreme,从google play store下载下来玩后,发现游戏的免费门槛太高了,随便玩玩不消费就进行不下去。
之前玩GameLoft的游戏改数据,都是iPhone下备份数据,修改存档,因为那些游戏有存档。但是这次主要用了Android,且没有root。试过iOS的版本,文档里没看到明文数据(txt/bin都没有)。本来想找个游戏修改器试试,后来没继续下去。

具体选型上,我是在EdgeRouter Lite上跑了个redsocks。因为是临时方案,所以不考虑使用EdgeOS/VyOS的配置语法,而直接使用了iptables。
协议分析和数据劫持,使用了CharlesProxy,因为CharlesProxy支持socks代理,还自带”Rewrite”功能,可以做简单字符串替换和正则替换。

环境:
路由 EdgeRouter Lite 固件1.9.1,IP 192.168.1.1,基于debian wheezy
Redsocks,0.4+dfsg-1,下载地址 https://packages.debian.org/wheezy/redsocks

电脑 MacBook Pro macOS 12 + CharlesProxy 4.x, IP 192.168.1.20,HTTP端口8888,Socks端口8889

手机 Mate 9,IP 192.168.1.40;

路由端

ERL是mips/mips64,从debian官网下载mips版的deb,直接 dpkg -i 安装即可。如果路由上没有libevent,还得下载装一下。
安装好redsocks后,修改 /etc/default/redsocks,修改START=yes。
直接基于 /etc/redsocks.conf 修改

改local_ip的原因是因为我iptables偷懒了。反正用完就关,无所谓。

使用 /etc/init.d/redsocks start启动服务。

iptables
只劫持了来自 192.168.1.40 的tcp 443的流量,修改到了12345端口。

电脑

开启CharlesProxy的Socks服务
Proxy菜单 -> Proxy Settings… -> Proxies
勾选“Enable SOCKS proxy”,Port“8889”,勾选“Enable HTTP proxying over SOCKS”和“Include default HTTP ports(80,443,8080,8443)”。

由于默认状态下,CharlesProxy列表里出现的都是IP,没有域名,所以简单粗暴地对所有的443端口开启SSL proxy。
Proxy菜单 -> SSL Proxy Settings… -> SSL Proxying
直接Add一个 Host=*,Port=443的项目,并启用。用完就关掉。

接下来就是Rewrite的了,在看到流量之前就不用考虑了。
工具在 Tools菜单里就能看到。

另类方法劫持手机流量 by @sskaje: https://sskaje.me/2017/04/hijack-mobile-phone-traffic-using-router-and-charlesproxy/

Incoming search terms:

TCPDUMP Capture Netlink Packets

I’m writing a Wireshark Dissector for IPSET’s protocol. Commands below are to capture netlink packets using tcpdump.

TCPDUMP Capture Netlink Packets by @sskaje: https://sskaje.me/2017/04/tcpdump-capture-netlink-packets/

Incoming search terms: