Skip to content

Instantly share code, notes, and snippets.

View minanagehsalalma's full-sized avatar
🍒
Meow ?

mina nageh salama minanagehsalalma

🍒
Meow ?
  • no i won't tell you
View GitHub Profile
@minanagehsalalma
minanagehsalalma / Gemini pure patchmatch.js
Created February 17, 2026 18:55
Gemini Stupid watermark remover fixed by Claude.
// ==UserScript==
// @name 🍌 Gemini NanoBanana watermark replacer
// @description Removes Gemini watermark using patch-based texture synthesis.
// Finds the best matching texture patch nearby and blends it in.
// No data leaves your device.
// @namespace Claude
// @version 3.0
// @author Claude
// @match https://gemini.google.com/*
// @grant none
@minanagehsalalma
minanagehsalalma / gemini-fullscreen-canvas-toggle.user.js
Last active February 16, 2026 18:20
Gemini Fullscreen Canvas Toggle - Hide sidebar, header, and chat to focus only on the canvas/artifact with a simple toggle button. Solves the annoying problem of gemini having no fullscreen/pop-out option.
// ==UserScript==
// @name Gemini Chat Toggle - Hide Chat & Fullscreen Canvas
// @namespace Duuuh
// @version 5.2
// @description Toggle button to hide everything except canvas on Google Gemini
// @author Duuuh
// @match *://gemini.google.com/*
// @grant none
// @run-at document-end
// ==/UserScript==
@minanagehsalalma
minanagehsalalma / ChattoPDF.js
Last active February 14, 2026 16:14
A tampermonkey script to export a selected ChatGPT message to proper pdf
// ==UserScript==
// @name ChatGPT Message PDF Downloader — Arabic/RTL (no @require)
// @namespace https://github.com/
// @version 10.0
// @description Export any ChatGPT message to a centered A4 PDF, with full Arabic/RTL support and dark theme. Normal click = selectable text via print; Shift+click = one-click image PDF.
// @author You
// @match https://chatgpt.com/*
// @match https://chat.openai.com/*
// @grant GM_xmlhttpRequest
// @grant GM.xmlHttpRequest
@minanagehsalalma
minanagehsalalma / Extract Dropdown Values.js
Created January 17, 2026 20:39
a bookmarklet that will extract all values from dropdown menus on a page.
javascript:(function(){
const results = [];
// Find all dropdown menu containers
const dropdowns = document.querySelectorAll('.ddChild ul, .dropdown-menu, [class*="dropdown"] ul, [class*="menu"] ul');
dropdowns.forEach((dropdown, idx) => {
const items = dropdown.querySelectorAll('li');
if (items.length > 0) {
@minanagehsalalma
minanagehsalalma / Create Offline APK from Replit app mobile app builder.md
Last active January 16, 2026 21:39
Create Offline APK from Replit app mobile app builder

Replit → Installable Android App (APK) with Expo EAS (No Play Store)

This guide turns your Replit Expo project into a real installable Android app (APK) you can sideload (install directly) without using Expo Go or publishing to the Play Store.


What you’re doing (quick concept)

  • Expo Go + QR = runs your app inside the Expo Go container and usually needs an internet/dev server.
  • EAS Build (internal distribution) = produces a standalone APK you can install like a normal app.
@minanagehsalalma
minanagehsalalma / FuckLDPlayer.md
Last active December 9, 2025 20:44
Kill ads on LDPlayer (systemwide + home screen) Full Guide

Kill ads on LDPlayer (systemwide + home screen) — guide

This covers the “LDPlayer-served” promos: home-screen recommended games row, splash/promo banners, and other injected junk. We’ll use layered defenses so it stays gone.


What you’re trying to remove

  • LDPlayer home screen “recommended games” strip (like in your screenshot)
  • In-emulator promos coming from LD system apps (store/market/recommendation services)
(async function() {
// --- CONFIGURATION ---
const STORAGE_KEY = 'moodle_drive_v13_accurate_nothumbs';
const CONCURRENCY = 5;
// --- 1. OPEN UI ---
const driveWindow = window.open("", "Course_Drive_Pro", "width=1280,height=900,scrollbars=yes");
if (!driveWindow) { alert("Please allow popups!"); return; }
driveWindow.document.write(`
// Title: Messenger Multi-Forward Tool (WhatsApp Style - Fixed Order)
// Description: Adds visual checkboxes inside message bubbles and fixes forward stacking order.
(function() {
// --- Configuration ---
// We target the specific message container to place checkbox nicely
// "div[role='row']" is the wrapper. Inside we usually find the content.
const SELECTOR_MESSAGE_ROW = '[role="row"]';
// SVG Path for the "Three Dots" icon (Vertical & Horizontal)
@minanagehsalalma
minanagehsalalma / messenger-audio-downloader.js
Last active November 22, 2025 20:43
Facebook Messenger Audio Downloader (v12.0) - One-click download. Auto-plays/pauses to capture source, converts to real MP3 (with WAV fallback).
// ============================================================================
// AUDIO SNIPPET DOWNLOADER v12.0 (Robust Auto-Pause)
// ============================================================================
// FIX: Uses the 'playing' event listener to ensure pause commands are respected
// by the browser's media engine.
// ============================================================================
(function() {
console.log("Audio Downloader v12: Robust Auto-Pause Active.");
// YouTube Comments Extractor - With Full Reply Support
// Run this in the browser console while on a YouTube video page
async function extractAllYouTubeComments() {
console.clear();
console.log('%c🎬 YouTube Comments Extractor (With Replies)', 'font-size: 16px; font-weight: bold; color: #00ff00');
// First, expand ALL "Show replies" buttons
console.log('📂 Expanding all reply threads...');
let expandCount = 0;