What's new

Kamoj Kamoj Add-on Beta testing

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

Thank you very much for your help and support!
I had a problem for 2 consecutive days. I think the problem is PIA, caused by DNS and service itself, but I've found out that with Adguard off at least OpenVPN connected again, after sometime. I don't know why, maybe it is not related.
A reboot didn't solve the problem, and after some hours the problem solved partially by itself. Partially because I noticed a DNS leak by OpenVpn and Pia. It shows the DNS I've configured manually in the main section of the router, not the country DNS of the VPN as usual. I will check again and I will tell you if there will be the problem again. I want to try to start from scratch, as soon Voxel will release an update too, then I will let you know about the problem.
Thanks again! :)



Thank you for heads up. o_O

You are right:cool:, PIA changed source of configuration files - again :eek:...
I'll probably release a new add-on this weekend for that fix.:)

From the add-on you can use DNSCrypt or Stubby or Adguard Home to use other DNS services.:D

For using different DNS for "some device"::p
https://www.snbforums.com/threads/s...rol-in-my-build-of-firmware.54815/post-463011
 
  • Like
Reactions: KW.
@kamoj
Do you know if there are any issues with NordVPN in your OpenVPN client?

I can select NordVPN from the supplier list, UK as a country, then it only lists London, then says no servers available.
So I can't connect to anything.
I've tried loading an old ovpn file I had from an older server I had connected with previously, but that's not connecting either.


I've running latest .12 beta, on an R7800 with latest 80.7 firmware
 
First. I don't use NordVPN.
They were nice and let me a free account for a week+ or so when I implemented it.
Thank you NordVPN!
(But I really don't understand why this multinational company not give me and/or Voxel a free account,
since we promote their services for free.)

Second, I tried it just now and in London there are many servers to chose from.
If they are not working I guess you have not renewed your subscription ;-),
or NordVPN have/had a problem. Especially as your "old" config is not working either.

Thank you for using the add-on, and all good information provided!
Stay safe!
PS
It would of course help more if you shared the the OpenVPN log-file.
@kamoj
Do you know if there are any issues with NordVPN in your OpenVPN client?

I can select NordVPN from the supplier list, UK as a country, then it only lists London, then says no servers available.
So I can't connect to anything.
I've tried loading an old ovpn file I had from an older server I had connected with previously, but that's not connecting either.


I've running latest .12 beta, on an R7800 with latest 80.7 firmware
 
First. I don't use NordVPN.
They were nice and let me a free account for a week+ or so when I implemented it.
Thank you NordVPN!
(But I really don't understand why this multinational company not give me and/or Voxel a free account,
since we promote their services for free.)

Second, I tried it just now and in London there are many servers to chose from.
If they are not working I guess you have not renewed your subscription ;-),
or NordVPN have/had a problem. Especially as your "old" config is not working either.

Thank you for using the add-on, and all good information provided!
Stay safe!
PS
It would of course help more if you shared the the OpenVPN log-file.
Thanks for your comments.

It's not my account that is the issue.
My account is valid until July 2022.

I've tried doing a factory reset of the whole router and reinstalled 5.4b12

Unfortunately I'm still getting the same issue.
NordVPN selecting recommended servers through the Kamoj add-on;
I can select from 10 different VPN options.
I select NordVPN.
I then get 59 countries to choose from.
I select UK, then I get to select a location in the UK. Only London is listed.
The next box should be available servers - but there are zero.

I've even tried selecting a different Country, but still get zero servers.

This worked fine for me on 5.3b30
It's been a while since I updated to latest Kamoj, but it's not working for me on the 5.4b12

Ive already tried a full factory reset and it's not resolved, so I'll try uninstalling 5.4b12 and install an older version of the add-on to see if that work
 
Last edited:
Thanks for your comments.

It's not my account that is the issue.
My account is valid until July 2022.

I've tried doing a factory reset of the whole router and reinstalled 5.4b12

Unfortunately I'm still getting the same issue.
NordVPN selecting recommended servers through the Kamoj add-on;
I can select from 10 different VPN options.
I select NordVPN.
I then get 59 countries to choose from.
I select UK, then I get to select a location in the UK. Only London is listed.
The next box should be available servers - but there are zero.

