Mantenha senhas e outras informações confidenciais das suas caixas de entrada e logs de bate -papo.
Observação
Pule para as instruções de instalação.
Um segredo único é um link que pode ser visto apenas uma vez. Um URL de uso único.
Experimente o onetimesecret.com!
Quando você envia informações confidenciais, como senhas e links privados por e -mail ou bate -papo, existem cópias dessas informações armazenadas em muitos lugares. Se você usa um link ONETime, as informações persistem para uma única visualização, o que significa que ela não pode ser lida por outra pessoa mais tarde. Isso permite que você envie informações confidenciais de maneira segura, sabendo que é vista apenas por uma pessoa. Pense nisso como uma mensagem autodestrutadora.
Esta é a versão desenvolvida e mantida ativamente com os recursos mais recentes e atualizações de segurança.
Rubi 3 sem node.js: v0.15.0
Ruby 2.7, 2.6 (legado - não suportado): v0.12.1
Recomendamos fortemente o uso da versão mais recente com o Ruby 3+ para obter o melhor desempenho, segurança e conjunto de recursos. As versões Legacy Ruby 2.x são fornecidas apenas para referência e devem ser evitadas em ambientes de produção.
Existem várias maneiras de executar o OneTeseCret usando o Docker. Escolha o método que melhor atenda às suas necessidades:
Oferecemos imagens pré-construídas no GitHub Container Registry e no Docker Hub.
# Pull from GitHub Container Registry
docker pull ghcr.io/onetimesecret/onetimesecret:latest
# OR, pull from Docker Hub
docker pull onetimesecret/onetimesecret:latestSe você preferir construir a imagem:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker build -t onetimesecret . Para ambientes que requerem suporte multi-arquitetura:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker buildx build --platform=linux/amd64,linux/arm64 . -t onetimesecretTambém oferecemos uma versão "Lite" da imagem do Docker, que é otimizada para implantação mais rápida e uso reduzido de recursos. Para usar a versão Lite:
# Pull the lite image
docker pull ghcr.io/onetimesecret/onetimesecret-lite:latest
# OR, build it locally
docker build -f Dockerfile-lite -t onetimesecret:lite .Para obter mais informações sobre a imagem do Docker Lite, consulte a documentação Docker-Lite.MD.
Independentemente de como você obteve ou construiu a imagem, siga estas etapas para executar o OneTimesEcret:
Inicie um recipiente Redis:
docker run -p 6379:6379 -d redis:bookwormDefina variáveis de ambiente essencial:
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://host.docker.internal:6379/0
export RACK_ENV=production Nota: A variável COLONEL define o email da conta do administrador. É uma combinação divertida de "Coronel" (alguém responsável) e "kernel" (como no Linux), representando o administrador do sistema.
Execute o contêiner onetimesecret:
docker run -p 3000:3000 -d --name onetimesecret
-e REDIS_URL= $REDIS_URL
-e COLONEL= $COLONEL
-e HOST= $HOST
-e SSL= $SSL
-e RACK_ENV= $RACK_ENV
onetimesecret/onetimesecret:latest NOTA: Substitua onetimesecret/onetimesecret:latest pelo nome da sua imagem se você o criar localmente.
OneTeMeSecret agora deve estar em execução e acessível em http://localhost:3000 .
Ah, sim, o clássico paradoxo do sudo! Aqui está minha tentativa de lidar com isso claramente:
Este guia abrange a instalação manualmente do OneTimeSecret, esteja você trabalhando com um ambiente de desenvolvimento existente ou a partir de um novo sistema.
Componentes necessários:
Primeiro, verifique se você tem as dependências necessárias:
ruby --version # Should be 3.1+
bundler --version # Should be 2.5.x
node --version # Should be 20+
pnpm --version # Should be 9.2+
redis-server -v # Should be 5+Para uma nova instalação do sistema, siga estas etapas:
Importante
Se estiver começando com um sistema mínimo (como um contêiner Debian Fresh), instale sudo primeiro:
# Only if starting as root on a minimal system
apt update && apt install -y sudoInstale dependências do sistema:
# For Debian/Ubuntu systems:
sudo apt update
sudo apt install -y git curl build-essential libyaml-dev libffi-dev redis-server ruby3.1 ruby3.1-dev
# Install package managers
sudo gem install bundler
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pnpm@latest
# Start Redis server
sudo service redis-server startNota: Se você vir erros relacionados à auditoria ao instalar o PNPM com SUDO, isso é normal em contêineres ou sistemas mínimos em que os recursos de auditoria são limitados.
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret # Install Ruby dependencies
bundle install
# Install Node.js dependencies
pnpm installgit rev-parse --short HEAD > .commit_hash.txt
cp -p ./etc/config.example.yaml ./etc/config.yamlVocê pode executar o aplicativo de duas maneiras:
Melhor para produção ou desenvolvimento sem mudanças de front -end:
pnpm run build:localetc/config.yaml : :development :
:enabled : false # For production
RACK_ENV=production bundle exec thin -R config.ru -p 3000 start
# Or for backend development
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startMelhor para o desenvolvimento ativo do front -end com recarga ao vivo:
Ativar modo de desenvolvimento em etc/config.yaml :
:development :
:enabled : trueInicie o servidor principal:
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startInicie o servidor vite dev (em um terminal separado):
pnpm run devAo executar no modo de desenvolvimento (opção B), o aplicativo usa o servidor de dev do Vite para carregamento dinâmico de ativos e substituição do módulo quente. Aqui está como funciona:
No modo de desenvolvimento ( development.enabled: true ), o aplicativo carrega ativos dinamicamente do servidor de dev vite:
{{#frontend_development}}
< script type =" module " src =" {{ frontend_host }}/dist/main.ts " > </ script >
< script type =" module " src =" {{ frontend_host }}/dist/@vite/client " > </ script >
{{/frontend_development}} No modo de produção ( development.enabled: false ), ele usa ativos estáticos pré-criados:
{{^frontend_development}}
{{{vite_assets}}}
{{/frontend_development}}Essa configuração permite recursos como substituição de módulos quentes e atualizações instantâneas durante o desenvolvimento do front -end, garantindo o desempenho ideal na produção.
OneTeMeSecret requer um arquivo config.yaml para todas as instalações. As variáveis de ambiente podem ser usadas para substituir configurações específicas, mas o arquivo config.yaml deve estar sempre presente.
Crie o arquivo de configuração:
cp -p ./etc/config.example.yaml ./etc/config.yaml Revise e edite ./etc/config.yaml conforme necessário. No mínimo, atualize a chave secreta e faça backup com segurança.
O arquivo ./etc/config.yaml é o método de configuração principal. Ele usa a sintaxe ERB para incorporar variáveis de ambiente, permitindo configuração flexível:
---
:site :
:host : <%= ENV['HOST'] || 'localhost:7143' %>
:domains :
:enabled : <%= ENV['DOMAINS_ENABLED'] || false %>Neste formato:
HOST ) estiver definida, seu valor será usado. Principais áreas a serem configuradas em config.yaml :
Para configurações rápidas ou implantações de contêineres, você pode usar variáveis de ambiente para substituir as configurações config.yaml :
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://username:password@hostname:6379/0
export RACK_ENV=production Para vários cenários de implantação, incluindo configurações do Docker e desenvolvimento local, você pode usar um arquivo .env para definir variáveis de ambiente:
Crie o arquivo .env:
cp -p .env.example .env Edite o arquivo .env com a configuração desejada.
O uso depende da sua configuração:
Para o desenvolvimento local, carregue as variáveis antes de executar o aplicativo:
set -a
source .env
set +a Para implantações do Docker, você pode usar a opção --env-file :
docker run --env-file .env your-image-nameNo Docker-Comppose, você pode especificar o arquivo .env em seu docker-compose.yml:
services :
your-service :
env_file :
- .envO arquivo .env é versátil e pode ser usado em vários cenários de implantação, oferecendo flexibilidade na maneira como você gerencia suas variáveis de ambiente.
config.yaml é sempre necessário, mesmo ao usar variáveis de ambiente..env , mas não ambos, para evitar confusão.config.yaml , apenas os valores literais na configuração serão usados. Importante
Use um valor seguro para a chave SECRET como uma variável de ambiente ou como site.secret em etc/config.yaml . Depois de definido, não altere esse valor. Crie e armazene um backup em um local seguro para fora do local. Mudar o segredo pode impedir a descriptografia dos segredos existentes.
Para obter uma lista completa das opções de configuração disponíveis, consulte os comentários no arquivo config.example.yaml .
Para gerar uma chave secreta segura e aleatória de 256 bits (32 bytes), você pode usar o seguinte comando com o OpenSSL:
openssl rand -hex 32 Se o OpenSSL não estiver instalado, você poderá usar o comando dd como fallback:
dd if=/dev/urandom bs=32 count=1 2> /dev/null | xxd -p -c 32 Nota: Embora o comando dd forneça uma alternativa razoável, o uso do OpenSSL é recomendado para fins criptográficos.
Se você encontrar o erro "O nome do contêiner '/onetimeSecret' já está em uso":
# If the container already exists, you can simply start it again:
docker start onetimesecret
# OR, remove the existing container
docker rm onetimesecret Depois de remover o contêiner, você pode executar o comando regular docker run novamente.
Para a configuração do Docker Compose, consulte o Docker Compose Repo dedicado.
Para executar no modo de depuração:
ONETIME_DEBUG=true bundle exec thin -e dev start Ao executar o servidor Vite no modo de desenvolvimento, ele recarregará automaticamente quando os arquivos mudarem. Verifique se o RACK_ENV está etc/config como development ou development.enabled false
Usamos a estrutura pre-commit para manter a qualidade do código. Para configurá -lo:
Instale o pré-compromisso:
pip install pre-commitInstale os ganchos git:
pre-commit installIsso garantirá que os ganchos de pré-compromisso sejam executados antes de cada um cometido, ajudando a manter a qualidade e a consistência do código.
Para ver as camadas de uma imagem e otimizar suas construções, use:
docker history < image_id >Ao implantar para a produção, verifique se você:
Exemplo de implantação de produção:
export HOST=example.com
export SSL=true
export [email protected]
export REDIS_URL=redis://username:password@hostname:6379/0
export RACK_ENV=production
docker run -p 3000:3000 -d --name onetimesecret
-e REDIS_URL= $REDIS_URL
-e COLONEL= $COLONEL
-e HOST= $HOST
-e SSL= $SSL
-e RACK_ENV= $RACK_ENV
onetimesecretGaranta que todas as informações confidenciais estejam devidamente protegidas e não expostas em seus scripts ou ambiente de implantação.
Esta seção fornece uma visão geral dos serviços semelhantes ao nosso projeto, destacando seus recursos exclusivos e como eles se comparam. Essas alternativas podem ser úteis para usuários que procuram funcionalidades específicas ou querendo explorar diferentes opções no mesmo domínio. Ao apresentar essas informações, pretendemos dar a nossos usuários uma visão abrangente das opções disponíveis no espaço seguro de compartilhamento de informações.
NOTA: Nosso consultor jurídico interno (Codium-Pr-Agent-Pro Bot) sugeriu adicionar esta introdução e o aviso no final.
| Url | Serviço | Descrição | Característica distinta |
|---|---|---|---|
| https://pwpush.com/ | Empurrador de senha | Uma ferramenta que usa cookies do navegador para ajudá -lo a compartilhar senhas e outras informações confidenciais. | Links temporários e autodestrutadores para compartilhamento de senha |
| https://scrt.link/en | Compartilhar um segredo | Um serviço que permite compartilhar informações confidenciais anonimamente. Crucial para jornalistas, advogados, políticos, denunciantes e indivíduos oprimidos. | Compartilhamento de mensagens anônimas e autodestruidor |
| https://cryptgeon.com/ | Cryptgeon | Um serviço para compartilhar segredos e senhas com segurança. | Oferece um gerador secreto, gerador de senha e cofre secreto |
| https://www.vanish.so/ | Desaparecer | Um serviço para compartilhar segredos e senhas com segurança. | Mensagens autodestrutivas com criptografia forte |
| https://password.link/en | Senha.link | Um serviço para enviar e receber informações confidenciais. | Criação de link segura para compartilhamento de informações confidenciais |
| https://sebsauvage.net/ | Sebsauvage.net | Um site que oferece várias informações e serviços. | Software para recuperar computadores roubados |
| https://www.sharesecret.co/ | ShareSecret | Um serviço para compartilhar senhas com segurança no Slack and Email. | Compartilhamento de senha segura com o Slack e a integração de e -mail |
| https://teampassword.com/ | TeamPassword | Um gerenciador de senhas para equipes. | Gerenciamento de senha de equipe rápida, fácil de usar e segura |
| https://secretshare.io/ | Ação secreta | Um serviço para compartilhar senhas com segurança. | Criptografia forte para dados em trânsito e em repouso |
| https://retriever.corgea.io/ | Retriever | Um serviço para solicitar segredos com segurança. | Pedido secreto seguro e recuperação com criptografia |
| https://winden.app/s | Winden | Um serviço para compartilhar segredos e senhas com segurança. | Transfere arquivos com segurança com criptografia de ponta a ponta |
| https://www.snote.app/ | Snote | Um espaço de trabalho focado na privacidade com criptografia de ponta a ponta. | Colaboração segura em projetos, tarefas, tarefas e arquivos compartilhados |
| https://www.burnafterreading.me/ | Queimar depois de ler | Um serviço para compartilhar vários tipos de informações confidenciais. | Mensagens autodestrutivas com criptografia de senha diceware |
| https://pvtnote.com/en/ | Pvtnote | Um serviço para enviar mensagens privadas e autodestruidas. | Design limpo com mensagens autodestruentes |
| https://k9crypt.xyz/ | K9Crypt | Uma plataforma de mensagens segura e anônima. | Criptografia de ponta a ponta com exclusão de mensagens de 2 horas |
Resumido, buscado e agrupado por Coere Command R+, formatado por Claude 3,5 sonetos e revisado por Github Copilot.
A inclusão desses serviços nesta lista não implica endosso. Os usuários são incentivados a conduzir sua própria pesquisa e due diligence antes de usar qualquer um dos serviços listados, especialmente ao lidar com informações confidenciais.