O Problema

Talvez você já tenha passado por isso: Na sua empresa existem políticas ou sistemas de bloqueios que impedem a utilização de serviços de compartilhamento de arquivos como Dropbox ou Google Drive. Mas aí uma empresa parceira, um cliente ou um prestador de serviços precisa trocar um arquivo grande com alguém da empresa por motivos totalmente válidos.

Alguém chega para você, o Sysadmin e explica: Preciso compartilhar um arquivo de 1GiB com fulano de tal empresa. Como faço?

Eu já tive essa dor-de-cabeça em diversos empregos por onde passei. Ou na minha empresa ou no parceiro existia algum tipo de restrição para acessar um serviço tipo Dropbox. Não dava para utilizar nenhum desses serviços públicos. FTP/FTPS também normalmente não funcionava já que a vasta maioria das pessoas nem saber como utilizar FTP ou não tem permissão de instalar clientes FTP nas estações de trabalho no emprego.

Fora que o chefe fala: Mas precisa saber quantas pessoas baixaram. Só deixa disponível por dois dias, etc.

Entre as diversas soluções criativas que já tive que arrumar cheguei até a instalar um servidor web com autenticação só pra um único usuário poder baixar um arquivo.

E o contrário também existe: Um parceiro precisa mandar um arquivo para sua empresa e eles não tem ferramentas para fazer isso. E com muito menos vontade de resolver o problema eles simplesmente empurram pra sua empresa e agora você tem que arranjar uma solução pra eles também.

A solução

Recentemente meu chefe pediu algo para solucionar esse problema e pesquisei um tanto mas não achei nenhuma ferramenta que resolvesse isso com simplicidade. Resolvemos então, a esposa e eu, escrever uma.

O Disty na verdade é bem simples: Ele permite que usuários da sua organização façam upload de arquivos e restrinjam por quanto tempo eles estarão disponíveis. Podem também restringir o número de vezes que os arquivos estarão disponíveis para download.

Basta copiar o link criado e mandar para o parceiro, que conseguirá fazer o download. O sistema registra num log os acessos.

Além disso os usuários também podem criar uma URL que aceita uploads. Ao criar essa URL pode-se dizer por quanto tempo a mesma estará disponível. As URLs são somente de escrita. Ou seja, é apenas possível fazer upload de arquivos e nunca download.

O Futuro

Para a primeira versão adotamos a ideia de lançar logo para as pessoas já poderem utilizar e dar feedback, mas os próximos passos incluem acesso com senha (opcional) e mais opções de onde armazenar or aquivos, como por exemplo S3.

O Pedido

Esse é o meu primeiro projeto Open Source que é mais do que um scriptizinho rápido e acho que tem potencial para resolver esse problema em particular para muitas organizações.

Se você é sysadmin ou devops no seu time dê uma olhada no Disty e mande seus comentários, abra um issue no Github ou mande um Pull Request. É apenas um hobby, mas estamos achando bem divertido trabalhar nisso. Esperamos que seja útil para mais gente.