E2
Download sourcecode

Resilience and low cost in file sharing.

What is E2EPHEMERA?

It is a static site generator for file sharing. It includes search tools, metadata and hash features.

The problem to be solved (or the closest possible)

Filling a static server with files is easy. But how can you search for files on it? How can you download all files from a set of static sites? How to lower the cost of hosting and storage, make it more accessible and still be able to reward the users or nodes?

The Servers

Each server stores the files in the "files" directory using SHA-256 hash. In the 'files.txt' file, all the files that the server stores or hosts are listed. And in "servers.txt," there is a list of known or discovered servers.

In summary

All you need to know is to place your files inside the 'files' directory on any web server. Preferably using the SHA-256 hash as the file names (plus the original extension). Our tool allows for this and much more.

App Overview: The Decentralized HTTP Network

E2EPHEMERA follows a similar idea to IPFS, but everything is done directly using HTTP and without gateways. Using PHP it's possible to create a static site with search functionality using JSON, save files using the hash as filename, while a Java client can easily download all files from the servers or search for files on them.

O E2EPHEMERA segue uma ideia parecida com o IPFS ,mas tudo é feito diretamente usando HTTP e sem gateways. Usando PHP é possivel criar um site estático com funcionalidade de pesquisa usando JSON, de consistência usando hash como nome dos arquivos, enquanto um cliente em Java pode facilmente baixar todos os arquivos dos servidores ou pesquisar arquivos neles.


Core Features & How They Work

1. Rank (Analytics)

2. Download (Asset Mirroring)

3. Servers Download (Crawler/Discovery)

4. Search (Data Aggregation)

5. View (Browser Interface)


Why is this Useful?

  1. Decentralization: This tool removes the need for a central "master server." As long as you have a list of domains, the client (this app) does the work of stitching the network together.
  2. Resilience: If one server goes down, the "Servers Download" and "Search" features allow you to easily find and retrieve content from other servers in your list.
  3. Data Integrity: The "Twin Check" (downloading JSON alongside media) ensures that you don't just get the image/file, but also the context or metadata associated with it.
  4. Efficiency: The app checks if a file exists locally before downloading, saving bandwidth. It also checks if a file exists remotely (using HTTP HEAD requests) before trying to download, preventing errors.

Mental Model of the Architecture

Imagine you have a library card (the app) and a list of library addresses (files.txt).

Templates : 1 / 2 / 3 / 4 / 5 / 6 / 7 / 8 / 9 / 10


Nosso objetivo é construir um sistema que funcione da seguinte maneira: O usuário envia um arquivo e deposita um valor. Quanto mais esse arquivo for acessado ou distribuído maiores serão as recompensas e ganhos do usuário. Em outras palavras, nosso objetivo é construir um sistema de investimento em arquivos onde a monetização ocorre de maneira descentralizada. Para isso ser possível é necessário um sistema onde cada arquivo é associado ao seu dono, proprietário ou usuário exclusivo que lhe enviou primeiro. Isso ocorre criando um documento de texto imutável com as informações do arquivo que foi enviado (como descrição, categoria, chaves ou endereços de criptomoeda do usuário). Esse documento deve ser distribuído entre todos servidores. Idealmente mesmo em um site ou servidor estático poderia ter ganhos. Ele ganharia meramente por armazenar dados importantes para a rede mesmo que não fizesse nenhuma operação, validação ou verificação adicional. Ainda que estático, seria possível adicionar ferramentas simples de pesquisa, redirecionamento ou paginação usando JS. Utilizar MySQL ou outro banco de dados poderia auxiliar em transações de menor importância ou rápidas. Esse sistema não substitui o descentralizado, mas o complementa. Resumindo, nosso objetivo é oferecer um sistema simples para armazenamento distribuídos de arquivos com baixo custo, baixa barreira de entrada ou adesão e fácil adoção. Mas que pode ser facilmente expandido, utilizando em conjunto ou servir de base para a construção de uma blockchain, sites de vendas e sistemas mais robustos.

Download sourcecode (código-fonte)

Our goal is to build a system that works as follows: The user sends a file and deposits an amount. The more this file is accessed or distributed, the greater the user's rewards and earnings. In other words, our goal is to build a file investment system where monetization occurs in a decentralized manner. For this to be possible, a system is needed where each file is associated with its owner, proprietor, or exclusive user who first sent it. This is done by creating an immutable text document with the information of the file that was sent (such as description, category, the user's cryptocurrency keys or addresses). This document must be distributed among all servers. Ideally, even a static website or server could earn. It would earn merely by storing data important to the network, even if it performed no additional operations, validation, or verification. Even if static, it would be possible to add simple search, redirection, or pagination tools using JS. Using MySQL or another database could assist with less important or fast transactions. This system does not replace the decentralized one but complements it. In summary, our goal is to offer a simple system for distributed file storage with low cost, low entry or adoption barrier, and easy adoption. But one that can be easily expanded, used in conjunction with, or serve as a basis for building a blockchain, sales websites, and more robust systems.