πŸ’Ύ Archived View for gemi.dev β€Ί gemini-mailing-list β€Ί 000473.gmi captured on 2024-05-26 at 16:01:03. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-12-28)

-=-=-=-=-=-=-

On input and uploading of user content

1. Lorenzo Miglietta (ranfdev (a) gmail.com)

So, I want to make an app to view and edit gemini content. My objective
is to create a blogging platform alternative to medium.com, with
gemini.

I don't understand how I'm suppesed to upload things when using gemini.
By reading the mailing list archive, I've found the following ways:
- Gemini input (max input of 1024B - sizeof(url))
- Titan
- Dioscuri
- Inimeg
- FTP, SFTP, Rsync, ... (Implementing these protocols in the app
requires too much work)

Is there a recommended way to do this? Or should I just look away,
implement everything in http and offer a gemini proxy to read blog
posts?

Link to individual message.

2. James Tomasino (tomasino (a) lavabit.com)

On 11/16/20 12:03 PM, Lorenzo Miglietta wrote:
> Is there a recommended way to do this? Or should I just look away,
> implement everything in http and offer a gemini proxy to read blog
> posts?

The recommended way is to use another protocol for uploading content. You 
can choose which one works best for your needs. Those solutions you 
mentioned in the email are all valid in their own way, even including 
HTTP, but you can use whatever is easiest for you. Someone recently shared 
a post-via-email solution, for instance.

Good luck with your app!

Link to individual message.

3. Waweic (waweic (a) activ.ism.rocks)

> So, I want to make an app to view and edit gemini content. My
> objective
> is to create a blogging platform alternative to medium.com, with
> gemini.

I was also thinking about this. I think, if I were to do this, I would
probably settle on one of the already established standards, probably
SFTP or E-Mail. For E-Mail, you could prepare something to your liking
in the App and then use a mailto:-Link to send it over to the server,
for SFTP you could use an already available library and put an ED25519
pubkey on the server using Gemini input. This is especially cool,
because it might work with already existing servers.

Thinking about it, if you are going to build an App around a
centralized service anyways, you could also just build a REST API and
use that one, this is also what HTTP was built for

Link to individual message.

4. Gary Johnson (lambdatronic (a) disroot.org)

> I don't understand how I'm suppesed to upload things when using gemini.
> By reading the mailing list archive, I've found the following ways:
> - Gemini input (max input of 1024B - sizeof(url))
> - Titan
> - Dioscuri
> - Inimeg
> - FTP, SFTP, Rsync, ... (Implementing these protocols in the app
> requires too much work)
>
> Is there a recommended way to do this? Or should I just look away,
> implement everything in http and offer a gemini proxy to read blog
> posts?

Consider that another solution that would be simple for your Gemini app
to handle natively would be to upload your files to a file sharing
service like Nextcloud or Lufi and then to use Gemini response code 10
to prompt your user for the URL of the file they want your app to
import.

Your Gemini server can then make the necessary connection to the file
sharing service to download the file and do whatever it wants with it
before sending a response back to your user.

Nextcloud: https://nextcloud.com/
Lufi:      https://framagit.org/fiat-tux/hat-softwares/lufi

If you want to test it out quickly, there's a public Lufi instance
running on Disroot's servers (please don't abuse it):

  https://upload.disroot.org/

Happy hacking,
  Gary

