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!

Like most of you posted above, my latest run lasts more than 5 days so far. Thanks for my 56U didn't crash (>3 days is rare recently).

https://imgur.com/a/eTnnD

Will see if @Protik has update on his issue. Perhaps will issue a final test with minor changes later today. This test build will be equivalent to release (touch wood if no further issues discovered).

I restarted the pixelserv service. After that did not see anything peculiar. Also to be fair I was out all day, there was not much of stress. All in all, everything is good so far. The stat looks like this:

Code:
uts    0d 18:49    process uptime
log    1    critical (0) error (1) warning (2) notice (3) info (4) debug (5)
kcc    3    number of active service threads
kmx    47    maximum number of service threads
kvg    2.28    average number of requests per service thread
krq    194    max number of requests by one service thread
req    4917    total # of requests (HTTP, HTTPS, success, failure etc)
avg    1077 bytes    average size of requests
rmx    60464 bytes    largest size of request(s)
tav    30 ms    average processing time (per request)
tmx    4689 ms    longest processing time (per request)
slh    3206    # of accepted HTTPS requests
slm    56    # of rejected HTTPS requests (missing certificate)
sle    0    # of rejected HTTPS requests (certificate available but bad)
slc    895    # of dropped HTTPS requests (client disconnect without sending any request)
slu    16    # of dropped HTTPS requests (unknown error)
 
Up almost three days without an issue on a 56U:
Code:
pixelserv-tls: v35.HZ12.Kl-test8d compiled: Nov 21 2017 01:09:16 options: 192.168.0.201

uts 2d 20:36 process uptime
log 1 critical (0) error (1) warning (2) notice (3) info (4) debug (5)
kcc 6 number of active service threads
kmx 32 maximum number of service threads
kvg 2.29 average number of requests per service thread
krq 1558 max number of requests by one service thread

req 15275 total # of requests (HTTP, HTTPS, success, failure etc)
avg 750 bytes average size of requests
rmx 105200 bytes largest size of request(s)
tav 19 ms average processing time (per request)
tmx 4716 ms longest processing time (per request)
These stats are unusual for me. First, I've never seen an rmx this high, for me. Second, I've never seen a krq this high.
 
I restarted the pixelserv service. After that did not see anything peculiar. Also to be fair I was out all day, there was not much of stress. All in all, everything is good so far. The stat looks like this:

Code:
uts    0d 18:49    process uptime
log    1    critical (0) error (1) warning (2) notice (3) info (4) debug (5)
kcc    3    number of active service threads
kmx    47    maximum number of service threads
kvg    2.28    average number of requests per service thread
krq    194    max number of requests by one service thread
req    4917    total # of requests (HTTP, HTTPS, success, failure etc)
avg    1077 bytes    average size of requests
rmx    60464 bytes    largest size of request(s)
tav    30 ms    average processing time (per request)
tmx    4689 ms    longest processing time (per request)
slh    3206    # of accepted HTTPS requests
slm    56    # of rejected HTTPS requests (missing certificate)
sle    0    # of rejected HTTPS requests (certificate available but bad)
slc    895    # of dropped HTTPS requests (client disconnect without sending any request)
slu    16    # of dropped HTTPS requests (unknown error)

Thanks for update. Symptom & info collected so far doesn't sound like an issue of pixelserv-tls itself.

We can re-visit when it happens again.
 
Up almost three days without an issue on a 56U:
Code:
pixelserv-tls: v35.HZ12.Kl-test8d compiled: Nov 21 2017 01:09:16 options: 192.168.0.201

uts 2d 20:36 process uptime
log 1 critical (0) error (1) warning (2) notice (3) info (4) debug (5)
kcc 6 number of active service threads
kmx 32 maximum number of service threads
kvg 2.29 average number of requests per service thread
krq 1558 max number of requests by one service thread

req 15275 total # of requests (HTTP, HTTPS, success, failure etc)
avg 750 bytes average size of requests
rmx 105200 bytes largest size of request(s)
tav 19 ms average processing time (per request)
tmx 4716 ms longest processing time (per request)
These stats are unusual for me. First, I've never seen an rmx this high, for me. Second, I've never seen a krq this high.

