TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: Qeys.io – Web app license validation

62 pointsby frits1993almost 7 years ago

25 comments

DanHultonalmost 7 years ago
Raise your prices.<p>I can&#x27;t be alone in thinking that these prices are <i>insanely</i> low when considering the market. If you&#x27;re selling to working programmers, $9.99 a month is a frivolity. I pay more than that for Netflix. For a business expense? Your $24.99 plan should be the <i>entry</i> point.<p>You should have a higher tier. A <i>much higher</i> tier, in fact, like $350. You&#x27;re targeting agencies and studios at this point. It&#x27;s still under the ~$500 that requires approval, but there are absolutely businesses out there that will just sign up for the highest tier they can process, because it&#x27;s a status thing or &quot;they may need it&quot;. You won&#x27;t get many signups at this price, but even one will replace <i>35</i> signups at your current lowest tier. Heck, more, because higher-priced customers will churn less and require less support.<p>Consider dropping your free tier and just relying on your free trial. You&#x27;re targeting businesses and working programmers. They have money, so a lack of money won&#x27;t be the reason they choose not to use your product, only product&#x2F;customer fit.
评论 #17259972 未加载
评论 #17257800 未加载
Ruphinalmost 7 years ago
This is nice, but I would never put a piece of code on my property that breaks the user experience (after a few seconds) when a third party service is offline. It&#x27;s even worse because it causes a highly correlated failure vector across all my products. Imagine your servers going down (for whatever reason) and _all_ my customers calling me because their websites are broken.<p>Additionally, defaulting to shutting down the app when it can&#x27;t reach your servers breaks all sorts of offline features an app may have.<p>I would strongly suggest to default to doing nothing when the script can&#x27;t contact your servers. Alternatively you let me configure an HTTP endpoint that will be pinged when it can&#x27;t reach you so at least I am aware the service is disrupted.
评论 #17255513 未加载
评论 #17255547 未加载
评论 #17255605 未加载
aewensalmost 7 years ago
From looking at the JavaScript snippet that is provided, it looks like I can get around the validation by simply creating a cookie who&#x27;s contents is &quot;validated=yes&quot; before the qeys script is loaded.<p>EDIT: The part of the snippet in question:<p><pre><code> window.addEventListener(&#x27;load&#x27;, function(a){ document.cookie.indexOf(&#x27;validated=&#x27;)&lt;0&amp;&amp;v(); });</code></pre>
评论 #17256976 未加载
评论 #17257194 未加载
theoctopusalmost 7 years ago
This definitely seems like an interesting product, but if you&#x27;re an anti-piracy company then maybe you shouldn&#x27;t be using a pirated font. If you check the Product Sans CSS file you&#x27;re including, you&#x27;ll see there&#x27;s a notice that the font is not open source.
评论 #17257706 未加载
drdaemanalmost 7 years ago
From the FAQ section:<p>&gt; the thief<p>&gt; the code they just stole<p>Uh. I know this is extremely widespread to call it so, but copyright infringement isn&#x27;t &quot;theft&quot; or &quot;stealing&quot;.
评论 #17255472 未加载
ddtayloralmost 7 years ago
Seems it would be as effective as cd key protection or DVD protection - meaning anyone doing the copying likely won&#x27;t be affected and attempts to tighten the grip will probably hurt legitimate customers.
评论 #17255545 未加载
评论 #17255559 未加载
bjpbakkeralmost 7 years ago
&gt; by the time the pirate realises that licence validation is in place, it&#x27;s too late for them<p>&gt; we strongly recommend to let our JavaScript file blend in with the rest of your application [..] to make the code responsible for validation as difficult as possible to find and break<p>This smells much more to security by obscurity than an actual licensing solution.
monkeynotesalmost 7 years ago
`[...]make the code responsible for validation as difficult as possible to find and break` ⌘+W<p>Seriously though, this seems like an convoluted way for small businesses to resolve trust issues with their clients.<p>I mean, if you really want to do this, why not make it incredibly simple and just ping a server with the domain names the web app is being requested from. Do it all silently and then let the IP owner decide what to do about it. Why shut the site down and risk embarrassing, and potential trust destroying, situations arise from false positives?
评论 #17255922 未加载
fastest963almost 7 years ago
Their share meta tag is: &lt;meta property=&quot;og:title&quot; content=&quot;Start.ly — Agency One Page Parallax Template&quot; &#x2F;&gt;
评论 #17255788 未加载
eat_veggiesalmost 7 years ago
This breaks any existing js that sets window.onload if the qeys script is loaded after it. Usually it&#x27;s better to do window.addEventListener(&#x27;load&#x27;, ...) so you don&#x27;t overwrite anything.
评论 #17256616 未加载
TheGrumpyBritalmost 7 years ago
&quot;* Unlimited number of lincences&quot;<p>Also, your privacy policy makes no mention of what data is included with validation requests, and what you do with that information. GDPR is still very fresh, and if my app is passing every URL data to a third party, that sounds like it could be a problem.
评论 #17255759 未加载
masukomialmost 7 years ago
I feel like i&#x27;m missing something obvious here. This is for &quot;webapps&quot; which have been &quot;licensed&quot;. Who is running licensed webapps without some form of user account? Either a login or an API key, which can easily be turned off if the person stops paying. If i have that, why do i need this? If i don&#x27;t have that, haven&#x27;t i just totally fallen down on the job of controlling access to my system?<p>What am i missing here?
评论 #17255789 未加载
SimeVidasalmost 7 years ago
I am so confused.<p>&gt; Besides, we strongly recommend to let our JavaScript file blend in with the rest of your application&#x27;s JavaScript. Webpack, compress and uglify the best you can, to make the code responsible for validation as difficult as possible to find and break.<p>Ok, so this is a solution to <i>detect</i> (some of) the sites that use your JavaScript code without approval, not a solution to prevent them from doing it (since it can be easily blocked once you <i>know</i> to look for it).
评论 #17255771 未加载
评论 #17255679 未加载
madeofpalkalmost 7 years ago
<i>&gt; The instant solution to worrying less about your web applications being copied by the clients you developed them for.</i><p>Is this a problem that happens often?
评论 #17257342 未加载
beefhashalmost 7 years ago
See also: <a href="https:&#x2F;&#x2F;keygen.sh&#x2F;" rel="nofollow">https:&#x2F;&#x2F;keygen.sh&#x2F;</a>
sshinealmost 7 years ago
Question: How about having the option of not blocking but only reporting?<p>Then you can put a use clause in your service agreement and bill your customers according to their use. They&#x27;ve signed that any additional use incurs a cost, but they don&#x27;t think you know.
评论 #17264245 未加载
someusrrrr22almost 7 years ago
Why not just do `if(window.location.href !== &#x27;<a href="http:&#x2F;&#x2F;our-site.com&#x27;" rel="nofollow">http:&#x2F;&#x2F;our-site.com&#x27;</a>) { send_email(window.location.href + &#x27; stole code&#x27;); }`?
评论 #17256461 未加载
eat_veggiesalmost 7 years ago
It would be nice to have some copy&#x2F;pasteable snippets to integrate this with my stuff. It is unclear what I should do once I register an application and am presented with a list of keys.
评论 #17256185 未加载
cphooveralmost 7 years ago
in my mind the only true way to protect against client software ripping is to put all of the protected IP on your service, and make service calls to it from the client application. If the code resides on their hardware... there aint really anything you can do to protect it.
Marysvillealmost 7 years ago
`location.hostname!=&#x27;www.clientdomain.com&#x27;?document.body.innerHTML=&#x27;&#x27;`
stevekempalmost 7 years ago
Minor typo on your front-page &quot;deativate&quot; rather than &quot;deactivate&quot;.
评论 #17255678 未加载
pixsilalmost 7 years ago
Pretty nice! I like your tool, definitely going to try it
eat_veggiesalmost 7 years ago
would it be possible to steal a website&#x27;s code, then tack on a service worker that intercepts requests to qeys?
评论 #17257702 未加载
jlebrechalmost 7 years ago
0.0.0.0 qeys.io
评论 #17255795 未加载
评论 #17255848 未加载
评论 #17255523 未加载
评论 #17255584 未加载
jlebrechalmost 7 years ago
What&#x27;s even better is to have a backend that side a payload to the client when events are triggered, so no js is loaded in advance.
评论 #17259002 未加载