What's new

pixelserv pixelserv - A Better One-pixel Webserver for Adblock

  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

Uploaded KL-test8a to Github.

Fixed the glitch on counters caused by code refactoring in KL-test8.

@Correlor @elorimer thanks for catching this!
 
If it gets too much faster, it’s going to start serving requests before they’re even solicited.

Getting there! Before that there will be a couple of intermediate steps:
  • In Km, will experiment a few more techniques to speed up SSL connections. The goal is to be fast as plain HTTP (in < 10ms). Currently we're about <50ms. Before we were at >100ms.
  • In Kn, will possibly shift to a different paradigm to solve the same problem.
Both will be fun, and hopefully end up with something also useful.

Before that perhaps need to do further code clean up. New adblock related features might also be added. This part much depends on user feedback. So everyone don't hesitate to post your shiny ideas :)
 
This seems blazing fast. 8a
Code:
tav 19 ms average processing time (per request)
tmx 80 ms longest processing time (per request)
 
Last edited:
This seems blazing fast. 8a
Code:
tav 19 ms average processing time (per request)
tmx 80 ms longest processing time (per request)
Yeah I would say so too.

oesfIRG.jpg
 
The action of refreshing the stats page will itself affect the counters as it's part of a URL request.

A more accurate way is SSH into your router, "killall -SIGUSR1 pixelserv-tls" and look at the syslog to get the text stats.

This doesn't go through pixelserv-tls' http parser.

On my 800MHz RT-AC56U,
  • a nominal HTTP request <= 1ms
  • a nominal HTTPS request ~40ms
I had a quick check on the code. There might be another glitch in the refactoring that the socket read time isn't fully accounted. I'll find time to take another look later today.

EDIT:

~40ms is the very first HTTPS request that goes through a full SSL handshake. The 2nd and subsequent requests in the same service thread take similar time to a HTTP request.

The requests are from a LAN client. Remote clients over WAN will increase the time quite a lot.
 
Last edited:
We still have plenty of time before X'mas. Silent majority...it's your time to sign up SNBforum, and cast your voice.

Even some feedback such reporting an issue like @shooter40sw recently did can significantly redirect my time and focus which I believe can result in a better pixelserv-tls for everyday users.

If I were on my own, my main focus would be on robustness, efficiency and scalability.. which could be very dull and not noticeable gain for most users.

:)

Let's make it a bit more fun..

People who are using pixelserv-tls come out and stand up. You can either reply to this thread to claim you're a user or if too lazy simply like post #608. By the coming Christmas eve, if there are 100 or more pixelserv-tls users, I promise to tell the community on Boxing day.
 
Hi Kvic, I would love your beta/test versions to be easily updated in ab-solution. Ideally by a simple script, that would be awesome.
 
Hi Kvic, I would love your beta/test versions to be easily updated in ab-solution. Ideally by a simple script, that would be awesome.
That would either Entware to have a "fastadd" beta feature or I would have to pull the binary from kvics GitHub.
The first is very unlikely. The second is also unlikely as the filenames are not consistent and the format is zipped.
Zip is not by default available on Asuswrt-Merlin unless you have my backup feature enabled with zip as the compressor.
So, your feature request is atm unlikely to happen.
Pixelserv Kl will be available through Entware in due time when it's released.
 
Let's make it a bit more fun..

People who are using pixelserv-tls come out and stand up. You can either reply to this thread to claim you're a user or if too lazy simply like post #608. By the coming Christmas eve, if there are 100 or more pixelserv-tls users, I promise to tell the community on Boxing day.

Adding my voice. Been using this for quite a while (running on an AC68w) - currently on Ki; tried the Kk and Kl-test8a today, but they did not seem to keep running. After installing and then throwing a bunch of sites with lots of ads, I did not see the https counter go up, and then the process died after a few minutes.

Thanks for all of your hard work kvic!
 
After installing and then throwing a bunch of sites with lots of ads, I did not see the https counter go up, and then the process died after a few minutes.
One idea, check that your certificate directory has the correct permissions - this was a change in version Kk.
If you run into permission error on /opt/var/cache/pixelserv, run as root

Code:
$ chown nobody /opt/var/cache/pixelserv
 
Last edited:
Uploaded KL-test8b to GitHub!

This version shall have super accurate processing time (tav, tmx).

