TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Show HN: SQRL – Anti-spam rules language Twitter acquired in 2018, open-sourced

200 点作者 qixxiq超过 2 年前
Hey all, author here! This is a demo of the rules engine we built to fight spam&#x2F;abuse on the internet. It was built based on learnings from Facebook &amp; Google, while trying to make a language that makes it simple for anti-spam analysts to quickly (and safely) deploy rules to production.<p>Unfortunately it looks like the Twitter event feed is temporarily down (they&#x27;re blocking it, possibly as part of shutting down the API on Thursday). I have a cache of events from a little earlier that I&#x27;m going to try play through the stream.

14 条评论

qixxiq超过 2 年前
I&#x27;ve tried to release this a couple times in the past (you&#x27;ll notice the git repo has a four year history), and happy it&#x27;s finally out the door. If anyone is interested in using this, or wants to talk about the strategies I&#x27;m happy to help in any way I can.<p>Proud of what we built at Smyte, and hoping it can find another live outside of Twitter &lt;&#x2F;3. I know there are already a couple of implementations based on SQRL, one at Discord and another at Sumatra.ai[1]<p>[1] <a href="https:&#x2F;&#x2F;docs.sumatra.ai&#x2F;scowl&#x2F;" rel="nofollow">https:&#x2F;&#x2F;docs.sumatra.ai&#x2F;scowl&#x2F;</a>
评论 #34715702 未加载
jhgg超过 2 年前
We used to use Smyte at my place of work prior to the twitter acquisition. Very cool stuff.<p>Ended up rewriting it in house. We ended up with a SQRL variant that is a restricted type-checked subset of python. It is not python however, just syntactically similar.
评论 #34699347 未加载
wnevets超过 2 年前
Not to be confused with SQRL (Secure Quick Reliable Login) [0]<p>[0] <a href="https:&#x2F;&#x2F;www.grc.com&#x2F;sqrl&#x2F;sqrl.htm" rel="nofollow">https:&#x2F;&#x2F;www.grc.com&#x2F;sqrl&#x2F;sqrl.htm</a>
评论 #34703107 未加载
snehesht超过 2 年前
Link to Github: <a href="https:&#x2F;&#x2F;github.com&#x2F;sqrl-lang&#x2F;sqrl">https:&#x2F;&#x2F;github.com&#x2F;sqrl-lang&#x2F;sqrl</a>
codetrotter超过 2 年前
It says &quot;Compiled! Running&quot;, and shows some code in their language, but the other half of the screen is just black for me.<p>I assume from the text on the page that it is supposed to be showing tweets and some kind of spam rule classification or something.<p>The Wikipedia Recent Changes demo <a href="https:&#x2F;&#x2F;websqrl.vercel.app&#x2F;wikipedia" rel="nofollow">https:&#x2F;&#x2F;websqrl.vercel.app&#x2F;wikipedia</a> however did show one element on the right side, with an article title, IPv6 address, timestamp, a piece of quoted text, and &quot;Rules fired&quot;. The rule was &quot;FirstEventSeen&quot;.<p>Looking at the code shown for the Wikipedia example, the demo rules are:<p>- Simple rule to make sure atleast one event shows up in the UI<p>- Flag any users using profanity (not a great spam rule! but easy)<p>So I suppose that with a bit more time some events might show up matching the second rule as well.<p>Meanwhile though, <a href="https:&#x2F;&#x2F;www.mediawiki.org&#x2F;wiki&#x2F;API:Recent_changes_stream" rel="nofollow">https:&#x2F;&#x2F;www.mediawiki.org&#x2F;wiki&#x2F;API:Recent_changes_stream</a> links to <a href="https:&#x2F;&#x2F;codepen.io&#x2F;ottomata&#x2F;pen&#x2F;VKNyEw&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codepen.io&#x2F;ottomata&#x2F;pen&#x2F;VKNyEw&#x2F;</a> which has events flying across the screen in the hundreds. Would be neat with a demo of SQRL also having many events fly by like that, and perhaps with a pause button in case one wanted to stop it and have a look at some of the events.<p>Perhaps the Twitter demo example works like that when it works.<p>I see also that the SQRL code in the Twitter demo is also has a rule that is meant to ensure that at least one tweet shows up.<p>Definitely either something is currently broken, or it is connecting directly to Twitter from the browser perhaps, and Twitter is not letting my browser get any data from their API?
评论 #34698793 未加载
评论 #34702680 未加载
latchkey超过 2 年前
All I want is this:<p><pre><code> if new follower has &lt;=4 tweets.total and all(tweets) === type=image block</code></pre>
评论 #34702921 未加载
评论 #34703094 未加载
fsckboy超过 2 年前
this is just a thought experiment, but instead of &quot;no obscurity open rules engine&quot; for blocking spam which can be used to help create ever more creative $pAm, how about a &quot;no obscurity open rules engine&quot; that all acceptable posts must meet, a sort of Turing test. Then the stuff that was allowed through would at least be readable.<p>remember that post a month back (and of course all other recently discusseds) for stylometry, to use writing style to identify authorship? would it work to require posters to expose a unique &quot;voice&quot; in their posts, and where banning of your style would definitely be something you&#x27;d want to avoid.<p>This is a thought experiment to talk about. Yes, there are obvious criticisms, but would it also produce something &quot;we can have nice things&quot; useful?<p>obvious criticisms are sort of like &quot;what about the children!?&quot; concern trolls (this is meant to be hyerbolic and biased): &quot;what about PopulationX, the half literate know-nothing n00bs who are barely surviving under repressive regimes, they may all sound alike, but we can&#x27;t silence their voices!&quot; Which I agree with, we don&#x27;t want to silence their voices. But again, this is just a thought experiment, I bet all the super high quality well informed thoughtful posters would in fact sail through the system. So the question is, does PopulationX actually all style-sound alike? (where population X is the concern you raise, not the fake one i just made up) maybe they are just as distinctive and the system would actually work for them too.<p>and the criticism &quot;this is not going to work because it&#x27;s just spam filters with more steps and a minus sign&quot; is not an adequate criticism because (a) spam filters do exist, and are deployed, and do take care of a bunch of spam. and (b) yes, what I&#x27;m trial ballooning here is similar, it would just distribute some of the work of maintaining the tasty spam rules to good posters who might get some sort of &quot;you can&#x27;t post hot grits here, naked or petrified&quot; warning, more frequently then they currently do, hopefully in some way that would be useful for the community at large.
评论 #34702372 未加载
BoorishBears超过 2 年前
Don&#x27;t open this in any public setting, there&#x27;s some <i>extremely</i> NSFW images in the stream.<p>If you&#x27;re just replaying events, maybe select a few tamer examples to replay...
评论 #34699251 未加载
croes超过 2 年前
On Android Chrome mobile I only see the text explanation on the left side of the screen, the right is completely empty.
评论 #34699328 未加载
est超过 2 年前
I built something similar internally, just use Python expressions directly.
rengers超过 2 年前
That’s a really neat demo!
karinemellata超过 2 年前
Super neat demo!
revskill超过 2 年前
Nomad is really what Docker should become since day 1.
anigbrowl超过 2 年前
I wonder is Twitter even using this any more? I report spam a lot and i&#x27;s common to find 50+ identical tweets being pumped out at the rate of 10&#x2F;minute, or tweets that include variation but link to the same piece of media or URL hundreds or even thousands of times. Given the quite fine-grained control in the filter stream API, it&#x27;s very easy to get streams of spam, so I wonder what their excuse for letting it proliferate.
评论 #34701527 未加载
评论 #34702678 未加载
评论 #34701135 未加载