I've even tried selecting a different Country, but still get zero servers.

This worked fine for me on 5.3b30
It's been a while since I updated to latest Kamoj, but it's not working for me on the 5.4b12

Ive already tried a full factory reset and it's not resolved, so I'll try uninstalling 5.4b12 and install an older version of the add-on to see if that work

I managed to get this working by downloading a server ovpn file from NordVPN and setting it up manually.
It seems the auto server selector is not working in a fresh factory install on 5.4b12
If I choose a different VPN provider like ExpressVPN, the available servers are listed, but not on NordVPN.


I've also noticed another issue on a fresh factory reset install of 80.7SF and 5.4b12
The VPN tunnelling doesn't list any devices for me at all.

It says 0 in routed through tunnel and 0 in not routed through tunnel.
I have 18 active devices currently connected (more but some currently turned off) but it doesn't list anything.


I'm pointing out this is a fresh factory reset installation, with nothing else altered, as this may work fine if upgrading from previous versions, but my issue is from a fresh install with no other version.


Additionally, I'm trying to test the older versions of Kamoj for R7800, but the files are broken on your website.
Only 5.4b12 downloads.
5.3b30 and 5.4b10 for the R7800 do not download, they stay at 0kb then fail after sometime saying 'no file'.
This is not my system/connect as I've asked a few friends to try and they get the same issue.
 
Last edited:
Too bad you have had so much problems!
I'm happy you got it working.

A few comments though:
  1. What was the difference between that .ovpn file the add-on had created,
    and the one you got from NordVPN?

  2. NordVPN only have UK servers in London. Nothing the add-on can help with.
    https://nordvpn.com/servers/uk/
    ( UK server locations 1)

  3. The empty server list AND the empty bypass list could both indicate that you have an issue with:
    - Router load.
    - Download speed.
    (Both these issues may cause an timeout in the web server resulting in empty page)
    So try to stop all usage like downloading, torrenting, OpenVPN, Adguard etc. and try again.

  4. What is a "factory reset installation"?
    Does this include that you reset the configuration file?

  5. Thank you for the heads up with the download site.
    I know it's very crappy from times to times.
    v5.3b30 has been downloaded 83 times as per now, but it's not working at the moment...
    v5.4b10 has been downloaded 48 times as per now, but it's not working at the moment...
    Maybe the host refuse to serve files that are old or not downloaded for some time?!

    I would appreciate if you (or someone else) could point me to another host that:
    - Is free (no cost)
    - Gives download statistics (Number of downloads is enough)

  6. I suggest you only use the latest add-on version, as it is the only one I give support for.

  7. Thank you for your reports
I managed to get this working by downloading a server ovpn file from NordVPN and setting it up manually.
It seems the auto server selector is not working in a fresh factory install on 5.4b12
If I choose a different VPN provider like ExpressVPN, the available servers are listed, but not on NordVPN.


I've also noticed another issue on a fresh factory reset install of 80.7SF and 5.4b12
The VPN tunnelling doesn't list any devices for me at all.

It says 0 in routed through tunnel and 0 in not routed through tunnel.
I have 18 active devices currently connected (more but some currently turned off) but it doesn't list anything.


I'm pointing out this is a fresh factory reset installation, with nothing else altered, as this may work fine if upgrading from previous versions, but my issue is from a fresh install with no other version.


Additionally, I'm trying to test the older versions of Kamoj for R7800, but the files are broken on your website.
Only 5.4b12 downloads.
5.3b30 and 5.4b10 for the R7800 do not download, they stay at 0kb then fail after sometime saying 'no file'.
This is not my system/connect as I've asked a few friends to try and they get the same issue.
 
Hi Kamoj,

As you know, one of the add-on areas that I focus upon is Bandwidth Usage. When I upgraded from b10 to b11, the accumulated usage persisted, though about 1/3 of it disappeared. I have 13 connected devices, and I don't know how the loss was distributed (I didn't take a screenshot before the upgrade; next time I will). My guess would be that the usage that was lost (about 500M) was the most recent.

