Sagleft / hodl-tricks

Finally, you can Hodl BTC and guard against yourself from selling

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hodl-tricks

Finally, you can Hodl BTC and guard against himself from selling

Что делает эта штука?

Позволяет блокировать, шифровать какие-то данные на N времени. Например, на 5 лет. Чтобы никто, даже ты сам не добрался до этой информации.

Не уверен, что до нее вообще не добраться, но лично для себя это подойдет, к примеру, чтобы захолдить крипто монеты на долгосрок.

Как работает?

Шифрует текстовой файл, записывает время момента, когда его зашифровал. И дает расшифровать только когда пройдет N времени (указывается при шифровании). Определение времени сделано на внешних API, чтобы не зависело от системного времени. Я добавил несколько API, чтобы в случае ошибки на одном, использовался другой.

Использование

Для начала disclaimer:

  1. В каждом релизе утилиты вшиты разные ключи шифрования, поэтому если ты зашифровал что-то, то должен расшифровывать той же версией утилиты. Рекомендую закидывать утилиту и зашифрованный файл на одну и ту же флешку (и можно еще 2 бекапа держать на еще 2 флешках);
  2. [опционально, но по концепции утилиты, не задумывается] На всякий пожарный, если шифруешь этой утилитой свой SEED ключ или приватники или что-либо еще очень важное... на всякий случай запиши куда-то это и в другом виде. И если шифруешь с целью не использовать данные какое-то время, то, скажем, запиши незашифрованный файл на флешку... и... сохрани где-либо, куда длительное время точно не будет доступа. Зачем? Чтобы, если что не так пойдет с утилитой или флешка с ней будет утеряна, то не терять последний экземпляр.
  3. Лицензия MIT, я как разработчик не несу ответственности за то что ты сделаешь со своими файлами этой утилитой.

Дальше:

  1. скачиваем билд из раздела релизов или собираем сами:
sh build.sh

что сгенерирует новый ключ шифрования, соберет утилиту, в которую он зашит и поместит бинарник в папку build.

  1. Дальше запускаем утилиту через консоль, передавая ей параметры.

Не забыть закинуть в файл encrypt_this.txt то что надо зашифровать.

Он запишется в encrypted.dat. Когда происходит расшифровка, файл будет записан в decrypted.txt.

Вот примеры:

  • ./tool -type=year -duration=5 - зашифрует файл на 5 лет;
  • ./tool -mode=decrypt - попытка расшифровки файла;

Если время расшифровки еще не пришло, то будет выдано сообщение в духе Таноса - "Моё время ещё не пришло". Иначе файл расшифруется.

Все флаги запуска:

  • mode - encrypt, decrypt - какой алгоритм утилиты используем;
  • type - year, month, day, hour, minute, second - на какой период шифруем;
  • duration - значение для периода. Например, при type=day и duration=7 - файл будет зашифрован на 7 дней;

TODO

  • перевести readme на английский?
  • возможно, добавить обфускацию сгенерированного кода;
  • добавить еще API источники?

Donate

Чтобы я делал больше крутых штуковин и развивал эту

  • BTC: 1Q5jUk4e84fjvUWujUXg5DhR6PuQMnuVka
  • LTC: ltc1qkf27renf2mffgjyngffvv3q2am5h0y4j785f5j
  • ETH: 0x712ddd1CF17E4008DCac63022Ca2346ef786D807

image

About

Finally, you can Hodl BTC and guard against yourself from selling

License:MIT License


Languages

Language:Go 97.4%Language:Shell 2.6%