Blog

  • How to unlock bootloader on a brand new Rabbit r1

    No idea what version of the OS mine came with. The script had issues in Distrobox. Too lazy to use my desktop, or setup a VM on my laptop.

    You don’t need to email them and ask for permission, or even use the device following this method.

    What you need:

    frp.sh:

    #!/bin/bash
    LAST_BYTE=$(xxd -p -l 1 -s -1 frp.bin)
    if [[ "$LAST_BYTE" == "00" ]]; then
        printf '\x01' | dd of=frp.bin bs=1 seek=$(($(stat -c%s frp.bin) - 1)) conv=notrunc
    fi
    read -p "[*] Unplug your device, press ENTER, plug it back in"
    
    sudo ./mtkbootcmd.py FASTBOOT
    
    echo "[*] Waiting for fastboot..."
    while ! fastboot devices | grep -q "fastboot"; do
        sleep 1
    done
    
    fastboot flashing unlock
    fastboot reboot
    

    Copied and pasted the part of r1.sh for installing stuff, name it whatever, and run it, do it in the same folder as the other scripts:

    #!/bin/bash
    
    install_debian() {
        sudo apt update
        [[ -x "$(command -v git)" ]] || sudo apt install -y git
        [[ -x "$(command -v python3)" ]] || sudo apt install -y python3
        [[ -x "$(command -v pip3)" ]] || sudo apt install -y python3-pip
        [[ -x "$(command -v dos2unix)" ]] || sudo apt install -y dos2unix
        [[ -x "$(command -v curl)" ]] || sudo apt install -y curl
        [[ -x "$(command -v unzip)" ]] || sudo apt install -y unzip
    }
    
    install_arch() {
        sudo pacman -Sy --noconfirm
        [[ -x "$(command -v git)" ]] || sudo pacman -S --noconfirm git
        [[ -x "$(command -v python3)" ]] || sudo pacman -S --noconfirm python
        [[ -x "$(command -v dos2unix)" ]] || sudo pacman -S --noconfirm dos2unix
        [[ -x "$(command -v curl)" ]] || sudo pacman -S --noconfirm curl
        [[ -x "$(command -v unzip)" ]] || sudo pacman -S --noconfirm unzip
        [[ -x "$(command -v virtualenv)" ]] || sudo pacman -S --noconfirm python-virtualenv
    }
    
    install_fedora() {
        sudo dnf update -y
        [[ -x "$(command -v git)" ]] || sudo dnf install -y git
        [[ -x "$(command -v python3)" ]] || sudo dnf install -y python3
        [[ -x "$(command -v pip3)" ]] || sudo dnf install -y python3-pip
        [[ -x "$(command -v dos2unix)" ]] || sudo dnf install -y dos2unix
        [[ -x "$(command -v curl)" ]] || sudo dnf install -y curl
        [[ -x "$(command -v unzip)" ]] || sudo dnf install -y unzip
    }
    
    if [[ "$OSTYPE" == "linux-gnu"* ]]; then
        if command -v apt-get &>/dev/null; then
            install_debian
        elif command -v pacman &>/dev/null; then
            install_arch
        elif command -v dnf &>/dev/null; then
            install_fedora
        else
            echo "Unsupported Linux distribution"
            exit 1
        fi
    else
        echo "Unsupported OS"
        exit 1
    fi
    
    if [[ "$OSTYPE" != "linux-gnu"* || ! "$(command -v pacman)" ]]; then
        pip3 show virtualenv &>/dev/null || pip3 install virtualenv
    fi
    
    if [[ "$OSTYPE" == "linux-gnu"* ]]; then
        if command -v apt-get &>/dev/null; then
            sudo apt install -y adb fastboot
        elif command -v pacman &>/dev/null; then
            sudo pacman -S --noconfirm android-tools
        elif command -v dnf &>/dev/null; then
            sudo dnf install -y android-tools
        fi
    fi
    
    # Setup virtualenv and install requirements
    python3 -m venv venv
    source venv/bin/activate
    
    chmod +x mtkbootcmd.py
    
    # Download mtkclient
    REPO_URL="https://github.com/AgentFabulous/mtkclient"
    REPO_NAME=$(basename "$REPO_URL" .git)
    git clone "$REPO_URL"
    cd "$REPO_NAME" || exit
    pip3 install -r requirements.txt
    • Backup your device with mtkclient-gui, go to read partitions and select all, then uncheck userdata, unless you have userdata you want.
    • To get mtkclient-gui to see your phone, turn it off, and plug it in.
    • Copy frp.bin from your backup to the folder you put frp.sh and put mtkbootcmd.py in the same folder.
    • Run frp.sh and it should modify frp.bin, flash frp.bin using mtkclient-gui.
    • After it’s done flashing, unplug your phone, plug it back in and click enter.
    • Make sure you are looking at the phone, and click volume up when it asks.

    Well, it’s not exactly a phone, but can be used as one with Ubuntu Touch.

    If you don’t use Linux, I can’t help you. Probably can easily be made to work on macOS, if it doesn’t already.

    The script could probably easily be fixed to do everything for you, but I’m lazy. There is a command line mtkclient too, you get both when you compile it.

    The command for mtkclient-gui is mtk_gui.

    If you need to get into fastboot, you can run ./mtkbootcmd.py FASTBOOT. Or put python3 in front of it. You may have to do chmod +x mtkbootcmd.py on it for the script. To run it, you may need to run . venv/bin/activate.

    Currently trying to cross compile the kernel, so I can compile WireGuard. May or may not work. Don’t bother running arm64 in Linux using QEMU, too fucking slow. I could use my Mac mini, but I turned it off, and don’t plan on using it. It has an ARM CPU. Using pbuilder to cross compile now. Just type pbuilder login and do it manually. Works in Distrobox, using a root one.

    If you are using Distrobox, you may need a root one.

    My laptop has Fedora Kinoite, too lazy to install the needed stuff, and reboot. Already need to install updates and reboot.

    No SIM card in it yet. Still trying to get WireGuard to actually work.

  • Glad I don’t buy EA games anymore

    Looks like they just sold it to Saudi Arabia and the dicktator’s son-in-law.

    The anti cheat they use, I think is kernel based, so basically malware. Now the government can mass install malware to everybody playing EA games. They can modify it to do more then it already does.

    Also glad I don’t use Windows.

    Oh wait, bought an old EA game on my Xbox. I should actually cancel the online subscription, and get rid of the Xbox.

  • Rabbit r1 came

    Should it be used as a phone? Not sure, slept for around 2 hours according to the health app on my iPhone, but probably in bed for three or so, and the battery was down to around 50%. Perhaps SSH did that. I was up till 7 AM because of a wrong password.

    Oh and the OTA thing might do nothing. I click update and reboot, and it doesn’t reboot. I rebooted a different way, claims it’s the new version. But I don’t believe it, so flashing it with the installer.

    24.04 is available OTA or in the installer now. I need a better USB battery, cause this Anker turd will only charge correctly with the short “special” cable it came with. Pretty sure the cable I used last time is an Anker cable, just longer and not “special”, but it’s supposed to handle a lot of watts, I forgot how much. Don’t know where the special cable is.

    A how to will be written on rooting a brand new Rabbit r1, and another on installing Ubuntu Touch.

    Well this post had all the info, but I need to clean it up, and make separate posts.

    And I think to update, you just have to reboot into recovery… It failed to update, cause I’m using the installer. But the installer is working so far. I’d recommend rebooting into recovery before using the installer.

    Looks like it worked so far. On the booting screen.

    Yes the screen is tiny, and causes issues in some apps, like the terminal. Can’t even run nmtui or whatever.

    And don’t make the scaling way too big. You’ll regret it.

    The % of the battery is wrong, the bar is way fuller then 3%.

    I think the specs say 1,000mah battery, so not surprising the battery life sucks.

  • Smartwatches for Ubuntu Touch

    There appears to be three apps available:

    Any watch compatible with any of those apps, should work.

    The best watch that isn’t a pre order is probably the Bangle.js. It can be bought in the US for $150 from adafruit. If you don’t mind waiting, the Pebble is probably nice too. That’s assuming it works with RockWork. Not sure the new Pebble watches work with it, so you may need to write your own app.

    If I get a watch, I’ll probably get a $40 preowned watch I can put AsteroidOS on. Probably won’t have a heart rate sensor, or maybe even step counting, but I don’t care. Or maybe you just can’t sync the data to your phone. Don’t want to spend $150. Says it’s been used two times I think. Might not be available when I get more money though, if I do.

    Another option would be my Amazfit, if it’s the right one. But I don’t know where the charger is. Probably needs a new battery since it’s been sitting dead for years. Easier to buy the $40 watch. No idea how much a charger and battery for my Amazfit is. Also, don’t know how hard it is to open.

    The $40 watch, says you can open it with a screwdriver I think, so replacing the battery on that is probably easy.

    I’ll probably leave the Amazfit where it is, and never look at it. Maybe donate or recycle it. Or keep it just in case.

  • Domains can be bought privately

    And so can web hosting, and servers. They don’t require any personal info, maybe an email address. But no name or anything like that. Don’t transfer a domain there, as that’s pointless. The old whois data can be found. And the old domain registrar might keep records, of who had the domain, so whois privacy won’t do any good. Better to let your domains expire. And get a new one. With only new content.

    A truly private domain will cost more. But if you live in an authoritarian regime, it might be worth it.

    I no longer recommend BuyVM or NameCrane, they both probably require personal info. They take cryptocurrency, but that doesn’t mean it’s private. Both were good back in the day though.

    I’ll eventually cancel my hosting, and let my domains expire. The Crane hosting will be cancelled sooner then the reseller hosting.

    You can find such hosts, and domain registrars, by searching. Perhaps use a private search engine. Perhaps Mullvad Leta is private enough. They have an onion. But not sure about Tor, if a bad actor controls enough nodes, and you only connect to their nodes, there goes your anonymity. Perhaps you can look at the node list, and research every IP. And prevent Tor from connecting to the bad IPs. Going offline is easier.

    Nothing is stopping bad actors from signing up for private hosts using cryptocurrency, and hosting Tor nodes. So don’t ask me how you’ll know if the IP belongs to a bad actor. Obviously avoid all IPs in the US.

  • Goodbye Firefox

    Apparently the latest version integrated some Google AI spyware, for image search or something. Couldn’t read the article Reddit linked to, it said 403. Can’t even access Reddit on my laptop usually.

    The forks are probably safe, so I’ll keep using LibreWolf.

    Guess Mozilla isn’t focused on privacy anymore, that’s too bad.

    Well, it’s removed from my desktop and laptop. Need to remove from Steam Deck though. Mac mini will get wiped someday, so who cares, it’s turned off anyways.

    I’ll assume it’s true.

    Didn’t remove Firefox from my phone either, don’t even use it on there. And it’s getting wiped soon too.

  • Canada Bill C-2

    A nice new surveillance law.

    If you are thinking of fleeing the US or any country to Canada, and that passes, there’s no point. They probably won’t give you asylum if that passes.

    Like giving your personal info away without them having a warrant? Well, that’s in there. Don’t like private electronic communication? That’s covered too.

    I have no idea what country anyone should go to. Some country that has 0 corrupt people in power.

    Maybe a poor country that has no internet or tech? Might die of a disease, but that’s better then getting arrested for freedom of speech, or filming ICE, or because they took your citizenship away.

    Eventually, if things don’t get better in the US, women can die from being unable to get an abortion. And lots of diseases will come back as well, thanks to the idiot who is anti vaccine.

    If ICE deports you, you may end up in prison, where you could be tortured and/or killed. Some people die in the inhumane ICE conditions as well.

  • imessage-exporter

    imessage-exporter can be used to export messages from your iPhone, if you are switching to a more private phone. Switching to Android, wouldn’t be more private. Android based could be, but Linux or no phone would be the best. Also, they can track your location from cell towers.

    Looks like it works, will need to make a newer backup when I get my new phone.

    Also, your location, can be found from WiFi too, you can do it yourself with some Raspberry Pis, think you need three, in different locations. Using random MAC addresses, may help. But they’ll have somebody’s location. They may or may not know who it is.

    Wired is always better.

  • Don’t use a Crane from NameCrane for Nextcloud

    The time on the server appears to be wrong, which breaks two factor auth. Had to use a backup code to login to Nextcloud. Then I tried logging into DirectAdmin, to see if it was hacked or something, and I had to use a backup code to login to DirectAdmin too. Then I checked the messages, and says from my IP, that it failed to login with two factor code around 1 AM.

    Well, I just deleted everything. Already paid the bill, which sucks. But I no longer trust them for anything that matters to me.

    I won’t email support, I will cancel it eventually though.

    I don’t think I can change my email address for my account either, not without asking them. Probably will want my ID or something to change it.

    So I might need a new host someday anyways. But I’ll probably have no money then either, so it won’t matter.

  • Guide for installing Ubuntu Touch on Rabbit r1

    Here you go. Found it on the Ubuntu Touch forum. I’d recommend looking at it, as somebody used just the installer, and got stuck at a boot screen.

    Also, you don’t need to ask them to unlock it for you, or create an account. If you look at the guide, there’s an unofficial way to unlock it. Didn’t know you had to ask them to unlock it, bullshit. I’ll use the unofficial method.

    I think that means, you don’t have to “activate” it.

    There’s an image there, so I probably won’t take a picture of Ubuntu Touch running on it, it looks fine to me from their image. Can’t make the image bigger though.

    Using WireGuard may require compiling the module. Good thing I don’t mind, it even tells you how.

    But if it gets bricked, there’s a reset button on it, one of the best features of this small phone. I bricked an iPhone once, trying to jailbreak it. Was going to try opening it to remove battery, but gave up, even though I got it slightly open. I threw it away. Not sure if there was a way to force it off or reboot it. A reset button is better.

    Does adb and fastboot work in Distrobox? Somebody says not to use Distrobox in rootful mode, why not?

    Well, you can download the shitty platform tools, and extract them. Probably a bad idea, cause it’s made by Google.

    Installed it, should already have udev rules, from opening Ubuntu Touch installer.

    CipherOS apparently works on it. Claims it doesn’t use any Google services crap on default vanilla builds. Is it like /e/OS? I might decide I want an app or something that isn’t in Ubuntu Touch. Or might be too lazy to compile WireGuard module, if I really have to.

    Was trying to find Android roms for it, found some shitty site, that only lists that. Hard to believe nothing else works on it. Trying to find unofficial /e/OS. But maybe CipherOS is good enough, if not better.

    Search engines are useless, they claim AI solves everything, well not their shitty search.

    LOL, a post on XDA Forums, says it’s shitty, but that was from 2024. Says it’s expensive. Currently it’s $200, no idea what it was in 2024. And I don’t care about AI shit myself, so all their AI shit mentions, means nothing to me.

    And I thought Ubuntu Touch said it had good battery life. Says “24+ hours battery lifetime” on Ubuntu Touch’s site.

    Hmm, somebody damaged the reset button. Did they press with their finger? Bummer. Well, glad it’s only $200.

    No other ROMS on XDA Forum apparently, somebody said something is available, but no topic for it.

    LOL

    Hmm, it always cost $200, and people think that’s a lot of money for a smartphone nowadays? It’s unlocked, and Linux works on it now. I don’t care how small it is, or how good the camera is. Linux support is nice, and since custom Android works too, I have options.

    Well, one man’s garbage, is another man’s treasure. I don’t give a shit about AI, but I was right, it’s a privacy concern, it uses the cloud, so if on 4G LTE, you will use data.

    Nice it has bootrom exploits, probably why you can unlock it without their permission.

    Don’t use the stock ROM. Look at what the logs contain.

    If you are worried about somebody stealing it, make sure you use encryption. Linux has full disk encryption I think. But also, you can use apps that use their own encryption.

    “The Rabbit R1 has ineffective boot-chain security, meaning you can’t safely leave your device unattended.”

    Not sure you should leave any device unattended in public anyways. There’s spyware available, that ICE has access to, that they could install on an iPhone or Android phone.

    The reason to turn it off, if you’re worried about it, with Linux of course. Does booting Linux with full disk encryption, mean you need the password to even boot it? They might need the password to get the data. Don’t leave it on though, if you’re worried about that. If ICE knocks on your door, turn your phone off. And make a button that you can put by the door that turns all computers off in your house. Hopefully everything is off long enough, for the RAM to clear.