top | item 32128013

Prose.sh – A blog platform for hackers

453 points| jstanley | 3 years ago |prose.sh | reply

148 comments

order
[+] mike-cardwell|3 years ago|reply
I selected username www and it told me I would find my blog at https://www.prose.sh. Yet, I went to that URL, and found some other random persons content. Please remove that other persons content so I can display mine.
[+] qudat|3 years ago|reply
Great catch! We need to add this to the deny list. Thanks for your feedback!
[+] fragmede|3 years ago|reply
There’s a legend that a Facebook employee chose www for their username and broke all sorts of stuff.
[+] qudat|3 years ago|reply
Hey all! Thanks to everyone for checking our prose!

We just launched support for custom domains and plan to add image hosting shortly.

We also have two sibling services that leverage the same technology:

- https://lists.sh — microblog for lists

- https://pastes.sh — pastebin

Also happy to answer any questions!

[+] bicx|3 years ago|reply
Not to scare you, but I’m building the same thing in telnet rather than ssh. It won’t be slowed down by all that encryption and secured authentication.
[+] xmonkee|3 years ago|reply
I am loving this. Just created my first blog post.

1) Lists and Prose seem identical. Is there an actual difference?

2) Is there a way to actually just paste in pastes.sh? Like, without having to create a local file. I guess I can do a FIFO or something but I hate having to google bash jujutsu commands

[+] ezekg|3 years ago|reply
How does the SSH UI work? I thought that was pretty neat and a good way to give off a hacker vibe right off the bat.
[+] carapace|3 years ago|reply
First, congratulations, this seems really cool. :)

My question is, how are you going to deal with spam and, y'know, bad stuff? Related to that, how do you contact users without an email address? (I know it's possible, like you could send a custom banner, I'm curious about how you do it.)

[+] dmix|3 years ago|reply
That’s great. Why not combine the three services into one? I’d like to sometimes post lists and pastebins on my blog? It’d be easier to login to one ssh and have a central website.

Unless I missed something.

[+] modinfo|3 years ago|reply
Well even it's not bad and I like it, but it's not new at all I'm already tired of seeing projects that copy old ideas to make them work over SSH. But I tested it and it works, the cool thing is that I can edit my paste and the changes are visible as soon as I upload the file to the server. https://modinfo.pastes.sh/test.js The only pity is that the title changes to capital letters and does not respect the original file title.

It is nothing inoffensive, but respects for the creation. I like it but I don't know if I will use it, because you can have the same thing on a real SSH server for free, such as view-source:https://hashbang.sh/.

Only on hashbang.sh you have to set up nginx yourself and watch to see if your ssl certificate expires.

So, I don't know if it makes sense to create such sites, if you have hashbang.sh? But, don't get me wrong, I checked it out and I like the service, you just don't have to worry about anything, just create content. Which is for lazy users than for "hackers".

[+] blacklight|3 years ago|reply
I've checked this out with genuine interest because I've been looking for pure text file, Markdown-based blogging platform for a while.

