TL; DR : IPFS permite hospedar sites estáticos de maneira distribuída, que pode ser acessada através de portas de cache públicas (proxies reversos transparentes) na Internet, sem a necessidade de instalar o programa para o visitante. Esses sites podem ser distribuídos sem um endereço IP estático roteável (“branco”) (funcionará para NAT); eles permanecerão operacionais se não houver sites de distribuição por um curto período de tempo (várias horas), devido ao cache nos portões. Você pode vincular seu domínio às portas à vontade e adicionar registros DNS a várias portas ao mesmo tempo, para aumentar a confiabilidade e o balanceamento de carga. Outros usuários do IPFS podem baixar o site e ajudar na distribuição.
O IPFS é ótimo para blogs estáticos, sites simples, arquivos (como um substituto do Bittorrent) e também apenas para a transferência simultânea de arquivos grandes, sem antes baixá-los para qualquer serviço.
O que é IPFS?
O IPFS é um sistema descentralizado de transferência de arquivos ponto a ponto, semelhante em princípio ao BitTorrent, mas com a capacidade de acessar via HTTP para a Web. Todos os arquivos baixados pelo usuário são armazenados em cache temporariamente pelo daemon IPFS e distribuídos para outros usuários que os solicitam. Arquivos importantes podem ser "anexados" (pinos) ao daemon IPFS, para que não desapareçam do cache.
Os arquivos adicionados ao IPFS recebem hashes globais que não são alterados quando o arquivo é adicionado novamente. O endereçamento na rede é realizado por
identificadores de conteúdo (CIDs) , dentro dos quais há um
multi-hash . No contexto do IPFS, eles apontam para um arquivo, diretório, metadados ou link simbólico inalterado ou alterado.
No momento atual de desenvolvimento, o projeto funciona totalmente apenas com dados estáticos, mas já existe suporte experimental para um protocolo como publisher-subscribe (publicação / assinatura), além de uma implementação IPFS no Javascript que funciona em um navegador, que no futuro permitirá a criação de sites dinâmicos (por exemplo, blogs de comentários) com interação em tempo real (por exemplo, bate-papos).
Uma das principais vantagens do IPFS, em comparação com outras tecnologias similares, é o acesso a recursos da Internet através dos portões, instalados por empresas e entusiastas da tecnologia. Eles permitem que você navegue em sites e baixe arquivos sem instalar o IPFS no seu computador. O maior portão é
do Cloudflare , também permite que você emita um certificado HTTPS gratuito para o domínio.
Por que o IPFS é necessário e onde usá-lo?
A rede permite distribuir e baixar dados de maneira eficiente, distribuída e descentralizada, inclusive de um navegador. Vejo os seguintes aplicativos reais para o projeto:
- Hospedagem gratuita sem-teto de sites estáticos no seu computador doméstico, sem um endereço IP dedicado (para NAT), sem um domínio ou com um domínio;
- Hospedagem não controlada por censura de sites de alto risco que podem ser bloqueados pelo governo ou por empresas terceirizadas na DMCA;
- Distribuição de alterações ou adição periódica de dados que não podem ser efetivamente distribuídos via Bittorrent (você terá que recriar constantemente o arquivo torrent e solicitar a todos os distribuidores que o baixem novamente, o que leva à fragmentação das sementes);
- Uma alternativa à CDN, que não requer configurações no lado do "provedor de CDN".
Como criar um site no IPFS?
Isso é mais fácil do que com hospedagem regular! Considere hospedar um site estático simples.
A opção mais fácil é usar o utilitário gráfico
Siderus Orion .
Instale o utilitário, inicie-o, clique em Arquivo → Adicionar diretório, selecione o diretório com os arquivos do site.
Depois de um tempo, uma janela aparece com informações sobre o conteúdo importado:

Vá para a guia "Arquivos", clique com o botão direito do mouse no hash → Abrir no navegador:

