ZipLine – Um Servidor ShareX Auto-hospedado

Hospede autonomamente as suas próprias capturas de ecrã, clips de vídeo, códigos e um encurtador de URL numa aplicação de código aberto. Vamos explorar o ZipLine para o ShareX.

GitHub – diced/zipline at homeserver.pt
A ShareX/file upload server that is easy to use, packed with features, and with an easy setup! – GitHub – diced/zipline at homeserver.pt
github.com

O que é o ZipLine?

O ZipLine é um servidor de upload de ficheiros ShareX, concebido para ser fácil de usar, repleto de funcionalidades e de configuração simples. Pode também utilizar o ZipLine como uma aplicação independente, sem a necessidade do ShareX, fazendo upload manual dos seus ficheiros através do painel de controlo.

E o ShareX?

O ShareX é um programa gratuito e de código aberto que permite capturar ou gravar qualquer parte do seu ecrã e partilhá-lo com apenas um clique. Além disso, permite fazer upload de imagens, textos ou outros tipos de ficheiros para diversos destinos suportados.

O ShareX funcionará como a ferramenta que utilizamos para capturar screenshots e pequenos vídeos, realizando automaticamente o upload para o nosso servidor ZipLine. Para saber mais sobre como o ShareX funciona com um uploader personalizado, consulte aqui. Não é necessário repetir todos os detalhes neste momento!

Instalação do ZipLine usando Docker Compose

Este conjunto de composição inclui o Postgres e a aplicação ZipLine.

Dockerfile
versão: '3'
serviços:
  postgres:
    imagem: postgres:15
    reiniciar: a menos que-parado
    ambiente:
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DATABASE=postgres
    volumes:
      - /docker/zipline/pg_data:/var/lib/postgresql/data
    healthcheck:
      testar: ['CMD-SHELL', 'pg_isready -U postgres']
      intervalo: 10s
      tempo limite: 5s
      repetições: 5

  zipline:
    imagem: ghcr.io/diced/zipline
    portas:
      - '3000:3000'
    reiniciar: a menos que-parado
    ambiente:
      - MFA_TOTP_ENABLED=true
      - WEBSITE_SHOW_FILES_PER_USER=true
      - WEBSITE_TITLE=Homeserver.pt
      - CORE_RETURN_HTTPS=false
      - CORE_SECRET=44354gghy77
      - CORE_HOST=0.0.0.0
      - CORE_PORT=3000
      - CORE_DATABASE_URL=postgres://postgres:postgres@postgres/postgres
      - CORE_LOGGER=true
    volumes:
      - '/docker/zipline/uploads:/zipline/uploads'
      - '/docker/zipline/public:/zipline/public'
    depends_on:
      - 'postgres'

volumes:
  pg_data:

Note que este é o URL da base de dados, caso pretenda alterá-lo.

Dockerfile
CORE_DATABASE_URL=postgres://user:password@host:port/database

Após a conclusão da instalação, aceda ao seu IP de host na porta 3000. Faça login usando “administrador:password”. Certifique-se de aceder ao seu perfil e alterar a palavra-passe. Adicionalmente, ative a autenticação de dois fatores (2FA) adicionando a variável de ambiente “MFA_TOTP_ENABLED=true” ao conjunto, que pode ser ativada na sua página de perfil.

Upload Manual de Ficheiros e Texto para o ZipLine

Ao explorar, notará dois tipos principais de upload mostrados na barra lateral, que pode utilizar no painel “Upload”. Estes permitem o upload manual de texto, trechos de código e ficheiros para o servidor.

Ao adicionar um trecho YAML como exemplo, escolha a opção de sintaxe YAML para colorir corretamente o trecho de código. Pode também definir uma data de expiração, palavra-passe e outras opções personalizadas de upload antes de enviar para o servidor. Por padrão, todos os uploads são feitos sem estas opções, a menos que as adicione manualmente antes de carregar.

Embora o ZipLine possa ser utilizado como um servidor de ficheiros independente, o verdadeiro potencial revela-se quando é emparelhado com o ShareX. Abordaremos isso em breve!

