华硕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开启或屏蔽某些菜单

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值