Se tudo foi feito corretamente, o site será aberto através do portal siderus.com:
https://siderus.io/ipfs/QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7/Isso é tudo, seu site estático pode ser acessado por outros usuários enquanto você mantém o programa em execução ou enquanto permanece no cache do gate.
Uma opção alternativa para o console - faça o download do
cliente oficial
go-ipfs , descompacte, inicialize e inicie-o conforme está escrito
no site :
ipfs init ipfs daemon
Em seguida, adicione nosso diretório com os arquivos do site:
ipfs add -r ./www.uncleoutrage.com … added QmXdaairbPoSGV98sQ3GsEuevVTE1EBUzZ4PhbLfKVh1nX www.uncleoutrage.com/images/fanart added QmdFbHdzzB4qBBkn8UsyHnjg1BKEtm9d5LaTyv5aZd8bbE www.uncleoutrage.com/images/gigs/thumbs added QmVPJ3Mr8gZL5x15A9XARC1uHASqb2JMsKTT7mWs37UmBo www.uncleoutrage.com/images/gigs added Qmd3AbVwMVE9W6ZSEuax96Xnymbnic4XVCdNEKBPZcWi5c www.uncleoutrage.com/images/live/thumbs added QmebUfmT2wmZMbJcAmSMS4cZJr4guTqV67xNJ3hiQGsLYx www.uncleoutrage.com/images/live added QmaEVaRiUUXfDnjjuXHGGsg7jDaFrCaxS7wi6q83q4N1uu www.uncleoutrage.com/images/misc/thumbs added QmW2ZivQF5eh5LHSLet298AhKCHiQsFV6rvUFvMcCkLopo www.uncleoutrage.com/images/misc added QmZXXn7abBvj7SvYJoYMAXUeajP6A1UABKENrNwuhKqofk www.uncleoutrage.com/images/promo/thumbs added Qmcx6bMKur4Anzh91bJC6o5vMPftzocSMmd7iYxoGwQrNX www.uncleoutrage.com/images/promo added QmW8P3ZnvKUytCWJF6y6wvBD8XAkk4bvJoVK8j3apokzLS www.uncleoutrage.com/images added QmXG1QjfpCjErQBGZvF6VWBryXe9WFLPqhrsGWtikACVwR www.uncleoutrage.com/js added QmYGXwLJBnqXwWYGKVtjZtmwncgwNoqNmnYqo1NTinTGBp www.uncleoutrage.com/theband/misc/pages added QmWg4JyZ4ox9hcHt6JGBfzUm5CqWsb6DixUksamFvbirH4 www.uncleoutrage.com/theband/misc added QmPtn9XBhWqe7A1z3ikktWExSPSM27LTzUL3US9N5xcAPB www.uncleoutrage.com/theband/redsaug21/pages added QmaGV6kfLdL1bKGBBHYJLDVstiejAANayBZt16NMF9g9j9 www.uncleoutrage.com/theband/redsaug21 added QmScmcUAdC5pinMxaoLuXSy3FDUAX5E68dADnGjYZbPUiY www.uncleoutrage.com/theband added QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7 www.uncleoutrage.com
O último hash é o hash do diretório e precisamos dele.
Compilamos um link para abrir o diretório manualmente através do portão, no formato:
https:///ipfs/
Por exemplo:
https://cloudflare-ipfs.com/ipfs/QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7Como vincular um hash IPFS a um domínio?
Para tornar um site acessível pelo domínio
https://uncleoutrage.com/ , e não por um link longo e feio, você precisa adicionar vários registros DNS:
- Registros A e AAAA apontando para o endereço IP do portão ou CNAME apontando para o nome de domínio do portão;
- Registro TXT "_dnslink", com conteúdo como "dnslink = / ipfs / HASH".
No meu caso, adicionei entradas A e AAAA apontando para os endereços IP de cloudflare-ipfs.com e o registro TXT "_dnslink.uncleoutrage.com":
uncleoutrage.com. IN A 104.18.252.167 uncleoutrage.com. IN A 104.18.255.167 uncleoutrage.com. IN AAAA 2400:cb00:2048:1::6812:fda7 uncleoutrage.com. IN AAAA 2400:cb00:2048:1::6812:40a8 _dnslink.uncleoutrage.com. IN TXT "dnslink=/ipfs/QmU8rJjkXbfkPqEE3Dr8GiUMKF1vPnnNUKWdaB5DsZDfJ7"
Você pode obter um certificado HTTPS no Cloudflare para o domínio vinculado. É necessário solicitá-lo na
página de recebimento de certificado especial .
Se você não precisar de suporte HTTPS, poderá adicionar vários registros A / AAAA a diferentes portões de uma só vez, a lista atual de portões de trabalho estará disponível
no fórum do projeto .
No caso de atualizar o site, você precisará atualizar o registro TXT do domínio.
Como não atualizar um registro TXT com atualizações do site?
O IPFS permite gerar um identificador de hash estático especial que aponta para uma alteração de hash -
IP N S. No cliente gráfico, clique em Arquivo → Publicar no IPNS e especifique seu ID de ponto no link ou no registro TXT do domínio, e não o hash obtido ao adicionar o diretório. Por exemplo:
https://cloudflare-ipfs.com/ipns/QmV97DGqaaTVn54RH9CLTi9hxXfr57gJQ4zGtyHcVbtfH6
No entanto, o registro IPNS precisa ser atualizado (publicado) a cada poucas horas manualmente e resolve muito mais lentamente / ipfs /.
A propósito, o IPNS pode resolver não apenas os CIDs, mas também os registros dnslink de um domínio - um site pode ser aberto usando um link como
https://cloudflare-ipfs.com/ipns/uncleoutrage.com .
Conclusão
Se você quiser saber mais sobre o IPFS, leia a
série de excelentes artigos ivan386 . Eles são nerds e quase nunca dizem por que uma pessoa comum pode precisar do IPFS (caso contrário, este artigo não seria).
Deseja ajudar a distribuir sites IPFS ou ser informado de que o domínio está vinculado a um portão IPFS? Instale um complemento do navegador (para
Firefox , para
Chrome ) que redirecione sites IPFS para o nó local.
Há vários meses, o
Anti-Ban distribui terabytes de arquivos PAC por dia via IPFS usando o portão Cloudflare. Funciona de forma estável, economiza significativamente o tráfego do servidor.