Utilizadores e Registo no ZipLine

Por padrão, não existe registo público. Pode ativá-lo através da variável de ambiente, se desejar. Caso contrário, todo novo utilizador terá de ser adicionado manualmente pelo administrador do servidor. Pode também atribuir a utilizadores de confiança a função de administrador.

Cada utilizador tem o seu próprio perfil e pode optar por usar o ZipLine com o ShareX para o Windows ou o Flameshot para o Linux. Os utilizadores verão apenas os seus próprios ficheiros quando autenticados, mas podem visualizar as estatísticas globais do servidor. Isso pode ser facilmente ajustado através de variáveis de ambiente no seu conjunto Docker Compose.

Existem várias opções adicionais que pode escolher adicionar, como tipos de extensões de ficheiro permitidos, tamanhos de ficheiro para utilizadores, limitação de velocidade para upload de imagens, tempo de expiração padrão e muito mais. Pode consultar todas estas opções na documentação do ZipLine, especialmente na secção do Uploader.

Criação de um Ficheiro de Configuração do ShareX

Para fazer upload utilizando o ShareX, terá de aceder à sua página de perfil e gerar um ficheiro de configuração do ShareX. Isto proporcionará algumas opções ao usar o ShareX como a sua ferramenta de captura de ecrã. Após descarregar o ficheiro de configuração, basta clicar duas vezes para adicionar a sua instância ZipLine ao ShareX, e qualquer captura de ecrã ou vídeo será então enviado para o seu servidor ZipLine.

Se planear partilhar ligações no Discord ou noutros locais de chat, escolha a opção de incorporação para embelezar as suas ligações como incorporações. Pode personalizar ainda mais a forma como estas incorporações aparecem na sua página de perfil, utilizando variáveis listadas na página de documentação do Zipline aqui.

Aqui fica um exemplo de como fica com variáveis personalizadas. A ligação foi partilhada num canal do Discord, e pode ver como as variáveis que utilizámos se convertem na incorporação.

Criação de URLs Curtos com o ZipLine

Isto requer um nome de domínio e pressupõe que já configurou o domínio para apontar para a sua instância ZipLine. Pode definir URLs curtos para permitir apenas uma certa quantidade de visualizações antes de

se autodestruírem e serem removidos automaticamente da base de dados. Pode também eliminá-los manualmente. Existe um botão de cópia onde pode copiar o URL gerado para cada URL no painel.

Estatísticas do ZipLine

Quando começar a adicionar conteúdo ao ZipLine, consulte a página de Estatísticas para obter informações detalhadas sobre o seu servidor. Aqui, pode ver todas as informações valiosas sobre o conteúdo no seu servidor ZipLine. Esta página é atualizada a cada 1800 segundos para poupar recursos, mas esse intervalo pode ser ajustado através de variáveis de ambiente.

Considerações Finais e Reflexões

Pode perceber a personalização disponível no ZipLine através de variáveis de ambiente e Docker Compose. Trata-se de uma ferramenta poderosa que oferece uma solução completa para o upload de imagens, ficheiros, texto/código, além de proporcionar uma opção de encurtamento de URL.

Uma funcionalidade ausente no ZipLine, que apreciava no Xbackbone, é o botão de download no painel. Ter de clicar com o botão direito num vídeo para o descarregar pode ser um pouco tedioso, embora facilmente remediável. Fiquei um tanto surpreendido com a ausência dessa funcionalidade. Não há botões de download para meios de comunicação em lugar algum! PORQUÊ!? 😆 Parece que passarei muito tempo a clicar com o botão direito.

Dito isto, o ZipLine é agora o meu parceiro ShareX, e estou satisfeito em afirmar que o utilizarei no futuro. Vejo uma equipa de desenvolvimento ativa que presta atenção aos problemas no repositório Github do ZipLine e no seu servidor Discord. Um grupo fantástico de pessoas a realizar coisas incríveis!

Se considerar o ZipLine útil, não deixe de atribuir-lhe uma estrela no respetivo repositório Github.

Artigos Relacionados