On a fast amd64 CPU, don't be surprised that 'tav' may go to 0 ms where millisecond is to too big to account for the average time.

On my 800MHz 56U after a few hours run: 'tav'= 55ms and 'tmx'=1300ms.

@elorimer @jrmwvu04 you may want to try this, and see how the numbers go on your LAN.
 
One idea, check that your certificate directory has the correct permissions - this was a change in version Kk.

Thank you for this. One followup question, and I will search through the past posts if I missed that too, but should all of the certs have nobody as owner, or just the parent (/opt/var/cache/pixelserv) directory?
 
When @Protik asked about tutorial of installing test version, I started preparing a script. Then I saw @Raphie asked, so I finished it up. There might be some glitch but here we're.

A script to automate the installation of test version of pixelserv-tls (and reverting back to prod version).

ssh into your router, copy and paste:
Code:
sh -c "$(wget -qO - https://kazoo.ga/pixelserv-tls/install-beta.sh)"

Then follow the instructions.

You can use the script to install test version whenever there is one announced. It'll always install the latest test version.

I've tested install and restore on 56U (arm7).

Output of install
Output of restore
 
Thank you for this. One followup question, and I will search through the past posts if I missed that too, but should all of the certs have nobody as owner, or just the parent (/opt/var/cache/pixelserv) directory?

Old certs (including ca.crt/ca.key) need to be readable by 'nobody'. Change them to owner 'nobody' will do.

Another option is to remove all generated certs in the dir. Then they'll be automatically re-generated on demand with owner 'nobody'.
 
Uploaded KL-test8b to GitHub!

This version shall have super accurate processing time (tav, tmx).

On a fast amd64 CPU, don't be surprised that 'tav' may go to 0 ms where millisecond is to too big to account for the average time.

On my 800MHz 56U after a few hours run: 'tav'= 55ms and 'tmx'=1300ms.

@elorimer @jrmwvu04 you may want to try this, and see how the numbers go on your LAN.

Just tested 8b. So far tav 17 ms. Works fine on my side with ab-solution on a AC86U. Thanks kvic!
 
When @Protik asked about tutorial of installing test version, I started preparing a script. Then I saw @Raphie asked, so I finished it up. There might be some glitch but here we're.

A script to automate the installation of test version of pixelserv-tls (and reverting back to prod version).

ssh into your router, copy and paste:
Code:
sh -c "$(wget -qO - https://kazoo.ga/pixelserv-tls/install-beta.sh)"

Then follow the instructions.

You can use the script to install test version whenever there is one announced. It'll always install the latest test version.

I've tested install and restore on 56U (arm7).

Output of install
Output of restore

Worked perfectly. Thanks so much!
 
When @Protik asked about tutorial of installing test version, I started preparing a script. Then I saw @Raphie asked, so I finished it up. There might be some glitch but here we're.

A script to automate the installation of test version of pixelserv-tls (and reverting back to prod version).

ssh into your router, copy and paste:
Code:
sh -c "$(wget -qO - https://kazoo.ga/pixelserv-tls/install-beta.sh)"

Then follow the instructions.

You can use the script to install test version whenever there is one announced. It'll always install the latest test version.

I've tested install and restore on 56U (arm7).

Output of install
Output of restore

Can you please post link of the tutorial in the first page? That would make finding it easier.
 
Worked perfectly. Thanks so much!

The script is primitive and in no substitution of any serious and polished work. But glad to hear it works!

Another reason for doing the script is to fill up the time delay between RTM and availability on Entware-ng. So that early birds can use a variant of the script to try the release while waiting for builds from Entware-ng.

Version KL is in a mode of glitch hunt and fix. So yeah I'm going to find time and tidy up the docs
 
Thank you! Is my RT-AC5300 mipsel or arm-7?

When @Protik asked about tutorial of installing test version, I started preparing a script. Then I saw @Raphie asked, so I finished it up. There might be some glitch but here we're.

A script to automate the installation of test version of pixelserv-tls (and reverting back to prod version).

ssh into your router, copy and paste:
Code:
sh -c "$(wget -qO - https://kazoo.ga/pixelserv-tls/install-beta.sh)"

Then follow the instructions.

You can use the script to install test version whenever there is one announced. It'll always install the latest test version.

I've tested install and restore on 56U (arm7).

Output of install
Output of restore
 

Similar threads

Latest threads

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!

Members online

Top