What's new
  • 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!

SkyHero v2.1 – traffic monitor system by human–AI teamwork

letgoodgrow

Occasional Visitor
Hello guys,
I have been working on something for 3 months nearly everyday to make the best possible solution...
and it's time to share it with you, the name I used for personal use was Superman but it's now changed to SkyHero
I'm not a professional developer but certainly for a tech-driven person there were a lot of small details and effort behind the scenes to achieve decent quality

SkyHero v2.0 shell based script ---> published for research and as a sign of progress
SkyHero v2.1 python based script ---> superior in every way & ready for use

SkyHero-Tracking-016.jpg



SkyHero-025-ed.jpg


Sky-Hero-066-ed.jpg


man_stop_it_you_are_consuming_too_much_quota_leave_me_some_plz.jpg

Screenshot-2025-08-18-183342.jpg


Sky-Hero-030-ed.jpg


Screenshot-2025-10-14-054545.jpg


SkyHero-036-ed.jpg


Screenshot 2025-10-09 231527.jpg
Screenshot-2025-10-13-052404.jpg
why it matters?
* the Traffic Analyzer feature that Asus routers have is very unstable and often gets wiped at random times, which makes it far less useful than it should be.
* this script saves and organizes the data, and even provides additional stats to help monitor traffic usage.

what do you need?
Asus router with Asuswrt-Merlin firmware and entware installed on an external USB


key features:
- you get lightweight dashboard with separate url showing all important stats, with optional password lock.
- strong architecture that copies db records from router to an independent smart database saved project then archived into json periods files & backups
- you don’t start with zero data but all available historic data gets imported from your router and utilized.
- self healing that meant to restore internal ASUS database if it matters to you but it's disabled by default
- quick buttons to filter data based on All Time Today Yesterday Last 7 Days ‹ months navigator ›
- visual quota usage progress bar that shows current traffic usage status daily/weekly/monthly periods
- period overview that shows line bars for the selected period based on days/hours
- a pie-chart that shows 10 top Device Usage instead of the limited 5 that Asus offers
- billing period calculator , know exactly the usage based on your intent bill time
- table view showing per-device usage with warning color indicators and search bar.
- smart groups that can be saved to mark couple of devices and see their total usage and compare
- desktop mainly yet mobile is fully supported.
- device screenshot for a personalized usage summary two layouts "my favorite feature"
- the script supports multi langs but mainly English/Arabic
- new metrics like avg/peak day with Tooltips that explain each one
- warning box appears if a user exceeds +5 GB of traffic in a single day change be change from menu quota manger ,
and another one triggers if usage goes above the average for longer periods.
- stylish CLI menu to manage the entire system like password, quota, server restart and db info etc.. shortcut access type "skyhero/skyhero2"
- autostart mechanism to allow script to work after power loss or router restarts, in addition to an improvement to the USB mount handling as a bonus
- It was mainly designed to be easy and friendly for beginners

where is your data and how to keep it safe?
The easiest and safest way is to copy the "data" folder It contains json files / traffic.db can hold as long record of data as you wish and it's the file that generate json file it is taken as backup and it can be used to restore router database if lost though not yet tested for that purpose / there are also built-in backup options in "Skyhero menu Cli".

unlikely but in case any problems occur during use, from the skyhero menu consider these options:
use 9) Restart Python Web Server if there’s an issue with the web side. / try 3) Run Manual Traffic Grab if data seems off. / or use the ultimate fix: 1) Install / Update, which refreshes everything.


tested routers so far, please share your feedback too?
RT-AX58U V2 ... working with no problems

some warnings for advanced users only to take precautions and backups, normal user should be fine?
@maghuro feedback :
- services-start content & post-mount file might get erased or overwritten. [issue resolved .. under testing]
@Rajjco feedback :
noted webserver binding on 0.0.0.0 listens on all interfaces; now limited to LAN by default. (fix applied to both options available in config.py)


Installation steps
get USB--> plug it in your router --> run the ssh command "amtm" and install ep entware (this will format and prepare everything).
either copy the script folder manually to the USB, or install it online using the commands provided. It will automatically check for all required add-ons and install them.
once done, you’ll see a success message → hit Enter and you’re inside the management menu.
you can access the menu anytime by typing skyhero or skyhero2 to control everything.
to change the default port (8082), simply open config.py and update the port number to your preferred value.

online "experiential" never tried that one before
"change usb-name" to your USB label , run the command, then run the offline commands as well
Code:
...sorry the full command is on GitHub the forum give me error when adding the curl command!


offline
download the project manfully from github then
Code:
chmod +x /tmp/mnt/usb-name/skyhero-v2/install.sh
/tmp/mnt/usb-name/skyhero-v2/install.sh

GitHub project link:
github.com/heythem500/SkyHero-Monitor/

Dashboard URL: http://<your_router_ip>:8082/
take for example: http://192.168.50.1:8082/
 
Last edited:
The curl command for installation is incomplete.
 
I installed entware on jffp partition? Can I install Skyhero on jffs, too?
I'm not so experienced with this, but as long as you have free space you can try because there's gonna be data , json data running for two months can be near 2.5mb only but traffic.db can reach up to 18mb easily for the same period yet this file can be removed without losing progress so sort yourself out. also disable the self healing auto backup for so it don't add any unnecessary storage.
just watch up for any conflicts and stability issues, monitor option number two in menu cli 2) Verify Status it will show you if the server stopped
 
Last edited:
What do you mean with “human-AI teamwork” (sic)?

(You used AI to generate parts of your code?)

PS: what’s the final name: Superman, Superhero or SkyHero?

(You use all three in the introductory post)
 
What do you mean with “human-AI teamwork” (sic)?

(You used AI to generate parts of your code?)

PS: what’s the final name: Superman, Superhero or SkyHero?

