Merge pull request #13 from joshuafhiggins/dev

The Beeper Guide
This commit was merged in pull request #13.
This commit is contained in:
2024-03-24 18:21:01 -04:00
committed by GitHub
Unverified
18 changed files with 197 additions and 57 deletions

View File

@@ -8,7 +8,3 @@ Butter Engine is a game engine made in LWJGL and uses its subset libraries for v
Although similar to other projects in ambition, the hope is to work on certain parts of the TODO list at a time. For example, spending some time on rendering and then transitioning to audio, to ECS, and back. Although similar to other projects in ambition, the hope is to work on certain parts of the TODO list at a time. For example, spending some time on rendering and then transitioning to audio, to ECS, and back.
The checklist is available on the [GitHub repository](https://github.com/joshuafhiggins/ButterEngine). The checklist is available on the [GitHub repository](https://github.com/joshuafhiggins/ButterEngine).
style:
background: "#0177b8"
color: "#fff"

View File

@@ -4,7 +4,3 @@ image: "featured-image.png"
--- ---
A Minecraft Forge 1.8.9 mod for counting how many times you left/right click. Featuring custom coloring, positioning, and prefixes, this mod provides useful statistics. Get started by typing the "/clicks" command in chat. The project is under the [MIT License](https://raw.githubusercontent.com/joshuafhiggins/clickcounter/master/LICENSE). A Minecraft Forge 1.8.9 mod for counting how many times you left/right click. Featuring custom coloring, positioning, and prefixes, this mod provides useful statistics. Get started by typing the "/clicks" command in chat. The project is under the [MIT License](https://raw.githubusercontent.com/joshuafhiggins/clickcounter/master/LICENSE).
style:
background: "#df7988"
color: "#fff"

View File

@@ -4,7 +4,3 @@ image: "featured-image.png"
--- ---
Releases and updates to Docker images. Releases and updates to Docker images.
style:
background: "#ffb900"
color: "#fff"

View File

@@ -0,0 +1,6 @@
---
title: "Guides"
image: "featured-image.png"
---
The guides I have made.

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 KiB

View File

@@ -6,10 +6,6 @@ image: "featured-image.png"
NOTE: This software can be used maliciously. I am no way responsible for the use of this software and encourage its use in good faith. NOTE: This software can be used maliciously. I am no way responsible for the use of this software and encourage its use in good faith.
style:
background: "#6b69d6"
color: "#fff"
## Features ## Features
- See and close open user's windows - See and close open user's windows
- Trigger popups with custom text - Trigger popups with custom text

View File

@@ -13,10 +13,6 @@ categories: ["butterengine"]
lightgallery: false lightgallery: false
--- ---
{{< param description >}}
<!--more-->
Up until last week, I have been working on the base rendering, textures, and 3D projection which all felt vaguely familiar (*cough cough..[TF2 OpenGL & Java](https://github.com/joshuafhiggins/tf2-opengl)..cough cough*). As well as a basis for mod loading. Up until last week, I have been working on the base rendering, textures, and 3D projection which all felt vaguely familiar (*cough cough..[TF2 OpenGL & Java](https://github.com/joshuafhiggins/tf2-opengl)..cough cough*). As well as a basis for mod loading.
But for this week, I didn't do much (*less than I wanted to*) but I did do research into physics, cameras, model loading, and entity component systems/ECS. But for this week, I didn't do much (*less than I wanted to*) but I did do research into physics, cameras, model loading, and entity component systems/ECS.

View File

@@ -14,10 +14,6 @@ tags: ["Butter Engine", "Update", "Programming"]
categories: ["butterengine"] categories: ["butterengine"]
--- ---
{{< param description >}}
<!--more-->
Butter Engine (Java): UI, Physics, and Maps Post Butter Engine (Java): UI, Physics, and Maps Post
Now in Rust, Java struggles Now in Rust, Java struggles
Whats Rust Like Whats Rust Like

View File

@@ -10,10 +10,6 @@ tags: ["Minecraft", "Modding", "Updates"]
categories: ["clickcounter"] categories: ["clickcounter"]
--- ---
{{< param description >}}
<!--more-->
Formally known as Left Click Counter Mod, Click Counter counts your left and right clicks and displays them on your Minecraft HUD. Version 2.4.0 saw the introduction of right clicks, a general refactor, a more stable/modern codebase, and QOL features. Note: a migration of your previous config is needed (located in `.minecraft/config/LeftClickCounter.cfg`). Copy the value in the `SHHH...` key to value in `Clicks` under the `Left` catergory (located in `.minecraft/config/Clicks.cfg`). Formally known as Left Click Counter Mod, Click Counter counts your left and right clicks and displays them on your Minecraft HUD. Version 2.4.0 saw the introduction of right clicks, a general refactor, a more stable/modern codebase, and QOL features. Note: a migration of your previous config is needed (located in `.minecraft/config/LeftClickCounter.cfg`). Copy the value in the `SHHH...` key to value in `Clicks` under the `Left` catergory (located in `.minecraft/config/Clicks.cfg`).
## Changelog ## Changelog

View File

@@ -10,10 +10,6 @@ tags: ["Minecraft", "Modding", "Updates"]
categories: ["clickcounter"] categories: ["clickcounter"]
--- ---
{{< param description >}}
<!--more-->
## Changelog ## Changelog
### Positioning ### Positioning

View File

@@ -11,6 +11,3 @@ tags: ["Tag"]
categories: ["Project"] categories: ["Project"]
--- ---
{{< param description >}}
<!--more-->

View File

@@ -11,10 +11,6 @@ tags: ["Website", "Progress Updates"]
# categories: ["general"] # categories: ["general"]
--- ---
{{< param description >}}
<!--more-->
## Catching Up ## Catching Up
There's a lot that hasn't been covered yet on other projects that would just take way too long to write pages and posts for those pages on projects that were canceled or have seen very little progress. I plan on updating this site every week with what I have been up to. There's a lot that hasn't been covered yet on other projects that would just take way too long to write pages and posts for those pages on projects that were canceled or have seen very little progress. I plan on updating this site every week with what I have been up to.

View File

@@ -14,10 +14,6 @@ tags: ["Releases"]
categories: ["pranksuite"] categories: ["pranksuite"]
--- ---
{{< param description >}}
<!--more-->
NOTE: This software can be used maliciously. I am no way responsible for the use of this software and encourage its use in good faith. NOTE: This software can be used maliciously. I am no way responsible for the use of this software and encourage its use in good faith.
## Features ## Features

View File

@@ -13,10 +13,6 @@ tags: ["Website", "Progress Updates"]
toc: false toc: false
--- ---
'Tis tradition.
<!--more-->
I have switched themes to [*Hugo Theme Stack*](https://stack.jimmycai.com/) by Jimmy Cai, making the site look lovely as a base instead of needing patches to not look plain. This new base also allows for comments, through GitHub issues to be available at the bottom of every post. The color scheme is also new but I'm not 100% set on the dark mode colors. The font is [*Hasköy*](https://haskoy.ertekinn.com/) by Ertekin Erdin and has been recently used in [Beeper's](https://blog.beeper.com/p/new-beeper-android-app-open-beta) new beta client for Android, which inspired me to use it. I do plan on writing more posts, here are some in no particular order: *Beeper Mini Adventures and Complete Guide*, a Butter Engine update, and an announcement for an upcoming project sometime in the Summer. This redesign started four months ago and was just waiting on custom CSS and fonts, but expect more posts, updates, and projects at the end of April! I have switched themes to [*Hugo Theme Stack*](https://stack.jimmycai.com/) by Jimmy Cai, making the site look lovely as a base instead of needing patches to not look plain. This new base also allows for comments, through GitHub issues to be available at the bottom of every post. The color scheme is also new but I'm not 100% set on the dark mode colors. The font is [*Hasköy*](https://haskoy.ertekinn.com/) by Ertekin Erdin and has been recently used in [Beeper's](https://blog.beeper.com/p/new-beeper-android-app-open-beta) new beta client for Android, which inspired me to use it. I do plan on writing more posts, here are some in no particular order: *Beeper Mini Adventures and Complete Guide*, a Butter Engine update, and an announcement for an upcoming project sometime in the Summer. This redesign started four months ago and was just waiting on custom CSS and fonts, but expect more posts, updates, and projects at the end of April!
Also, it seems that Forge is no longer favored/is no longer maintained/there was drama that occurred over the ownership of the project that has caused it to be abandoned. I'm willing to accept any pull requests or transfer ownership of Left Click Counter mod to keep it maintained for people and I encourage people to make spin-offs and forks for modern Minecraft versions or other modkits. Also, it seems that Forge is no longer favored/is no longer maintained/there was drama that occurred over the ownership of the project that has caused it to be abandoned. I'm willing to accept any pull requests or transfer ownership of Left Click Counter mod to keep it maintained for people and I encourage people to make spin-offs and forks for modern Minecraft versions or other modkits.

View File

@@ -14,10 +14,6 @@ tags: ["Website", "Progress Updates"]
# categories: ["general"] # categories: ["general"]
--- ---
{{< param description >}}
<!--more-->
## Updated Website ## Updated Website
``` ```

View File

@@ -10,10 +10,6 @@ tags: ["Releases"]
categories: ["docker"] categories: ["docker"]
--- ---
{{< param description >}}
<!--more-->
I created this Docker image for my own servers, but have released it for anyone to use. I created this Docker image for my own servers, but have released it for anyone to use.
[![Docker Stars](https://img.shields.io/docker/stars/litltoast/tf2-classic.svg)](https://hub.docker.com/r/litltoast/tf2-classic/) [![Docker Pulls](https://img.shields.io/docker/pulls/litltoast/tf2-classic.svg)](https://hub.docker.com/r/litltoast/tf2-classic/) [![](https://img.shields.io/docker/image-size/litltoast/tf2-classic)](https://microbadger.com/images/litltoast/tf2-classic) [![Docker Stars](https://img.shields.io/docker/stars/litltoast/tf2-classic.svg)](https://hub.docker.com/r/litltoast/tf2-classic/) [![Docker Pulls](https://img.shields.io/docker/pulls/litltoast/tf2-classic.svg)](https://hub.docker.com/r/litltoast/tf2-classic/) [![](https://img.shields.io/docker/image-size/litltoast/tf2-classic)](https://microbadger.com/images/litltoast/tf2-classic)

Binary file not shown.

After

Width:  |  Height:  |  Size: 761 KiB

View File

@@ -0,0 +1,189 @@
---
title: "The Ultimate Beeper-iMessage Guide: 2024"
date: 2024-03-24T01:00:00-04:00
lastmod: 2024-03-24T01:00:00-04:00
draft: true
description: "The One Guide to Rule Them All (for at least 2024)"
image: "featured-image.png"
tags: ["Beeper", "Beeper Mini", "iMessage", "BlueBubbles", "Virtual Machines"]
categories: ["guides"]
toc: true
---
Finally at long last, the one guide to iMessage on Android to rule them all, using Beeper Mini, the new Beeper beta app for Android, BlueBubbles, virtual machines, and so much more. This guide will take you from the beginning with no experience and give you a fully working setup with iMessage with all your other chats in Beeper. This was made in collaboration with the amazing people on Matrix chat rooms (`#beepserv:beeper.com` and `#imessage:maunium.net`) that have not only contributed to these open source projects but also made guides that have been synthesized, updated, and simplified here for you.
## Beeper Mini
### Jailbreaking an iPhone
Lets get the hard part out of the way
You may be fine only wanting to use Beeper Mini for iMessage chats and using your other apps for their respective DMs, so well start with that first. It is recommended that you follow a guide that matches your iPhone or iOS version at [https://ios.cfw.guide/get-started/](https://ios.cfw.guide/get-started/), they maintain updated guides for jailbreaking as projects come and go. **Do not use a video guide for jailbreaking, they are probably outdated!** Make sure you know the name of the Apple Silicon chip your iPhone has, as the guides will refer to it often (search your phone model on Wikipedia).
#### Before you get started with the jailbreak
1. It is recommended to wipe your phone before you begin
2. Disable your lock screen, there should be no PIN or fingerprint required to unlock the phone
3. Many have noticed that one of the major selling points of Beeper Mini is broken following the battle against Apple: using iMessage with only your phone number, without an AppleID. This may or may not be the case for you but in any event we are going to preemptively use a hack to work around it.
1. Create a burner AppleID on your iPhone, and remained signed into it
2. The phone number used for the account doesnt matter, it may be the same as your main AppleID/your real phone number you use for messaging
3. If you dont already have an AppleID before this guide, attempt to create another one on [https://appleid.apple.com/](https://appleid.apple.com/), this will be your “Main AppleID”
4. Note: your email for your Main AppleID will constantly be notified that a device named “Beeper Mini” is using iMessage, make a filter to delete or archive them
#### Do your jailbreak
Youre done? Good, lets get Beeper server running.
### Setting up [Beepserv-rewrite](https://github.com/thatmarcel/beepserv-rewrite) [by thatmarcel](https://github.com/thatmarcel)
1. Go to Settings → Messages → and make sure “iMessage” is toggled off
2. Go to [https://github.com/thatmarcel/beepserv-rewrite/releases](https://github.com/thatmarcel/beepserv-rewrite/releases) and download the latest release deb file on your iPhone. Choose the respective file if you are rootless or rootful (this may have come up during your jailbreak guide, check your guide and come back, it is always recommended to do a rootless jailbreak and is probably what you did)
3. Open the file with Safari and select Sileo in the share menu to install it, follow through the prompts
4. Open beepserv on your homescreen, thats your Beeper Mini code! Save it somewhere to copy and paste later
It is recommended at this point to prevent your phone from sleeping/the screen from turning off and leave it charging in some corner permanently. This will hopefully prevent any crashes that could occur from the instability caused by the jailbreak and prevent the need to re-jailbreak because of an unexpected reboot. If this does happen, your messages will break.
### Create an App Password for Your “Main AppleID”
If you had tried to login with your AppleID in the past, you would have noticed that often Beeper Mini would require you to sign into your account again after only 30 minutes. This is not ideal and seems to be caused by 2FA on AppleIDs and Beeper Mini not handling it well. Luckily, Apple provides App Passwords for logins, so that 2FA isnt needed and it would go into the regular password field for sign in. Beeper Mini offered this but If you had attempted to create an App Password inside of Beeper Mini when confirming 2FA, the issue would still occur. The solution is to create an App Password manually in iCloud.
1. Go to [https://appleid.apple.com/](https://appleid.apple.com/) amd sign in
2. Go to Sign-In and Security → App Specific Password → Click the “+” → Give it a name
3. Put it in your password manager or note app in case your sign-in breaks, this rarely happens though using this method
### Using Beeper Mini
1. Download the APK from [https://www.beeper.com/download](https://www.beeper.com/download), latest version at the time of this post is 1.2.58
1. This version is important because it adds the ability to force re-register your phone number. If your phone number deregisters from iMessage, you wont be able to receive iMessage texts and they will instead go to SMS. Using an App Password this will rarely break and will break less often over time as you re-register.
2. Later in this guide we set up BlueBubbles which will notify you when your phone number deregisters
2. Enter your Beepserv code. If it fails to register your phone number, try again (Beepserv can fail to hook the right functions, doing it again forces it to use the fallback)
3. If you are asked to sign into Apple, use your Main AppleID and the App Password you created
Congrats! You have the ability to send iMessage texts on Android. If you want to continue with BlueBubbles and integration into the greater Beeper app, continue on.
## We Need macOS…
BlueBubbles is a client-server combo that also provides iMessage texts for any platform. They hook into the Messages app on macOS to provide this functionality. In doing so, their mobile app provides notifications for when an iMessage “alias” is deregistered, for example your phone number from Beeper Mini. With [mautrix/imessage](https://github.com/mautrix/imessage), we can have our iMessage chats in Beeper Cloud and even the new Beeper beta app for Android.
There are two options to do this:
1. Buy an old Mac Mini/Macbook/Macbook Air or any Mac device, ideally it should be able to run at least macOS Ventura
2. Run a virtual machine
This guide will continue with option 2, being free if you have an old computer lying around.
Note: Ventura is not required to use BlueBubbles but is required if you want to be able to receive and send edits as well as unsend messages.
## BlueBubbles
### Installing Proxmox and Running macOS Ventura
“Why use Proxmox?” We dont actually need to, anything x86 with Linux should be fine but this makes VM creation more streamlined and if you want the PC to do anything else, and have the cores and memory to do it, you can just spin up another VM. [i12bretro](https://www.youtube.com/@i12bretro) has easy to follow guides as checklists that I recommend you follow. Im copying his Ventura one here for your convenience and since Sonoma requires the AVX2 instruction set in order to boot. If you would like to use a different macOS version, you can find it on his website [here](https://i12bretro.github.io/tutorials/).
First install Proxmox Virtual Environment [here](https://www.proxmox.com/en/downloads) (you dont need to pay, you can use the free version and ignore the prompts). Then follow [these](https://i12bretro.github.io/tutorials/0775.html) steps:
1. Download a MacOS Ventura .iso [Download](https://archive.org/search.php?query=MacOS%20collection&and[]=mediatype%3A%22software%22) OR create your own [https://youtu.be/JFMvUpdCMwo](https://youtu.be/JFMvUpdCMwo)
2. Download KVM OpenCore bootloader [Download](https://github.com/thenickdude/KVM-Opencore/releases)
3. Extract the downloaded KVM OpenCore bootloader .gz file
4. Upload the Ventura and KVM OpenCore .iso files to the Proxmox ISO library
5. Log into the ProxMox web UI
6. Right click the ProxMox node name > Create VM
7. Type MacOSVentura in the name field, set the VM ID to 1300 (unless 1300 is in use) > Next
8. On the OS tab, set the Type field to Other and select the KVM OpenCore .iso in the ISO Image field > Next
9. On the System tab, set the Graphic card field to VMware compatible, BIOS field to OVMF (UEFI), Uncheck the Pre-Enroll Keys checkbox, Check the Add EFI Disk checkbox, Machine field to q35 and the SCSI Controller to VirtIO SCSI > Next
10. On the Hard Disk tab, set the Bus/Device field to VirtIO Block, Disk size field to 64, Cache field to Write back (unsafe) > Next
11. On the CPU tab, set Cores field to 4, Type field to host > Next
12. On the Memory tab, set the Memory to 4096 > Next
13. On the Network tab, set the Model field to VMware vmxnet3 > Next
14. Verify the summary and click Finish
15. Click the MacOSVentura VM > Select Hardware from the left sub-navigation menu
16. Click Add > CD/DVD Drive
17. Select the MacOS Ventura .iso downloaded earlier > Click Create
18. Select the MacOSVentura VM > Options > Boot Order
19. Set the KVM OpenCore disk as the first boot option > Click OK
20. Right click the ProxMox node name > Console
21. Run the following commands in the terminal
\# edit the VM conf file, change 1300 to the VM ID for the MacOSVentura VM
nano /etc/pve/qemu-server/1300.conf
22. If running on an Intel CPU, add the following line to the bottom of the .conf file:
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu host,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
23. If running on an AMD CPU, add the following line to the bottom of the .conf file:
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu Haswell-noTSX,vendor=GenuineIntel,+invtsc,+hypervisor,kvm=on,vmware-cpuid-freq=on
24. Press CTRL+W and search for ,media=cdrom
25. Delete the ,media=cdrom from the two attached .iso files (KVM OpenCore and Ventura) and add cache=unsafe
26. Press CTRL+O, Enter, CTRL+X to write the changes to the conf file
27. Back in the Proxmox web UI, right click the MacOSVentura VM in the left navigation pane > Start
28. Click console in the left sub-navigation menu
29. At the OpenCore menu, select UEFI Shell > Press Enter
30. Type the following in the UEFI shell:
\# change to the Ventura.iso, the disk number may be different for you
fs0:\# launch the MacOS installer
System\\Library\\CoreServices\\boot.efi
31. After a long initialization sequence the MAC OS Setup should start
32. Select Disk Utility
33. Select the VIRTIO Block Media > Click Erase
34. Name the drive MacOS > Set the Format to APFS > Click Erase
35. Click Done > Close Disk Utility
36. Click Install macOS Ventura
37. Click Continue > Click Agree > Click Agree again
38. Select the MacOS disk > Click Install
39. Wait while Mac OS installs files, the VM will reboot several times
40. Select your Country > Click Continue
41. Confirm your languages and keyboard layout > Click Continue
42. Click Not Now on the Accessibility screen
43. Click Continue on the Data & Privacy screen
44. Select Not Now on the Migration Assistant screen
45. Select Set Up Later and then Skip on the Apple ID screen
46. Click Agree > Agree again
47. Enter a name, user name, password > Click Continue
48. Click Continue > Select Use or Don't Use for Location Services
49. Pick a timezone > Click Continue
50. Uncheck Share Mac Analytics with Apple > Click Continue
51. Click Set Up Later on the Screen Time screen
52. Uncheck the Enable Ask Siri box > Click Continue
53. Pick a theme > Click Continue
54. Welcome to MacOS 13 Ventura
You good? Great, lets lie to Apple
### Activating iMessage on macOS
1. Follow [this guide](https://dortania.github.io/OpenCore-Post-Install/universal/iservices.html#using-gensmbios)
1. Make sure the ROM in your config.plist is the MAC address of the NIC you have set in Proxmox, you can go to Settings in macOS to see your MAC address of the NIC
2. Sign in with your Main AppleID
3. Sign into Messages with your Main AppleID
4. (Optional) Add your Google account to macOS and sync your contacts
### Setting up BlueBubbles
You can also follow their instructions [here](https://bluebubbles.app/install/) and [here as well](https://docs.bluebubbles.app/private-api/installation)
1. Download the latest release at [https://github.com/BlueBubblesApp/bluebubbles-server/releases](https://github.com/BlueBubblesApp/bluebubbles-server/releases)
2. Open it and follow its instructions
3. Make sure you turn on the Private API, in BlueBubbles settings check “Keep macOS Awake” and “Startup with macOS”
4. Download the [BlueBubbles app for Android](https://play.google.com/store/apps/details?id=com.bluebubbles.messaging&hl=en_US&gl=US)
5. Go through the setup and connection to your server
6. It is recommended to turn off your notification on Android except for errors, this way you are only notified of deregisters
7. Make sure the Private API is enabled in the Android app, if you go to the three dots → Settings → Your name under Profile → you should see all the aliases for your iMessage account, including your phone number from before (if not, force re-register!)
## Self-Hosting the iMessage Bridge for Beeper Cloud
1. Open the terminal on your Mac virtual machine
2. Install Homebrew with `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`
3. Run `brew install go git libolm libheif pkg-config pre-commit ffmpeg`
4. Download the latest Beeper Bridge Manager [here](https://github.com/beeper/bridge-manager/actions), put it into a folder somewhere, run `chmod +x bbctl-macos-amd64`
5. Edit your paths with `sudo nano /etc/paths` and add the path to the folder with bbctl
6. Run `bbctl-macos-amd64 login <your-email-with-Beeper-Cloud>`
7. In your home directory, `git clone https://github.com/mautrix/imessage.git`
8. In the `imessage` directory, `bbctl-macos-amd64 run --local-dev --param 'bluebubbles_url=http://localhost:1234' --param 'bluebubbles_password=&lt;your-BlueBubbles-password>' --param 'imessage_platform=bluebubbles' sh-imessage`
I'd recomend making a GitHub account to subscribe to updates to the [mautrix/imessage](https://github.com/mautrix/imessage) repo for patches or feature updates to the bridges. Update with `git fetch` and `git pull` in the repo and rerun the bbctl command.
And now finally… we're done.