-- 
GPG Key ID: 7BC158ED
Use `gpg --search-keys lambdatronic' to find me
Protect yourself from surveillance: https://emailselfdefense.fsf.org
=======================================================================
()  ascii ribbon campaign - against html e-mail
/\  www.asciiribbon.org   - against proprietary attachments

Why is HTML email a security nightmare? See https://useplaintext.email/

Please avoid sending me MS-Office attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Link to individual message.

5. Lorenzo Miglietta (ranfdev (a) gmail.com)

> Consider that another solution that would be simple for your Gemini
> app
> to handle natively would be to upload your files to a file sharing
> service like Nextcloud or Lufi and then to use Gemini response code
> 10
> to prompt your user for the URL of the file they want your app to
> import.

Thanks for the idea, but I wanted to integrate uploading in my app.
Telling the user to upload a file into another service temporarily is
more of a workaround than a real solution.

>

Link to individual message.

6. BjΓΆrn WΓ€rmedal (bjorn.warmedal (a) gmail.com)

Hi,

I compiled a bunch of arguments on this subject in two posts on my
gemlog not long ago:
gemini://tilde.team/~ew0k/gemini-and-post.gmi
gemini://tilde.team/~ew0k/gemini-and-post-part2.gmi

The tl;dr of it is that there is no standardized way of
posting/uploading content in geminispace, and you are encouraged to
design a solution that works best for your use case.

Cheers,
ew0k

Link to individual message.

7. John Cowan (cowan (a) ccil.org)

Minor correction:

Titan is a PUT protocol that can send something to a server.  Dioscuri is a
true POST protocol: you send something to the server, and then you get
either a response or an URL pointing to the true response (thanks to the
magic of MIME-type message/external-body).  Dioscuri isn't really intended
as a file-upload protocol, though it could be used that way, but as an
application protocol for requests that won't fit into an URL.  It is in no
way intended for use with forms, but with specialized clients.


On Thu, Nov 19, 2020 at 12:56 PM Bj?rn W?rmedal <bjorn.warmedal at gmail.com>
wrote:

> Hi,
>
> I compiled a bunch of arguments on this subject in two posts on my
> gemlog not long ago:
> gemini://tilde.team/~ew0k/gemini-and-post.gmi
> gemini://tilde.team/~ew0k/gemini-and-post-part2.gmi
>
> The tl;dr of it is that there is no standardized way of
> posting/uploading content in geminispace, and you are encouraged to
> design a solution that works best for your use case.
>
> Cheers,
> ew0k
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.orbitalfox.eu/archives/gemini/attachments/20201120/70f9
5ba0/attachment.htm>

Link to individual message.

8. Zach DeCook (zachdecook (a) librem.one)

In-Reply-To: <f749c381ad9f4aaa9f44866ad74bd4a9143939dd.camel at gmail.com>

> Thanks for the idea, but I wanted to integrate uploading in my app.

Probably not a perfect solution, but one thing I'm going with (for a 
text-editing application) is having a mailto link for the user to email 
me. Then, the server just needs to read the email through imap.

Assuming your expected uploads are not larger than the email servers can 
handle, this should work fine. (You can also check the email address 
against the email address from the user's certificate for validation)

=> https://git.sr.ht/~earboxer/prosongsa/commit/61ad5c86 Here's a little 
example I coded up in PHP for editing text files, if you're curious.

-Zach

Link to individual message.

9. cbabcock (a) asciiking.com (cbabcock (a) asciiking.com)

> (You can also check the email address against the email address from the 
user's certificate
> for validation)

You can offer the email address from the certificate as a default for the 
reader to confirm, refuse, or replace as linked to some notion of an 
account, but it's necessary to have explicit permission to link the 
identity of a user to that information... and you shouldn't make any 
positive assumption about user supplied data, including unsigned or 
self-signed certificates

Also, don't trust the "From" address in an email. Insist on end to end 
encryption if the content transmitted is actually sensitive. If the 
contents aren't actually sensitive, processing is reversible, and volume 
is sufficiently low, then you can use a token inserted in either the 
subject or the from address to transmit session information. In either 
case, a receipt is required for email transactions

Chris

Link to individual message.

10. Lorenzo Miglietta (ranfdev (a) gmail.com)

> I compiled a bunch of arguments on this subject in two posts on my
> gemlog not long ago:
> gemini://tilde.team/~ew0k/gemini-and-post.gmi
> gemini://tilde.team/~ew0k/gemini-and-post-part2.gmi

Thank you, these are really great resources!

Link to individual message.

11. BjΓΆrn WΓ€rmedal (bjorn.warmedal (a) gmail.com)

On Fri, 20 Nov 2020 at 19:56, John Cowan <cowan at ccil.org> wrote:
>
> Minor correction:
>
> Titan is a PUT protocol that can send something to a server.  Dioscuri 
is a true POST protocol: you send something to the server, and then you 
get either a response or an URL pointing to the true response (thanks to 
the magic of MIME-type message/external-body).  Dioscuri isn't really 
intended as a file-upload protocol, though it could be used that way, but 
as an application protocol for requests that won't fit into an URL.  It is 
in no way intended for use with forms, but with specialized clients.

Thank you! I just thought of them both as "ways to send data to the
server", but there is definitely a point to clarifying the difference.
I've added a clarification to my finishing post on the subject:
gemini://tilde.team/~ew0k/gemini-and-post-part2.gmi

Cheers,
ew0k

Link to individual message.

---

Previous Thread: [ANN] Aquarius, a PHP app framework for Gemini CGI

Next Thread: Regarding non-finite response bodies