I built Madblog some months ago (https://git.platypush.tech/blacklight/madblog) to fill that gap. Madblog has a lot of the features I wanted (including RSS feeds, git versioning for the static files, a good looking index and LaTeX support), all while being purely staticly served with zero JavaScript. But now I feel the need for some more meaningful user interactions - adding comments on articles, preferably through Fediverse/OpenID login instead of using Disqus or other bloated stuff. But I don't feel like going down that rabbit hole implementation.

Is there any source code for prose.sh by the way? Can it be self-hosted?

[+] toastal|3 years ago|reply
Markdown is severely limiting for prose and blogging though and leads to unsemantic element abuse or having to do a lot of manual HTML markup (which with no controls over styles means you’re limited further). There aren’t good conventions for a lot of ‘normal’ concepts like admonitions, figures, definition lists, citing blockquotes, footnotes, table of contents, etc.

Another red flag to me is supporting GitHub-flavored Markdown over CommonMark which actually tries to follow good standards practice for everyone. Instead projects like Pandoc have to work hard on alternative parsers because GitHub does whatever it wants with little regard for CommonMark's RFC, and in some cases, even basic semantic HMTL.

[+] ranguna|3 years ago|reply
If you are adding a lot of html into prose, then I'm not sure you really want a microblog. The limitations of markdown are a feature here.
[+] qudat|3 years ago|reply
> Markdown is severely limiting for prose and blogging though and leads to unsemantic element abuse or having to do a lot of manual HTML markup (which with no controls over styles means you’re limited further). There aren’t good conventions for a lot of ‘normal’ concepts like admonitions, figures, definition lists, citing blockquotes, footnotes, table of contents, etc.

Really excellent point. Instead of markdown, what would you suggest?

[+] gtirloni|3 years ago|reply
> In order for this to work, 2 DNS records need to be created: >CNAME for the domain to prose

I don't think RFC 1034 even allows that (zone apex must be A record).

https://serverfault.com/questions/613829/why-cant-a-cname-re...

[+] antoniomika|3 years ago|reply
Yep you’re right! My example was done with a CNAME on a subdomain (replaced the domain for privacy), and most providers provide flattening so I didn’t even think about it! I’ll update the copy to mention that.
[+] xxdesmus|3 years ago|reply
CNAME flattening works just fine and is supported by a variety of DNS providers at this point, but yes — there’s an RFC otherwise.
[+] mercora|3 years ago|reply
more precisely a CNAME must be the only record type for a given label as it would be otherwise ambiguous to revolvers. that doesn't hold true for DNSSEC secured zones where the records for signatures are to be allowed, but also arent creating any ambiguity on how to resolve queries. the apex must have NS and SOA records for a minimum to work so that rules out any CNAME in addition to that. an apex without any other record but SOA and NS would work fine though. so saying it needs to be an A record implies the wrong thing.
[+] booi|3 years ago|reply
It's strange they even put an example but it would never work. You could use cloudflare DNS to approximate a CNAME? Or prose has an A record that you could use? Not sure how this slipped by.
[+] RockRobotRock|3 years ago|reply
If you use Cloudflare, it will do "CNAME Flattening" for you
[+] hackmiester|3 years ago|reply
It is not allowed but I have never seen a situation where it doesn't work.
[+] jll29|3 years ago|reply
2 bug reports:

* dashes in file names (that become blog post titles) are elminated! ( proof: https://leidner.prose.sh/welcome-2022-07-17 )

* my blog's first post has a wrong date ("01 Jan, 0001"; proof: https://leidner.prose.sh/ )

[+] qudat|3 years ago|reply
Date issue has been fixed.

I wonder if we should just replace underscores with spaces but not hyphens to avoid this collision with hyphens you want to keep?

There’s also the frontmatter variable “title” that you can customize.

Thanks for the feedback!

[+] Zopieux|3 years ago|reply
Fun fact: if you set a date: in the future (not sure how much but 2042-01-01 worked), neither the HTML index nor the SSH interface will list your post -- though it's definitely here and accessible using the filename.
[+] pwillia7|3 years ago|reply
I just got something setup pretty simple with Hugo, Netlify, GoogleDrive and a simple action. It's still a little much to be super accessible especially since you need to fuss over markdown editor settings for pasting images and I only know of Typora that does this well, but it's pretty manageable.

That is my vision -- Something nice and simple to use like markdown in a Gdrive folder, flexibility and theme niceness of Hugo and full automation without ever needing to get into a terminal or repo unless you're coding.

Last time I tried to do this with org mode but since decided, while I learned a lot of takeaways and had a good experience, org mode isn't something I want to use every day, or even emacs for that matter.

[+] woodruffw|3 years ago|reply
This is a cool idea (I love seeing clever uses of SSH, and this is definitely one of them), but I wonder who the intended audience is: it’s not complete novices or the non-technical, and it’s presumably not people like me (who already use an SSG + rsync over SSH to accomplish the same thing on their own).
[+] unsafecast|3 years ago|reply
It's turnkey blogging but without the BS.

There's blogger, and wordpress(.com), and a lot more, but I (and presumably you and OP) would take anything over those types of platforms.

This fills the gap between 'do your own thing' and 'just use wordpress'.

[+] layer8|3 years ago|reply
Hopefully they’ll be adding a light theme and prefers-color-scheme support.
[+] drKarl|3 years ago|reply
This looks great, a while ago I was thinking it would be great to have a blogging platform that would be easy to use, no tracking, no ads, and effectively anonymous. The anonymous part obviously depends on your secops but this ticks all the boxes.

As others have asked, I wonder about long term survival of the project so what are your monetization options? Since its no ads no tracking which is one of the best features it would have to be freemium model or even donation, and since one of the potential use cases is anonymous blogging it should have the option to pay with crypto (something like Monero).

You can always self-host but it's more burdensome, even if you know how to do it (most people using this service will know how to self-host a blog or would be able to figure it out), and if you want an anonymous blog and you self host you would have to figure out how to anonymously pay for your server.

I do have a Hugo blog hosted on Netlify for free and configured to my own domain but as a command line lover prose.sh looks great (mind you the workflow to edit and publish using a Hugo blog on Netlify or anywhere else is pretty much also command line centric).

It would be great to be able to also push your own themes on prose.sh to customize the look and feel of your blog though.

[+] mholt|3 years ago|reply
I see something about using Caddy in the repo. Nice! That's a great solution for custom domain TLS.
[+] binwiederhier|3 years ago|reply
Slightly off topic, but the page says "we don't want your email" and I vaguely remember a site that was looking up public keys on GitHub and getting the email address from the GitHub account. Not sure if I got that right, or what the site name was, but it's definitely possible to get public keys from GitHub users like so: https://github.com/binwiederhier.keys

If you mine these, along with crawling GitHub for email addresses, you can map public keys to email addresses.

[+] drKarl|3 years ago|reply
Best practice and what everyone should be doing is have different ssh key for every different server, that is, create a new ssh key for prose.sh with a custom file name.

Of course there will be many people reusing the same key for everything and I think it's obvious that doing that increases the risk exposure

[+] kaashif|3 years ago|reply
Maybe this doesn't make any sense, but when I write a blog post, I don't necessarily want lots of people to read it. My blog is primarily for me, the public nature of it just forces me to think about what I'm writing a bit more, and try to articulate my thoughts better.

It seems that the main reason you'd post to a "blog platform" rather than just your own website or some GitHub pages thing is to get more people to read it, so I've never really been attracted to any of these things.

[+] jeroenhd|3 years ago|reply
Don't have much to say about this other than that it's nice that it's just plain old HTML+CSS.

However, I get white flashes of content every three or four times I navigate this website despite the CSS being downloaded just fine. Anyone have an idea why my browser won't cache the CSS?

[+] AnonHP|3 years ago|reply
For something that seems to be lightweight and simple, I’d have liked to see it being file based or like a static site generator. The official documentation for self-hosting this refers to Postgres (and Docker, to make it easier). That seems heavy on resource requirements.

I also didn’t find any pricing information for the hosted version. I don’t think supporting custom domains and images (the latter said to be coming soon) can be effortless for the platform maintainers. Since that author is here responding to comments, I’d like to know more about plans for pricing.

[+] qudat|3 years ago|reply
> For something that seems to be lightweight and simple, I’d have liked to see it being file based or like a static site generator.

We're contemplating the idea of adding "Pages" to prose.sh.

> The official documentation for self-hosting this refers to Postgres (and Docker, to make it easier). That seems heavy on resource requirements.

Yeah I reached for postgres because that's what I'm comfortable with. I probably should have just went with sqlite but here we are.

> I also didn’t find any pricing information for the hosted version.

As of right now, it costs us $8.25/mo to host prose.sh. You can find transparency details here: https://prose.sh/transparency

We are definitely looking into a paid subscription service, especially if we add image hosting to the list. The goal would be to cover costs and ensure the service is up and running for years. We also plan to send "profits" to open source projects. The numbers will all be documented on the transparency page I linked above when it is official.

Happy to answer any follow up questions about it!

[+] nojvek|3 years ago|reply
Q: I use GH pages for my simple site. Why would I use prose over GH pages with a simple action to turn markdown + template —> html and put it on a GH-pages branch for publish?
[+] toastal|3 years ago|reply
GitHub Pages (or many alternative static hosts) will be more rich experience as you can control the rendering pipeline and the presentation (CSS). This looks to take some of the concern away and focus on the content instead of presentation and build pipelines (which limits expression). Both options, the code isn't on your own server which could pose a 'freedom' risk depending on what you're saying as well as limited ability to modify the server (like adding Brotli compression (both only seem to provide GZip only) and adding security headers; see Prose.sh has an F score on Mozilla Observatory https://observatory.mozilla.org/analyze/prose.sh which will carry over to your blog). GitHub will mean you're on a proprietary, closed-source, Microsoft-owned platform top to bottom vs. Prose which is open source on SourceHut.