You know your architecture; I do not. My guess is that the recent data was cached but not written to NVRAM before the R7800 was rebooted. Therefore it was lost on the reboot.

Is there something that I could or should do (presumably via the Telnet command prompt) before I upgrade the add-on to ensure that all of the usage data is safely committed to NVRAM?

Many thanks
Hi Kamoj,

I don't need to create a new chron job to update bandwidth usage more frequently. The only situation I am concerned about is when I update the Kamoj add-on or Voxel firmware, as that is when my bandwidth usage data is lost. What I need is a command to run from the Telnet command line. May I use:
Code:
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db offpeak
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db peak

immediately before using:
Code:
/bin/opkg remove -V1 --force-remove kamoj-addon

Or do I need code to force a write to the USB thumb drive? If so, can you suggest?

FYI, you seemed surprised in my interest in bandwidth usage. I'm using it to understand how and when my various devices use data. Once I complete my studies, I will consult it less frequently.

Thank you for your help.
 
Too bad you have had so much problems!
I'm happy you got it working.

A few comments though:
  1. What was the difference between that .ovpn file the add-on had created,
    and the one you got from NordVPN?

  2. NordVPN only have UK servers in London. Nothing the add-on can help with.
    https://nordvpn.com/servers/uk/
    ( UK server locations 1)

  3. The empty server list AND the empty bypass list could both indicate that you have an issue with:
    - Router load.
    - Download speed.
    (Both these issues may cause an timeout in the web server resulting in empty page)
    So try to stop all usage like downloading, torrenting, OpenVPN, Adguard etc. and try again.

  4. What is a "factory reset installation"?
    Does this include that you reset the configuration file?

  5. Thank you for the heads up with the download site.
    I know it's very crappy from times to times.
    v5.3b30 has been downloaded 83 times as per now, but it's not working at the moment...
    v5.4b10 has been downloaded 48 times as per now, but it's not working at the moment...
    Maybe the host refuse to serve files that are old or not downloaded for some time?!

    I would appreciate if you (or someone else) could point me to another host that:
    - Is free (no cost)
    - Gives download statistics (Number of downloads is enough)

  6. I suggest you only use the latest add-on version, as it is the only one I give support for.

  7. Thank you for your reports
Thanks again for your reply;


1) the difference between them is, your add-on can auto generate an ovpn file by selecting servers from your drop-down boxes. My previous ovpn file was saved using that method.
The difference between this and the ovpn file downloaded from NordVPN website is that you copy the contents of the NordVPN file in a text editor, then paste the results in the section below your auto generate section on your OpenVPN page - in the manual section.
This is the only working process for me at the moment.

2) Yes I know NordVPN only has London servers in the UK, however your drop down boxes (recommended) says '0' in every final drop-down box no matter what country or location I select in that country - as though your add-on isn't pulling through the final server list from NordVPN.


3) I have tried disconnecting all other devices and only connecting a laptop to setup the configuration to avoid any other devices causing timeout issues. This doesn't resolve it.


4) My factory reset includes;
Uninstalling Kamoj add-on
Factory reset firmware
Clear NVRAM using these in Telnet;
mtd erase netgear
nvram default
nvram commit
reboot

This does not resolve the issue. I still get '0' servers in NordVPN and also '0' devices listed in the VPN tunnelling section.


5, 6 & 7) I was trying to revert back to an older version of Voxel firmware and Kamoj add-on that I know I had fully working previously. I could then work forward from there to test if updating the add-on would still work.
This would be able to identify whether the latest add-on has had code added/removed that causes an issue and only works when a previous config file is present from a previous version of your addon.
But when no previous config file is present the latest beta doesn't work correctly for me.

Screenshot_20201206-140036.png
Screenshot_20201206-140022.png


I don't know about file sharing sites much, but I do use Dropbox which you get about 2GB free and you can share links for your files privately or publicly.
I don't know about whether it has statistics, but you could check it out.
Thanks
 
