[HN Gopher] Show HN: I'm working on a open-source, self-hosted a...
___________________________________________________________________
Show HN: I'm working on a open-source, self-hosted alternative to
Disqus
Author : djyde
Score : 218 points
Date : 2021-04-20 17:56 UTC (5 hours ago)
(HTM) web link (cusdis.com)
(TXT) w3m dump (cusdis.com)
| spamtarget wrote:
| self hosting + open source. kudos, good man
| O_H_E wrote:
| Not to put you down, but I think you should differentiate
| yourself well from Discourse
| (https://github.com/discourse/discourse), as it is pretty popular
| with the open source communities.
| FraaJad wrote:
| Disqus is "commenting as a service" for pages.
|
| Discourse is a "forum". Not the same thing.
| codinghorror wrote:
| yes, this is true! We try to avoid the whole "comments on
| pages" model as it has not been sustainable, except in rare
| circumstances under heavy human moderation.
| https://blog.codinghorror.com/please-read-the-comments/
| djyde wrote:
| Hi. Discourse is a discussion platform (forum), while Disqus
| and Cusdis are comment widget that embed to existed website
| (like embed in blogs). I think they are not the same.
| CarVac wrote:
| Discourse can be used to power embedded comment sections too.
| codinghorror wrote:
| correct!
| O_H_E wrote:
| Ayyy, we got the man himself.
| Syonyk wrote:
| Discourse is heavier as a forum, certainly, but it supports
| embedding in sites as a comment section, and will generally
| do useful things like "automatically create a new topic of
| discussion from the post."
|
| I agree that it's exceedingly heavy for comment only use (and
| generally requires user accounts), but if you're trying to
| build a community that also has blog posts, the two do
| integrate very nicely.
| FoohanFoo wrote:
| Very interesting, I've been looking for this.
| Tepix wrote:
| When i click on "try it now", then click the browser's back
| button when seeing "log in with github" I and up at
| https://cusdis.com/dashboard and get a 500 error page.
| Jiejeing wrote:
| Other (older) projects trying to fill a similar need :
|
| isso: https://github.com/posativ/isso
|
| juvia: https://github.com/phusion/juvia
|
| But cusdis looks great so far!
| pwdisswordfish8 wrote:
| I worry about the echo chambers people are subjecting themselves
| to when something with applicability as general as a commenting
| widget requires a GitHub account to sign in. That's narrowing it
| down to a subset of a subset of one's audience.
| ochronus wrote:
| Nice! Congrats, looks amazing
| hutch120 wrote:
| I tried out Disqus about 3 years ago, and found the API
| horrible... see SOF thread here. Might be worth doing a React
| wrapper to make it easy to understand how to integrate with
| frontend. https://stackoverflow.com/questions/48653016/does-the-
| disqus...
| pgt wrote:
| Change the name.
| j3th9n wrote:
| You change your name.
| elric wrote:
| Cuss & diss Disqus. Loving the name.
|
| Can I suggest you add something of an architecture
| diagram/flowchart od the website? Just a little something that
| illustrates what the frontend talks to, where the data is stored,
| that sort of thing?
| djyde wrote:
| Thanks for you feedback! I will add a `how it works` in the
| document later. But I'd like to answer your question here
| first.
|
| Since Cusdis was designed for self-hosted, the data should be
| stored in your own server. The Docker image provides both
| sqlite and pgsql options. Then the comment widget that embed in
| your web page talks to this server through a http call, which
| fetch all the approved comments and display them.
|
| The "Try it now" is a demo server that I've hosted for the
| people who want to just look around what is it look like, it's
| not scalable and shouldn't be used in production yet. It run in
| my vps on Digital Ocean, data is stored in this vps with a
| pgsql instance.
| heofizzy wrote:
| I have been tinkering about the idea of building open source
| disqus alternative for few months now. I guess I missed the train
| already:D Do you have any plans to monetise this?
| lrem wrote:
| That's a train with a busy time table. Every software engineer
| who ever wrote a comment on the web, got an idea how to make
| our better at some point. And it isn't a problem with a high
| barrier to entry.
|
| The interesting, for me, part is the antispam. It is also silly
| hard, for obvious reasons. A big part of why Disqus is hard to
| replace is that they're doing a great job with it. Only once
| you clear that bar, you can think of successful monetisation.
| l3s2d wrote:
| How does this compare to Commento?
|
| https://commento.io/
|
| https://gitlab.com/commento/commento
| j3th9n wrote:
| You tell us. How do you think it compares to Commento?
| henrycrutcher wrote:
| What is the pricing for the enterprise? It's hard to get
| excited about IF usage < X then $99/yr ELSE undefined as a
| pricing model.
| dempseye wrote:
| Commento doesn't work. I tried to integrate it with my site a
| while ago. Didn't work. Got some server error. So I tried to
| contact the guy behind it. He didn't respond.
|
| It's dead, as far as I can tell.
| StavrosK wrote:
| Yep, same experience here, dead as a doornail.
| zapt02 wrote:
| Great use case for Svelte! How are you liking it so far?
| gnrlst wrote:
| Not OP, but after trying Svelte it's hard for me to go back to
| anything else.
| truth_ wrote:
| How can I use it on the posts in my blog hosted at GitHub pages?
| I use Jekyll to build my blog.
|
| Do you have a tutorial for that?
| setum wrote:
| Cool! I would like to try this out in my blog, can this be
| integrated with statically generated pages using jekyll?
| dlcrc wrote:
| My friend in SF is working on https://reactivecomments.com/
|
| It's a drop-in comment service in the cloud based on Remark42
| m00dy wrote:
| Make it decentralised, it is the new black.
| NicoJuicy wrote:
| Comments need moderation. The blockchain/decentralization ain't
| great for moderation... And not everything has to be
| "discoverable" (= have a public database)
|
| Unless you're fine with re-inventing known best-practices ofc.
| viccuad wrote:
| Being decentralized is orthogonal with moderation. You can
| for example allow people to post to some rooms that represent
| the blog posts threads, and keep yourself as admin and
| moderator there.
|
| See https://cactus.chat, which is on the Matrix network.
| rapnie wrote:
| Dunno about blockchain, but decentralized works great. Watch
| "Decentralized Social Networks vs. the Trolls" on
| (decentralized) PeerTube:
|
| https://conf.tube/videos/watch/d8c8ed69-79f0-4987-bafe-84c01.
| ..
| agogdog wrote:
| decentralization is totally fine for moderation, it works
| fine in Mastodon for example, you can moderate out entire
| instances
|
| for a commenting system you could do something nearly
| identical... each site is its own commenting instance, and
| you can federate profiles. If a user accumulates bans or
| flags across instances you could choose to add them to a
| shared blocklist that other instances can opt-in/out of...
| it's not too hard to imagine.
| darkhorse13 wrote:
| How would you make a comment system decentralized? Like where
| would they be stored? Genuine question by the way, I'm not
| familiar with decentralized computing.
| toomuchtodo wrote:
| IPFS
|
| https://komento.host/
|
| https://news.ycombinator.com/item?id=26840855
| miohtama wrote:
| IPFS is a cache, not persistent storage.
| toomuchtodo wrote:
| Pinned objects persist.
| 7steps2much wrote:
| Correct me if I am wrong, if I am the only person pinning
| it, wouldn't that mean we are back to a single server?
|
| Like, if I am the only one pinning (and storing) the
| data, everyone downloads it from me correct? Why not just
| use a regular storage at that point?
| [deleted]
| [deleted]
| viccuad wrote:
| The same way a chat system can be. See https://cactus.chat,
| on the Matrix network, for example.
| fiddlerwoaroof wrote:
| Local storage: solves the spam issue and the issue of
| annoying commenters.
|
| https://github.com/tessalt/echo-chamber-js
| grej wrote:
| Presumably the comments would be sharded and encrypted. Then
| each those chunks would have a hash generated for it, and
| each chunk would be stored as transactions on a blockchain,
| or more likely multiple blockchains for redundancy.
|
| This is how the blockchain storage companies do it.
| valdiorn wrote:
| This sounds insanely complicated for data that could just
| be stored in a SQLite database...
| nonameiguess wrote:
| Decentralizing Disqus is trivial. Just go back to each blog
| has its own local comment system with commenter identities
| disconnected from all other sites they comment on or even
| anonymous. There's no reason you need a single global
| identity and storage backend for all content sources that
| support commenting.
|
| It can even be otherwise identical to Disqus except self
| hosted.
| nulterm wrote:
| Two implementations using the Fediverse:
|
| https://cactus.chat/
| https://news.ycombinator.com/item?id=26371813
|
| https://carlschwan.eu/2020/12/29/adding-comments-to-your-sta...
| https://news.ycombinator.com/item?id=25570268
| MayeulC wrote:
| Cactus isn't really the fediverse though: I consider (maybe
| mistakenly) the so-called fediverse to be broadly
| activitypub-based, while cactus leverages Matrix.
| barbazoo wrote:
| Disqus -> qusDis -> cusDis -> cusdis
|
| I hope that's not too close to the original name
| taltman1 wrote:
| I'm late to the game, but I'm surprised that no one has mentioned
| StaticMan yet:
|
| https://github.com/eduardoboucas/staticman
|
| Just uses Git(Hub|Lab) to triage and approve comments for your
| static sites, like Jekyll.
| pentagrama wrote:
| I would suggest that always show on screen the label of the
| input, is not a good practice put the label inside the input and
| make it disappear when the person start typing.
|
| Example:
| https://miro.medium.com/max/700/1*tjzXjhViDt3ArR1zUkFiRw.png
|
| From: https://uxdesign.cc/best-practices-for-form-design-
| ff5de6ca8...
|
| Hope can help.
| baby wrote:
| This is called a placeholder, and I don't think it's best
| practice, it's a matter of taste.
| knoebber wrote:
| Labels are a best practice for accessibility. Placeholders
| should be used as example input, if at all.
| rendx wrote:
| A somewhat related solution for comments is to piggyback on the
| Mastodon ecosystem, which I really like:
| https://carlschwan.eu/2020/12/29/adding-comments-to-your-sta...
| villasv wrote:
| Or hook up webmentions with something like https://brid.gy/
| uneekname wrote:
| See also https://webmention.io/
| rapnie wrote:
| Great! Read here why it is needed:
| https://news.ycombinator.com/item?id=26033052
|
| Disqus.. the dark commenting system.
| shaunpersad wrote:
| There are a lot of efforts to topple Disqus for precisely those
| reasons. I released my Disqus competitor 2 years ago and its
| userbase has continued to grow like clockwork every day. It may
| seem like a saturated market on the low end, but there's a real
| need for projects like these!
| dariusj18 wrote:
| Slightly OT but if I'm ever in need of a comprehensive list of
| alternatives to services, I'm just going to post that I'm
| building one. I just knew when I saw this post that the thread
| would be full of preexisting projects.
| tyingq wrote:
| The edit box doesn't seem to indicate what sorts of markup, or _"
| url looking thing is converted to link"_, etc, is available.
| Might be good to have a little help box to explain what's
| allowed/supported, even if that's just text.
|
| Edit: I now see the "support markdown" commit. You might want a
| "preview" button so people can see what they have. At the moment
| I see only a "Post Comment" button.
|
| Also, does it understand the concept of canonical urls so that
| pages that are the same one, but with different urls, share the
| same comments? I searched the repo for "canonical" and didn't see
| anything.
| mey wrote:
| Coral is poorly advertised outside it's ecosystem, but should be
| considered. https://github.com/coralproject/talk
|
| See https://docs.coralproject.net/coral/v5/integrating/cms/ to
| get an idea of it's use.
| wyattjoh wrote:
| Coral is definitely more focused on larger communities than it
| is for smaller sites. Mainly because of the multi-tenant,
| multi-site, and moderation features that allow it to be used
| for larger organizations!
|
| (We're also hiring to work on this open source project!)
| [deleted]
| jedberg wrote:
| The main advantage to Disqus (and other hosted solutions) is that
| their spam protection applies across all comment sections. You'll
| never get that with an open source solution.
| j3th9n wrote:
| I can imagine implementing reCAPTCHA can prevent a lot of spam.
| jedberg wrote:
| Sadly not anymore. There are click farms in third world
| countries that will solve 10 captchas for a penny. Not to
| mention how many people will just not leave a comment if
| presented with a captcha.
| j3th9n wrote:
| I see, I was thinking about reCAPTCHA v3, working invisible
| in the background.
| mbirth wrote:
| Also _one_ account where I can see all the comments I 've left
| on the various sites with their replies. And if I feel like it,
| I can easily remove old comments - even after my nickname
| and/or email changed, I've deleted all my cookies and/or got a
| whole new system. I just need to be able to log into my Disqus
| account. And the site I'm commenting on doesn't know my email
| address.
| kingsuper20 wrote:
| Could you (or anyone) give some insight into what spam
| protection really entails?
|
| Talk about a useful open source chunk of software.
| anigbrowl wrote:
| Disqus has passable spam and toxicity detection (the latter
| via a third party) but many sites don't bother to make use of
| it. As a result a great many disqus comment sections are
| absolute cesspools of spam, bigotry, and threats of violence.
| bdamm wrote:
| Abuse is an arms race, so I'm not certain it can entirely be
| "open source". Someone has to man the servers to adapt as the
| assault develops. There can be tools that are open source,
| but without a foundation that is running services, it's just
| a bunch of dead end code.
| wpietri wrote:
| Absolutely. I agree the key is less code than rapidly
| updated data. Source networks, browser headers, client
| behavior, target links, content markers. Spammers may be
| awful, but some of them aren't stupid. IF they discover
| something isn't working, then they'll change up their
| approach. And it can't be an open service, because you're
| just helping the smart ones to hide better.
| jedberg wrote:
| The main thing is training a model. Every time you mark
| something as spam or off topic, it trains a model so that it
| can identify similar things in the future. You can train your
| own model, but it will work better with a lot of data.
|
| Open sourcing it would be hard, because you'd have to trust
| everyone else to classify things correctly, or you'd have to
| review every input yourself. A spammer could easily sneak in
| a lot of false positives or false negatives to throw the
| entire model off.
| clankyclanker wrote:
| Why is spam score always weighted as a single outcome and
| never as a population-based result? I mean, you're
| processing more data, I get it, but it feels like that
| would be a model much more resilient to tampering, bad
| actors, and just different social norms.
|
| For example, if one set of users started rating a specific
| subset of posts as spam, then those users could be bucketed
| together into a "doesn't want to see message type A" group
| while others, who minded other messages, would be bucketed
| into a "No B-messages" group.
|
| This would need to be applied selectively, as it could
| easily result in an echo chamber for normal discourse, but
| I would've given my left arm to have that sort of filtering
| available in the game during my WoW days. Those city
| spammers were unbearable!
|
| I, of course, would have fallen into the "I don't care how
| great a deal your Thunderfury, Blessed Blade of the
| Windseeker, is, I'm just here to socialize" bucket.
| [deleted]
| MayeulC wrote:
| Is there a mail-based solution out there?
|
| Kind of like a public mailbox that you send comments to, and
| articles get recompiled with the comments on a static blog.
|
| Plus, it would be naturally threaded if your mailto: link
| includes a thread ID.
| sen wrote:
| I was thinking about this recently and really like the idea.
| You get the benefits of spam filtering, and it would work on
| any device with no JS or anything ("Leave a comment"/"Reply"
| button is just a mailto: link).
| sytse wrote:
| Very cool! I would love to switch away but a Disqus import would
| be needed before we can do so.
| djyde wrote:
| Actually, in the "Settings" panel you can import data from
| Disqus! You could try it.
| aleksi wrote:
| Another similar project: https://remark42.com/
| https://github.com/umputun/remark42
| Dort wrote:
| This looks interesting.
|
| I browse the WWW without JavaScript and this bricks many comment
| systems. Are you planning to make a widget without reliance on
| JavaScript?
| cdelsolar wrote:
| You can enable JavaScript in Chrome the following way:
|
| 1) On your computer, open Chrome. 2) At the top right, click
| More. Settings. 3) Click Privacy and security. Site settings.
| 4) Click JavaScript. 5) Turn on Allowed (recommended).
|
| Other browsers might have similar instructions.
| codonaut wrote:
| I think OP is aware of how to turn on JS, but prefers
| browsing without.
| halfdan wrote:
| I think they are being sarcastic.
| unixhero wrote:
| Why do you browse the web without javascript? It is just a
| programming language.
| Dort wrote:
| I browse with JavaScript disabled because A) I don't see any
| ads and B) pages load fast on my weak devices (first gen.
| iPad Air, ~2009 desktop).
|
| I only turn on JavaScript to be able to use the website of my
| bank.
| yoaviram wrote:
| Nice project!
|
| I've been using RemarkBox for the last couple of months and like
| it. It's privacy respecting, hosted, pay what you want.
|
| https://www.remarkbox.com/
| foxhop wrote:
| Thanks for the shout out, I built Remarkbox and it's now "pay
| what you can"
|
| https://www.remarkbox.com/remarkbox-is-now-pay-what-you-can....
| djyde wrote:
| Thanks for sharing! Looks amazing.
| toomanyducks wrote:
| What's the license? I didn't see it on the repo.
| djoldman wrote:
| https://github.com/djyde/cusdis
|
| says MIT.
| benrmatthews wrote:
| MIT - it says on the repo
___________________________________________________________________
(page generated 2021-04-20 23:00 UTC)