
Комментарии 81
Приложение может и хорошее, но выкладывать скомпилированный бинарник и давать на него ссылку в то время когда все говорят, что не стоит скачивать и тем более устанавливать файлы из непроверенных источников - это не очень хорошая идея. А если в это приложение украдет все мои пароли?
Вот если бы в статье было описание исходников и ссылка на них тогда можно и посмотреть, что у вас получилось.
выкладывать скомпилированный бинарник и давать на него ссылку в то время когда все говорят, что не стоит скачивать и тем более устанавливать файлы из непроверенных источников - это не очень хорошая идея.
Ну мало ли, а вдруг кто и поведётся?/s
Возможно, что автор просто еще не дошел до изучения git и сервисов для хранения открытых исходников.
Слушай. Ты антивирусом не умеешь пользоваться что ли. А прикинь, если апп вообще без исходников было б и платное и - что?
Ты антивирусом не умеешь пользоваться что ли
Антивирусом пользуешься не ты, а тебя пользуют. В большинстве случаев.
Спасибо вам за критику.
Есть несколько причин, по которым я не выкладываю исходники в открытый доступ:
В приложении есть возможность шифрования содержимого документов, если логика дешифрования станет доступна, можно будет ею воспользоваться, а я сам храню в Data Organizer важную информацию. Понимаю что любые данные при желании можно вскрыть, но все же, вдруг приложение станет востребованным и просто не хочется кого-то подставить.
Я использую проприетарные компоненты от Telerik (сам купил лицензию) и Syncfusion (комьюнити лицензия). У Syncfusion странная система лицензирования компонентов, вынуждающая прописывать ключ прямо в коде, не хотелось бы его светить, на всякий случай, чтобы мой аккаунт не заблокировали.
Если у кого-нибудь есть идеи, как это можно обойти, то я бы с радостью выложил исходники в открытый доступ.
В приложении есть возможность шифрования содержимого документов, если логика дешифрования станет доступна, можно будет ею воспользоваться,
У вас в приложении своя собственная логика шифрования? LOL, удачи вам и творческих успехов :)))
В приложении есть возможность шифрования содержимого документов, если логика дешифрования станет доступна, можно будет ею воспользоваться
Ну вот, приехали )))) Security through obscurity на самописных велосипедах? Если так, то можете считать, что никакого шифрования у вас нет.
Если так, то можете считать, что никакого шифрования у вас нет.
Теоретически, можно что-нибудь и своё интересное придумать, но со "своим интересным" тогда можно и неприятностей, как когда-то Циммерман, себе нажить.
Раньше был такой анекдот:
Когда поздно вечером в дверь англичанина раздаётся стук, он, конечно, может предположить, что это королева пришла провести с ним ночь, но, скорее всего, это у соседа кончилась соль.
С самописной системой шифрования обычно что-то похожее происходит. Циммерман более 10 лет специализировался на криптографии, прежде чем PGP написал. Это то самое исключение, подтверждающее правило.
Логика шифрования/дешифрования должна опираться на стандартные, проверенные и открытые решения. Тогда и самому писать ее не нужно, и причин прятать нет. Я с гораздо большим недоверием отношусь к программе, алгоритм шифрования которой мне неизвестен, чем к открытой программе вообще без шифрования. Так как программа хранит мои текстовые данные, я хочу иметь доступ к этим данным независимо от существования этой программы, на том простом основании, что данные - мои. Как только данные зашифрованы неизвестным алгоритмом, я немедленно теряю контроль над ними, мне просто дают ими попользоваться. Однажды могут и не дать, письменных гарантий я не получал))) В общем банально прикрутить RSA и дать пользователям хранить у себя ключик было бы маленькой задачей для программиста, но огромным скачком для программы)
Прямо в коде теоретически можно вызвать переменную окружения или другой механизм передачи приватных данных (Vault первым приходит в голову, хотя это явно оверхед). Ключ виден только в окружении сборки, но не в исходниках.
А вообще интересный опыт, дерзайте! Я сам дважды в одиночку писал приложения подобного рода (на разном стеке), прежде чем появился Obsidian, в котором все мои хотелки были воплощены)
Спасибо за развернутый комментарий. Я пересмотрю свой подход к шифрованию данных. Была мысль использовать переменные окружения, но посчитал этот подход менее безопасным) Также ради комментариев была создана мною статья.
Нельзя все чувствительные куски кода загнать в библиотеки?
Основная логика шифрования в том, что в шифровании логично не полагаться на "секрет" знание которого скомпрометирует все шифрование.
Обойти это очень просто - все личные данные надо вынести в конфигурационный файл сборки, и не включать его в репозиторий.
И правильно вам говорят - если вы боитесь, что исходный код шифрования позволит кому-то расшифровать ваши записи, значит, у вас очень плохое шифрование. Тем более, программы на .NET весьма дружественно декомпилируются.
надеюсь это вы исправите
Насчёт алгоритмов шифрования и опенсурса - современные алгоритмы шифрования позволяют и с наличием опенсурс вполне надёжно шифровать данные, WireGuard тому пример
А почему решили писать свое? Не смотрели уже существующее разработки, тот же Obsidian например.
Как известно, все существующие разработки имеют один "фатальный недостаток":
https://ru.wikipedia.org/wiki/Синдром_неприятия_чужой_разработки
Написал свое, так как, хотелось назначать документам глобальные горячие клавиши, для максимально быстрого копирования текста в буфер обмена. И еще хотелось иметь особый минималистичный режим работы, который реализован в приложении как режим «Избранное». Я добавил описание этого режима в статью.
Обсидиан поддерживает markdown (оформление кода с подсветкой синтаксиса, вставка изображений, заголовки и прочее), перекрестные ссылки между документами.
Копировать текст кода из блока кода, который может находиться в целом смешанном гайде - 1 клик.
Есть вкладка "закладки" (bookmarks), где будут только "избранные" файлы. Ну, а история буфера обмена уже встроена с вин10, если войти в учётку Майкрософт, а не через локальную сидеть.
Синхронизация настраивается, учитывая, что это просто папки с файлами ".md" - хоть через Гугл/Яндекс/чтоугодно диск, хоть через гит.
А ещё там есть плагины...
В общем, рекомендую ознакомиться с софтиной. Скорее всего отпадет желание продолжать делать свою.
org-mode /s
Mars Notebook тоже.
Ищу нормальное (не монструозное) апп. До сих пор ищу, так как еще не нашел.
Приложение - заметки, которое имело бы версии на андроид, линукс desktop и windows с возможностью синхронизации и не весило бы миллиард гигобайтов.
UpNote попробуйте, купил про и не жалею
Был и WizNote и Nimbus и Обсидиан
Выглядит интересно. Есть только одна проблема, если компания перестанет существовать и отключит серверную инфраструктуру, вы лишитесь возможности дальше пользоваться заметками.
Обсиданыч не зависит от какой-либо серверной инфраструктуры. Конечно, есть у него действительно недостаток, это то что он closed-source, Но от чего либо, кроме самого его инсталлятора он не зависит.
Обсидиан, но там для синхронизации придется чутка пострадать. А вообще, если хотите локальную БД с заметками и связями - очень рекомендую посмотреть в сторону anytype. Ребята пилят notion, но с локальной БД
Что в вашем представлении "не монструозное"?
То же самое, что в представлении "не монструозное" для нормальных людей.
А не как это, напр.: https://imgur.com/a/bYVSBAY
А пару лет назад оно весило около 10мб, а то и меньше.
Я тоже. В итоге остановился на My Note Keeper, андроидом пришлось пожертвовать. Второй вариант -EPIM, с локальной синхронизацией с андроидом.
Отличный пет-проект ?
Обязательно освой гитхаб и публикуй его как опенсорс. Никто в здравом уме не пойдёт скачивать и запускать не подписанный бинарник от нонейма
Зачем делать ненужный pet-проект? Я, например, мог бы подкинуть несколько идей, которые были бы полезны не только мне, но (я думаю) и другим, которые, в принципе, не так уж и сложно реализовать, и для которых я даже пути реализации знаю - просто у меня самого всё время либо времени нет, либо не доходят руки это полноценно в виде проекта сделать (т.е. на таком уровне, что "скачал и пользуйся").
Так подкиньте же, уважаемый, не томите скорбным ожиданием) Возможно не автор поста, но кто-нибудь другой загорится идеей.
Ну, вот, смотрите, вот такая давно уже идея. Кастомизируемый web-clipper. Фоновый процесс (возможно, сервис, или демон). Расширение для браузера передаёт в него просто какой-то URL страницы (или же содержимое страницы). Фоновый процесс по паттерну URL выбирает некоторую процедуру её разбора (которая заранее задаётся пользовательским скриптом), разбирает её, а потом отправляет в некоторое назначение (а возможные "места назначения" опять таки можно подключать в виде уже готовых плагинов - например, "сохранить как файл", "сохранить в буфер обмена", "отправить по почте" - это тоже надо сделать расширяемо, т.е. эти плагины можно делать, устанавливать, и подключать отдельно).
Вот, как пример. Читаю я статью Хабра и мне хочется её сохранить как текст MаrkDown - нажимаю в браузере кнопку, сервис по шаблону URL: "https://habr.com/ru/articles/(\d)+/?" находит (по наличию привязки к моему собственному скрипту) что речь идет о статье с Хабра, потом он загружает её HTML, разбирает его (например с помощью HTML Agility Pack) и передаёт её моему скрипту в виде разобранного объекта. Скрипт в свою очередь выбирает из объекта всё нужное (саму статью), форматирует её и отправляет на сохранение.
Или смотрю я какой-нибудь рецепт на "Еде", хочу сохранить. Снова нажимаю кнопку, и происходит то же самое, только скрипт уже выбирается другой - для этого случая.
Движок для различных скриптов тоже следует делать плагинами, чтобы подключать разные скрипты (например, PowerShell, Lua, JS, и т.п. - кому что больше по душе).
Читаю я статью Хабра и мне хочется её сохранить как текст MаrkDown
А вообще, существуют ли подобные инструменты, позволяющие статью Хабра сохранить, например, в MarkDown, а ещё лучше в PDF с картинками?
Да клипперы-то есть всевозможные. С ними беда в том, что они из страницы делают (допустим текст) так, как они считают нужным, и если хочешь чтобы все цивильно было, то после них все равно приходится руками всё подправлять и чистить. А мне вот хочется, чтобы я для тех страниц, что регулярно хочу сохранять, зная их структуру (просто посмотрев её в Dev Tools) мог запрограммировать (скриптом) то как мне её в тот же текст превратить. "На коленке" для какой-то страницы я могу это сделать вообще без проблем, но хочется чтобы все это было удобно и автоматизировано - зашел в какие-то настройки, задал там регулярное выражение для URL и вписал туда скрипт, а потом просто на такой же странице вызывал весь этот процесс одним нажатием кнопки расширения браузера.
Ну а всё-таки, есть готовый инструмент для сохранения статьи в PDF? Видел вроде на Хабре статью про это, но там было что-то не очень простое - чуть ли не какой-то скрипт на Питоне, который ещё надо установить, и к нему ещё какие-то дополнения вроде прослойки для создания PDF. Чего-то однокнопочного нет?
Хром расширение "PDF mage" для PDF и MarkDownload для md соответственно.
Просто распечатать страницу в PDF можно с помощью Print to PDF. Хочется, чтобы была только статья - без шапок сайта (которые сверху/справа/снизу), рекламы, комментариев и вообще всего лишнего.
А просто "распечатать в PDF" не подходит? :)
Хочется без лишнего - "шапки" сайта, комментариев и т.д.
Можно выделить текст и по правой кнопке на выделенный текст / печать.
Либо как вариант во многих браузерах (Firefox и т.д.) есть встроенное переключение на режим чтения, которое убирает все лишнее.
Бывают сайты с кривой версткой где приходится сперва через просмотр кода убирать все лишнее и потом уже на печать.
Ну, вот, примитивное "на коленке" (в MarkDown):
Hidden text
$ErrorActionPreference = "Stop"
[System.Reflection.Assembly]::LoadFrom((Join-Path $PSScriptRoot "HtmlAgilityPack.dll"))
function Get-HabrArticle {
[CmdletBinding()]
param (
[Parameter(Mandatory, Position = 0, ValueFromPipeline)]
[ValidatePattern('^\d+
Desktop приложение для хранения текстовой информации