华硕ui控制代码

#if defined(R7000P)
extern int is_rp_express_2g();
extern int is_rp_express_5g();
extern int is_concurrep();
extern int is_aicloudipk();
extern int RCisSupport(char *name);
extern int is_hnd();
extern int is_localap();
extern int usbPortMax();
extern int is_usbX();
extern int is_usb3();
extern int is_wl_mfp();
extern int is_wlopmode();
extern int is_11AC();
extern int is_yadns();
extern int is_noRouter();
extern int is_RPMesh();
extern int is_odm();
extern int totalband();
extern int separate_ssid(char *model);
extern int mssid_count();
extern int dump_dpi_support(int index);

int is_uu_accel_merlinr()
{
	char *productid, *tcode, *odmpid;
	int result;
	productid = nvram_safe_get("productid");
	odmpid = get_productid();
	tcode = nvram_safe_get("territory_code");
	if(!nvram_get("uu_enable") || nvram_get_int("uu_enable")== 0)
		return 0;
#if defined(R7000P) || defined(K3) || defined(SBRAC1900P) || defined(SBRAC3200P)
	return 1;
#else
	if (strncmp(tcode, "CN", 2))
		return 0;
#endif
	result = nvram_get_int("ntp_ready");
	if (result)
	{
		if (nvram_get("sw_mode") && nvram_get_int("sw_mode") != 1)
			result = 0;
		else
		{
			
			if ((!strcmp(productid, "RT-AC68U") || !strcmp(productid, "RT-AC82U"))
			&& strcmp(odmpid, "RT-AC68U") && strcmp(odmpid, "RT-AC1900P") && strcmp(odmpid, "RT-AC66U_B1"))
			{
				if (strcmp(odmpid, "RT-AC1750_B1"))
					result = strcmp(odmpid, "RT-AC2200") == 0;
				else
					result = 1;
			}
			else
				result = 1;
		}
	}
	return result;
}


int DPIisSupport_merlinr(const char *name)
{
#if !defined(R7000P)
	if (!strcmp(name, "dpi_mals"))
		return dump_dpi_support(INDEX_MALS);
	if (!strcmp(name, "dpi_vp"))
		return dump_dpi_support(INDEX_VP);
	if (!strcmp(name, "dpi_cc"))
		return dump_dpi_support(INDEX_CC);
	if (!strcmp(name, "adaptive_qos"))
		return dump_dpi_support(INDEX_ADAPTIVE_QOS);
#endif
	if (!strcmp(name, "traffic_analyzer"))
		return dump_dpi_support(INDEX_TRAFFIC_ANALYZER);
	if (!strcmp(name, "webs_filter"))
		return dump_dpi_support(INDEX_WEBS_FILTER);
	if (!strcmp(name, "apps_filter"))
		return dump_dpi_support(INDEX_APPS_FILTER);
	if (!strcmp(name, "web_history"))
		return dump_dpi_support(INDEX_WEB_HISTORY);
	if (!strcmp(name, "bandwidth_monitor"))
		return dump_dpi_support(INDEX_BANDWIDTH_MONITOR);
	return 0;
}

