[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)