Exploit chrome's profile sync for free cloud storage

Overview

BookmarkFS - the dumbest project i've ever made

Exploits the google chrome bookmark sync service to store files for free

Installation and usage

  1. Go to releases and download bookmarkfs.crx
  2. Go to chrome://extensions and enable developer mode
  3. Drag and drop the .crx file into the extensions page

To upload a file, click on the icon for the extension and it will open up a page where you can upload, download, and delete files

How does it work?

Every bookmark can contain a maximum of 9092 charaters before google refuses to sync them. Using base64 encoding, this means you can fit around 72kb into a single bookmark. When you upload a file, it gets compressed using gzip, encoded into base64, split into multiple bookmarks, and stored into folders corresponding with the file name.

Demo

sample.mp4

Things you might be wondering

"Why?" "Science isn't about why, it's about why not" - Cave Johnson

"What's the max file size?" Not infinite, unfortunately. The syncing should be theoretically infinite, I've tested with over 10k bookmarks and file sizes > 100MB, but the bottleneck is your computer's memory. When you launch the extension, all of the files will eventually get loaded into RAM, slowing things down quite a bit and eventually crashing chrome with enough files. There might be ways to get around this.

"Why folders? there aren't any actual bookmarks" Using bookmarks works, and since the url section can be used as well, you can get over well double the storage density. However, chrome does not seem to sync bookmarks that long nested so deeply. Fortunately, it has no problems with me using folders and storing as much of them as I want

Building from source

  1. clone the github repo
  2. npm run build
  3. go to chrome://extensions, hit load unpacked and select the folder

Disclaimer

DO NOT hover over the bookmarks folder when large files are uploaded. It will freeze chrome, or if you're using a chromebook it crashes the entire chromebook. At one point it even made Xorg crash.

Partially inspired by spreadsheetfs

You might also like...

An experimental webkit-based kernel exploit (Arb. R/W) for the PS5 on 4.03 & 4.50FW

PS5 4.xx Kernel Exploit Summary This repo contains an experimental WebKit ROP implementation of a PS5 kernel exploit based on TheFlow's IPV6 Use-After

Nov 17, 2022

A GitHub Action to cache your workload to a Google Cloud Storage bucket.

A GitHub Action to cache your workload to a Google Cloud Storage bucket.

Google Cloud Storage Cache Action GitHub already provides an awesome action to cache your workload to Azure's servers hosted in United States. However

Dec 15, 2022

The officially supported cloud storage plugin for Payload CMS.

Payload Cloud Storage Plugin This repository contains the officially supported Payload Cloud Storage plugin. It extends Payload to allow you to store

Dec 21, 2022

A shared, encrypted cloud storage using Nostr.

nostr-storage A shared, encrypted cloud data store using Nostr. Installation This package is designed to work in both the browser and nodejs. !-- Bro

Dec 21, 2022

CookieKas, free cashier app built with nextjs and local storage as database

This is a Next.js project bootstrapped with create-next-app. Getting Started First, run the development server: npm run dev # or yarn dev Open http://

Dec 22, 2022

Automatically sync your leetcode solutions to your github account - top 5 trending GitHub repository

Automatically sync your leetcode solutions to your github account - top 5 trending GitHub repository

LeetHub - Automatically sync your code to GitHub. Top 5 Trending JavaScript Repositories Available on: What is LeetHub? A chrome extension that automa

Dec 31, 2022

This tool allows you to test your chains.json file to see if your chains are available, syncing, or in sync.

Chains Tester This tool allows you to test your chains.json file to see if your chains are available, syncing, or in sync. This is an open source tool

Nov 4, 2022

Obsidian plugin to sync Pinboard.in links to Daily Notes

Obsidian Pinboard Sync An Obsidian plugin that adds links you've saved with Pinboard to your Obsidian Daily Notes, synchronizing periodically. Why? I'

Dec 1, 2022

Obsidian.md plugin to sync highlights/notes from koreader

Obsidian KOReader Plugin Sync KOReader notes in your Obsidian vault. The KOReader device must be connected to the device running obsidian to let the p

Dec 18, 2022
Comments
  • More efficient encoding

    More efficient encoding

    Hello. I feel as if the use of base64 is severely limiting the storage-per-bookmark that can be utilized here, as the bookmarks accept much more than the 64 different characters being used. Data density could be increased substantially by using more bits per character. I feel as if a custom encoding scheme might be most useful, as certain characters and character combinations might not work very nicely with the bookmarks system.

    opened by NexusXe 4
  • All things can be abused. But should they?

    All things can be abused. But should they?

    I just hope we're all aware that this will probably cause google to either heavily limit what can be synced in chrome or make paid tiers. As cool as the project is it'll most likely effect people in a negative way due to it's abuse of googles api

    opened by DomiiBunn 4
Owner
CoolElectronics
makes games occasionally
CoolElectronics
Grupprojekt för kurserna 'Javascript med Ramverk' och 'Agil Utveckling'

JavaScript-med-Ramverk-Laboration-3 Grupprojektet för kurserna Javascript med Ramverk och Agil Utveckling. Utvecklingsguide För information om hur utv

Svante Jonsson IT-Högskolan 3 May 18, 2022
Hemsida för personer i Sverige som kan och vill erbjuda boende till människor på flykt

Getting Started with Create React App This project was bootstrapped with Create React App. Available Scripts In the project directory, you can run: np

null 4 May 3, 2022
Kurs-repo för kursen Webbserver och Databaser

Webbserver och databaser This repository is meant for CME students to access exercises and codealongs that happen throughout the course. I hope you wi

null 14 Jan 3, 2023
🎨 Beautify your github profile with this amazing tool, creating the readme your way in a simple and fast way 🚀 The best profile readme generator you will find ⚡

Demo Profile Readme Generator The best profile readme generator you will find! About | Technologies | Requirements | Starting | Contributing ?? About

Mauro de Souza 476 Jan 1, 2023
This site compares your GitHub Profile to your friends, and analyses and tells your GitHub profile score too.

GitHub ⚔️ Duel Deployed at ?? : https://githubduel.vercel.app/ Compare your GitHub profiles with your friends It gives score to GitHub profile based o

Anshuman swain 17 Nov 21, 2022
A public board for all the Computer Society and Students to display their profile. An online year-book for you to display your profile in the most creative manner

Student's Yearbook by IEEE Computer Society Student's yearbook is an open-source project which intends to dispaly the students who will be graduating

IEEE Computer Society 11 Dec 18, 2022
WAMpage - A WebOS root LPE exploit chain

WAMpage WAMpage - A WebOS root LPE exploit chain This exploit is mainly of interest to other researchers - if you just want to root your TV, you proba

David Buchanan 45 Dec 2, 2022
🦠🔬 Forta agent that detect deployment of smart contracts containing an exploit function

Attack Simulation Bot Description The agent detects deployment of smart contracts containing an exploit function. Using a simulation-based approach, t

Artem Kovalchuk 29 Dec 26, 2022
Invadium runs exploit playbooks against vulnerable target applications in an intuitive, reproducible, and well-defined manner.

Invadium Invadium runs exploits against one or more target applications in an intuitive, reproducable, and well-defined manner. It focuses on bridging

Dynatrace Open Source 10 Nov 6, 2022
Bookmarklet exploit that can force-disable extensions installed on Chrome. Also has a very fancy GUI to manage all extensions!

ext remover Bookmarklet exploit that can force-disable any extension installed on Google Chrome Instructions Here are the instructions to using this e

Echo 124 Jan 6, 2023