Perspective API Integration by AddonsLab

Perspective API Integration by AddonsLab [Paid] 1.3.1

No permission to buy ($19.99)
As we know from our experience the largest problem is not with the users here on XenForo.com, that are ready to pay for a valid license, but people who purchase the add-on only to download it, install it and immediately ask for a refund and keep using the current version.
What works for me is to do a XF license token validation so that only people with a valid XF license can buy. I also require activation of the URL through the Xen Product Manager.
but we need some mechanism not to allow this type of misuse of our services at least by majority of people who don't hack the code of the add-on, but just purchase it, activate and immediately ask for refund.
Thats a PayPal issue. Such people will not pay for your software if you have protection built into your software. They will just null it and release it on warez sites. There is really nothing that you can do to stop it. Nulled software is a fact of life. But serious webmasters will not be stupid enough to use nulled software with all malware often found in warez. If you find a site running unlicensed or nulled software, then you can always contact XF about it.
I think that its important to realize that you cant really stop unlicensed use of your software. Anything you add can and will be undone by unscrupulous people. But these people making or using warez are not your customers.
I hope this solution does not pose any risk you foresee with callbacks.
This approach does seem to pose similar risks. As soon as you have communities depending upon your server or unchecked information flowing from communities to your server, then thats problematic. An XML file on our sites that can be read by your server is ideal because it non-intrusive, does not depend on your server and we can see what information is provided.
 
What works for me is to do a XF license token validation so that only people with a valid XF license can buy. I also require activation of the URL through the Xen Product Manager.

Thats a PayPal issue. Such people will not pay for your software if you have protection built into your software. They will just null it and release it on warez sites. There is really nothing that you can do to stop it. Nulled software is a fact of life. But serious webmasters will not be stupid enough to use nulled software with all malware often found in warez. If you find a site running unlicensed or nulled software, then you can always contact XF about it.
I think that its important to realize that you cant really stop unlicensed use of your software. Anything you add can and will be undone by unscrupulous people. But these people making or using warez are not your customers.

This approach does seem to pose similar risks. As soon as you have communities depending upon your server or unchecked information flowing from communities to your server, then thats problematic. An XML file on our sites that can be read by your server is ideal because it non-intrusive, does not depend on your server and we can see what information is provided.

Thank you for your detailed comments. We will review all information and update soon with our final decision. Most likely we will go with static file solution as you have requested.

Thank you one more time!
 
AddonsLab updated Perspective API Integration by AddonsLab with a new update entry:

Visual post filter, auto moderation etc.

In this version, we introduce several visual and usability enhancements, such as:

  • Slider to hide posts based on their toxicity/spam score, configurable in Admin Panel. Hidden posts are shown faded and smaller, and users can still see the post by clicking on it if they are interested
  • Integration of post scores in post/thread moderation list
  • Auto-moderation of all posts/threads based on current criteria configured in Admin Panel. Available as a new section under Tools ->...

Read the rest of this update entry...
 
Hello, everyone!

Please check-out the latest version released with many new features. Feel free to test the add-on at
https://addonslab.com/threads/testing-perspective-api-integration.25/

@Alfa1 , @markku , we have updated the licensing system as discussed here. We are using pings from our side to check your license in static files under /data directory. This does not alter the usage of license in any way, all users need to do is to copy the license key they get from us, put it in product's options page and save it. This will create the local file that we will use to check license status later.

Thank you!
 
Hello, everyone!

Please check-out the latest version released with many new features. Feel free to test the add-on at
https://addonslab.com/threads/testing-perspective-api-integration.25/

@Alfa1 , @markku , we have updated the licensing system as discussed here. We are using pings from our side to check your license in static files under /data directory. This does not alter the usage of license in any way, all users need to do is to copy the license key they get from us, put it in product's options page and save it. This will create the local file that we will use to check license status later.

Thank you!

Excellent. Shows the character of your company, caring about your current and future customers (which we hope to become soon); thanks for implementing this change.

Keep up the great work!
 
Also anyone got their API key yet? Thanks addonslab for the updates. Will purchase as soon as i get my key.
 
Can users set their default filter levels in their preferences? Ideally permission based.

Filter levels are set right on thread pages when users customize their filter. The values are stored, and used on other pages. Anytime users can change the filter to any other value, and this will become their "default". We don't see any reason to implement this in user preferences, as the control is going to look exactly the same and do exactly the same, as they can do on thread pages. A permission-based system could be implemented, but I guess only in the meaning of having this is "extra" feature, and providing to paid customers or other user groups only. So, we can implement a permission "Can use post quality filter", and if it is set to yes, users will see the use the filter based on Admin Panel configuration. Please confirm, if this is what you had in your mind, and we will add it to our TODO list.

