What's new

[Release] FreshJR Adaptive QOS (Improvements / Custom Rules / and Inner workings)

  • 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!

Status
Not open for further replies.
@Randown Question

For Snapchat I personally like it in others since I use it a lot. I will not be changing it.

For your desired usecase just copy the parameters of the hardcoded rule and create a duplicate rule with your desired destination.

The rule precidence is as follows:

1) iptable4
2) iptable3
3) Iptable2
4) Iptable1
5) Iptable hardcoded
6) Appdb4
7) Appdb3
8) Appdb2
9) Appdb1
10) Appdb hardcoded

Creating a custom appdb rule should override the existing rule and achieve what you want.

I also have functionality planned to make toggling on/off hardcoded rules possible but that hasn’t been implement yet due to time constraints.

Thanks again for the report!
 
Last edited:
i used new command for installation and new Classification page is not replaced ...
i see still old one

EDIT:

issue solved, mounted manually, now working fine.

wow, speed is incredible ...
I'm using latest merlin FW...I still don't see new classification page...how did you manually mount to get it workin?
 
I'm using latest merlin FW...I still don't see new classification page...how did you manually mount to get it workin?

Restart QOS, wait 5 min, and see if it appears.

If not then restart the router (hopefully this isn’t required)!!!:mad::mad:



If restarting is required I will make it a requirement to log out from the webui and then run the install command. The issue may lie in the QoS page not being able to be remounted if it is currently in use.

Report back if a restart is required or if a QoS restart after install + short wait (intended) was successful so I can make improvements to the instructions.

(The lack of remount until a manual QoS restart is intended so users see modifications not taking effect after install until they actually restart QoS.). I initially thought this was a good idea but may change it to avoid questions!

I can make QoS restart automatically after install, but wasn’t sure if that command would extend to stock firmware aswell so I heald off on implementing it for compatibility reasons.

Any stock users available for testing? I really don’t want to downgrade. I currently just make assumptions for stock firmware.

Keep reports coming, thanks all !
 
Last edited:
Question: It's okay like that? (Xbox One 192.168.1.8 and PS4 192.168.1.9)
nPoD9Xm.png
 
Last edited:
Can you unlock that rule to be able to change it where I want?
Qphym9i.png



Question: It's okay like that? (Xbox One 192.168.1.8 and PS4 192.168.1.9)
nPoD9Xm.png

1) See previous response.

Unlock is not possible due to limited nvram space.

If you create a duplicate rule for Snapchat it will take priority over hard coded rule. (Maybe we have language issues. Do you need a picture ?)

2) cidr is correct

Bad rules turn red and do not survive “apply” button.
 
Yes. The first entry is the gaming rule. Ran out of room for labels.

@skeal 4 entries is plenty.

You can use commas for port rules && continuous static ip cidr ranges to refer to multiple local devices per rule. Try to optimize your setup to fit within the limits.
I tried using a comma to add more than one port and it wouldn't apply. That and the text entry runs out of character limit so adding more than 3 ports isn't doable. I may be wrong here. That was reason for the four rules.
 
I tried using a comma to add more than one port and it wouldn't apply. That and the text entry runs out of character limit so adding more than 3 ports isn't doable. I may be wrong here. That was reason for the four rules.

I think I limited it to 18 characters per port entry (arbitrary)

I will update functionality in next release to allow for unlimited characters per field but make an entire group of entires NOT TAKE EFFECT if their sum of charecters exceeds 255 character per nvram variable. (I concede that it is unlikely that each filter fields will be populated so some port fields can be allowed for longer than currently imposed predefined limits)

For the time being you can use /jffs/scripts/FreshJR -rules as each field via that method has no limits on meter entry due to me not have enough time to impose checks.
 
Last edited:
FreshJR,

With your new classification page in place I found the following discrepancy with incoming port forwardings. They list the local IP as a remote IP so I had to insert another line to also catch the incoming traffic and route it to net control as an example. Looks like this has already been the case in the past but now I was able to see it. I don't know if this is something within your code or if it is by design, just wanted to let you know.

Greetings,
chris

classification-setup.PNG
classification-display.PNG
 
Code:
ASUSWRT-Merlin RT-AC68U 384.9-0 Sat Feb  2 18:16:52 UTC 2019
sam@RT-AC68R-6CE0:/tmp/home/root# curl "https://raw.githubusercontent.com/FreshJ
R07/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dir
s && curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJ
R_QoS_Stats.asp" -o /jffs/scripts/www_FreshJR_QoS_Stats.asp && sh /jffs/scripts/
FreshJR_QOS -install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Wa                                                                                                                                                                                                                                             rning: Failed to create the file /jffs/scripts/FreshJR_QOS: No space left on
Warning: device
  1 97961    1  1917    0     0   2306      0  0:00:42 --:--:--  0:00:42  2486
curl: (23) Failed writing body (0 != 1917)
sam@RT-AC68R-6CE0:/tmp/home/root# /jffs/scripts/FreshJR_QOS -uninstall
 FreshJR QOS has been uninstalled