(You use all three in the introductory post)
sorry, I didn't notice that one but it's SkyHero for sure now
I said that because it wouldn’t have been possible without using AI as a tool (they call it vibe coding) I don’t have strong coding skills at all and not shell scripts for sure. but that mix of human direction and ai assistance made it possible for a tech user like me to turn ideas and vision into something real. there was constant discussion, feedback, and back-and-forth problem-solving. The ai could generate and build but the human side had to judge what made sense, test things, and keep it grounded. asking for tweaks and adjustments until it actually worked and made things as planned in my mind or close.
so I didn't want to pretend that I did it all by myself I got help from an Ai and that's a gimplse of how the future could be like.
 
Last edited:
sorry, I didn't notice that one but it's SkyHero for sure now
I said that because it wouldn’t have been possible without using AI as a tool (they call it vibe coding) I don’t have strong coding skills at all and not shell scripts for sure. but that mix of human direction and ai assistance made it possible for a tech user like me to turn ideas and vision into something real. there was constant discussion, feedback, and back-and-forth problem-solving. The ai could generate and build but the human side had to judge what made sense, test things, and keep it grounded. asking for tweaks and adjustments until it actually worked and made things as planned in my mind or close.
so I didn't want to pretend that I did it all by myself I got help from an Ai and that's a gimplse of how the future could be like.
Dear friend,
Thanks for your work.
However....
I opened two big issues on your GitHub.
Please don't blind trust AI coding skills (which are undoubtedly great, but must be reviewed), and regarding myself... I learnt that I must not blind trust and try every new script I see 😅
 
Dear friend,
Thanks for your work.
However....
I opened two big issues on your GitHub.
Please don't blind trust AI coding skills (which are undoubtedly great, but must be reviewed), and regarding myself... I learnt that I must not blind trust and try every new script I see 😅
thanks for your feedback,
the first one is simple permissions related chmod was mentioned in offline but good catch by you that I missed typing it in the online steps.
I don't blindly trust Ai though or I wouldn't have come that far of progress, compared to other solutions like problematic yamon this still likely much better alternative.
normal users can use with almost no problem based on my experience, it's just when advanced users like you use it with all the customization that you might have some conflicts might show up in this case I don't know if I can make something that fits all but this case worth a warning.
 
Hi, how can I uninstall dis again?

Im running on AX88U. Sadly the server is unstable and as far as i see I dont see why i should want this. Is it just by Deleting the specified usb folder?
 
Hi, how can I uninstall dis again?

Im running on AX88U. Sadly the server is unstable and as far as i see I dont see why i should want this. Is it just by Deleting the specified usb folder?
Also beware of mods to/remnants in /jffs/scripts/post-mount and /jffs/scripts/services-start.
 
A nice uninstall script would be nice.

But one issue for me to use this feature. Everyone can see everything. Its not hidden behind a logon portal.

But besides that i love to test it later on if its mature, stable and secure.
 
Hi, how can I uninstall dis again?

Im running on AX88U. Sadly the server is unstable and as far as i see I dont see why i should want this. Is it just by Deleting the specified usb folder?
I use less tier router and I was running both v2.0 and v2.1 !! so that's weird
To uninstall completely, please run the management menu (the skyhero command) and choose option 5: "Remove Project". It will guide you through the process.
also there's some useful options in menu like 11) Check Resource Impact (RAM, CPU, Disk usage by our app). it's not the best but might give some idea.
 
I use less tier router and I was running both v2.0 and v2.1 !! so that's weird
To uninstall completely, please run the management menu (the skyhero command) and choose option 5: "Remove Project". It will guide you through the process.
also there's some useful options in menu like 11) Check Resource Impact (RAM, CPU, Disk usage by our app). it's not the best but might give some idea.
Edits to /jffs/scripts/services-start and /jffs/scripts/post-mount are not removed by Remove Project.
 
A nice uninstall script would be nice.

But one issue for me to use this feature. Everyone can see everything. Its not hidden behind a logon portal.

But besides that i love to test it later on if its mature, stable and secure.
the script already has a password protection feature. you can enable it easily from the management menu. Run the menu, choose option 10 ("Security Options"), and you'll be able to set a password for the dashboard.
I hope this helps, and I look forward to you trying it again!
Screenshot-2025-10-13-052404.jpg

Screenshot-2025-10-14-054545.jpg
 
Maybe a strange question but I cant open de commandant in CLI. Nothing is recognized. Whatever i type skyhero or skyhero2 .Only the webserver is running
 
You should avoid running the webserver on 0.0.0.0 your basically making the webserver listen on all interfaces. Check line 361 in cli.py app.run(host='0.0.0.0', port=8082)
good point , it should be on the safer option by default

thanks for your valuable feedback
the script is now automatically detect your router's LAN IP and use that instead of the insecure 0.0.0.0 while being customizable through config.py for people who want to use WAN
the status can be also be seeing now by menu CLI
Code:
    # --- Web Server Host Configuration ---
    # "lan_only": (Recommended) Automatically detects the router's LAN IP. The dashboard will only be accessible from your local network.
    # "0.0.0.0": (UNSAFE) Listens on all network interfaces. This can expose the dashboard to the public internet (WAN). Use with caution and a strong password.
    WEB_SERVER_HOST = "lan_only
 
Maybe a strange question but I cant open de commandant in CLI. Nothing is recognized. Whatever i type skyhero or skyhero2 .Only the webserver is running
sound like a problem with symlink! try to re run the installer again, also try to access the menu through
/tmp/mnt/usb-name/skyhero-v2/menu.sh
/tmp/mnt/usb-name/skyhero-v2/install.sh
see if entware isn't not broken repair it by running "amtm" and ep .. then try the script install again
 

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!
Back
Top