Mahdi-zarei / nekoray

Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
GNU General Public License v3.0
250 stars 17 forks source link

The Ads button in Nekoray and some suggestions #51

Closed Turbine8845 closed 5 days ago

Turbine8845 commented 1 week ago

Hi Mahdi,

Thank you for forking and continuing to develop and update Nekoray. As an open-source software enthusiast, I appreciate your efforts, as Nekoray is the only viable GUI V2Ray client on Linux.

Unfortunately, the original code base of Nekoray contains some questionable stuff related to Ads. After testing the new version maintained by you, I observed that the Ads button is still present. When clicked, it opens a URL containing links to various Chinese Ads. Given the potential for abuse through malvertising, I kindly request that you consider removing the Ads feature from the upcoming versions of Nekoray. This would contribute to a cleaner and more user-friendly experience for the community.

Nekoray Ads

NekoBox Ads

Additionally, I’d like to propose adding Xray back to Nekoray. Xray offers several advantages over Sing-box, including advanced transport protocols, traffic obfuscation, improved performance, richer configuration options, and strong community support. Users migrating from the original discontinued version would greatly benefit from having Xray as an option.

I would also like to discuss the current design of Nekoray. The original Nekoray uses custom-built Xray and Sing-box cores. While this approach has its merits, it poses challenges for non-technical users who wish to separately add modified or improved versions of these cores. For instance, the following GitHub repo contains a guide on adding an improved version of the Xray core to V2rayN: https://github.com/lowercase78/V2RayN-PRO

My tests showed that the modified Xray core provides better performance and stability. Unfortunately, since V2RayN is Windows-specific, Linux users cannot easily use such improved cores without getting dirty and manually compiling everything from scratch!

My suggestion is to consider making Nekoray’s design more modular. By adopting a modular architecture, users could easily swap out or update individual components (such as cores) without affecting the entire application. This would enhance flexibility and encourage community contributions. A modular design would make Nekoray even more accessible and user-friendly.

In the end, I would like to thank you for all your efforts and attention to the matters discussed in this comment. I look forward to receiving your thoughts on my suggestions.

Mahdi-zarei commented 1 week ago

Hello

Regarding the Ad button, it will surely be removed in the upcoming release as it is a useless button that has been left behind unnoticed. About the Xray core, I'm actually surprised that you mention its performance is better than sing-box, as I have heard multiple times that sing-box has better resource usage and performance compared to Xray. Performance aside, the complex configuration system of Xray poses a challenge for fully utilizing it using a GUI that hosts multiple cores, also note that Xray does not support Tun mode and it has to be handles using platform specific hooks which are rather cumbersome to deal with.

I agree that nekoray has to become modular, there has been improvements that allow for much easier building of a customized core, but for the time being we need to use a customized core module and cannot support a non-customized one. In the future I will try to see if nekoray can migrate from its current core system to a paste and use one.