- find large files
$ df -h
# du -xh / | sort -h | tail -n 20
# ncdu /
- free some space on arch
https://wiki.archlinux.org/title/Pacman#Cleaning_the_package_cache
]
$ paccache -r
# pacman -Sc
# pacman -Rns $(pacman -Qtdq)
# pacman -Scc
# journalctl --vacuum-time=7d
# journalctl --vacuum-size=100M
$ docker system prune -af
- install an script
[mohsen@linux]$ install -Dm755 myscript.sh /usr/local/bin/myscript
Android Things
- add auth key for adb when can not authorize automatically
[mohsen@linux]$ ssh-keygen -t rsa -b 2048 -f ~/.android/adbkey
[mohsen@linux]$ adb push ~/.android/adbkey.pub /data/misc/adb/
adb shell
[mohsen@android]$ su
[mohsen@android]# chmod 600 /data/misc/adb/adbkey.pub
[mohsen@linux]$ adb kill-server
[mohsen@linux]$ adb start-server
- adb over network
[mohsen@linux]$ adb shell
[mohsen@android]$ su
[mohsen@android]# setprop service.adb.tcp.port 5555
[mohsen@android]# stop adbd
[mohsen@android]# start adbd
- proxy only one app on android
[mohsen@android]$ pm list packages
[mohsen@android]# dumpsys package ir.mservices.market | grep userId= | cut -d "=" -f2
[mohsen@android]# iptables -t nat -A OUTPUT -m owner --uid-owner 10186 -p tcp -j DNAT --to-destination 192.168.1.100:8080
- setup frida
[mohsen@linux]$ adb push frida-server /data/local/tmp/
[mohsen@linux]$ adb shell "chmod 755 /data/local/tmp/frida-server"
[mohsen@linux]$ adb shell "/data/local/tmp/frida-server &"
[mohsen@linux]$ adb shell "su -c chmod 755 /data/local/tmp/frida-server"
[mohsen@android]# netstat -anp | grep frida
- pm list packages
[mohsen@linux]$ uv tool install frida
[mohsen@linux]$ adb shell getprop ro.product.cpu.abilist # check your device cpu type
[mohsen@linux]$ frida-ps -U
[mohsen@linux]$ frida -U -n package_name -l sslbypass.js
- install system CA:
[mohsen@linux]$ adb shell
[mohsen@android]$ su
[mohsen@android]$ mount -o rw,remount /system
[mohsen@android]$ cp /sdcard/mycert.crt /system/etc/security/cacerts/xxxxxx.0
[mohsen@android]$ chmod 644 /system/etc/security/cacerts/xxxxxx.0
- how to get the
xxxxxx ?
[mohsen@linux]$ openssl x509 -inform PEM -subject_hash_old -in yourcert.crt | head -1
- http with ip, sni
curl https://example.com \
--resolve example.com:443:104.16.132.229 \
-H "Host: example.com"
curl https://example.com \
--connect-to example.com:443:104.16.132.229:443 \
-H "Host: example.com"
openssl s_client -connect 104.16.132.229:443 -servername example.com
- kill process on port
sudo lsof -i :<port>
sudo netstat -tulpn | grep :<port>
sudo kill -9
sudo fuser -k 533/tcp
sudo fuser -k 533/udp
TOR Things
- torrc location for orbot on android and torbrowser on linux
[mohsen@android]$ su
[mohsen@android]# vi /data/data/org.torproject.android/app_TorService/torrc
[mohsen@linux]# vim /home/mohsen/.local/share/torbrowser/tbb/x86_64/tor-browser/Browser/TorBrowser/Data/Tor/torrc
- install
lyrebird.
- generate hashed password:
[mohsen@linux]$ tor --hash-password 'your_password_here'
- sample torrc config:
SOCKSPort 9050
HTTPTunnelPort 9080
DNSPort 0.0.0.0:9053
ControlPort 127.0.0.1:9051
HashedControlPassword [hashed_password]
CookieAuthentication 0
RunAsDaemon 0
AvoidDiskWrites 1
SafeSocks 0
TestSocks 0
ReducedConnectionPadding 1
CircuitPadding 1
ReducedCircuitPadding 1
AutomapHostsOnResolve 1
DormantClientTimeout 10 minutes
DormantCanceledByStartup 1
DisableNetwork 0
GeoIPFile /usr/share/tor/geoip
GeoIPv6File /usr/share/tor/geoip6
StrictNodes 0
UseBridges 1
ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,webtunnel exec /usr/local/bin/lyrebird
ClientTransportPlugin snowflake exec /usr/local/bin/lyrebird