
Sideblog for https://www.tumblr.com/leilanising-vault-of-knowledge
191 posts
Hello Dear Friends!
Hello dear friends! ❤🤍🖤💚
🍉I am Mahmoud Ayyad, a Palestinian from the besieged and destroyed Gaza 😭😭, coming from an extended family of young children, women and elderly people ❤❤ who have been suffering😭😭 for 300 difficult days from an aggressive war.
Our lives are harsh because we lack all the basic necessities of life. Everything has become scarce and unattainable. There is no food, no water, no medicine.
So, I ask you to help me keep my family safe and alive, especially after we had lost all our sources of livelihood.Please do not leave my family to struggle and suffer these difficult days alone. You can support my campaign by donating whatever you can or by sharing my posts to reach others who can help us survive the war to safety and peace. You are helping the lives of many people with your small contribution. Every donation makes a difference in our very difficult lives. But this is a legitimate campaign and has been checked by 90-ghost.
https://gofund.me/31c5cbe3

This has been vetted. Please share and donate if you are able <3
More Posts from Leilanising-sideblog
Are u alive? ;4
hewo my friend!! Thank you so much for checking on me!
While this blog is technically my side account, it's actually my main account, but I'm more active on my side account, here! @leilanising
I am so sorry for the confusion 😔 but I rlly appreciate getting a message from you ^^
Go to bed‼️
ACK- how dare you call me out like this >:O
can't you see I'm trying to watch a 1 hour youtube video while getting this minecraft jungle tree to grow, all at 2:13 am?
I don't need slep, what I need mis more time, jii i dont needs sleep no slepse for me :3
you jncankla meake me
https://gofund.me/2b8a25aa
🇵🇸🍉🇵🇸🍉🇵🇸🍉🇵🇸🍉
Hey there! I am Majed from Gaza. My family and I are in desperate need of help to rebuild our lives after escaping the war in Gaza💔. Every donation can make a huge difference in securing a safe home and allowing my children to continue their education🙏. Please click the link below to donate or share our story.❤️🍉