High 'rmx' indicates POST requests which adverts/trackers use to send data collected about you back to their servers.

People can enable '-l 4' logging to see the actual content. Usually base64 encoded. You can use this decoder to see in English.

My 'rmx' is usually >100k. Bad (& good since uncovered by pixelserv-tls) that you got it there too :)

>1k 'krq' is very highly. Most likely caused by browser auto reloading your servstats page ever few minutes (?) or a poorly designed site in desperate to load something.

#FAQ#
 
After 12 hours of running pixelserv, suddently tav became zero.

Code:
pixelserv-tls: v35.HZ12.Kl-test8d compiled: Nov 21 2017 01:09:16 options: 192.168.2.2

uts    0d 12:44    process uptime
log    1    critical (0) error (1) warning (2) notice (3) info (4) debug (5)
kcc    10    number of active service threads
kmx    34    maximum number of service threads
kvg    2.00    average number of requests per service thread
krq    151    max number of requests by one service thread
req    19095    total # of requests (HTTP, HTTPS, success, failure etc)
avg    540 bytes    average size of requests
rmx    15046 bytes    largest size of request(s)
tav    0 ms    average processing time (per request)
tmx    3312 ms    longest processing time (per request)
slh    1121    # of accepted HTTPS requests
slm    4    # of rejected HTTPS requests (missing certificate)
sle    0    # of rejected HTTPS requests (certificate available but bad)
slc    1258    # of dropped HTTPS requests (client disconnect without sending any request)
slu    44    # of dropped HTTPS requests (unknown error)
 
By now I can almost envision a new app called "SNB Menu" pulling all this stuff together, putting all the scripts and installers in one place, which would save a lot of notes and separate sessions, something like:
----------------------------------------------------------------------
Welcome to the SNBforum Merlin firmware addition menu, what would you like to do today?

1. Download and install Skynet
2. Download and install ab-solution
3. Open Skynet
4. Open ab-solution
5. Update pixelserv
6. Update this menu
7. Exit

Please select input: (1-7)
----------------------------------------------------------------------
 
After 12 hours of running pixelserv, suddently tav became zero.

Code:
pixelserv-tls: v35.HZ12.Kl-test8d compiled: Nov 21 2017 01:09:16 options: 192.168.2.2

uts    0d 12:44    process uptime
log    1    critical (0) error (1) warning (2) notice (3) info (4) debug (5)
kcc    10    number of active service threads
kmx    34    maximum number of service threads
kvg    2.00    average number of requests per service thread
krq    151    max number of requests by one service thread
req    19095    total # of requests (HTTP, HTTPS, success, failure etc)
avg    540 bytes    average size of requests
rmx    15046 bytes    largest size of request(s)
tav    0 ms    average processing time (per request)
tmx    3312 ms    longest processing time (per request)
slh    1121    # of accepted HTTPS requests
slm    4    # of rejected HTTPS requests (missing certificate)
sle    0    # of rejected HTTPS requests (certificate available but bad)
slc    1258    # of dropped HTTPS requests (client disconnect without sending any request)
slu    44    # of dropped HTTPS requests (unknown error)

It's not abnormal. On a fast AMD64 CPU, I expect 'tav' is going to 0ms most of the time.

On my 800MHz 56U, a new HTTP request takes only a few ms. A burst of plain HTTP requests to the same ad host will sink 'tav' below 1ms.

I believe that's what happened to you momentarily. 94% of your requests are plain HTTP. So 'tav' shall be in low tens ms already. A burst can send it below 1ms.

#FAQ#
 
By now I can almost envision a new app called "SNB Menu" pulling all this stuff together, putting all the scripts and installers in one place, which would save a lot of notes and separate sessions, something like:
----------------------------------------------------------------------
Welcome to the SNBforum Merlin firmware addition menu, what would you like to do today?

1. Download and install Skynet
2. Download and install ab-solution
3. Open Skynet
4. Open ab-solution
5. Update pixelserv
6. Update this menu
7. Exit

