Self-hosted iMessage bridge with REST API & Webhooks. Send and receive iMessages programmatically from any device.
- macOS 10.15+ (Catalina or later)
- Apple ID signed into iMessage on the Mac (open Messages.app and verify you can send/receive)
Self-hosted iMessage bridge with REST API & Webhooks. Send and receive iMessages programmatically from any device.
| # Based on https://gist.github.com/kmatt/71603170556ef8ffd14984af77ff10c5 | |
| # prompt ">" indicates Powershell commands | |
| # prompt "$" are Linux shell commands | |
| # https://learn.microsoft.com/en-us/windows/wsl/install | |
| > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart | |
| > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart | |
| # No need for Windows 11, but for Windows 10 install https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi |
I'm not the author the blog post and this gist is a simply a note on my usage based on the original post, https://boxofcables.dev/kvm-optimized-custom-kernel-wsl2-2022/.
I also changed the code that extract the latest to a concrete linux kernel version.
First start with openSUSE Tumbleweed distro and commands below can be used to build the custom kernel and set it to be used for WSL2 distros.
# prepare build deps
sudo zypper -n up
# original from the postThis downloads standalone MSVC compiler, linker & other tools, also headers/libraries from Windows SDK into portable folder, without installing Visual Studio. Has bare minimum components - no UWP/Store/WindowsRT stuff, just files & tools for native desktop app development.
Run py.exe portable-msvc.py and it will download output into msvc folder. By default it will download latest available MSVC & Windows SDK from newest Visual Studio.
You can list available versions with py.exe portable-msvc.py --show-versions and then pass versions you want with --msvc-version and --sdk-version arguments.
To use cl.exe/link.exe first run setup_TARGET.bat - after that PATH/INCLUDE/LIB env variables will be updated to use all the tools as usual. You can also use clang-cl.exe with these includes & libraries.
To use clang-cl.exe without running setup.bat, pass extra /winsysroot msvc argument (msvc is folder name where output is stored).
| # Based on https://gist.github.com/kmatt/71603170556ef8ffd14984af77ff10c5 | |
| # prompt ">" indicates Powershell commands | |
| # prompt "$" are Linux shell commands | |
| # https://docs.microsoft.com/en-us/windows/wsl/install-win10 | |
| > dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart | |
| > dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart | |
| # install https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi |
https://cloudbase.it/qemu-img-windows/
qemu-img convert "D:\VirtualBox\Open-disk001.vmdk" -O vhdx -o subformat=dynamic "D:\VirtualBox\Open.vhdx"
I use dotfiles to personalize *nix type of machines. But I'm new to personalizing Windows 10. So I'm collecting information here first before adding these to the dotfiles. I'm not sure if these will ever move to dotfiles though.
| #!/bin/bash | |
| if [ "$1" = "-s" ] || [ "$1" = "--show" ]; then | |
| show=true | |
| else | |
| show=false | |
| fi | |
| if $show || [ "$1" = "-v" ] || [ "$1" = "--verbose" ]; then | |
| verbose=true |
| jmapower = input(title="JMA Power", type=input.integer, defval=2) | |
| jmaphase = input(title="Phase", type=input.integer, defval=50) | |
| jma(src, length, phase, power) => | |
| phaseRatio = phase < -100 ? 0.5 : phase > 100 ? 2.5 : phase / 100 + 1.5 | |
| beta = 0.45 * (length - 1) / (0.45 * (length - 1) + 2) | |
| alpha = pow(beta, power) | |
| jma = 0.0 | |
| e0 = 0.0 | |
| e0 := (1 - alpha) * src + alpha * nz(e0[1]) | |
| e1 = 0.0 |