This has been vetted. Please share and donate if you can <3
import requests
from requests_oauthlib import OAuth1
import json
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.common.exceptions import NoSuchElementException
import pickle
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
import pyperclip
# Replace these values with your Tumblr API credentials
CONSUMER_KEY = 'IPTeKkiLSZ2wQ1io5vo5G37AN2thcbSwXOJgqL4SjHV2wLoNce'
CONSUMER_SECRET = 'lE97QdUIAj7svMGDznbcxmsFubj1iIr06hHJ4cLGCaM2wedIio'
TOKEN = 'wovWkA5KSv6XAbMvf5gkAr2V0hGyoRpxbdgM0uoN6qsSzg5OsI'
TOKEN_SECRET = 'gkDd6pBbvsPbUp0Eh95AQQp2CQi5qFzKNtvJ0qPo0far60BqxD'
# CONSUMER_KEY = 'wye8qq5zYT875se51OwUNwPaUvFjvE5ONkzYZ2nsgkoEXnUQfv'
# CONSUMER_SECRET = 'QxLe87coDa0NFzCZRS4KR6gOCxRIEzMqLzOVrH0hc1CVsUjJ35'
# TOKEN = 'fweQkfHHtNWgWiS8KOOFA6bzljfA47cldg44FkljdUbtaV51Uz'
# TOKEN_SECRET = 'l9uS5eLJ2XkRb8D93avCUTeLdxp6m8zDwUTTClgpNZjDGHYMFc'
# CONSUMER_KEY = 'ncRYD9hDIu0uV1tFk2bTxm2F3UDuZ1kM6gsTKO7TAIv9ZQ3rcW'
# CONSUMER_SECRET = '94lTdrh6izgyqP79aSI0HpBSvLAg4PiNRzYEHZTxGWrhWsr4MJ'
# TOKEN = 'vdPho0RVxZANZKVV02HzKKGDVbwMbMNdDckj1dy6GEqIXPvsX3'
# TOKEN_SECRET = '4f7Wfm8oc4mZ94BEH2z9P7fcOHt1tm8AoI3LoAThfKsZ1gWFSz'
# Tumblr API endpoints
BASE_URL = "https://api.tumblr.com/v2"
SENT_ASKS_FILE = "sent_asks.json"
BLOG_NAME = "abedalazeiz"
POST_ID = "756236689516691456"
ASK_MESSAGE = ("I know for sure that you can't help all families from Gaza that want to be evacuated from here but at least you can help those who come across your life. You have no idea how mentally and emotionally tiring this is. Asking for help is not easy. But when thinking that the price is my family's life and getting out of here safely, it just pushes me more and more to do this until i reach my goal, be able to attend my university abroad and achieve my doctoral degree dream after awarding prestigious PhD fellowship. Please donate and share to support us standing at this hard time.\n https://gofund.me/d597b8e2")
# OAuth 1.0a authentication
auth = OAuth1(CONSUMER_KEY, CONSUMER_SECRET, TOKEN, TOKEN_SECRET)
# = ""
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
options.add_argument("--start-maximized")
options.add_experimental_option('excludeSwitches', ['enable-automation'])
options.add_experimental_option('useAutomationExtension', False)
options.page_load_strategy = 'none' #eager
driver = webdriver.Chrome(options=options)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})
def load_sent_asks():
try:
with open(SENT_ASKS_FILE, 'r') as file:
sent_asks = json.load(file)
print(f"Loaded sent asks: {sent_asks}")
return sent_asks
except FileNotFoundError:
print("No sent asks file found, starting fresh.")
return []
def save_sent_asks(sent_asks):
with open(SENT_ASKS_FILE, 'w') as file:
json.dump(sent_asks, file)
def get_reblogs(after=None):
url = f"{BASE_URL}/blog/{BLOG_NAME}/notes?id={POST_ID}&mode=likes&limit=20" #reblogs
if after:
url += f"&after={after}"
print(f"Fetching reblogs from URL: {url}")
response = requests.get(url, auth=auth)
response.raise_for_status()
return response.json()
def send_ask(account_name):
print(f"Sending ask to {account_name}")
driver.get(f"https://www.tumblr.com/new/ask/{account_name}")
driver.implicitly_wait(40)
actions = ActionChains(driver)
try:
#loadingSelector = '#glass-container > div > div > div > div > div > div > div.Y21sU > div > div.oDBam > div > div'
#WebDriverWait(driver, 30).until(EC.invisibility_of_element_located(driver.find_element(By.CSS_SELECTOR, loadingSelector)))
#actions.key_down(Keys.ENTER).key_up(Keys.ENTER).perform()
field = driver.find_element(By.CSS_SELECTOR, '#glass-container > div > div > div > div > div > div > div.Y21sU > div > div.oDBam > div:nth-child(2) > div > div:nth-child(4) > div.block-editor-writing-flow > div > div')
field.send_keys("\n")
actions.key_down(Keys.LEFT_CONTROL).send_keys('v').key_up(Keys.LEFT_CONTROL).perform()
askselector = '#glass-container > div > div > div > div > div > div > div.Y21sU > div > div.Q1jRN > div > div > div > button > span'
ask = driver.find_element(By.CSS_SELECTOR, askselector)
ask.click()
WebDriverWait(driver, 60).until(EC.invisibility_of_element_located(ask))
except Exception as e:
print("hmmm")
def main():
print("Starting script...")
sent_asks = load_sent_asks()
previousSave = len(sent_asks)
after = None
pyperclip.copy(ASK_MESSAGE)
try:
with open('cookies.pkl', 'rb') as file:
cookies = pickle.load(file)
driver.get('https://www.tumblr.com')
for cookie in cookies:
driver.add_cookie(cookie)
#driver.refresh()
except FileNotFoundError:
driver.get('https://www.tumblr.com/login')
input("Log in to Tumblr and then press Enter to continue...")
cookies = driver.get_cookies()
with open('cookies.pkl', 'wb') as file:
pickle.dump(cookies, file)
while True:
data = get_reblogs(after=after)
reblogs = data.get('response', {}).get('notes', [])
if not reblogs:
break
for reblog in reblogs:
account_name = reblog['blog_name']
if account_name in sent_asks:
print(f"Already sent ask to {account_name}, skipping.")
continue
try:
url = f"https://api.tumblr.com/v2/blog/{account_name}/info"
response = requests.get(url, auth=auth)
if response.status_code == 200:
blog_info = response.json().get('response', {}).get('blog', {}).get('ask', False)
if blog_info:
send_ask(account_name)
sent_asks.append(account_name)
save_sent_asks(sent_asks)
else:
print(f"{account_name} doesn't accept asks")
else:
return print("request not available")
except requests.exceptions.HTTPError as e:
print(f"Failed to process {account_name}")
after = data.get('response', {}).get('_links', {}).get('next', {}).get('href')
if not after:
break
# url = f"https://api.tumblr.com/v2/blog/impossiblebool/info"
# response = requests.get(url, auth=auth)
# if response.status_code == 200:
# blog_info = response.json().get('response', {}).get('blog', {}).get('ask', False)
# send_ask("impossiblebool")
# else:
# return print(f"impossiblebool doesn't accept asks>>>>")
print(f"Script finished, new sent asks number: {len(sent_asks) - previousSave}")
if __name__ == "__main__":
main()

This has been vetted. Please share, and donate if you can <3
careful it leaves a mark
Animation by: Yin Youtube Twitter
Idea by AB