Please select input: (1-7)
----------------------------------------------------------------------

LoL

A much better implementation with a GUI is already available on koolshare.cn's build of asuswrt-merlin (but I heard source code isn't known to be published).
 
For me anything goes. My goal would be to rather install 1 script (the "menu" script) and pull/start/update all tools from there, rather than remembering and copying and pasting multiple scripts every time you want to do a reinstall. So I thought this would be the easiest way, not having a clue what else is out there already. It would be a lot more user friendly for noobs like me and I think because of that will drive adoption.
Of course you guys can make it as fancy as you like. I've never got beyond MS-DOS batch files and have for now made Putty shortcuts on my Windows desktop :)
 
ab-solution already does the entware and pixelserv-tls installation, and the shared whitelist and blacklist. Once you've got it and Skynet installed, everything is either:

ab[tab]
firewall

The hardest part of a new install for me is remembering that the wget uses -qO not -q0.

EDIT: Nevermind. I see you've double posted.
 
LoL

A much better implementation with a GUI is already available on koolshare.cn's build of asuswrt-merlin (but I heard source code isn't known to be published).
So much of that "fork" is closed source I'm scared to even install it without sand boxing that router from the rest of my LAN.
 
The hardest part of a new install for me is remembering that the wget uses -qO not -q0.

Ah..I never remember such command but usually associate with the webpage I can quickly find it, and do the cut & paste.

To make it easier to a wider range of users, I've cleaned up the portal page on Github where now everyone hopefully find its way quickly to install pixelserv-tls.

I read @thelonelycoder is going to make a single menu. That's good news to @Raphie & co
 
Availability of v2.0.0-rc1

To update
Code:
sh -c "$(wget -qO - https://kazoo.ga/pixelserv-tls/install-beta.sh)"

v2.0.0-rc1 will be functionally equivalent to final release of v2. Will wait for a few days before submit this build to Entware-ng.

Changes with respect to KL-test8d. None functionally. Only updated a few error messages & usage text output (to be consistent with the manpage)

version naming scheme

To clean up the clutter in the version name, v2 will revert back to a traditional naming scheme. The first versions in the past two years were considered pixelserv-tls v1.x. Starting with KL, it's pixelserv-tls v2.

To not drop the spirit of alphabet soup that pixelserv-tls started with, Km, Kn, Ko...etc will continue its life as code name for development. For example, the next development will be "Km"

:)

#FAQ#
 
Ah..I never remember such command but usually associate with the webpage I can quickly find it, and do the cut & paste.

To make it easier to a wider range of users, I've cleaned up the portal page on Github where now everyone hopefully find its way quickly to install pixelserv-tls.

I read @thelonelycoder is going to make a single menu. That's good news to @Raphie & co
This page does not exist, liked from https://github.com/kvic-z/pixelserv-tls at the bottom in "Check out this page for details of command line options."
https://github.com/kvic-z/pixelserv-tls/blob/master/pixelserv-tls/wiki/Command-Line-Options
 
Availability of v2.0.0-rc1

To update
Code:
sh -c "$(wget -qO - https://kazoo.ga/pixelserv-tls/install-beta.sh)"

v2.0.0-rc1 will be functionally equivalent to final release of v2. Will wait for a few days before submit this build to Entware-ng.

Changes with respect to KL-test8d. None functionally. Only updated a few error messages & usage text output (to be consistent with the manpage)

version naming scheme

To clean up the clutter in the version name, v2 will revert back to a traditional naming scheme. The first versions in the past two years were considered pixelserv-tls v1.x. Starting with KL, it's pixelserv-tls v2.

To not drop the spirit of alphabet soup that pixelserv-tls started with, Km, Kn, Ko...etc will continue its life as code name for development. For example, the next development will be "Km"

:)

#FAQ#
Version naming...
I'll check but I probably have to redo my code for the version number check in AB-Solution.
But I appreciate the clearer scheme.
 
I'll check but I probably have to redo my code for the version number check in AB-Solution.
Phew. No change needed, AB-Solution 3.10 shows it correctly in the UI.
 
Last edited:

Similar threads

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

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