/ readme.md
readme.md
  1  # Aliases: whipped_love / whippedlove
  2  
  3  ## Real name: Morgan Pietras
  4  
  5  ### Full name: Morgan Taylor Pietras
  6  
  7  # Onlyfans leak:
  8  
  9  https://buzzheavier.com/fuorv1yrxw3d
 10  
 11  https://onlyfans.com/whippedlove
 12  
 13  snap @whipped_love | Twitter @Love_whipped
 14  
 15  # Her address:
 16  
 17  1341 E 41st St
 18  Erie PA 16504
 19  
 20  # Twitter:
 21  
 22  https://xcancel.com/love_whipped
 23  
 24  https://web.archive.org/web/*/http://twitter.com/love_whipped/status/*
 25  
 26  # Snap:
 27  
 28  https://www.snapchat.com/@whipped_love
 29  
 30  # Facebook:
 31  
 32  https://www.facebook.com/morgan.pietras.58
 33  
 34  Guessed with some IMINT and public records.
 35  
 36  https://ujsportal.pacourts.us/Report/MdjDocketSheet?docketNumber=MJ-06104-LT-0000306-2025&dnh=e%2Bb%2BXhb%2Bio1mMOewyoA1Wg%3D%3D
 37  
 38  # to run your own shit:
 39  
 40  https://rentry.co/vp2in943
 41  
 42  check this thread here
 43  
 44  https://chan.kemono.party/coomer/res/9766.html
 45  
 46  https://chan.kemono.party/kemono/res/67260.html
 47  
 48  ### yml file for compose, create this first; edits are welcome!:
 49  
 50  	version: '3.8'
 51  	
 52  	services:
 53    	radicle:
 54      	image: ff0x/radicle:latest
 55      	container_name: radicle-seed
 56      	restart: unless-stopped
 57      	environment:
 58        	+ RAD_ALIAS=anon
 59      	volumes:
 60        	+ radicle-data:/app/radicle
 61        	# Mount with read-write permissions to a physical drive
 62        	+ /value/value/value/value/value/value:/var/lib/radicle/targetdir:rw
 63      	ports:
 64        	+ "8776:8776"
 65        	+ "8777:8777"
 66      	networks:
 67        	+ radicle-network
 68  	
 69  	volumes:
 70    	radicle-data:
 71      	name: radicle-data
 72  	
 73  	networks:
 74    	radicle-network:
 75      	name: radicle-network
 76      	driver: bridge
 77  
 78  ### to run everything do this:
 79  
 80  	docker compose up -d && docker exec -it radicle-seed /bin/ash
 81  
 82  ### shut it down goyim.
 83  
 84  	docker compose down
 85  
 86  ## Vids, provide the filename with it; provided with catbox upload as an option:
 87  
 88  	"./upload/Videos.part01.rar" : https://files.catbox.moe/pxqt7a.rar
 89  	"./upload/Videos.part02.rar" : https://files.catbox.moe/o3oqyh.rar
 90  	"./upload/Videos.part03.rar" : https://files.catbox.moe/1gkywr.rar
 91  	"./upload/Videos.part04.rar" : https://files.catbox.moe/8zpcno.rar
 92  	"./upload/Videos.part05.rar" : https://files.catbox.moe/2ktb4l.rar
 93  	"./upload/Videos.part06.rar" : https://files.catbox.moe/zcw87y.rar
 94  	"./upload/Videos.part07.rar" : https://files.catbox.moe/h6t1bu.rar
 95  	"./upload/Videos.part08.rar" : https://files.catbox.moe/2e14mx.rar
 96  	"./upload/Videos.part09.rar" : https://files.catbox.moe/am7pf9.rar
 97  	"./upload/Videos.part10.rar" : https://files.catbox.moe/8f4ccn.rar
 98  	"./upload/Videos.part11.rar" : https://files.catbox.moe/lzcgrs.rar
 99  	"./upload/Videos.part12.rar" : https://files.catbox.moe/qluqnn.rar
