Why uAdBlock currently no longer works
-
Good morning dear Ubuntu Touch as well as uAdBlocker users,
as some of you may have noticed, currently no updates work for uAdBlock or a reinstallation, because no lists are provided.
I have currently paused the server and would like to briefly put down the reasons here. I took over the development from Mario a few years ago and put a lot of time and love into it.
The app includes not only what runs on your phones, but also the backend. This runs on my server. Currently we have 13 lists, which in all possible combinations comes to a total file size of almost 400 GB.The server currently updated and rebuilt the lists every Sunday night for more than 7 hours. All lists are also scanned for duplicate entries and removed, so you don't have to download such a large file when setting up the app. The largest list (all 13 together) was still about 100 MB at the end.
Unfortunately, with the size of the lists also the requirements on the servers grew, here are the stats of the current server:
- CPU: Intel Xeon Gold 6140 / 6230 (6 cores dedicated)
- 32GB Ram
- 960 GB SSD disk
The costs for the server and the domain are 25 Euro per month. Unfortunately, this is not all, the servers are exposed to aggressive attacks 5 to 7 times a month on average. Of course I have taken security measures, but currently I have to put 5 - 7 hours of work into the server per month.
Actually, once on the server also ran private services from me, such as a mail server or Nextcloud, that I've taken down everything, so that uAdBlock really has as much power as it needs available.
Unfortunately, I currently don't have time to carry this effort in time and cost anymore. I tried many ways like Github and Gitlab to host the lists, but here the limit is only 10 GB, so that wasn't a solution either. Also came over donations regrettably almost no support to min. the costs to carry, so my donations amount currently to 0.62 ā¬ per month.
I am very happy about the donations and the development is fun for me, but unfortunately I don't have the time, besides my job and family with 3 children, to maintain a server for 10 hours a month and then also to develop the app further.
I don't know if I will shut down the project forever, but currently it is not sustainable for me. Especially the costs.
I hope this is understandable here.
Someone else is welcome to take over the project, and I would of course also provide the backend on the server.
-
@beli3ver I'm about to put the server online again and leave it online with updated lists until the end of February. After that we have to look
-
-
@beli3ver Oh wow... I had no Idea that Uadblock requires such effort to keep running. I will make sure to donate some money later today and encourage others to do the same, even if you decide to take it down to atleast compansate a fraction of the cost that this resulted in for you.
-
@aarontheissueguy Thank you, this means so much to me.
Well, not only the advertising people spend a lot of money, also preventing the advertising costs a lot of time and money. -
@beli3ver
Hello,
thank you very much for your message.
(I think anyone who works for free or provides infrastructure and gets too little or no monetary donations should reach out).Sometimes I think that the developers and maintainers of "important apps* should be co-funded by the foundation. It should not be that the developers pay everything themselves and get nothing for their work. And at some point give up and refer the app, I find very sad. A consideration is also whether everything always has to be free.... Maybe you should pay for the operating system and updates. Also for apps, then you would see at the same time how many users and interest there really is....
... I know it is difficult and complex....Greetings and thank you for your work....
...without Ubuntu Touch I wouldn't have a smartphone anymore....
Translated with www.DeepL.com/Translator (free version)
-
@john-silver I think cofunding is not really an option considering that the monetary resources of the foundation are also quiet limited. Either way I agree, that not everything has to be free of charge. Implementing something like paid apps is pretty hard to implement on UT at the moment I guess.
-
I too had no idea that maintenance required so much time and money. Thank you for your devotion.
-
@aarontheissueguy
if you love something and want to preserve it, it also costs something ... it's no use to anyone if in 1 or 2 years everyone gives up ... and we have to go back to Android or Apple ... it is a Freiheihtskampf and not a nerd story ...
sorry, but this is a matter of the heart for me ...
it's actually a matter of life and death, so simple is the question ...
Greetings -
@john-silver
I know these are harsh words, but we'll never get anywhere like this...
freedom is our highest good...
please give everything..
Thank you for your commitment...
FIGHT... maybe you will get into the history books, if such a thing still exists....
-
@beli3ver - how difficult would it be for you to transfer your block list server files to a third party hosting service like https://owncube.com ? That way someone else with dedicated staff towards this would be the ones to maintain the server part of that. If that it possible and if the cost to host this for a year was in a range I could afford to do, I would be happy to front the costs for this for the initial year, in hopes of making some of this back via asking for community donations towards this.
Best regards,
Steve Berson -
What is certain is that UT cannot do without an ad blocker. And the effect will be immediate by changing the channel (e.g. from stable to rc) no more blocking... or blocking by workaround.
-
@beli3ver Is there any reason, other than user has to download more data, why there has to be a server? Can't the list update, duplicate remove, etc be done at user side, whenever he chooses?
-
@jezek said in Why uAdBlock currently no longer works:
@beli3ver Is there any reason, other than user has to download more data, why there has to be a server? Can't the list update, duplicate remove, etc be done at user side, whenever he chooses?
I am not Malte, but the reason there needs to be a server, and one that is maintained on top of that, is that the block lists all need to be updated on a regular basis for them to effectively work, and apparently according to Malte, that the block lists take up a gigantic 400 GB of data in total. So, if the app had to have all of the lists included within it, it would be a huge install (and potentially one that would be too large for some devices), that would need to be updated regularly to and from the Open Store. With a server holding the block lists, the user can just access the needed data for just the lists they choose , and the app within the Open Store doesn't need to be constantly updated.
Best regards,
Steve Berson -
@totalsonic
Couldn't the app use list already existing ?
Like some from uBlock Origin or so ? -
@keneda - yes it could, if it was a smaller list - like the original version by Marius had. Perhaps the current lists could be optimized so it didn't require as much as server space as well - I'm not sure.
Best regards,
Steve Berson -
@keneda - I believe there are likely a number of different ways that an Ad Blocker for UT could be coded that would not need to have its own dedicated list server (and one storing some 400GB of data at that) - my comments here are just based on what Malte states in his original post, and wanting to figure out a way this could be restored - not that this is the only way to go about things.
Best regards,
Steve Berson -
@beli3ver said in Why uAdBlock currently no longer works:
Currently we have 13 lists, which in all possible combinations comes to a total file size of almost 400 GB.
@TotalSonic I understand this quote as, there are 13 lists and they are doing all possible combinations of the 13 lists, for every combination one file, so the user can easily download it.
The largest list (all 13 together) was still about 100 MB at the end.
See, this kind of supports my claim.
I predict that for all 13 lists, there will be no more than
150200 MB for one update, if not using the server and do the downloading & merging at user side. Or am I horribly wrong?But, even if it was 400MB for updating all 13 lists, it would be more acceptable for me than not working app.
Edit: I missread GB & MB. Ignore this statement, please. -
I don't have the working details on the server side
but from an optimisation point of view it sould be faster and lighter to have :
-
1 file for each commun entries in lists and merge client side.
(exemple 1.txt contains entries only in the list 1, 1-2.txt contains entries common on list 1 & 2 and so on)
from client side just dl every files that match activated lists. -
2 avoid rebuild all if possible (and optimize code/io for lower spec servers)
With that I hope it's possible to cut the server price a lot (cheapest ovh server is like 3ā¬/m)
-
-
@kazord Hello! We had the same idea
I've implemented it with many optimizations a few days ago. The result was a script running 45 seconds on Intel i7 or 2 minutes 30 seconds on a Raspberry Pi. The script is single thread so it could be further optimized. The lists were ~17MB of total size when the script ended. Querying the data from Apache takes less than 5 seconds. So far it seems too good to be true, so I wanted to ask @beli3ver if I may take a look at the original sources. The idea is to build this for serverless infrastructure on Netlify that will require very little costs and almost no maintenance. Idk the numbers of requests to uadblock servers, but maybe that could be done also with the free plan.Thank you for all your efforts in Uadblock
-
Last hosts file that i kept and use, built with 14 (all) uAdBlock blocking lists = 21.2 mb