Thank you!
 
Please confirm, if this is what you had in your mind, and we will add it to our TODO list.
Yes please. For example i dont want visitors/unregistered users to be able to use that filter.

Additionally tested the filter on mobile and it hid posts...but clicking to reveal posts also opened up users member card. Prob a styling isdue. Can you please have a look?
 
Yes please. For example i dont want visitors/unregistered users to be able to use that filter.

Additionally tested the filter on mobile and it hid posts...but clicking to reveal posts also opened up users member card. Prob a styling isdue. Can you please have a look?

Sure, we will implement the permission.

I will check unhiding a post on mobile soon.

Thank you!
 
I hope this solution does not pose any risk you foresee with callbacks. Please let us know your thoughts on this as well and we will proceed with the development.

Have you made this licensing check change on all your add-ons yet?
 
Have you made this licensing check change on all your add-ons yet?

All add-ons released with the update have the notification in them. This add-on and Link Checker are already using no-callback licensing, Quick Thread will be updated soon with some other added functionality.

Thank you!
 
All add-ons released with the update have the notification in them. This add-on and Link Checker are already using no-callback licensing, Quick Thread will be updated soon with some other added functionality.

Thank you!
Quick Thread was just updated and it seems it still has the callback, am I right?

Anyhow, in this Perspective API add-on it says:

"With this version we also introduce our updated licensing engine, that does not include any automated callbacks. Your license is validated against our server only when you edit product's settings in Admin Panel, or when you upgrade the product to the next version. No callbacks run in cron jobs or when the add-on is being uninstalled."


Doesn't that mean this STILL has callback, but it calls back to your server when a user edits product settings or when upgrading the add-on?

Why didn't you do it like you were supposed to; an XML file that you can spider once in a while? Similar to how wmtech is doing it and which is also how Alfa1 suggested it (as far as I understood).
 
Quick Thread was just updated and it seems it still has the callback, am I right?

Anyhow, in this Perspective API add-on it says:

"With this version we also introduce our updated licensing engine, that does not include any automated callbacks. Your license is validated against our server only when you edit product's settings in Admin Panel, or when you upgrade the product to the next version. No callbacks run in cron jobs or when the add-on is being uninstalled."


Doesn't that mean this STILL has callback, but it calls back to your server when a user edits product settings or when upgrading the add-on?

Why didn't you do it like you were supposed to; an XML file that you can spider once in a while? Similar to how wmtech is doing it and which is also how Alfa1 suggested it (as far as I understood).

Sorry, simply forgot to include the message in the release note. Of course, Quick Thread does not have the callback, like other products. Will add the message now.

Regarding the way it is implemented. Yes, it has a callback, but there no automated callback, running in cron, or when pages load. The callback on product's settings page and when upgrading the product is to update your license information. For example, when you update your service and order branding removal, you should go to Admin Panel, edit product settings and re-save again. It will download the license info and store locally.

The local file is not XML, but another file and "callbacks" are just a way for you to download the file, instead of any other ways of distributing the file, like sending the file to you via Email or anything like that. So, we automated providing you the static file, that we check from our side, without any side effects of callbacks discussed so far.

In short, we do license check with a static file, but the file is downloaded to your server automatically when you edit product options or install a new version and in no other case. This is the way we choose to provide you with the static file needed.

If you have any technical considerations about this implementation, please let us know and we will consider your suggestions.

Thank you!
 
Sorry, simply forgot to include the message in the release note. Of course, Quick Thread does not have the callback, like other products. Will add the message now.

Regarding the way it is implemented. Yes, it has a callback, but there no automated callback, running in cron, or when pages load. The callback on product's settings page and when upgrading the product is to update your license information. For example, when you update your service and order branding removal, you should go to Admin Panel, edit product settings and re-save again. It will download the license info and store locally.

The local file is not XML, but another file and "callbacks" are just a way for you to download the file, instead of any other ways of distributing the file, like sending the file to you via Email or anything like that. So, we automated providing you the static file, that we check from our side, without any side effects of callbacks discussed so far.

In short, we do license check with a static file, but the file is downloaded to your server automatically when you edit product options or install a new version and in no other case. This is the way we choose to provide you with the static file needed.

If you have any technical considerations about this implementation, please let us know and we will consider your suggestions.

Thank you!

No. Your method still has the problem where it is required that your server does exist, so our server can download the static file. Or am I wrong? And our server still contacts your server and we cannot be 100% sure what we are sending?

