- Notifications
You must be signed in to change notification settings - Fork0
OmitMe - Your Privacy-Centric, Easily Extendable Data Deletion Solution.
License
WardPearce/omitme
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Your Privacy-Centric, Easily Extendable Data Deletion Solution.
pip install omitme
May need to have chrome installed to function.
omitme-cli --help
omitme-cli discord loginomitme-cli discord accountsomitme-cli discord target messages-delete-all --account account_name
- Linux ✅
- Windows ❌
- MacOS ❌
- Discord
- Matrix
Omitme is built to be expandable to other platforms.
See an examplehere
Each new platform, show inherit fromPlatform
.
classDiscord(Platform):
Each platform class requires some metadata.icon
should be stored inomitme/resources/platforms
classDiscord(Platform):api_url="https://discord.com/api/v9"login_url="https://discord.com/login"alias="discord"icon="discord.png"description="Manage your discord data"
Each platform requires a login handler like so.
driver
is a instance ofseleniumwire's webdriver
@loginasyncdefhandle_login(self,driver:webdriver.Chrome,accounts:Accounts)->httpx.AsyncClient:pass
Once login is successful, the account should be stored safely usingaccounts.add
& your custom HTTPX session should be returned.
@loginasyncdefhandle_login(self,driver:webdriver.Chrome,accounts:Accounts)->httpx.AsyncClient:driver.get(self.login_url) ...awaitaccounts.add(resp.json()["username"],session={"headers":headers})returnsession
Targets are the methods called when a user wants to omit something, e.g.omitme-cli reddit target posts-delete-all
,posts-delete-all
would be our target.
CheckingEvent
, API call in progress.OmittedEvent
, data has been omitted.CompletedEvent
, the omitting process is complete.
@target("posts delete all",description="Delete all reddit posts")asyncdefhandle_delete_posts(self,session:httpx.AsyncClient)->AsyncIterator[OmittedEvent|CheckingEvent|FailEvent|CompletedEvent]:resp=awaitsession.get(f"/user/{awaitself._get_username(session)}/submitted",params={"timeframe":"all","limit":"100"}, )forpostinresp.json()["data"]["children"]:awaitself._delete_post(session,post["kind"],post["data"]["id"])yieldOmittedEvent(channel=post["data"]["subreddit"],content=post["data"]["selftext"] )yieldCompletedEvent()
About
OmitMe - Your Privacy-Centric, Easily Extendable Data Deletion Solution.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.