Last edited:
Thank you for the details!
I'll implement that the backup is updated every time the data base is. Next release. Soon.
To answer your question, do this:
Code:
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db peak
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db offpeak
/usr/bin/addon_bwusage.sh stop


Hi Kamoj,

I don't need to create a new chron job to update bandwidth usage more frequently. The only situation I am concerned about is when I update the Kamoj add-on or Voxel firmware, as that is when my bandwidth usage data is lost. What I need is a command to run from the Telnet command line. May I use:
Code:
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db offpeak
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db peak

immediately before using:
Code:
/bin/opkg remove -V1 --force-remove kamoj-addon

Or do I need code to force a write to the USB thumb drive? If so, can you suggest?

FYI, you seemed surprised in my interest in bandwidth usage. I'm using it to understand how and when my various devices use data. Once I complete my studies, I will consult it less frequently.

Thank you for your help.
 
Thank you for the details!
I'll implement that the backup is updated every time the data base is. Next release. Soon.
To answer your question, do this:
Code:
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db peak
/usr/bin/addon_bwusage.sh update /tmp/addons/addon_bwusage/addon_bwusage.db offpeak
/usr/bin/addon_bwusage.sh stop
Thank you for your response.

Question - your code saves the data in a TMP folder. It won't survive a Voxel update will it? I need the data to:
  • Survive router reboot
  • Survive Kamoj add-on update (uninstallation/reinstallation)
  • Survive Voxel update
FYI, I have 2 USB thumb drives attached to my R7800. One is for Entware and the other is used to update the Kamoj add-on.

Your advice, please.
 
Hello all,

I've not had a chance to look closely at 5.4b12 add-on.... so that means its been working well for me! However, I did notice that the internet speed on several devices were slower than usual. These devices all are set to bypass the VPN, but an ip check on the devices showed that they were not bypassing.

I've gotten in the habit of first re-doing the bypass settings and then checking the bypass ip rules when installing a new version of the add-on. This time, I could have sworn that I checked the ip rules in the add-on and devices showed as bypassed, but I know that I did not re-do the bypassing. Perhaps I forgot to check the rules too???

Anyway, taking the devices out of bypass and then putting them in bypass again fixed the problem. All devices are bypassing properly now. Of course, in my hurry I neglected to check the ip rules before doing this, so I can't say whether or not the ip rules section of the add-on incorrectly showed the bypassing status.

I will look through the FAQ / Release Notes again in case I am doing something wrong, but thought I would mention it in case others have had a similar issue.

Best wishes,
BL
 
Strange speed related issues with B12 coming from B07.
Again, wireless speeds greatly reduced after the update. Had to do a full reset. It's late, so I'll just wait till the morning before attempting to install the latest version again.
Weirdly, I had almost everything unnecessary turned off, no QoS, VPN or Adguards at that moment.
 
Hello all,

I've not had a chance to look closely at 5.4b12 add-on.... so that means its been working well for me! However, I did notice that the internet speed on several devices were slower than usual. These devices all are set to bypass the VPN, but an ip check on the devices showed that they were not bypassing.

I've gotten in the habit of first re-doing the bypass settings and then checking the bypass ip rules when installing a new version of the add-on. This time, I could have sworn that I checked the ip rules in the add-on and devices showed as bypassed, but I know that I did not re-do the bypassing. Perhaps I forgot to check the rules too???

Anyway, taking the devices out of bypass and then putting them in bypass again fixed the problem. All devices are bypassing properly now. Of course, in my hurry I neglected to check the ip rules before doing this, so I can't say whether or not the ip rules section of the add-on incorrectly showed the bypassing status.

I will look through the FAQ / Release Notes again in case I am doing something wrong, but thought I would mention it in case others have had a similar issue.

Best wishes,
BL

I wasn't home to see it, but was told that the VPN bypassing wasn't working again after a cron job reboot. Apparently putting the devices in and out of bypass worked again. Since I wasn't there to witness it I can't say more. I will try to duplicate the issue and report back in a day or two. It may or may not have been a real issue...

BL
 
