mcndt / obsidian-quickshare Goto Github PK
View Code? Open in Web Editor NEW📝 An Obsidian plugin for sharing encrypted Markdown notes on the web. Zero configuration required.
License: MIT License
📝 An Obsidian plugin for sharing encrypted Markdown notes on the web. Zero configuration required.
License: MIT License
Came from https://mcndt.dev/posts/how-to-e2e-encryption/ 👋🏻
Describe the bug
Currently the code sets the IV to static value of 0s, and this is considered to be insecure.. Consider randomizing your IVs.
obsidian-quickshare/src/crypto/crypto.ts
Lines 45 to 49 in 73733c0
Also, please consider reading https://security.stackexchange.com/a/17046 with regards to secure usage of AES-CBC on your service. I honestly think it's better off to do something with GCM than with CBC mode.
Awesome plugin! 🎸
I sometimes intentionally or accidentally close the sidebar "cloud" icon. There doesn't seem to be an easy way to get it back, other than quitting and relaunching the app.
I figured out I could run this at the console, but that's less than ideal
this.app.plugins.plugins["obsidian-quickshare"].initLeaf()
Possible to add a "Show/Hide Sidebar icon" command somewhere?
Is your feature request related to a problem? Please describe.
When I share a note, the title is usually important for the initial context.
Describe the solution you'd like
Display the filename as a title on the page. Like the inline title in Obsidian 1.0
Describe alternatives you've considered
Tell the person you’re sharing to the filename
Additional context
Right now you can click ... option and choose share link to share a note. However, after a note is shared there is no way to update the shared note, delete the shared note, or view/get the share not link again. You could click share note again but that will just create a brand new note.
It would be great if when you clicked share a link, if you then clicked the ... option again it would show the following options.
OzanShare seems to have the sort of functionality I'm describing which can be seen in this video.
https://www.youtube.com/watch?v=yrwg4wqUg3A
I assume you could so something similar to OzanShare by storing the key/link in the frontmatter
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
It seems ü
and -
among others break the rendering of tags:
Text in the picture:
> [!metadata]-
> - *status*:: draft
> - *source*:: [[2022-04-25 Pathologie Vorlesung]]
> - *tags*:: #krankheitsbild/entzündung #anatomie/darm
> - *course*:: [[Pathologie]]
> - *review*:: #review/semester-5/pathologie
### Epidemiologie
Generating keys purely from note content make the keys stable for specific content. Actors can verify if some note they got without any identifying information comes from. While attacks from external actors would be difficult because note IDs aren't easily enumerable, whoever runs the storage service can easily check whether there is a note with specific content in the system, and which user uploaded it (since uploads are logged with an user ID). As far as I understand the security model obsidian-quickshare is intended to satisfy, this is a security issue.
Fix would be to use a secure random generator to generate the key, like Crypto.getRandomValues
Is your feature request related to a problem? Please describe.
Yes. Despite the RTL support of obsidian, the published version doesn't have RTL support and sentences are rendered wrong.
When I looked it up, seems it should be due to too many requests. Does this mean the only way to use the service would be to set up a self-hosted version of this?
Describe the bug
After sharing note we have table->tbody->tr->td(align=center) and content in tables looks ugly
To Reproduce
Expected behavior
Set left alignement for content and center for headers
Screenshots
Current implementation
Environment (please complete the following information):
Additional context
Sample note
Describe the bug
Title of note renders twice. Happens when the title of the note is the same as the first H1 heading.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Heading/name of file should only appear once in share render when they are the same.
Screenshots
Environment (please complete the following information):
Describe the bug
With disabled option Use frontmatter, a unshare still adds a block:
---
quickshare-date: "N/A"
quickshare-url: "Removed"
---
to the original md-file.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The absence of any changes in the source file, both a share or unshare note.
Environment (please complete the following information):
Describe the bug
navigation
on the sidebar pane should be set to false. Otherwise it takes focus. This has two implications.
To Reproduce
Expected behavior
It shouldn’t be navigable.
Environment (please complete the following information):
Additional context
SubtleCrypto is a web standard and built into most browsers, offering better reliability and performance.
I see this as a blocking issue for image embedding.
user_id should be a random id (e.g. uuid v4) that is used to indicate notes originate from the same user.
From this, I can estimate the amount of active users per week/month with no or limited impact on privacy.
Allow another Obsidian user to download the file directly into their vault.
Could use a plugin command "Download shared note" that would accept the encrypted URL, and make the GET request with an Accept: text/markdown,text/plain
or to indicate that the file should be returned as-is, without the rendered web view.
It isn't clear to me if you could use this to share other kinds of files as well.
Footnotes display as hovering in Obsidian in viewer more . But when I host the page using your great app and Noteshare.space, these don't hover. Could this be supported?
First off: amazing idea! I've wanted this sort of functionality for a while. Once my server is up and running, I'm thinking of implementing a "send" option, so the notes can be uploaded to a send instance, and then a link is copied to the user clipboard.
From Samarth#1648 on the Noteshare.space Discord server:
Is it possible to delete the shared link before 31 days? (unsharing?)
Folds or Folding callouts are very useful. But when I host the page using your app and Noteshare.space, these come unfolded and don't fold up. Could this be supported?
Hey guys,
looks like an awesome plugin, but its not working for me.
Error: Request failed, status 404
at new t (app.js:1:710073)
at Aw (app.js:1:710265)
at app.js:1:710942
at app.js:1:235505
at Object.next (app.js:1:235610)
at a (app.js:1:234349)
Inside Func shareNote
I keep on getting inside the catch block .catch(this.handleSharingError);
Title and body is looking good, seems like serverUrl is making some trouble?
Do you have any advice for me?
Adding the support for the Obsidian Charts plugin would be great
From Samarth#1648 on the Noteshare Discord server:
Is it possible to delete the shared link before 31 days? (unsharing?)
Does the hosted file update if the Obsidian doc changeS?
Is your feature request related to a problem? Please describe.
Preference, maybe, not a problem.
Describe the solution you'd like
Per https://discord.com/channels/1005079685434183743/1005079686067527702/1049230918667223050
Add a toggle to the web viewer to toggle between narrow and wide margins
Additional context
I typically view long lines of text in my notes (logs) and the readable line length default is pretty narrow, making more than half of the screen width into blank space.
Thanks!
ACE
That's a super nice service, thanks for working on it. I have a relatively simple feature request, which I might eventually work on if you don't get to it first:
It would be nice if we could strip some content off the note before publishing. Some of the details of the note are meant for cross linking with other notes which are not going to be available. None of it is a secret, but it's not relevant to any of the readers either.
There are a number of ways to implement it, but we could just offer, for example, a setting that takes a regular expressions for where to start the note. Or maybe a list of regular expressions to be filtered / stripped.
In either case, the goal is just to have some way to polish the output without having to compromise the internal organization.
Thanks for considering it.
Describe the bug
This LaTeX causes error $\min_{I}\sum_{l\in L_{F}}\left|F^{l}(I)-\hat{F}^{l}(I_{0})\right|{F}^{2}+ \alpha\sum{l\in L_{G}}\left|G^{l}(I)-\hat{G}^{l}(I_{0})\right|_{F}^{2} \tag{3}$
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Screenshots
Not sure if this is a feature request or a bug, but inline code syntax/highlighting does use a different font but leaves the backticks in place when they should not appear. See example below:
It would be nice if the backticks were hidden and if the code could be shown as it is in Obsidian reading view. Thanks.
Is it possible to add a shared history for each document? If I update a document and then share it again, I lose control of the version I previously shared and can't delete it from the cloud.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.