PageSourceSearch

https://www.shinhansavings.com/solution/raonnx/cmn/TouchEnNx_install.js

js shinhansavings.com collected 2026-09-24 10:52:44 UTC 7,782 bytes, 247 lines download raw bytes

1 /**						 
2****************************************************
3TouchEnNx_Install.js
4****************************************************
5| Version     작성자        수정일        변경사항 
6 ---------  -------  -----------  ---------- 
7| v1.0.0.6    임 동    2021.03.25   eval()함수 제거 확인
8| v1.0.0.5    강남준    2019.06.11
9| v1.0.0.4    강남준    2018.11.12    
10| v1.0.0.3    백서린    2018.11.12     
11| v1.0.0.2    강남준    2018.02.09      
12| v1.0.0.1    백서린    2017.01.20      최초
13
14****************************************************
15 Copyright ⒞ RaonSecure Co., Ltd. 
16  * 본 코드에 대한 모든 권한은 (주)라온시큐어 있으며 동의없이 사용/배포/가공할 수 없습니다.
17****************************************************
18**/
19
20var TOUCHENEX_INSTALL = {
21	
22	installWindow : null,
23	
24	download : function( moduleName, type, ostype ) {
25		//2016-07-05
26		var downloadInfo ="";// touchenexInfo;
27		try{
28			if(moduleName =="nxkey"){
29				downloadInfo = touchenexInfo;
30			}else if(moduleName =="nxwirelesscert"){
31				downloadInfo = keysharpnxInfo;
32			}else if(moduleName	=="nxweb"){
33				downloadInfo = touchennxwebInfo;
34			}else if(moduleName == "nxfirewall"){
35				downloadInfo = touchennxfwInfo;
36			}else if(moduleName == "biz"){
37				downloadInfo = keysharpbizInfo;
38			}
39		}catch(e){
40				exlog("_INSTALL.download", "download Info");
41		}
42		
43		var pluginInfo = {};
44		for(var i = 0; i < TOUCHENEX_CONST.pluginInfo.length; i++){
45			if(TOUCHENEX_CONST.pluginInfo[i].exModuleName == moduleName){
46				pluginInfo = TOUCHENEX_CONST.pluginInfo[i];
47				//exlog("_INSTALL.download", pluginInfo);
48				break;
49			}
50		}
51		
52		function inner_random() { 
53			var seed = new Date().getTime(); 
54			seed = (seed*9301+49297) % 233280; 
55			return seed/(233280.0);
56		}
57		
58		var dummyParam = "dummy="+Math.floor(inner_random() * 10000) + 1;
59		
60		// Extension
61		if(type == "extension"){
62			
63			if(TOUCHENEX_UTIL.isChrome()){
64				
65				if(!this.installWindow || this.installWindow.closed){
66					this.installWindow = window.open(downloadInfo.exExtensionInfo.exChromeExtDownURL);
67					if(this.installWindow == null) alert("팝업차단을 확인해주세요.");
68				}
69				
70			} else if(TOUCHENEX_UTIL.isFirefox()) {
71				
72				var params = {};
73				dummyParam = "ver=" + downloadInfo.exExtensionInfo.exFirefoxExtVer;
74				
75				params[downloadInfo.exProtocolName + "_firefox"] = {
76					URL: downloadInfo.exExtensionInfo.exFirefoxExtDownURL + "?" + dummyParam,
77					IconURL: downloadInfo.exExtensionInfo.exFirefoxExtIcon
78				};
79				InstallTrigger.install(params);
80				
81			} else if(TOUCHENEX_UTIL.isOpera()) {
82				if(Number(TOUCHENEX_UTIL.getBrowserVer()) >= 74){//74부터 opera nex 지원 중단으로 인한 chrome extension 설치 방식으로 변경
83					if(!this.installWindow || this.installWindow.closed){
84						this.installWindow = window.open(downloadInfo.exExtensionInfo.exChromeExtDownURL);
85						if(this.installWindow == null) alert("팝업차단을 확인해주세요.");
86					}
87				}else{
88					dummyParam = "ver=" + downloadInfo.exExtensionInfo.exOperaExtVer;
89					location.href = downloadInfo.exExtensionInfo.exOperaExtDownURL + "?" + dummyParam;
90				}
91			} else {
92				alert("현재 브라우저는 extension 설치를 지원하지 않습니다.");
93			}
94			return;
95		}
96		
97		// EX
98		if(type == "EX"){
99			var downURL = "";
100			
101			if(TOUCHENEX_UTIL.isWin()){
102				if(TOUCHENEX_UTIL.getBrowserBit() == "64"){
103					downURL = downloadInfo.exProtocolInfo.exWin64ProtocolDownURL;
104				} else {
105					downURL = downloadInfo.exProtocolInfo.exWinProtocolDownURL;
106				}
107			} else if(TOUCHENEX_UTIL.isMac()){
108				downURL = downloadInfo.exProtocolInfo.exMacProtocolDownURL;
109			} else if(TOUCHENEX_UTIL.isLinux()){
110				if(ostype == 'ubuntu32')
111				{
112					downURL = downloadInfo.exProtocolInfo.exUbuntu32ProtocolDownURL;
113				}
114				else if(ostype == 'ubuntu64')
115				{
116					downURL = downloadInfo.exProtocolInfo.exUbuntu64ProtocolDownURL;
117				}
118				else if(ostype == 'fedora32')
119				{
120					downURL = downloadInfo.exProtocolInfo.exFedora32ProtocolDownURL;
121				}
122				else if(ostype == 'fedora64')
123				{	
124					downURL = downloadInfo.exProtocolInfo.exFedora64ProtocolDownURL;
125				}
126				// TODO
127			}
128			
129			if(!TOUCHENEX_UTIL.isIE()){
130				dummyParam = "ver=" + downloadInfo.exProtocolInfo.exWinProtocolVer;
131				location.href = downURL + "?" + dummyParam;
132			} else {
133				location.href = downURL;
134			}
135			return;
136		}
137		
138		// Daemon
139		if(type == "daemon"){
140			var downURL = "";
141			var bSupportBrowser = false;
142					
143			if (TOUCHENEX_UTIL.isIE() || (TOUCHENEX_UTIL.isWin() && TOUCHENEX_UTIL.isSafari() && !TOUCHENEX_UTIL.isChrome()))
144			{				
145				if(TOUCHENEX_UTIL.isIE() && TOUCHENEX_UTIL.getBrowserBit() == "64"){
146					downURL = downloadInfo.moduleInfo.exWin64Client;
147				} else {
148					downURL = downloadInfo.moduleInfo.exWinClient;
149				}
150			}
151			else {
152				//if(typeof TOUCHENEX_UTIL.typeDaemonEX == "function" && TOUCHENEX_UTIL.typeDaemonEX(pluginInfo)){
153				//if(TOUCHENEX_UTIL.isEdge() || TOUCHENEX_UTIL.isChrome() || TOUCHENEX_UTIL.isFirefox() || TOUCHENEX_UTIL.isOpera()) {
154					var daemonInfo = downloadInfo.exEdgeInfo;
155					var browserType = TOUCHENEX_UTIL.getBrowserInfo().browser;
156					var supportBrowser;
157					if(TOUCHENEX_UTIL.isWin()){
158						supportBrowser = daemonInfo.supportBrowser;
159					}else if(TOUCHENEX_UTIL.isMac()){
160						supportBrowser = daemonInfo.macSupportBrowser;
161					}else if(TOUCHENEX_UTIL.isLinux()){
162						supportBrowser = daemonInfo.linuxSupportBrowser;
163					}
164					if(daemonInfo && supportBrowser instanceof Array && supportBrowser.length > 0)
165					{
166						for(var i = 0; i < supportBrowser.length; i++)
167						{
168							var reqBrowser = supportBrowser[i];
169							if(browserType.toUpperCase() == reqBrowser.toUpperCase())
170							{
171								if(TOUCHENEX_UTIL.isMac()){
172									downURL = downloadInfo.moduleInfo.exMacClient;
173								}else if(TOUCHENEX_UTIL.isLinux()){
174								
175								}else{
176									if(TouchEnNxConfig.runtype == "mainextension" && TOUCHENEX_UTIL.isFirefox() && TOUCHENEX_UTIL.getBrowserBit() == "64" && typeof touchenex_nativecall != "undefined")
177									{
178										downURL = downloadInfo.moduleInfo.exWin64Client;
179									}
180									else
181									{
182										downURL = downloadInfo.moduleInfo.exWinClient;									
183									}								
184								}
185								
186								bSupportBrowser = true;
187							}
188						}
189					}
190				
191				if(bSupportBrowser == false) 
192				{
193					alert("현재 브라우저는 daemon 설치를 지원하지 않습니다.");
194					return;
195				}
196			}
197				
198			location.href = downURL;
199				   
200			return;
201		}
202
203		
204		// Client
205		if(type == "client"){
206			var downURL = "";
207			
208			if(TOUCHENEX_UTIL.isWin()){
209				//if((TOUCHENEX_UTIL.isIE() || TOUCHENEX_UTIL.isFirefox()) && TOUCHENEX_UTIL.getBrowserBit() == "64"){
210				if(TOUCHENEX_UTIL.getBrowserBit() == "64"){
211					downURL = downloadInfo.moduleInfo.exWin64Client;
212				} else {
213					downURL = downloadInfo.moduleInfo.exWinClient;
214				}
215			} else if(TOUCHENEX_UTIL.isMac()){
216				downURL = downloadInfo.moduleInfo.exMacClient;
217			} else if(TOUCHENEX_UTIL.isLinux()){
218				if(ostype == 'ubuntu32')
219				{
220					downURL = downloadInfo.exProtocolInfo.exUbuntu32ProtocolDownURL;
221				}
222				else if(ostype == 'ubuntu64')
223				{
224					downURL = downloadInfo.exProtocolInfo.exUbuntu64ProtocolDownURL;
225				}
226				else if(ostype == 'fedora32')
227				{
228					downURL = downloadInfo.exProtocolInfo.exFedora32ProtocolDownURL;
229				}
230				else if(ostype == 'fedora64')
231				{	
232					downURL = downloadInfo.exProtocolInfo.exFedora64ProtocolDownURL;
233				}
234				// TODO
235			}
236			
237			if(!TOUCHENEX_UTIL.isIE()){
238				dummyParam = "ver=" + downloadInfo.moduleInfo.exWinVer;
239				location.href = downURL + "?" + dummyParam;
240			} else {
241				location.href = downURL;
242			}
243			return;
244		}
245	}
246};
247

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.