Changes in kamoj-addon beta version 5.4b13
--------------------------------------------------
- VPN Bypassing: Speeded up to handle more devices. (@blueliner)
- OpenVPN Client: Updated PIA with new download location (@R9000)
- Bandwidth Usage: Backup is updated every time the data base is. cron job removed. (@Droidrat)
- Clean-up of error messages: wlan (added: kamoj_bugfix.sh)
- Clean-up of error messages: /lib/wifi/qcawifi.sh
- R9000: Clean-up of error messages: /lib/wifi/hostappd.sh
- R9000: Clean-up of error messages: /sbin/set_txpower
- Added: ping_guard.sh (for logging/debugging of network connection)
- Some logging at boot changed
- Minor fixes
- FAQ.txt updated with:
Q: My WiFi can not be switched on. It's on in ADVANCED: Advanced Setup: Wireless Settings,
but the BASIC page and the Kamoj add-on Router Information shows it as off.
Also there really is no WiFi available to connect. What can I do? (@Giudi001)
A: This is a Netgear bug that can also happen when you update the Firmware or at other times...
Run these commands, one by one, from a router shell/prompt:
wlan down
wlan up
wlan toggle
wlan toggle

or if that didn't work, also OK:
wlan up
wlan down
wlan up
wlan toggle
 
Last edited:
Hello to all,
as promised I've restarted everything from scratch, what I've done:
- removed kamoj configuration and add-on;
- resetted the router through physical button;
- installed through tftp stock firmware from Netgear;
- restored my configurations from stock firmware (so no add on backup and/or Voxel firmware);
- updated to latest version of Voxel firmware;
- installed new version of Kamoj add-on;
- configured as always (openvpn, adguard and some other minor things);

Everything works fine except (I tried it before install adguard, of course) the dns leak from openvpn and PIA. Nothing changed from last time I wrote.
I read something on the net about these commands to add to .ovpn files to avoid dns leak from openvpn, but they didn't work, maybe because the folders are different, I don't know.
"script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf"
Anyway I'm not sure this is the way to solve the problem, because until some time ago openvpn worked like a charm, without any dns leak, and I don't have this kind of knowledge, sorry.
I hope I helped with my contribute.
Thanks again for your hard work, @kamoj and @Voxel
 
again the discussion about DNS leaks, which might mean something different for everyone.

My assumption:
You use OpenVPN provider -> you expect that DNS also uses DNS server that are provided by that VPN provider.

If this worked in the past, then the only reason for that, that I can imagine, is that the VPN provider intercepts traffic to port 53 and redirects this to their own servers.
(Nobody ever implemented these update-resolv-conf scripts in this firmware -> even if VPN provider would push DNS-servers in their config, then the firmware would ignore them and keep using whatever DNS was configured.)

Now two reasons why it no longer works:
- Your VPN provider changed something (no longer hijacking DNS traffic)
- You configured AdGuard Home to use DoH or DoT upstream servers and your VPN provider only intercepts/redirects normal DNS.

So I'd test it without AdGuard -> if it then no longer leaks, test AdGuard with regular DNS upstream servers.
If that also doesn't work, then I'm afraid the only solution would be to implement the update-resolv-conf scripts. (and because you use AdGuard, these scripts would need to modify AdGuard config).
 
Hello, thanks for your reply, I'm sorry but I don't have so much technical knowledge, so I will try to reply to you point by point:
- again the discussion about DNS leaks, which might mean something different for everyone
yes, maybe, I don't know. It is the first time it happened to me

-You use OpenVPN provider -> you expect that DNS also uses DNS server that are provided by that VPN provider.
yes, it worked in this way until some time ago

- If this worked in the past, then the only reason for that, that I can imagine, is that the VPN provider intercepts traffic to port 53 and redirects this to their own servers.
(Nobody ever implemented these update-resolv-conf scripts in this firmware -> even if VPN provider would push DNS-servers in their config, then the firmware would ignore them and keep using whatever DNS was configured.)
sorry, I don't know what it was implemented or not. I've only searched for a solution on the web about a common problem, but, as I said, I don't have this kind of technical knowledge. I just wanted to help.