100  	"./upload/Videos.part13.rar" : https://files.catbox.moe/d0gblc.rar
101  	"./upload/Videos.part14.rar" : https://files.catbox.moe/jwuksd.rar
102  	"./upload/Videos.part15.rar" : https://files.catbox.moe/e8xeto.rar
103  
104  ## Use jdownloader2 and extract into wherever, do not extract into a sub dir; just enter a package name and disable auto extraction.
105  
106  	i=1; for f in *.rar; do [ -f "$f" ] || continue; mv "$f" "$(printf "Videos.part%03d.rar" $i)"; i=$((i+1)); done
107  
108  ## Shell scripts/vid info:
109  
110  ### checksums, always ALWAYS provide these otherwise you're trans:
111  
112  	818685619837df9e37acba3760d69692f7bd75e49a33724322d1b3aba5b625a7  Videos.part01.rar
113  	fcc99f4709e62b18e8dcfb201fef0336468a3e7faa012742ca1582a4f5125116  Videos.part02.rar
114  	3bb805dccac4330055282bb9e4ec1eee8f34c1a5ce04b264ce5ac8cf8f41697c  Videos.part03.rar
115  	edb7068faa4995065a79ca49299e49dfbc981d55b3abde1c4839cf9b736fc38c  Videos.part04.rar
116  	8fc1c6168dcf8ef76cf57e2ebd3bc51ade64a60bc73e0d0f7178d66377197267  Videos.part05.rar
117  	a72ebdf64e3dcd8e058119be445bd58110b492785c5c0d959e57e71391882441  Videos.part06.rar
118  	126b946d2d7e3dbb2f48f8d01566e8dc1ebe0356d77a0f9606b61f79921fbaeb  Videos.part07.rar
119  	7e96b0b2d2b062bd061219695ebe5a56f3a6f022318db69796145338ef590cf7  Videos.part08.rar
120  	5476ee5772b6777637072726ac3356f129db617929dad5f1c4de1953d3ddf925  Videos.part09.rar
121  	9787942ca4e7938f0a10b4e9e08ba4ce0defed865e3015ff9dd7f782534b4436  Videos.part10.rar
122  	a6b620fecf6472949d31225ba24f7ba49f78eb6f6e4cbffd495b94a92dd184be  Videos.part11.rar
123  	aa81e4c6b2b22a6b883e9ca14b940a9dca2088d8d75ab0ffaca253dbadba65b4  Videos.part12.rar
124  	dcbe379c30b15f4d25b9e66bcd52cf0d839b85931f1d3bc004144d430d6af6a7  Videos.part13.rar
125  	ce9d598f2f1b212ecc80644155e085b109acfc039c32d6b47a4fe1afe45bcbd3  Videos.part14.rar
126  	f4592b7c7bb7567926f535fcf05675d8af31d74449dbfa74e90b6d191d042990  Videos.part15.rar
127  	
128  	3858384470 209715200 Videos.part01.rar
129  	1806361138 209715200 Videos.part02.rar
130  	3962459451 209715200 Videos.part03.rar
131  	656176106 209715200 Videos.part04.rar
132  	3246287787 209715200 Videos.part05.rar
133  	958825508 209715200 Videos.part06.rar
134  	2236850233 209715200 Videos.part07.rar
135  	3169408941 209715200 Videos.part08.rar
136  	858133467 209715200 Videos.part09.rar
137  	3510469290 209715200 Videos.part10.rar
138  	4217100611 209715200 Videos.part11.rar
139  	823605320 209715200 Videos.part12.rar
140  	289583675 209715200 Videos.part13.rar
141  	3357929346 209715200 Videos.part14.rar
142  	1687462788 30862299 Videos.part15.rar
143  
144  
145  ## To verify the checksums:
146  
147  	#!/bin/bash
148  	
149  	# Usage: ./checksum.sh provided_checksums.txt
150  	REF_FILE=$1
151  	
152  	if [ ! -f "$REF_FILE" ]; then
153      	echo "Error: Reference file '$REF_FILE' not found."
154      	exit 1
155  	fi
156  	
157  	echo "--- Starting Smart Verification ---"
158  	echo "This will show which original part each file corresponds to"
159  	echo "----------------------------------------"
160  	
161  	for file in *.rar; do
162      	[ -e "$file" ] || continue
163  	
164      	# Calculate local hashes
165      	sha_val=$(sha256sum "$file" | awk '{print $1}')
166      	ck_val=$(cksum "$file" | awk '{print $1}')
167      	size=$(stat -c %s "$file" 2>/dev/null || stat -f %z "$file" 2>/dev/null)
168  	
169      	# Find matching line in reference file
170      	matched_line=$(grep "$sha_val" "$REF_FILE" | head -1)
171      	
172      	if [ -n "$matched_line" ]; then
173          	# Extract the original filename from the matched line (last field)
174          	original_name=$(echo "$matched_line" | awk '{print $NF}')
175          	echo -e "\e[32m✓ $file\e[0m → $original_name (Size: $size bytes)"
176      	else
177          	echo -e "\e[31m✗ $file\e[0m - No matching hash found in reference file!"
178          	echo "  Hash: $sha_val"
179      	fi
180  	done
181  	
182  	echo "----------------------------------------"
183  	echo "Verification complete: All files are intact."
184  
185  ## Commit
186  
187  	#!/bin/sh
188  	
189  	# Be sure you're not in the target dir, just in the home dir please.
190  	mkdir ~/init && cd ~/init && cp -R ~/targetdir/* ./
191  	
192  	# Initialize git repository (in current directory /var/lib/radicle/init)
193  	git init
194  	
195  	# Set git global config
196  	git branch -m main
197  	git config --global user.email "you@example.com"
198  	git config --global user.name "Your Name"
199  	
200  	# Increase buffer size
201  	git config --global http.postBuffer 524288000
202  	
203  	# this commit message can be anything really.
204  	# add the shit you need with git add
205  	git add readme.md Images cksum.sh
206  	git commit -m "Tell Crystal I said Hi and I won in the end lol, from an Inglourious /b/tard."
207  	
208  	# THEN: Run rad init
209  	rad init
210  	
211  	sleep 20
212  	rad self
213  	sleep 20
214  	rad node status
215  
216  ## Py scripts
217  
218  ```
219  # A modified catbox uploader, more clean and less messy.
220  import os
221  import requests
222  from datetime import datetime
223  
224  credits="""
225  This program is made and maintained by Andrew
226  This program is open source and free to use
227  MIT @ 2025 
228  Support me by Starring the project & following me on Github:
229  - https://github.com/Andrewgxgx/catbox.moe
230  - https://github.com/Andrewgxgx
231  """
232  api = "https://catbox.moe/user/api.php"
233  api_litterbox="https://litterbox.catbox.moe/resources/internals/api.php"
234  os_unix="/"
235  os_windows="\\"
236  control=0
237  start=0
238  formatting = 2  # Default formatting
239  user_os = os_unix  # Default OS
240  
241  def get_user_preferences():
242      global user_os, control
243      while True:
244          print("""Please choose your OS:
245            1. Windows
246            2. Unix (Linux, MacOS)
247            3. Temple OS 
248            4. Other
249            Type the number of your choice.
250          """)
251          Preferences = input("Enter a number 1 to 4: ")
252          if Preferences == "1":
253              user_os = os_windows
254              break
255          elif Preferences == "2":
256              user_os = os_unix
257              break
258          elif Preferences == "3":
259              print("Hello Terry Davis, We currently don't support Temple OS")
260              print("Exiting...")
261              control = 1
262              exit()
263          elif Preferences == "4":
264              user_os = os_unix
265              print("Using Unix-style paths as default")
266              break
267          else:
268              print("Please type 1, 2, 3, or 4")
269  
270  def format():
271      global formatting, start
272      print("""
273            How would you like to format your links?
274            1. <file path>: <link>
275            2. <link>
276            3. <numbered list>. <link>
277            4. <Timestamp (hh:mm:ss)> : <File path> : <Link>
278            5. <custom string (user input)> : <link> 
279            """)
280      try:
281          formatting = int(input("Enter a number 1 to 5: "))
282          start = 0
283      except ValueError:
284          print("Invalid input, using default format (link only)")
285          formatting = 2
286  
287  def check_upload_folder():
288      """Check if upload folder exists and warn if empty"""
289      folder_path = f".{user_os}upload"
290      if not os.path.exists(folder_path):
291          print(f"Warning: Folder '{folder_path}' does not exist!")
292          create = input("Create it now? (Y/N): ")
293          if create.upper() in ["Y", "YES", "YE"]:
294              os.makedirs(folder_path)
295              print(f"Created {folder_path}. Please add files to upload and run again.")
296              exit()
297          else:
298              print("Exiting...")
299              exit()
300      return folder_path
301  
302  def save_links_to_file(content):
303      """Save links, ALWAYS overwriting the existing file"""
304      try:
305          with open("uploaded_links.txt", "w", encoding='utf-8') as f:
306              f.write(content)
307          print("✅ Links saved to uploaded_links.txt (file overwritten)")
308      except Exception as e:
309          print(f"❌ Error saving to file: {str(e)}")
310  
311  def get_files_from_folder():
312      """Get list of files from upload folder"""
313      folder_path = check_upload_folder()
314      files_to_upload = []
315      
316      print("\nScanning for files...")
317      for root, dirs, files in os.walk(folder_path):
318          for file in files:
319              file_path = os.path.join(root, file)
320              print(f"Found: {file_path}")
321              files_to_upload.append(file_path)
322      
323      if not files_to_upload:
324          print("No files found in upload folder!")
325          return []
326      
327      print(f"\nFound {len(files_to_upload)} file(s)")
328      confirm = input("Upload these files? (Y/N): ")
329      
330      if confirm.upper() in ["Y", "YES", "YE", "YEAH"]:
331          return files_to_upload
332      return []
333  
334  def upload_to_service(api_url, data, files):
335      """Wrapper for requests.post"""
336      try:
337          return requests.post(api_url, data=data, files=files)
338      except Exception as e:
339          print(f"Network error: {str(e)}")
340          return None
341  
342  def process_uploads(files_to_upload, upload_function, additional_data=None):
343      """Generic upload processor"""
344      global start, formatting
345      
346      all_links = ""
347      total_files = len(files_to_upload)
348      
349      for idx, file_path in enumerate(files_to_upload, 1):
350          print(f"Uploading [{idx}/{total_files}]: {file_path}")
351          
352          try:
353              with open(file_path, "rb") as item:
354                  files = {"fileToUpload": item}
355                  data = {"reqtype": "fileupload"}
356                  if additional_data:
357                      data.update(additional_data)
358                  
359                  response = upload_function(data, files)
360              
361              if response and response.status_code == 200:
362                  link = response.text.strip()
363                  
364                  if formatting == 1:
365                      formatting_write = f'"{file_path}" : {link}\n'
366                  elif formatting == 2:
367                      formatting_write = f"{link}\n"
368                  elif formatting == 3:
369                      start += 1
370                      formatting_write = f"{start}. {link}\n"
371                  elif formatting == 4:
372                      current_time = datetime.now().strftime("%H:%M:%S")
373                      formatting_write = f"[{current_time}]: {file_path} : {link}\n"
374                  elif formatting == 5:
375                      write = input("Put text before the link: ")
376                      formatting_write = f"{write} : {link}\n"
377                  else:
378                      formatting_write = f"{link}\n"
379                  
380                  all_links += formatting_write
381                  print(f"✓ Uploaded: {link}")
382              else:
383                  print(f"✗ Failed to upload: {file_path}")
384                  
385          except Exception as e:
386              print(f"✗ Error uploading {file_path}: {str(e)}")
387      
388      if all_links:
389          save_links_to_file(all_links)
390          print(f"\n✅ Successfully uploaded {len(files_to_upload)} files")
391      else:
392          print("\n❌ No files were uploaded successfully")
393  
394  def upload_links():
395      """Handle URL uploads - ALWAYS OVERWRITES the file"""
396      all_links = ""
397      print("\nEnter links to upload (type 'done' when finished):")
398      while True:
399          enter_links = input("Link: ")
400          if enter_links.lower() == "done":
401              break
402          
403          data = {"reqtype": "urlupload", "url": enter_links}
404          response = upload_to_service(api, data, None)
405          
406          if response and response.status_code == 200:
407              print(f"✓ Uploaded: {response.text}")
408              all_links += f"{response.text}\n"
409          else:
410              print("✗ Failed to upload link")
411      
412      if all_links:
413          save_links_to_file(all_links)
414      else:
415          print("No links were uploaded")
416  
417  def upload_links_with_account(account):
418      """Handle URL uploads with account - ALWAYS OVERWRITES the file"""
419      all_links = ""
420      print("\nEnter links to upload (type 'done' when finished):")
421      while True:
422          enter_links = input("Link: ")
423          if enter_links.lower() == "done":
424              break
425          
426          data = {
427              "reqtype": "urlupload",
428              "userhash": account,
429              "url": enter_links
430          }
431          response = upload_to_service(api, data, None)
432          
433          if response and response.status_code == 200:
434              print(f"✓ Uploaded: {response.text}")
435              all_links += f"{response.text}\n"
436          else:
437              print("✗ Failed to upload link")
438      
439      if all_links:
440          save_links_to_file(all_links)
441      else:
442          print("No links were uploaded")
443  
444  def catbox_no_acc():
445      linkornot = input("Upload via link? (Y/N): ")
446      
447      if linkornot.upper() in ["Y", "YE", "YES"]:
448          upload_links()
449      else:
450          files_to_upload = get_files_from_folder()
451          if files_to_upload:
452              format()
453              process_uploads(
454                  files_to_upload,
455                  lambda d, f: upload_to_service(api, d, f)
456              )
457  
458  def catbox_with_acc():
459      account = input("Enter your account hash: ")
460      if not account:
461          print("Account hash required!")
462          return
463      
464      linkornot = input("Upload via link? (Y/N): ")
465      
466      if linkornot.upper() in ["Y", "YE", "YES"]:
467          upload_links_with_account(account)
468      else:
469          files_to_upload = get_files_from_folder()
470          if files_to_upload:
471              format()
472              process_uploads(
473                  files_to_upload,
474                  lambda d, f: upload_to_service(api, d, f),
475                  {"userhash": account}
476              )
477  
478  def litterbox():
479      files_to_upload = get_files_from_folder()
480      if not files_to_upload:
481          return
482      
483      time_options = {"1h", "12h", "24h", "72h"}
484      while True:
485          time = input("Upload duration? (1h, 12h, 24h, 72h): ").lower()
486          if time in time_options:
487              break
488          print("Invalid duration. Please enter 1h, 12h, 24h, or 72h")
489      
490      format()
491      process_uploads(
492          files_to_upload,
493          lambda d, f: upload_to_service(api_litterbox, d, f),
494          {"time": time}
495      )
496  
497  def menu():
498      global control
499      print(f"""
500  {credits}
501  =========
502  Welcome to CATBOX & Litterbox Uploader!
503  Choose your options! 
504  1. Upload to Catbox.moe (No account, perma)
505  2. Upload to Catbox.moe (with account)
506  3. Upload to Litterbox (temp upload)
507  4. Exit / Stop program
508  ====
509  Note: uploaded_links.txt will be OVERWRITTEN each time you upload!
510  """)
511      
512      try:
513          opt = int(input("Type 1,2,3 or 4: "))
514          if opt == 1:
515              print("Catbox - no account")
516              catbox_no_acc()
517          elif opt == 2:
518              print("Catbox - with account")
519              catbox_with_acc()
520          elif opt == 3:
521              print("Upload to LitterBox")
522              litterbox()
523          elif opt == 4:
524              print("Exiting...")
525              control = 1
526          else:
527              print("Invalid option. Please enter 1-4")
528      except ValueError:
529          print("Please enter a valid number")
530  
531  # Main program
532  if __name__ == "__main__":
533      print(credits)
534      print("Welcome to the Catbox Uploader")
535      print("Please choose your OS first, before getting started")
536      get_user_preferences()
537      
538      folder_path = f".{user_os}upload"
539      if not os.path.exists(folder_path):
540          os.makedirs(folder_path)
541          print(f"Created upload folder: {folder_path}")
542          print("Please add files to upload and run again.")
543          exit()
544      
545      while control == 0:
546          menu()
547          if control != 1:
548              input("\nPress Enter to continue...")
549      
550      print("\n" + credits)
551      print("Thank you for using the Catbox Uploader")
552      print("Exiting...")
553  ```
554  
555  ***Uploading may take a while depending on size of the pussy***
556  
557  # fix the container on the host drive for the directory it's mounted on docker.
558  
559  ## Suppose container runs as UID 1000, GID 1000:
560  
561  ## First verify, if it's ID 1000, GID 1000 it isn't owned by the container.
562  
563  	ls -lh
564  
565  ## Then do this
566  
567  	sudo chown -R 1000:1000 /folder && sudo chmod -R 777 /folder
568  
569  ## Copy paste from the thread(s):
570  
571  /kemono/
572  
573  Creators suddenly deleting everything for whatever reason? Worried about losing content at any time?
574  
575  https://wiki.archiveteam.org
576  
577  https://archive.today
578  
579  https://web.archive.org
580  
581  TPB (please post if current node goes down, build src: https://git.sr.ht/~kycklingar/PBooru)
582  
583  Sharing your paid stuff with others (thanks Zodiac from /coomer/)
584  
585  https://fmhy.net
586  
587  https://radicle.xyz
588  
589  https://bunkr.cr (use bunkr-albums if it's down)
590  
591  https://catbox.moe
592  
593  Feel free to list all other alternatives for others to join and help. Whenever you see something, try and archive it right away - don't wait until it is gone. Archive often and make sure you use snapshot support to prevent bad actors from overwriting content.
594  
595  Creators who actually want to archive their stuff instead of bitching and moaning about piracy are welcome. Thanks guys.
596  
597  buzzheavier.com/
598  
599  mega.io/
600  
601  https://fmhy.net/file-tools#cloud-storage
602  
603  https://fmhy.net/file-tools#mega-tools
604  
605  https://gitlab.com/grrfe/cockli-gen
606  
607  https://fmhy.xyz/internet-tools#archiving
608  
609  https://archivebox.io/
610  
611  https://github.com/datawhores/OF-Scraper
612  
613  https://github.com/patrickkfkan/patreon-dl
614  
615  https://fmhy.net/linux-macos#server-selfhosting
616  
617  https://github.com/karimawi/CatboxUploader (see above)
618  
619  Also  don't forget to clone with either rad or git to preserve the data and circulate it; you can also do so with rad fork like git but I have no idea how that works.
620  
621  So it's best off to create a new radicle repo with rad init instead and place the files that way, be sure to delete the .git/ dir and start from scratch when cloned.
622  
623  Also be sure that git "knows" who you are before entering a commit with changes, just run the script it will be the first time doing this really (you deleted the git dir remember?)
624  
625  Also would note that in radicle seed status is where your stuff is, it can take a while so keep the docker container running for a bit to collect peers.
626  
627  # Trouble shooting:
628  
629  ## to show
630  
631  docker network ls
632  
633  docker volume ls
634  
635  docker container ls
636  
637  ## Remove
638  
639  docker container ls
640  
641  docker volume ls
642  
643  docker network ls
644  
645  ## see what's running
646  
647  docker ps -all
648  
649  for all the commands issue the command in the respected command such as rad or docker.
650  
651  Also I think the sharty noticed, nice gem:
652  
653  https://soybooru.com/post/view/10707#search=zodiac
654  
655  https://soyjakwiki.org/Dailyjak:January_15,_2026
656  
657  - Zodiac