받은 편지함과 채팅 로그에서 비밀번호 및 기타 민감한 정보를 보관하십시오.
메모
설치 지침으로 건너 뜁니다.
일시 비밀은 한 번만 볼 수있는 링크입니다. 일회용 URL.
onetimesecret.com에서 시도해보십시오!
이메일이나 채팅을 통해 비밀번호 및 개인 링크와 같은 민감한 정보를 보낼 때 해당 정보의 사본이 여러 곳에 저장되어 있습니다. 대신 일회성 링크를 사용하는 경우 정보는 단일 시청을 위해 지속되므로 나중에 다른 사람이 읽을 수 없습니다. 이를 통해 한 사람 만 볼 수 있다는 것을 알고 안전한 방식으로 민감한 정보를 보낼 수 있습니다. 자기 파괴 메시지처럼 생각하십시오.
이것은 가장 최근의 기능 및 보안 업데이트를 갖춘 적극적으로 개발되고 유지 관리되는 버전입니다.
node.js가없는 루비 3 : v0.15.0
Ruby 2.7, 2.6 (레거시 - 지원되지 않음) : V0.12.1
최상의 성능, 보안 및 기능 세트를 위해 Ruby 3+와 함께 최신 릴리스를 사용하는 것이 좋습니다. 레거시 루비 2.X 버전은 참조를 위해서만 제공되며 생산 환경에서는 피해야합니다.
Docker를 사용하여 onetimesecret을 실행하는 방법에는 여러 가지가 있습니다. 귀하의 요구에 가장 적합한 방법을 선택하십시오.
GitHub 컨테이너 레지스트리와 Docker Hub 모두에서 사전 구축 된 이미지를 제공합니다.
# Pull from GitHub Container Registry
docker pull ghcr.io/onetimesecret/onetimesecret:latest
# OR, pull from Docker Hub
docker pull onetimesecret/onetimesecret:latest이미지를 직접 구축하는 것을 선호하는 경우 :
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker build -t onetimesecret . 다중 아키텍처 지원이 필요한 환경 :
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker buildx build --platform=linux/amd64,linux/arm64 . -t onetimesecret또한 Docker Image의 "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 .Lite Docker 이미지에 대한 자세한 내용은 Docker-lite.md 문서를 참조하십시오.
이미지를 얻거나 구축 한 방법에 관계없이 다음 단계를 따르십시오.
Redis 컨테이너 시작 :
docker run -p 6379:6379 -d redis:bookworm필수 환경 변수 설정 :
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://host.docker.internal:6379/0
export RACK_ENV=production 참고 : COLONEL 변수는 관리자 계정 이메일을 설정합니다. 시스템 관리자를 대표하는 "대령"(담당자)과 "커널"(Linux에서와 같이)의 장난기있는 조합입니다.
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 참고 : onetimesecret/onetimesecret:latest .
onetimesecret은 이제 http://localhost:3000 에서 실행되고 액세스 할 수 있어야합니다.
아 네, 고전적인 수도 역설! 다음은 이것을 명확하게 처리하려는 시도입니다.
이 안내서는 기존 개발 환경에서 작업하든 새로운 시스템에서 시작하든 수동으로 onetimesecret 설치를 다룹니다.
필요한 구성 요소 :
먼저 필요한 종속성이 있는지 확인하십시오.
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+새로운 시스템 설치를 위해 다음 단계를 따르십시오.
중요한
최소 시스템 (신선한 데비안 컨테이너)으로 시작하는 경우 먼저 sudo 설치하십시오.
# Only if starting as root on a minimal system
apt update && apt install -y sudo시스템 종속성 설치 :
# 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 start참고 : SUDO로 PNPM을 설치할 때 감사 관련 오류가 표시되면 이는 컨테이너 또는 감사 기능이 제한되는 최소 시스템에서 정상입니다.
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.yaml두 가지 방법으로 응용 프로그램을 실행할 수 있습니다.
프론트 엔드 변경없이 생산 또는 개발에 가장 적합 :
pnpm run build:localetc/config.yaml 에서 개발 모드를 False로 설정합니다. :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 start라이브 재 장전을 통한 활성 프론트 엔드 개발에 가장 적합 :
etc/config.yaml 에서 개발 모드 활성화 :
:development :
:enabled : true기본 서버 시작 :
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startVite Dev 서버 (별도의 터미널)를 시작하십시오.
pnpm run dev개발 모드 (옵션 B)에서 실행될 때이 응용 프로그램은 Vite의 Dev Server를 사용하여 동적 자산 로딩 및 핫 모듈 교체를 사용합니다. 작동 방식은 다음과 같습니다.
개발 모드 ( development.enabled: true )에서 응용 프로그램은 Vite Dev 서버에서 자산을 동적으로로드합니다.
{{#frontend_development}}
< script type =" module " src =" {{ frontend_host }}/dist/main.ts " > </ script >
< script type =" module " src =" {{ frontend_host }}/dist/@vite/client " > </ script >
{{/frontend_development}} 생산 모드 ( development.enabled: false )에서 사전 구축 된 정적 자산을 사용합니다.
{{^frontend_development}}
{{{vite_assets}}}
{{/frontend_development}}이 설정을 통해 프론트 엔드 개발 중에 핫 모듈 교체 및 인스턴트 업데이트와 같은 기능이 가능하며 생산에서 최적의 성능을 보장합니다.
onetimeseCret은 모든 설치에 대해 config.yaml 파일이 필요합니다. 환경 변수는 특정 설정을 무시하는 데 사용될 수 있지만 config.yaml 파일은 항상 있어야합니다.
구성 파일 작성 :
cp -p ./etc/config.example.yaml ./etc/config.yaml 필요에 따라 ./etc/config.yaml 검토하고 편집하십시오. 최소한 비밀 키를 업데이트하고 안전하게 백업하십시오.
./etc/config.yaml 파일은 기본 구성 메소드입니다. ERB 구문을 사용하여 환경 변수를 통합하여 유연한 구성을 허용합니다.
---
:site :
:host : <%= ENV['HOST'] || 'localhost:7143' %>
:domains :
:enabled : <%= ENV['DOMAINS_ENABLED'] || false %>이 형식으로 :
HOST )가 설정되면 해당 값이 사용됩니다. config.yaml 에서 구성 할 주요 영역 :
빠른 설정 또는 컨테이너 배포의 경우 환경 변수를 사용하여 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 Docker 설정 및 로컬 개발을 포함한 다양한 배포 시나리오의 경우 .env 파일을 사용하여 환경 변수를 설정할 수 있습니다.
.env 파일 생성 :
cp -p .env.example .env 원하는 구성으로 .env 파일을 편집하십시오.
사용법은 설정에 따라 다릅니다.
로컬 개발의 경우 응용 프로그램을 실행하기 전에 변수를로드하십시오.
set -a
source .env
set +a Docker 배포의 경우 --env-file 옵션을 사용할 수 있습니다.
docker run --env-file .env your-image-nameDocker-Compose에서는 docker-compose.yml에 .env 파일을 지정할 수 있습니다.
services :
your-service :
env_file :
- .env.env 파일은 다재다능하며 다양한 배포 시나리오에서 사용될 수 있으며 환경 변수를 관리하는 방법에 유연성을 제공합니다.
config.yaml 파일은 항상 필요합니다..env 파일 방법을 선택하십시오.config.yaml 에서 환경 변수 참조를 제거하면 구성의 리터럴 값 만 사용됩니다. 중요한
SECRET 키에 대한 보안 값을 환경 변수 또는 site.secret in etc/config.yaml 로 사용하십시오. 일단 설정되면이 값을 변경하지 마십시오. 안전한 오프 사이트 위치에 백업을 생성하고 저장하십시오. 비밀을 바꾸면 기존 비밀의 암호 해독을 방지 할 수 있습니다.
사용 가능한 구성 옵션의 전체 목록은 config.example.yaml 파일의 주석을 참조하십시오.
안전하고 무작위 256 비트 (32 바이트) 비밀 키를 생성하려면 OpenSSL을 사용하여 다음 명령을 사용할 수 있습니다.
openssl rand -hex 32 OpenSSL이 설치되지 않은 경우 dd 명령을 폴백으로 사용할 수 있습니다.
dd if=/dev/urandom bs=32 count=1 2> /dev/null | xxd -p -c 32 참고 : dd 명령은 합리적인 대안을 제공하지만 Cryptographic 목적으로 OpenSSL을 사용하는 것이 권장됩니다.
"컨테이너 이름 '/oneTimeseCret'이 이미 사용중인 오류가 발생하면 :
# If the container already exists, you can simply start it again:
docker start onetimesecret
# OR, remove the existing container
docker rm onetimesecret 컨테이너를 제거한 후 일반 docker run 명령을 다시 실행할 수 있습니다.
Docker Compose 설정은 전용 Docker Compose Repo를 참조하십시오.
디버그 모드에서 실행하려면 :
ONETIME_DEBUG=true bundle exec thin -e dev start 개발 모드에서 VITE 서버를 실행하면 파일이 변경되면 자동으로 다시로드됩니다. RACK_ENV development 또는 development.enabled 로 설정되어 있는지 확인하십시오 etc/config 에서 설정된 것이 false 로 설정되어 있는지 확인하십시오.
우리는 pre-commit 프레임 워크를 사용하여 코드 품질을 유지합니다. 설정하려면 :
사전 커밋 설치 :
pip install pre-commitGIT 후크 설치 :
pre-commit install이를 통해 사전 커밋 후크가 각 커밋 전에 실행되도록하여 코드 품질과 일관성을 유지하는 데 도움이됩니다.
이미지의 레이어를보고 빌드를 최적화하려면 다음을 사용하십시오.
docker history < image_id >생산에 배포 할 때 다음을 확인하십시오.
예제 생산 배포 :
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
onetimesecret모든 민감한 정보가 배포 스크립트 나 환경에 적절하게 확보되어 노출되지 않도록하십시오.
이 섹션에서는 프로젝트와 유사한 서비스에 대한 개요를 제공하여 고유 한 기능과 비교 방법을 강조합니다. 이러한 대안은 특정 기능을 찾거나 동일한 도메인에서 다른 옵션을 탐색하려는 사용자에게 유용 할 수 있습니다. 이 정보를 제시함으로써 우리는 사용자에게 보안 정보 공유 공간에서 사용 가능한 옵션에 대한 포괄적 인 견해를 제공하는 것을 목표로합니다.
참고 : 우리의 사내 법률 고문 (Codium-PR-Agent-Pro Bot) 은이 소개와 결국 면책 조항을 추가 할 것을 제안했습니다.
| URL | 서비스 | 설명 | 독특한 특징 |
|---|---|---|---|
| https://pwpush.com/ | 비밀번호 푸셔 | 브라우저 쿠키를 사용하여 암호 및 기타 민감한 정보를 공유하는 데 도움이되는 도구. | 암호 공유를위한 임시, 자체 파괴 링크 |
| https://scrt.link/en | 비밀을 공유하십시오 | 민감한 정보를 익명으로 공유 할 수있는 서비스. 언론인, 변호사, 정치인, 내부 고발자 및 억압받는 개인에게 중요합니다. | 익명의 자기 파괴 메시지 공유 |
| https://cryptgeon.com/ | 암호 | 비밀과 암호를 안전하게 공유하기위한 서비스. | 비밀 생성기, 비밀번호 생성기 및 비밀 금고를 제공합니다 |
| https://www.vanish.so/ | 사라지다 | 비밀과 암호를 안전하게 공유하기위한 서비스. | 강력한 암호화로 자체 파괴 메시지 |
| https://password.link/en | password.link | 민감한 정보를 안전하게 보내고받는 서비스. | 민감한 정보 공유를 위해 보안 링크 생성 |
| https://sebsauvage.net/ | sebsauvage.net | 다양한 정보 및 서비스를 제공하는 웹 사이트. | 도난당한 컴퓨터를 복구하는 소프트웨어 |
| https://www.sharesecret.co/ | SharesEcret | Slack 및 이메일에서 비밀번호를 안전하게 공유하기위한 서비스. | Slack 및 이메일 통합으로 비밀번호 공유를 보장합니다 |
| https://teampassword.com/ | TeamPassword | 팀의 비밀번호 관리자. | 빠르고 사용하기 쉬우 며 안전한 팀 비밀번호 관리 |
| https://secretshare.io/ | 비밀 점유율 | 비밀번호를 안전하게 공유하기위한 서비스. | 운송 및 휴식 중 데이터에 대한 강력한 암호화 |
| https://retriever.corgea.io/ | 리트리버 | 비밀을 안전하게 요청하기위한 서비스. | 보안 비밀 요청 및 암호화로 검색 |
| https://winden.app/s | 윈든 | 비밀과 암호를 안전하게 공유하기위한 서비스. | 엔드 투 엔드 암호화로 파일을 안전하게 전송합니다 |
| https://www.snote.app/ | 스낵 | 엔드 투 엔드 암호화가있는 개인 정보 집중 작업 공간. | 프로젝트, 할 일, 작업 및 공유 파일에 대한 협업을 보안하십시오 |
| https://www.burnafterreading.me/ | 읽은 후에 화상 | 다양한 유형의 민감한 정보를 공유하기위한 서비스. | Diceware 암호화 암호화로 자체 파괴 메시지 |
| https://pvtnote.com/en/ | pvtnote | 개인적이고 자체 파괴하는 메시지를 보내는 서비스. | 자체 파괴 메시지로 깨끗한 디자인 |
| https://k9crypt.xyz/ | K9crypt | 안전하고 익명의 메시징 플랫폼. | 2 시간의 메시지 삭제가있는 엔드 투 엔드 암호화 |
Cohere Command R+, Claude 3.5 Sonnet에 의해 형식화 된 Cohere Command R+에 의해 요약되고, 가져오고, 수집되고 Github Copilot에 의해 교정되었습니다.
이 목록에 이러한 서비스를 포함한다고해서 승인을 의미하지는 않습니다. 사용자는 특히 민감한 정보를 처리 할 때 나열된 서비스를 사용하기 전에 자신의 연구 및 실사를 수행하는 것이 좋습니다.