-Now two reasons why it no longer works:
- Your VPN provider changed something (no longer hijacking DNS traffic)
- You configured AdGuard Home to use DoH or DoT upstream servers and your VPN provider only intercepts/redirects normal DNS.
First one, I can't know.
Second one: no, as I said I tried it before download and install adguard and before activate it.

-If that also doesn't work, then I'm afraid the only solution would be to implement the update-resolv-conf scripts. (and because you use AdGuard, these scripts would need to modify AdGuard config)
I don't know what is a solution and about the problems with adguards, but I think it is a real problem and I think this thread is created to try and check for problems/bugs, and I'm trying to give my contribute. I hope it will helps anyway.

Thanks for your reply.




again the discussion about DNS leaks, which might mean something different for everyone.

My assumption:
You use OpenVPN provider -> you expect that DNS also uses DNS server that are provided by that VPN provider.

If this worked in the past, then the only reason for that, that I can imagine, is that the VPN provider intercepts traffic to port 53 and redirects this to their own servers.
(Nobody ever implemented these update-resolv-conf scripts in this firmware -> even if VPN provider would push DNS-servers in their config, then the firmware would ignore them and keep using whatever DNS was configured.)

Now two reasons why it no longer works:
- Your VPN provider changed something (no longer hijacking DNS traffic)
- You configured AdGuard Home to use DoH or DoT upstream servers and your VPN provider only intercepts/redirects normal DNS.

So I'd test it without AdGuard -> if it then no longer leaks, test AdGuard with regular DNS upstream servers.
If that also doesn't work, then I'm afraid the only solution would be to implement the update-resolv-conf scripts. (and because you use AdGuard, these scripts would need to modify AdGuard config).
 
Well, I certainly experience some strange issues with both of the latest beta updates. My upload speed drops tremendously to about 0.5 when in fact in reality it should stick around 500. Router GUI becomes more unresponsive and I get a drop out on connection to internet. Opening web pages is pain and running shell commands through putty is painfully slow.
Almost feels like when Kamoj just updated to 5.4, when QoS was interfering (apparently)?

I'm running default configuration, fresh install of latest Voxel FW. To resolve the issue I must set nvram default settings and do the mtd erase command. Weirdly it seems like I'm the only one experiencing this issue. It wasn't there with 5.4b7 since it was stable at that point and I waited a couple of revisions.

Screenshot_1.png
Screenshot_2.png


Screenshot_6.png
 
Thank you.
You have a big problem!

Do you mean that speedtest.sh is not working at all?
In your screen shot the DNS is not working at all, as is ping 1.1.1.1 not working either.

I suggest you disconnect ALL equipment from the router, reboot router and see this Router Information again.
Then run the speedtest.sh only.
(All other speed tests are much affected by other issues than the router.)
PS
Don't use "latest Voxel FW" since this thread might live another few months and it's impossible for later readers to know what you refer to.
PPS
Yes the first version of 5.4b had a big QoS issue - as described in the Release_Notes.txt

Well, I certainly experience some strange issues with both of the latest beta updates. My upload speed drops tremendously to about 0.5 when in fact in reality it should stick around 500. Router GUI becomes more unresponsive and I get a drop out on connection to internet. Opening web pages is pain and running shell commands through putty is painfully slow.
Almost feels like when Kamoj just updated to 5.4, when QoS was interfering (apparently)?

I'm running default configuration, fresh install of latest Voxel FW. To resolve the issue I must set nvram default settings and do the mtd erase command. Weirdly it seems like I'm the only one experiencing this issue. It wasn't there with 5.4b7 since it was stable at that point and I waited a couple of revisions.
 
I wasn't home to see it, but was told that the VPN bypassing wasn't working again after a cron job reboot. Apparently putting the devices in and out of bypass worked again. Since I wasn't there to witness it I can't say more. I will try to duplicate the issue and report back in a day or two. It may or may not have been a real issue...

BL
Hello,

I did not notice any other instances of the VPN Bypass not working...this included after doing two reboots on different days.

Also, I just installed 5.4b13 and the VPN Bypass still worked after install without stopping/restarting the bypass. Thank you!

BL
 

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!

Staff online

Top