GithubHelp home page GithubHelp logo

ghostik-gh / tg-password-keeper Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 719 KB

Телеграмм бот для хранения паролей [Docker, PostgreSQL, go-telegram-bot-api]

Home Page: https://t.me/vk_intership_1198_bot

Dockerfile 2.16% Go 97.84%

tg-password-keeper's Introduction

Телеграм Бот для хранения паролей

Educational project !!!

Бот размещен на своем VPS сервере и доступен круглосуточно по ссылке https://t.me/vk_intership_1198_bot, либо в поиске телеграмма @vk_intership_1198_bot

Golang, PostgreSQL, Docker


Как работает

Бот сохраняет серивисы и переданные пароли к ним, доступные команды:

  1. /get - Выводит все доступные сервисы
  2. /set - Устанавливает пароль для сервиса
  3. /del - Удаляет сервис из хранилища
  4. /help - Вызов справки
  5. /start - Аналогично /help
  6. /author - Выдает ссылку на автора

К командам не нужно передавать аргументы

К командам /get добавляются Inline кнопки для быстрого взаимодействия

Каждый пароль сохраняется в БД в зашифрованном виде

Сообщения с паролем удаляются через 5 секунд после появления в чате

Приложение упаковано в Docker, запускается вместе с образом postgres

Как запускать

Если вы хотите изменить бота можете скопировать весь репозиторий

git clone https://github.com/Ghostik-gh/tg-Golang-VK.git

затем создайте config.json и внесите в него поле

{
    "TelegramBotToken" : "YOURS:TOKEN"
}

Сохраните свои изменения и соберите свой образ бота

docker build -t ghostikgh/golang-bot .

после чего запустить

docker-compose up --build

После выполнения этой команды будет 6-секундная задержка для того чтобы образ Postgres успел выполнить подготовку

DockerHub: https://hub.docker.com/r/ghostikgh/golang-bot - образ бота без postgres

Что можно добавить

  1. Перенести на Tarantool в качестве учебной задачи, потому что в данном случае in-memory БД будет неоправданной тратой ресурсов
  2. Добавить сессии в которой нужно будет вводить произвольное число с помощью которого будут кодироваться и декодироваться все пароли, если при занесении в БД использовался один код, а при извлечении другой то пароль будет неверным.
  3. Создать свою Инлайн панель для удаления сервиса
  4. Сохранять не только пароль и навзание сервиса, но и логин
  5. Зарефакторить по папкам почти как https://github.com/golang-standards/project-layout/tree/master
  6. Написать тесты
  7. Собрать конфиги в одном месте, скорее всего в docker-compose
  8. Добавить minikube на свой сервер
Examples

/set

example /set

/get

example /get

/del

example /del

/help

example /help

Mobile

example Mobile

tg-password-keeper's People

Contributors

ghostik-gh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.