Держите пароли и другую конфиденциальную информацию в почтовых ящиках и журналах чата.
Примечание
Пропустить инструкции по установке.
В единственном секрете - это ссылка, которую можно просмотреть только один раз. Одноразовый URL.
Попробуйте это на OneTimeCret.com!
Когда вы отправляете людям конфиденциальную информацию, такую как пароли и частные ссылки по электронной почте или чату, есть копии этой информации, хранящейся во многих местах. Если вместо этого вы используете единственную ссылку, информация сохраняется для одного просмотра, что означает, что она не может быть прочитана кем -то другим позже. Это позволяет вам безопасно отправлять конфиденциальную информацию, зная, что ее видят только один человек. Думайте об этом как о самоуничтожном послании.
Это активно разработанная и поддерживаемая версия с самыми последними функциями и обновлениями безопасности.
Ruby 3 без node.js: v0.15.0
Ruby 2.7, 2.6 (Legacy - не поддерживается): v0.12.1
Мы настоятельно рекомендуем использовать последний релиз с Ruby 3+ для лучшей производительности, безопасности и набора функций. Версии Legacy Ruby 2.x предоставляются только для справки и следует избегать в производственных средах.
Есть несколько способов запустить OneTimeCret с помощью Docker. Выберите метод, который лучше всего соответствует вашим потребностям:
Мы предлагаем предварительно построенные изображения как в реестре контейнеров 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Мы также предлагаем «Lite» версию изображения Docker, которая оптимизирована для более быстрого развертывания и сокращения использования ресурсов. Чтобы использовать версию 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.
Независимо от того, как вы получили или построили изображение, следуйте этим шагам, чтобы запустить OneTimeCret:
Начните контейнер 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), представляющий системный администратор.
Запустите контейнер OneTimeCret:
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 с именем вашего изображения, если вы построили его локально.
OneTimeCret теперь должен работать и доступен по адресу http://localhost:3000 .
Ах, да, классический парадокс Sudo! Вот моя попытка ясно справиться с этим:
Это руководство охватывает установку OneTimeCret вручную, независимо от того, работаете ли вы с существующей средой разработки или начинаете с новой системы.
Требуемые компоненты:
Во -первых, убедитесь, что у вас есть необходимые зависимости:
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+Для установки свежей системы выполните следующие действия:
Важный
Если начинать с минимальной системы (например, свежий контейнер Debian), сначала установите 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Примечание. Если вы видите ошибки, связанные с аудитом при установке PNPM с SUDO, это нормально в контейнерах или минимальных системах, где возможности аудита ограничены.
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 : :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 startЗапустите Vite Dev Server (в отдельном терминале):
pnpm run devПри запуске в режиме разработки (опция B) приложение использует 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}}Эта настройка обеспечивает такие функции, как замена горячих модулей и мгновенные обновления во время разработки фронта, одновременно обеспечивая оптимальную производительность в производстве.
OneTimeCret требует файла 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-nameВ Docker-Compose вы можете указать файл .env в вашем docker-compose.yml:
services :
your-service :
env_file :
- .envФайл .env является универсальным и может использоваться в различных сценариях развертывания, предлагая гибкость в том, как вы управляете переменными окружающей среды.
config.yaml всегда требуется, даже при использовании переменных среды..env , но не оба, чтобы избежать путаницы.config.yaml , будут использоваться только буквальные значения в конфигурации. Важный
Используйте безопасное значение для SECRET ключа в качестве переменной среды или в качестве site.secret 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 предоставляет разумную альтернативу, использование OpenSSL рекомендуется для криптографических целей.
Если вы столкнетесь с ошибкой «Имя контейнера»/OneTimeCret 'уже используется »:
# 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-commitУстановите крючки Git:
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Убедитесь, что вся конфиденциальная информация является должным образом защищена и не была обнаружена в ваших сценариях развертывания или окружающей среде.
В этом разделе представлен обзор услуг, аналогичных нашему проекту, подчеркивая их уникальные функции и то, как они сравниваются. Эти альтернативы могут быть полезны для пользователей, которые ищут конкретные функциональные возможности или желающие изучить различные варианты в одном домене. Представляя эту информацию, мы стремимся дать нашим пользователям всестороннее представление о доступных вариантах в пространстве обмена информацией.
Примечание. Наш внутренний юрисконсульт (BOT Codium-PR-AGENT-PRO) предложил добавить это введение и отказ от ответственности в конце.
| URL | Услуга | Описание | Отличительная особенность |
|---|---|---|---|
| https://pwpush.com/ | Пароль толкатель | Инструмент, который использует файлы cookie для браузера, чтобы помочь вам обмениваться паролями и другой конфиденциальной информацией. | Временные, самоуничтожительные ссылки для обмена паролями |
| https://scrt.link/en | Делиться секретом | Сервис, которая позволяет вам анонимно делиться конфиденциальной информацией. Решающий для журналистов, адвокатов, политиков, осведомителей и угнетенных людей. | Анонимный, самоуничтожающийся обмен сообщениями |
| https://cryptgeon.com/ | Cryptgeon | Сервис для безопасного обмена секретами и паролями. | Предлагает секретный генератор, генератор паролей и секретное хранилище |
| https://www.vanish.so/ | Исчезнуть | Сервис для безопасного обмена секретами и паролями. | Самоубийственные сообщения с сильным шифрованием |
| https://password.link/en | Пароль.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/ | Гореть после прочтения | Сервис для обмена различными типами конфиденциальной информации. | Самоубийственные сообщения с шифрованием пассийного фразы в костях |
| https://pvtnote.com/en/ | Pvtnote | Сервис для отправки личных, самоуничтожных сообщений. | Чистый дизайн с саморазрушительными сообщениями |
| https://k9crypt.xyz/ | K9Crypt | Безопасная и анонимная платформа обмена сообщениями. | Сквозное шифрование с 2-часовым удалением сообщений |
Суммировано, извлечено и сопоставлено командой Cohere R+, отформатировано Claude 3.5 Sonnet, и корректура Github Copilot.
Включение этих услуг в этот список не подразумевает одобрение. Пользователям рекомендуется проводить свои собственные исследования и должную осмотрительность, прежде чем использовать любую из перечисленных услуг, особенно при обработке конфиденциальной информации.