Added Hook:

And Sketcher:

Here we go. I made a remake of commercial Android BlockBlast game.
Why ? Because I was tired of the incessant ads popping up here and there, and leading my children to things they should not see at their age.
You can play it online here: https://www.nilorea.net/Games/BlockBlaster/
Play store link:
https://play.google.com/store/apps/details?id=org.niloreastudio.blockblaster
Screenshots:


#game #blockblaster #linux #android #wasm #android
In this guide, I will walk you through setting up a secure remote media server using:
This setup allows you to:
Before you begin, make sure you have:
Look for options such as:
Enable the appropriate setting.
Install ethtool:
sudo apt install ethtool
Enable WOL on your network interface:
sudo ethtool -s eth0 wol g
(Replace eth0 with your actual interface using ip link.)
Create /etc/systemd/system/wol.service:
[Unit]
Description=Wake-on-LAN configuration
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/ethtool -s eth0 wol g
[Install]
WantedBy=multi-user.target
Enable the service:
sudo systemctl enable wol
curl https://repo.jellyfin.org/install-debuntu.sh | sudo bash
sudo systemctl enable jellyfin
sudo systemctl start jellyfin
Navigate to:
http://YOUR_SERVER_IP:8096
Follow the setup steps:
Always place Jellyfin behind a VPN such as WireGuard.
sudo apt install wireguard
Install the official Android app:
WireGuard – WireGuard Development Team
wg genkey | tee server_private.key | wg pubkey > server_public.key
wg genkey | tee phone_private.key | wg pubkey > phone_public.key
Display keys:
cat server_private.key
cat server_public.key
cat phone_private.key
cat phone_public.key
Never share private keys.
/etc/wireguard/wg0.confExample VPN subnet:
10.10.0.0/2410.10.0.110.10.0.2[Interface]
Address = 10.10.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s31f6 -j MASQUERADE; ip6tables -A INPUT -p udp --dport 51820 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s31f6 -j MASQUERADE; ip6tables -D INPUT -p udp --dport 51820 -j ACCEPT
SaveConfig = true
[Peer]
PublicKey = <PHONE_PUBLIC_KEY>
AllowedIPs = 10.10.0.2/32
Replace enp0s31f6 with your interface name.
echo "net.ipv4.ip_forward=1" | sudo tee /etc/sysctl.d/99-wireguard.conf
sudo sysctl --system
Forward:
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
sudo wg
[Interface]
PrivateKey = <PHONE_PRIVATE_KEY>
Address = 10.10.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <SERVER_PUBLIC_KEY>
Endpoint = YOUR_PUBLIC_IP:51820
AllowedIPs = 192.168.1.0/24, 10.10.0.0/24
PersistentKeepalive = 25
sudo apt install qrencode
qrencode -t ansiutf8 < phone.conf
Scan it directly in the WireGuard app.
http://192.168.1.50:8096
(Replace with your own server IP)
Common issues:
Allow WireGuard:
sudo ufw allow 51820/udp
Allow VPN subnet:
sudo ufw allow from 10.10.0.0/24
Add NAT rules in /etc/ufw/before.rules before *filter:
# WireGuard NAT masquerading
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.10.0.0/24 -o enp0s31f6 -j MASQUERADE
COMMIT
Ensure forwarding rules are present:
-A ufw-before-forward -i wg0 -j ACCEPT
-A ufw-before-forward -o wg0 -j ACCEPT
Restart UFW:
sudo ufw disable
sudo ufw enable
That document is explaining how to install latest RMHacks port (on xovi framework) to your Remarkable 1, 2 or Paper Pro tablet.
It’s a copy paste from the guide here, by user GreySim.
This guide assumes a blank slate, and that you haven’t already tried installing xovi. If you have, and want to follow this guide, you should first clean up your first attempt by running (on your reMarkable over SSH): rm -rf ~/xovi.
Download Xovi:
Get the latest release available from: https://github.com/asivery/rm-xovi-extensions/releases
If you’re on a reMarkable Paper Pro, get extensions-aarch64.zip.
If you’re on a reMarkable 1 or 2, get extensions-arm32-testing.zip.
Unzip the files on your computer.
Using SCP (either the scp command, WinSCP, Cyberduck, or whatever SCP app works for you) transfer install-xovi-for-rm and qt-resource-rebuilder.so to /home/root on your reMarkable.
For example (from the directory you unzipped the files to):
scp install-xovi-for-rm qt-resource-rebuilder.so root@10.11.99.1:/home/root
Install Xovi:
SSH into your reMarkable. Run:
chmod +x install-xovi-for-rm
./install-xovi-for-rm
mv qt-resource-rebuilder.so xovi/extensions.d
mkdir xovi/exthome/qt-resource-rebuilder
xovi/rebuild_hashtable
The last command in particular could take a minute or two, and it’s not ready until you see the command prompt again.
NOTE: the tablet have to be connected to internet for ./install-xovi-for-rm to work, it’s downloading xovi from github
Optional Validation:
If you run find xovi, the output should look like this (the lines may not be in the same order but the same line should exist in both lists; if you have 12 lines you should be good):
root@reMarkable:~# find xovi
xovi
xovi/rebuild_hashtable
xovi/extensions.d
xovi/extensions.d/qt-resource-rebuilder.so
xovi/exthome
xovi/exthome/qt-resource-rebuilder
xovi/exthome/qt-resource-rebuilder/hashtab
xovi/stock
xovi/debug
xovi/dlfile
xovi/start
xovi/xovi.so
Install rmHacks:
Download rmHacks from https://github.com/asivery/rm-hacks-qmd (use the Code dropdown to Download ZIP). Unzip the file.
If you’re running 3.20, you’re going to want to use the contents of the 0.0.11-pre2 folder.
Using your SCP app of choice, move zz_rmhacks.qmd and the rmHacks folder to /home/root/xovi/exthome/qt-resource-rebuilder.
For example (from the 0.0.11-pre2 directory):
scp zz_rmhacks.qmd root@10.11.99.1:/home/root/xovi/exthome/qt-resource-rebuilder
scp -r rmHacks/ root@10.11.99.1:/home/root/xovi/exthome/qt-resource-rebuilder
Optional Validation:
Run find xovi again, just like before:
root@reMarkable:~# find xovi xovi xovi/rebuild_hashtable xovi/extensions.d xovi/extensions.d/qt-resource-rebuilder.so xovi/exthome xovi/exthome/qt-resource-rebuilder xovi/exthome/qt-resource-rebuilder/rmHacks xovi/exthome/qt-resource-rebuilder/rmHacks/document_pages_hide_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/auto_new_page_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/base xovi/exthome/qt-resource-rebuilder/rmHacks/base/toolbar_compat.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/base/document_toggles_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/base/global.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/base/settings.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/toolbar.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/no_orientation_switch.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/layers_menu.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/last_document_storage.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/focus_switching.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/size_recalculation.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/document_opening.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/split_doc/split_doc_main.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/document_battery_wifi_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/share_tool_settings_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/bookmarks.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/table_of_contents_button_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/alphabetize_tags_list_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/force_refresh_gesture_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/toggle_toolbar_gesture_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/toolbar_width_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/all_mono_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/more_stroke_sizes_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/hide_close_button_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/screenshare_everywhere_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/share_tool_toggle_wifi_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/more_colors_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/last_document_gesture_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/document_clock_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/new_notebook_date_name_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/share_tool_toggle_all_gestures_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/switch_pens_gesture_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/toggle_eraser_gesture_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/light_sleep_icon_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/hide_text_tool_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/navigator_compressed_list_hack.qmd xovi/exthome/qt-resource-rebuilder/rmHacks/toolbar_pages_button_hack.qmd xovi/exthome/qt-resource-rebuilder/zz_rmhacks.qmd xovi/exthome/qt-resource-rebuilder/hashtab xovi/exthome/qt-resource-rebuilder/README.MD xovi/stock xovi/debug xovi/dlfile xovi/start xovi/xovi.so
Run for the First Time:
SSH in to your reMarkable. Run: xovi/debug
This will not “complete”, but it should cause your reMarkable to restart the GUI. Once that happens, open Settings on your device and there should be a new rmHacks section.
(As of the time of this writing, at least one section is intentionally left blank and is normal. It does not mean something failed to install.)
If you have the rmHacks menu, the install was successful. If something was not successful, the output in your SSH session probably references an error that will be useful in determining what went wrong.
If successful, you can press Ctrl + C in the SSH session where xovi/debug was started to end the debug session.
Run rm install-xovi-for-rm to remove the installation script.
You probably don’t strictly need to reboot, but I like to at this point.
Going forward you can now start rmHacks and Xovi by running xovi/start over SSH.
–GreySim
Optional: Install Triple Tap:
Every time you reboot the reMarkable, you’ll need to SSH in to run xovi/start. This could be a problem if you’re not at your computer. One solution is to install this extra script/service created by a different developer: https://github.com/rmitchellscott/xovi-tripletap
If you install this, you can start Xovi by pressing the power button three times in 2 seconds or less.
The author of this guide used the automated installer for this service on their own device, but as the instructions very correctly state:
Piping code from the internet directly into bash can be dangerous. Make sure you trust the source and know what it will do to your system.
Manual install instructions are available on the page as well.
A new release of the famous Mayhem firmware for the HackRF + Portapack is out !
https://github.com/portapack-mayhem/mayhem-firmware/releases/tag/v2.2.0
We’re excited to share the latest updates in v2.2.0:
New Applications & Utilities:
– App Manager: A new settings app to manage which applications are visible in the menu.
– Detector: A new wide-band signal detector with a graphical RSSI history to help you find nearby transmitters.
– GFX EQ: A beautiful graphical audio equalizer for the WFM radio.
– Hopper: A powerful frequency hopping utility. Load a list of frequencies and transmit across them in various patterns.
– Level: The popular Level meter is back as an external app.
– Scanner: The frequency scanner is now an external app with improved performance.
– SD Card Wipe: The utility to securely wipe your SD card is now an external app.
– Stopwatch: A handy stopwatch and timer utility.
– WAV Viewer: The WAV file viewer and analyzer is now an external app.
– Antenna Length: The whip antenna calculator is now an external app.
– Playlist Editor: A new utility to create and edit .PPL replay playlists directly on the PortaPack.
– Debug PMem: A new debug utility to dump the contents of the persistent memory to the SD card.
New Games:
– Snake
– Tetris
– Breakout
– Doom
– Blackjack
– Battleship (POCSAG-based multiplayer)
– Space Invaders
– Dino Game (Chrome’s classic, now on your PortaPack!)
New Weather Satellite Decoders:
– WeFax Receiver: A dedicated app for receiving and decoding HF Weather Fax transmissions.
– NOAA APT Receiver: A dedicated app for receiving and decoding NOAA APT weather satellite images.
Enhancements & Improvements
– Analog Audio App:
New Demodulation Modes: Added AM-FM and WFM-AM modes specifically for decoding weather satellite transmissions (WeFax and NOAA APT).
Waterfall Zoom: Added a “ZOOM x2” feature in AM and AM-FM modes for a closer look at the spectrum.
Settings Saved: Your preferred AM mode and zoom factor are now saved and restored on startup.
– BLE RX App:
MAC Vendor Lookup: The app can now use the new MACADDRESS/macaddress.db file on your SD card to identify the manufacturer of BLE devices.
Improved Stability: Refactored to use the new asynchronous USB messaging system, improving stability and performance.
Better Channel Hopping: Channel hopping is now sequential (37-38-39) instead of random, ensuring more consistent discovery.
Accurate Power Reading: The reported dBm value now correctly accounts for LNA and VGA gain settings.
UI/UX: Improved error handling, keyboard entry modes, and list clearing.
– ADSB Receiver:
Enhanced Decoding: Now decodes more frame types (DF4, DF5, DF20, DF21) to extract Squawk codes, more accurate altitude, and callsigns.
True Airspeed (TAS): The app can now calculate and display True Airspeed (TAS) from Indicated Airspeed (IAS) and altitude data.
Improved Logging: Logs now include more detailed information like Squawk, SIL, and vertical rate.
Beep on Packet: Added an option to beep whenever a valid ADSB packet is received.
– Signal Generator (SigGen):
Major Overhaul: The SigGen app has been completely revamped with new modulation types, including BPSK, QPSK, DSB, AM (50% & 100% depth), and Pulsed CW. This makes it a much more versatile testing tool.
Improved UI: The user interface has been updated to logically group modulation and shape options.
File Manager:
Improved Navigation: The directory listing and pagination logic has been completely rewritten for a smoother and more intuitive experience.
Waterfall Gradient Installer: When you open a .txt file from the new WATERFALLS directory, you’ll be prompted to install it as the new default waterfall color scheme.
– Capture App:
Your settings for capture rate, file format, and auto-trim are now saved and restored automatically.
UI & UX Improvements
Customizable Waterfall Colors: The Looking Glass and Search apps now use a customizable color gradient. Create your own waterfall.txt file in the WATERFALLS directory on your SD card to change the look!
New “Dark” Theme: A new theme has been added for those who prefer a darker interface.
– New Settings Menus:
Display: Control the new “Fake Brightness” feature and set your screen type (TFT vs. IPS).
Button Speed: Adjust the repeat delay, repeat speed, and long-press delay for the physical buttons.
Responsive UI: Many applications and widgets now dynamically adjust their layout to better fit different screen resolutions.
Improved Keyboard: The on-screen keyboard now defaults to the most logical mode (Alpha, Numeric) depending on the context.
New Icons: Added a huge number of new icons for all the new apps and features.
Under the Hood & For Developers
– External App Architecture: The firmware now supports loading and running applications from the SD card. This is a fundamental architectural shift that allows for greater flexibility and expansion.
– Build System: The minimum required CMake version has been updated to 3.16.
– Code Refactoring: Many internal apps have been moved to the new external app system, cleaning up the main firmware codebase. The de_bruijn.cpp generator has been removed in favor of more modern methods.
SD Card Content
New Directories:
– WATERFALLS/: Place your custom waterfall color gradient files here (e.g., aurora.txt, flame.txt).
– HOPPER/: Store your frequency lists for the new Hopper app here.
– MACADDRESS/: Place the macaddress.db file here for the BLE RX vendor lookup feature.
– SUBGHZ/: For Flipper-compatible .sub files.
New Files:
– Added example files for the new WATERFALLS and HOPPER directories.
– Added macaddress.db for BLE vendor lookup.
– Cleaned Up: Removed old and unused FREQMAN files.
Don’t forget our various and usefull websites:
Mayhem HUB: https://hackrf.app/
Mayhem Main Repository: https://github.com/portapack-mayhem/mayhem-firmware
Mayhem Wiki: https://github.com/portapack-mayhem/mayhem-firmware/wiki
Mayhem User Provided Freqman Files: https://github.com/portapack-mayhem/mayhem-freqman-files
Mayhem MDK: https://github.com/portapack-mayhem/mayhem-mdk
Mayhem ESP32 Module: https://github.com/htotoo/ESP32-Portapack
Thanks to all the contributors on that release !!
#hackrf #portapack #mayhem
If you’re searching for a dual boot guide, see here:
https://remarkable.guide/tech/dualboot.html
If you’re searching for a way to use the Lamy Pen button out of ddvk / rmhacks, see here:
https://www.joshualowcock.com/guide/how-to-install-the-lamy-al-star-pen-button-eraser-hack-on-the-remarkable-2/
Krampus Hack 2024 registrations are opened !
https://tins.amarillion.org/krampu24/
#gamejam #KrampusHack #SecretSanta
Recently I came across a nice video showing the difference between both database.
It’s a clear win for PostgreSQL.
If ever you encounter error like this:
(159/159) checking for file conflicts [###################################################################] 100%
error: failed to commit transaction (conflicting files)
mingw-w64-i686-glib2: /mingw32/bin/gi-compile-repository.exe exists in filesystem
mingw-w64-i686-glib2: /mingw32/bin/gi-decompile-typelib.exe exists in filesystem
mingw-w64-i686-glib2: /mingw32/bin/gi-inspect-typelib.exe exists in filesystem
mingw-w64-i686-glib2: /mingw32/bin/libgirepository-2.0-0.dll exists in filesystem
...and so on...
The use the following command to update your system:
pacman -Suuy --overwrite "*"
The new stable firmware is out, with a bunch of bugfixes, new features, and new apps !!
Here you go for a detailed changelog since 2.0.0 !
First apps changes are listed, and then the UI / Radio / Baseband / Website / GIT ones.
TLDR, main features for that update:
ADSB:
AIS:
Audio:
BLE:
Capture/Recording apps:
Recon:
ERT:
Freqman:
Fileman:
Games:
Fox hunt:
Level:
Looking glass:
Mic:
POCSAG:
RadioSonde:
Settings:
TPMS:
Wardrive Map:
Weather:
Radio:
Tools/Debug:
Baseband:
USB/Serial:
UI:
Code/Build:
Git depot:
Website (https://hackrf.app):
If you are coming from a version <2.0.0, you have to first update using the classic hackrf_spiflash method to bring your firmware to a version >=2.0.0. It will only update the parts of the firmware on the flash, all external apps will NOT be updated using only hackrf_spiflash.
In a second time use the web interface at https://hackrf.app to update to lastest stable/nightly. It will ALSO update external apps that are stored on the sdcard.
If your firmware is already >= 2.0.0, just directly go to https://hackrf.app and update all in one go from there.
!! all sdcard content is NOT updated through website, only the external apps !!
Links:
https://github.com/portapack-mayhem/mayhem-firmware/releases
https://github.com/portapack-mayhem/mayhem-firmware/wiki/Update-firmware
#hackrf #portapack #mayhem #firmware #update
It was found in the upstream git repo sources, and particularly well hidden.
Original article here:
https://www.openwall.com/lists/oss-security/2024/03/29/4
See also
If you’re doing scp command, with ‘-r’ recursive option, and stumble upon a strange “path canonicalization failed” out of nowhere:
Starting from SSH 9.0.0 scp is using sFTP to copy files. And in sFTP, target directories must exist.
Simple fix: use -O, legacy mode:
“Use the legacy SCP protocol for file transfers instead of the SFTP protocol. Forcing the use of the SCP protocol may be necessary for servers that do not implement SFTP, for backwards-compatibility for particular filename wildcard patterns and for expanding paths with a `~’ prefix for older SFTP servers”
#SSH #SCP #ERROR
The reMarkable 2 tablet is an e-ink paper feel like tablet, aimed at note taking, quick drawing, and PDF/EPub reading.
You can read the product informations/hardware directly on the reMarkable website.
It’s voluntarily simple and with no extra apps/functions so you stays focused on what you’re doing. Some says it’s a default, some says it’s a perk. I think it’s a perk 😉
The environnement of the reMarkables (1 & 2) is an open source based linux. By default you can have an ssh access to your tablet, and you have the root access.
Nearly every information on that article can be found in great details here: https://remarkable.guide/
That guide is like the “hitchhiker’s guide to the remarkable world”.
They’re also the ones behind the excellent ‘reMarkable’ discord server
We are not responsible if you break your device.
Read all the documentation BEFORE acting so you know what you do.
If you want to try something undocumented / unsupported, you better ask the question on remarkable discord first.
Let’s start by stating that I’m not willing to use any cloud related functions on that tablet.
I used first codexctl to downgrade the tablet to the last toltec supported version, that is 2.15.1.1189 at the time of the article. Support for 3.X is in the tube, but not yet ready for users.
Then I used toltec to install / manage the linux packets on the reMarkable system.
Once toltec installed, I used the provided opkg commands to install Oxide
Oxide is a desktop environment for the reMarkable tablet.
Features:
See https://oxide.eeems.codes/
Then I installed the following via opkg install (I linked the project pages so you can go to see by yourself):
KOReader : An ebook reader application supporting PDF, DjVu, EPUB, FB2
Plato: An ebook reader application supporting PDF/CBZ/FB2/XPS/ePUB/DJVU reader
Sill: Gesture-based text editor (and shell) for the reMarkable tablet
VNSee: VNC client for the reMarkable tablet allowing you to use the device as a second screen
calculator
rmFM: Bare-bones file manager for the reMarkable paper tablet, built using Node.js and sas
restream: Stream your reMarkable screen over SSH
webinterface-wifi: View the web interface over wifi. For the ReMarkable Tablet
webinterface-upload: Upload button for the web interface, alternative to drag and drop. For the ReMarkable Tablet
webinterface-onboot: Enable the web interface on boot. For the ReMarkable Tablet
I also installed genie and iago (UI for drawing shapes with the pen) and genie (config based gesture launcher) following that reddit comment.
I may have installed a few others, but I’m not using them daily.
For some more, you should explore the Awesome reMarkable page (A curated list of projects related to the reMarkable tablet) as well as toltec package list / toltec entware package list



I tried reCalendar, a free online calendar generator that is also making links on dates
When updating your devices, you may sometimes encounter problems that are directly related to the way you updated and to the changes that have occurred between your version jump.
That guide does not pretend to solve all the problems, some are real issues that have to be opened on the Mayhem GITHUB issues tracker.
On the other hand, if you have followed that guide and still have a problem, your issue have better chances to be solved as it will be possible to set aside common updates related problems.
List of important steps:
You may search each each steps details in the Mayhem GITHUB Wiki, particularly in the following sections:
#hackrf #portapack #mayhem #update #upgrade #guide