int ej_get_ui_support_merlinr(int eid, webs_t wp, int argc, char **argv)
{
	char buffer[4096];
	char *tmp;
	char *list[] = {"dpi_mals", "dpi_vp", "dpi_cc", "adaptive_qos", "traffic_analyzer", "webs_filter", "apps_filter", "web_history", "bandwidth_monitor"};
	int i, amasmode, amasRouter, cfgsync;
	struct json_object *ax = NULL;
	struct json_object *uisupport = NULL;
	memset(buffer, 0, 4096);
	uisupport = json_object_new_object();
	snprintf(buffer, sizeof(buffer), nvram_safe_get("rc_support"));
	tmp = strtok(buffer, " ");
	while (tmp)
	{
		json_object_object_add(uisupport, tmp, json_object_new_int(RCisSupport(tmp)));
		tmp = strtok(NULL, " ");
	}
	for(i = 0; i < 9; i++)
	{
		tmp = list[i];
		json_object_object_add(uisupport, tmp, json_object_new_int(DPIisSupport_merlinr(tmp)));
	}
	json_object_object_add(uisupport, "aicloudipk", json_object_new_int(is_aicloudipk()));
	json_object_object_add(uisupport, "concurrep", json_object_new_int(is_concurrep()));
	json_object_object_add(uisupport, "rp_express_2g", json_object_new_int(is_rp_express_2g()));
	json_object_object_add(uisupport, "rp_express_5g", json_object_new_int(is_rp_express_5g()));
	json_object_object_add(uisupport, "hnd", json_object_new_int(is_hnd()));
	json_object_object_add(uisupport, "localap", json_object_new_int(is_localap()));
	json_object_object_add(uisupport, "nwtool", json_object_new_int(1));
	json_object_object_add(uisupport, "usbPortMax", json_object_new_int(usbPortMax()));
	json_object_object_add(uisupport, "usbX", json_object_new_int(is_usbX()));
	json_object_object_add(uisupport, "usb3", json_object_new_int(is_usb3()));
	json_object_object_add(uisupport, "wl_mfp", json_object_new_int(is_wl_mfp()));
	json_object_object_add(uisupport, "wlopmode", json_object_new_int(is_wlopmode()));
	json_object_object_add(uisupport, "11AC", json_object_new_int(is_11AC()));
	json_object_object_add(uisupport, "yadns", json_object_new_int(is_yadns()));
	json_object_object_add(uisupport, "noRouter", json_object_new_int(is_noRouter()));
	json_object_object_add(uisupport, "RPMesh", json_object_new_int(is_RPMesh()));
	json_object_object_add(uisupport, "eula", json_object_new_int(1));
	json_object_object_add(uisupport, "odm", json_object_new_int(is_odm()));
	json_object_object_add(uisupport, "dualband", json_object_new_int(totalband() == 2));
	json_object_object_add(uisupport, "triband", json_object_new_int(totalband() == 3));
	json_object_object_add(uisupport, "separate_ssid", json_object_new_int(separate_ssid(get_productid())));
	json_object_object_add(uisupport, "mssid_count", json_object_new_int(mssid_count()));
	json_object_object_add(uisupport, "dhcp_static_dns", json_object_new_int(1));
	json_object_object_add(uisupport, "acs_dfs", json_object_new_int((strtol(nvram_safe_get("wl1_band5grp"), &tmp, 16) & 6) == 6));
#if defined(RTAC88U) || defined(RTAC3100) || defined(RTAC5300)
	json_object_object_add(uisupport, "sdk7114", json_object_new_int(1));
#elif defined(RTAC3200)
	json_object_object_add(uisupport, "sdk7", json_object_new_int(1));
#endif
	json_object_object_add(uisupport, "wanMax", json_object_new_int(2));
	json_object_object_add(uisupport, "open_nat", json_object_new_int(1));
	json_object_object_add(uisupport, "uu_accel", json_object_new_int(is_uu_accel_merlinr()));
#if !defined(RTAC68U)
	json_object_object_add(uisupport, "internetctrl", json_object_new_int(1));
#endif
	json_object_object_add(uisupport, "del_client_data", json_object_new_int(1));
	json_object_object_add(uisupport, "captcha", json_object_new_int(1));
	if (nvram_contains_word("rc_support", "amas"))
	{
		amasmode = getAmasSupportMode();
		amasRouter = amasmode == 1;
		if (amasmode != 1)
			amasRouter = amasmode == 3;
		if (amasRouter)
			json_object_object_add(uisupport, "amasRouter", json_object_new_int(1));
		if ((amasmode - 2) > 1)
		{
			if ( !amasmode )
			{
				json_object_object_add(uisupport, "amas", json_object_new_int(0));
				goto noamas;
			}
		}
		else
			json_object_object_add(uisupport, "amasNode", json_object_new_int(1));
		json_object_object_add(uisupport, "amas", json_object_new_int(1));
		if (nvram_match("sw_mode", "1") || (nvram_match("sw_mode", "3") && !nvram_get_int("wlc_psta")))
			cfgsync = 1;
		else
noamas:
			cfgsync = 0;
		json_object_object_add(uisupport, "cfg_sync", json_object_new_int(cfgsync));
	}
	if (json_object_object_get_ex(uisupport, "11AX", &ax))
	{
		json_object_object_add(uisupport, "qis_hide_he_features", json_object_new_int(strcmp(get_productid(), "RT-AX92U") == 0));
	}
	websWrite(wp, "%s\n", json_object_to_json_string(uisupport));
	json_object_put(uisupport);
	return 0;
}
#endif

华硕pc及mobile的ui均由上面的代码控制,修改代码即可控制ui开启或屏蔽某些菜单

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。
Go语言(也称为Golang)是由Google开发的一种静态强类型、编译型的编程语言。它旨在成为一门简单、高效、安全和并发的编程语言,特别适用于构建高性能的服务器和分布式系统。以下是Go语言的一些主要特点和优势: 简洁性:Go语言的语法简单直观,易于学习和使用。它避免了复杂的语法特性,如继承、重载等,转而采用组合和接口来实现代码的复用和扩展。 高性能:Go语言具有出色的性能,可以媲美C和C++。它使用静态类型系统和编译型语言的优势,能够生成高效的机器码。 并发性:Go语言内置了对并发的支持,通过轻量级的goroutine和channel机制,可以轻松实现并发编程。这使得Go语言在构建高性能的服务器和分布式系统时具有天然的优势。 安全性:Go语言具有强大的类型系统和内存管理机制,能够减少运行时错误和内存泄漏等问题。它还支持编译时检查,可以在编译阶段就发现潜在的问题。 标准库:Go语言的标准库非常丰富,包含了大量的实用功能和工具,如网络编程、文件操作、加密解密等。这使得开发者可以更加专注于业务逻辑的实现,而无需花费太多时间在底层功能的实现上。 跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源。开发者可以通过社区获取帮助、分享经验和学习资料。 总之,Go语言是一种简单、高效、安全、并发的编程语言,特别适用于构建高性能的服务器和分布式系统。如果你正在寻找一种易于学习和使用的编程语言,并且需要处理大量的并发请求和数据,那么Go语言可能是一个不错的选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值