Um encurtador de URL auto-hospedado baseado em PHP que pode ser usado para servir URLs encurtados em seu próprio domínio.
Documentação completa
Imagem do Docker
Auto-hospedado
Download
Configurar
Usando shlink
Contribuindo
Este documento contém o básico para começar a usar o Shlink. Se você quiser aprender tudo o que pode fazer com ele, visite a documentação completa pesquisável.
Você pode aprender como usar a imagem oficial do docker lendo a documentação.
A ideia é que você possa simplesmente gerar um contêiner usando a imagem e fornecer a configuração personalizada via env vars.
Primeiro, certifique-se de que o host onde você executará o shlink atenda a estes requisitos:
PHP 8.2 ou 8.3
As próximas extensões PHP: json, curl, pdo, intl, gd e gmp/bcmath.
A extensão apcu é recomendada se você não planeja usar o RoadRunner.
A extensão xml é necessária se você deseja gerar códigos QR no formato SVG.
soquetes e extensões bcmath são necessários se você deseja integrar com uma instância RabbitMQ.
MySQL, MariaDB, PostgreSQL, MicrosoftSQL ou SQLite.
Você também precisará da variação pdo correspondente ao banco de dados que planeja usar: pdo_mysql
, pdo_pgsql
, pdo_sqlsrv
ou pdo_sqlite
.
Para executar o Shlink, você precisará de uma versão construída do projeto. Existem duas maneiras de obtê-lo.
Usando um arquivo dist
A maneira mais fácil de instalar o shlink é usando um dos pacotes distribuíveis pré-empacotados.
Vá para a versão mais recente e baixe o arquivo shlink*_dist.zip
que atenda às suas necessidades. Você encontrará um para cada versão PHP suportada.
Por fim, descompacte o arquivo no local de sua preferência.
Construindo a partir de fontes
Se por algum motivo você quiser construir o projeto sozinho, siga estas etapas:
Depois disso, você terá um arquivo dist dentro do diretório build
, que deverá ser descompactado no local de sua escolha.
Observação
Este é o processo usado ao lançar novas versões do Shlink. Depois de marcar a nova versão com git, a versão do GitHub é criada automaticamente por um fluxo de trabalho do GitHub, anexando o arquivo dist gerado a ela.
Clone o projeto com git ( git clone https://github.com/shlinkio/shlink.git
) ou baixe-o clicando no botão verde Clonar ou baixar .
Baixe o gerenciador de pacotes Composer PHP dentro da pasta do projeto.
Execute ./build.sh 3.0.0
, substituindo a versão pelo número da versão que você irá compilar (o número da versão é usado como parte do nome do arquivo dist gerado e para definir o valor retornado ao executar shlink -V
do linha de comando).
Independentemente de como você construiu o projeto, agora você precisa configurá-lo seguindo estas etapas:
Se você for utilizar MySQL, MariaDB, PostgreSQL ou Microsoft SQL Server, crie um banco de dados vazio com o nome de sua preferência.
Conceda recursivamente permissões de gravação ao diretório data
. Shlink o usa para armazenar algumas informações em cache.
Configure o aplicativo executando o script vendor/bin/shlink-installer install
. É uma ferramenta de linha de comando que irá guiá-lo durante o processo de instalação. Leve em consideração que esta ferramenta deve ser executada diretamente no servidor onde você planeja hospedar o Shlink. Não execute-o antes de carregá-lo/movê-lo para lá.
Gere sua primeira chave de API executando bin/cli api-key:generate
. Você precisará da chave para interagir com a API do Shlink.
Depois que o shlink estiver instalado, existem duas maneiras principais de interagir com ele:
A linha de comando : tente executar bin/cli
para ver todos os comandos disponíveis.
Todos eles podem ser executados com o sinalizador --help
/ -h
para ver como usá-los e todas as opções disponíveis.
Provavelmente é uma boa ideia vincular simbolicamente o ponto de entrada da CLI ( bin/cli
) a algum lugar no seu caminho, para que você possa executar o shlink a partir de qualquer diretório.
A API REST : a documentação completa sobre como usar a API pode ser encontrada aqui, e uma sandbox que também documenta cada endpoint pode ser encontrada no portal API Spec.
No entanto, você provavelmente não deseja consumir a API bruta sozinho. É por isso que é fornecido um bom cliente web que pode ser usado diretamente em https://app.shlink.io ou hospedado por você mesmo.
Tanto a API quanto a CLI permitem que você execute basicamente as mesmas operações, exceto o gerenciamento de chaves de API, que pode ser feito apenas na interface de linha de comando.
Se você está tentando descobrir como executar o projeto em modo de desenvolvimento ou como fornecer contribuições, leia o documento CONTRIBUTING.
Este produto inclui dados GeoLite2 criados pela MaxMind, disponíveis em https://www.maxmind.com