WMTech has an XML file in the zipped package, and they periodically load the XML in a secret URL.

https://wmtech.net/threads/add-on-license-check-process-information.20/

So if AddonsLab goes down, and your server alongside with it, the static file cannot be downloaded anymore.

Am I right?

Why are you insisting there's a call made FROM our server to YOUR server? Why cannot you include an XML like WMTech that YOU check periodically?

This is just a pain for customers. You really don't trust them, do you? At least it appears that way, which is a shame for legit customers.
 
Last edited:
No. Your method still has the problem where it is required that your server does exist, so our server can download the static file. Or am I wrong? And our server still contacts your server and we cannot be 100% sure what we are sending?

WMTech has an XML file in the zipped package, and they periodically load the XML in a secret URL.

https://wmtech.net/threads/add-on-license-check-process-information.20/

So if AddonsLab goes down, and your server alongside with it, the static file cannot be downloaded anymore.

Am I right?

Why are you insisting there's a call made FROM our server to YOUR server? Why cannot you include an XML like WMTech that YOU check periodically?

This is just a pain for customers. You really don't trust them, do you?

You are right, that download of the file is not possible if our servers are down, but our licensing code has protection built for this cases, any connection errors are not considered as licensing error. This is mentioned in one of my earlier posts. Feel free to test this using any local server, installing the product, then trying to re-install it without any local network connectivity, and you will see the add-on will be installed fine, you will be able to see and edit product options. Below is a screenshot from my local board, with full license details and showing an additional message, that last license check failed.

Screenshot at Aug 24 23-40-26.webp

So, in short, no, our server being down does not cause any of results you mentioned.

We do trust our customers, but we don't trust people, who use software without buying it, and who are, actually, not out customers.

We would be glad, of course, if our customers would believe in us and our plans to be around long enough and not to "go down with our servers". We will do our best, anyway.

And as I have posted before as well, any product not sufficiently developed and supported to solve critical issues will be released as an open source, licensing free add-on immediately. We count on your trust on this one.

And about our reasons to this way or that, they are absolutely technically, and I hope we are trying hard enough to explain this to anyone interested. The reason we kept our system partially (download the file from our server automatically) is that including a dynamically generated file in ZIP package when you download it requires complete upgrade of our packaging system, which is not built the way someone else's system is built, but the way we have built it, and changing it to some other system requires considerable time and efforts, which we can spend on actually working on our products.

I hope this clarifies all. Feel free to post your further questions or concerns if any.

Thank you!
 
Last edited:
@markku Sorry, I just re-checked your message, and I see I didn't address your concerns in this regard:

And our server still contacts your server and we cannot be 100% sure what we are sending?

Well, basically any add-on you install on your server can do practically anything. And callbacks are not the worst thing possible really, an add-on can remove files, the entire database, send emails etc. So please, if you are not sure about add-on quality, review it, yourself or asking a provider whom you trust. Of course, we are free to provide our add-ons for any type of review as well, just contact us via Support System.

As for the data sent to our servers. I didn't mention anywhere, what exactly is being sent to our servers, so will do so now. There are 4 variables sent to our server -
license_key - the key you get from us
server_ip - the IP address of your server, for IP validation
board_host - the domain of your board, for domain validation
ping_url - URL to the static file stored on your server, that has license-related information (branding removal, domain, and IP registered etc.)

You can find the lines executing this in method \AddonsLab\Licensing\Checker::forceLicenseUpdate, file /library/AddonsLab/Licensing/Checker.php

All this information will be posted on our website, in a thread linked from all our products.

Yes, by the way, regarding @wmtech products, I have registered and downloaded one of the free add-ons, and I see, that they don't provide any static XML file in the packages, but include a PHP file, that dynamically generates information about their add-ons installed on your board. At some point of our discussion with @Alfa1 we considered this option, but the conclusion was that using static files is safer, and the case of this provider was provided as a reference. This is simply not true. This means, for example, if your database will be down, the license check will fail, and this may affect your license on provider's server as a result. This is not the case, however, with the real static file, the way we have implemented it. Feel free to confirm this with the author of the add-on.

I don't imply by any means that the way it is implemented by this particular provider is anyhow wrong or there are any problems with it. Any provider is free to implement their licensing engine (and basically any code) the way they find it the best as long as they are doing their best to keep the code quality, safety, information privacy, and functionality of the product.

Well, now I hope not to discuss this topic anymore and be back to our products and their existing and upcoming features :)

Thank you one more time!
 
Top Bottom