Skip to content

Unfinished | A 100% end-to-end crypted and anonymous file hoster written in python

Notifications You must be signed in to change notification settings

SSA-Products/hidata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

This project is still ongoing! It will be migrated to another repo (hide-sh/hidata) and rewritten in Rust

In developement !

Hidata encryption system

Communication

RSA encryption, key exchange at the beginning of the commucation (using sockets) and then use websockets to send and recieve data

File upload and download

Client

  • Upload
data = bytes
key = str
client_id = str

encrypted_data = encrypt(data, key)

request = {
	"client_id": hash(client_id),
	"key": hash(key),
	"data": encrypted_data
}

response = {
	"file_id": file_id
}
  • Download
client_id = str
file_id = str
key = str

request = {
	"client_id": hash(client_id),
	"key": hash(key),
	"file_id" = file_id
}

response = {
	"data": encrypted_data
}

data = decrypt(response["data"], key)

Server

  • Upload (get)
response = {
	"client_id" = hash
	"key" = hash
	"data" = data
}

file_id = generate_id()
db.add(response["client_id"], response["data"], response["key"], file_id)

request = {
	"file_id": file_id
}
  • Download
response = {
	"client_id" = hash,
	"key" = hash,
	"file_id" = file_id
}

request = {
	"data" = db.find(response["client_id"], response["key"], response["file_id"])
}

About

Unfinished | A 100% end-to-end crypted and anonymous file hoster written in python

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published