sam@RT-AC68R-6CE0:/tmp/home/root# curl "https://raw.githubusercontent.com/FreshJ
R07/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dir
s && curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJ
R_QoS_Stats.asp" -o /jffs/scripts/www_FreshJR_QoS_Stats.asp && sh /jffs/scripts/
FreshJR_QOS -install
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
 27 97961   27 26580    0     0   2377      0  0:00:41  0:00:11  0:00:30  3542
curl: (23) Failed writing body (0 != 2759)

I had a problem with 'Warning: No space left on device' on AC68R running latest Merlin? I turned off per IP traffic monitoring, cleared the logs and restarted the router but your script would not install. I tried uninstalling the old version of your script before trying the new one but it still shows an error. I have no custom stuff running on this router apart from Asus Merlin and your script. Sorry if this isn't relevant to something your script is doing, I was unsure where to post.

EDIT: Sorry ignore me, I formatted the JFFS and it installed fine. No idea what was causing it to be full
 
Last edited:
hi, fresh, get a fresh beer from 57A0097719180241B.
is there some guide what is needed to populate for custom rules for some apps. (world of warships is not in gaming f.e.)
 
Last edited:
Hey @FreshJR
I have asus GT-5300 router with stock firmware version 3.0.0.4.384.45149 (no merlin firmware for this model)with usb stick mounted and i can't install this V8 script using comand:
curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dirs && curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR_QoS_Stats.asp" -o /jffs/scripts/www_FreshJR_QoS_Stats.asp && sh /jffs/scripts/FreshJR_QOS -install

gives me the next error:
login as: Savumg
Savumg@192.168.1.1's password:
Savumg@GT-AC5300:/tmp/home/root# curl "https://raw.githubusercontent.com/FreshJR
07/FreshJR_QOS/master/FreshJR_QOS.sh" -o /jffs/scripts/FreshJR_QOS --create-dirs
&& curl "https://raw.githubusercontent.com/FreshJR07/FreshJR_QOS/master/FreshJR
_QoS_Stats.asp" -o /jffs/scripts/www_FreshJR_QoS_Stats.asp && sh /jffs/scripts/F
reshJR_QOS -install
-sh: curl: not found

I apologize for my bad English.
 
They list the local IP as a remote IP so I had to insert another line to also catch the incoming traffic ..... Looks like this has already been the case in the past but now I was able to see it. I don't know if this is something within your code or if it is by design, just wanted to let you know.

This is currently just a visual glitch with the tracked connection table.

The table has a UI glitch where the two fields can potentially be reversed due to the underlying connections being source/destination instead of local/remote depending on who initially opened the connection.

During testing I hardcoded my dhcp start start range to reverse these fields when the problem occurs but forgot to actually update the code to grab the currently defined range from nvram upon release :oops:

Code:
if (bwdpi_conntrack[i][3].startsWith("192.168.2."))
               {

Behind the scenes custom rules should still be filtering on local and remote designations as you expect. (Final destination should always be reflected in the pie charts since they grab data from a different source that is supplied post filtering).

Will be fixed.

is there some guide what is needed to populate for custom rules for some apps. (world of warships is not in gaming f.e.)

If the game is already identified click on the colored “Appname” to see its mark.

If it’s not identified then look into the gaming rule.

it is working ONLY on Merlins fw, not stock ...

Stock firmware functionality will still work as it did with previous releases with same limitations.

I just need to provide install/usuage instructions in the first post and will do so when I get a chance.

Manual install instructions and limitations of stock firmware used to be present in the first post but were lost when I was moving data around.

I tried using a comma to add more than one port and it wouldn't apply. That and the text entry runs out of character limit so adding more than 3 ports isn't doable. I may be wrong here. That was reason for the four rules.

What is the rule field input (as written) that you are trying to apply? Perhaps you are including spaces?

Input in webui field is filtered to prevent improper input. Does it turn red(invalid) prior to submital.

Either input filter is inaccurate or there is an issue with your syntax.

off topic: can you rewrite the whole GUI? :D

Hahaha. If I was working for asus I would try to make everything as fast and bug free that I can.



Thanks everyone for both your feedback and support!
 
Last edited:
Hey @FreshJR
I have asus GT-5300 router with stock firmware version 3.0.0.4.384.45149 (no merlin firmware for this model)with usb stick mounted and i can't install this V8 script using comand:

Install instructions are for RMerlin firmware only.

Different instructions will be in the first post for stock firmware users later today/tomorrow.

Still works with stock firmware and has same limitations.
 
Last edited:
What is the rule field input (as written) that you are trying to apply? Perhaps you are including spaces?

Input in webui field is filtered to prevent improper input. Does it turn red(invalid) prior to submital.

Either input filter is inaccurate or there is an issue with your syntax.
I'm really sorry @FreshJR it was operator error.:oops::oops::oops: Everything is fine.
 
46498491.png
46498439.png

Both HTTPS/HTTP tests straight A+ across the board. Very nice @FreshJR !! :D:cool:;):)
 
Status
Not open for further replies.

Latest threads

Sign Up For SNBForums Daily Digest

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