2015년 6월 29일 월요일

Proxy Wifi setting android

https://support.portswigger.net/customer/portal/articles/1841150-creating-an-ad-hoc-wireless-network-in-os-x

서버 구축

finger@fingerfly:/etc/squid3$ cat squid.conf
# 서버이름
http_port 3128 
#   (프락시 서버의 서비스 포트)
# cache_mem 8MB 
#    (캐시메모리설정)
# Maximum_object_size 4096 
# (캐시에 저장되는 파일 크기 제한-4메가 넘는 파일은 저장하지 않음)
# cache_dir /var/spool/squid 100 16 256
#캐시저장 디렉토리에 100메가까지 저장, 1차 디렉토리는 16개이고 2차 하위디렉토리는 256개
# access_log /var/log/squid3/access.log squid
# cache_log /var/log/squid3/cache.log
# cache_store_log /var/log/squid3/store.log
# 로그 저장 디렉토리 설정.. 자동으로 이렇게 됨. 나중에 찾아보기..
# cache_mgr root
# cache_effective_user
# cache_effective_user
#(캐시서버의 관리자 계정관 squid 서버를 작동시킬 유저와 그룹 지정 기본은 proxy:proxy
#acl all src all
acl all src all
# (기본적인 squid acl. 웹가속모드(전체허용)이면 따로  설정하지않아도 됨. 
http_access allow all
# 프록시 서버에 접근허용할 클라이언트 설정. 

# 윗줄에서 설정한 all 이라는 그룹을 허용한다는 뜻.


 @Override
    protected void onResume() {
        super.onResume();
        Log.i(TAG, "onResume");
       
        isUseWify();
    }
    
    @SuppressWarnings("deprecation")
public boolean checkProxy()
    {
    String proxyAddress = new String();
        try {
            if (Build.VERSION.SDK_INT < 11) {
                proxyAddress = android.net.Proxy.getHost(getApplicationContext());
            } else {
                proxyAddress = System.getProperty("http.proxyHost");
            }
            if (proxyAddress == null || proxyAddress.equals("")) {
                return false;
            }
        } catch (Exception ex) {
        return false;
        }
        return true;
    }

private void isUseWify() {
if (checkProxy()) {
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (null != wifi && wifi.isAvailable() && (wifi.getDetailedState() == DetailedState.CONNECTED)) {
// 비정상적인 접속(프록시)으로 인해 서비스를 종료합니다. 고객센터로 문의하여 주시기 바랍니다.
Dialog dialog = new Dialog(this);
dialog.setOnAlertClickListener(new AlertDialogListener() {

@Override
public void onClick(KJDialog dialog) {
// TODO Auto-generated method stub
finish();
}

});
dialog.showAlertDialog("비정상적인 접속(프록시)으로 인해 서비스를 종료합니다. 고객센터로 문의하여 주시기 바랍니다.");
}
}
}

2015년 6월 28일 일요일

android proxy setting check

안드로이드 wifi proxy 체크

http://stackoverflow.com/questions/10811698/getting-wifi-proxy-settings-in-android

public static String[] getUserProxy(Context context)
{
    Method method = null;
    try
    {
      method = ConnectivityManager.class.getMethod("getProxy");
    }
    catch (NoSuchMethodException e)
    {
      // Normal situation for pre-ICS devices
      return null;
    }
    catch (Exception e)
    {
      return null;
    }

    try
    {
      ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
      Object pp = method.invoke(connectivityManager);
      if (pp == null)
        return null;

      return getUserProxy(pp);
    }
    catch (Exception e)
    {
      return null;
    }
  }


private static String[] getUserProxy(Object pp) throws Exception
{
    String[] userProxy = new String[3];

    String className = "android.net.ProxyProperties";
    Class<?> c = Class.forName(className);
    Method method;

    method = c.getMethod("getHost");
    userProxy[0] = (String) method.invoke(pp);

    method = c.getMethod("getPort");
    userProxy[1] = String.valueOf((Integer) method.invoke(pp));


    method = c.getMethod("getExclusionList");
    userProxy[2] = (String) method.invoke(pp);

    if (userProxy[0] != null)
      return userProxy;
    else
      return null;
}

2015년 6월 10일 수요일

ant ftp upload example

reference : http://be2u.tistory.com/45



commons-net-1.4.1.jar Download URL : http://abraxas73.springnote.com/pages/393486?print=1 
jakarta-oro-2.0.8.jar Download URL : http://www.docjar.com/jar/jakarta-oro-2.0.8.jar




build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="ftpUpload" default="all" basedir="."> 
<!--FTP 정보에 대한 설정--> <property name="server" value="***.***.***.***" />
<property name="port" value="**" />
<property name="remotedir" value="/public_html/******" />
<property name="userid" value="******" />
<property name="userpw" value="******" />
<property name="folder" value="C:\" />
<property name="file" value="TempFile.data" /> 
   <!--실행시에 출력되는 echo--> <echo message="올라간 주소 ${server}/${userid}/******/${file}" /> 
<!--FTP Upload-->    
 
<target name="upload">
  <echo meesage="서버에 파일을 업로드 합니다."/>
  <ftp server="${server}"
    port="${port}"
    remotedir="${remotedir}"
    userid="${userid}"
    password="${userpw}"
    binary="yes"
    verbose="yes">
   <fileset dir="${folder}">
       <include name="${file}"/>
   </fileset>
  </ftp>
</target>

<!--FTP Download-->  <target name="download"> 
<ftp server="${server}" port="${port}" passive="yes"
      remotedir="${remotedir}"
      action="get"
      userid="${userid}" password="${userpw}"
      depends="yes" verbose="yes" >
     <fileset dir="${folder}">
      <include name="${file}"/>
      <include name="${file}"/>
     </fileset>
</ftp>
</target> 

<!--FTP Delete-->    
<target name="delete">
  <echo meesage="서버의 파일을 삭제 합니다."/>
  <ftp server="${server}"
    port="${port}"
    remotedir="${remotedir}"
    userid="${userid}"
    password="${userpw}"
    action="del">
   <fileset>
    <include name="${file}"/>
   </fileset>
  </ftp>
</target>
  
<!--FTP Delete and FTP Upload--> <target name="all">
  <antcall target="delete" />
  <antcall target="upload" />
</target>
</project> 

android webview 새창 외부 브라우져 연결


wv.getSettings().setSupportMultipleWindows(true);
wv.setWebChromeClient(new WebChromeClient() {
    @Override
    public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, android.os.Message resultMsg)
    {
        WebView.HitTestResult result = view.getHitTestResult();
        String data = result.getExtra();
        Context context = view.getContext();
        Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(data));
        context.startActivity(browserIntent);
        return false;
    }
});
* 이미지 링크일경우 따로 처리
HitTestResult result = view.getHitTestResult();
        if (result.getType() == HitTestResult.SRC_IMAGE_ANCHOR_TYPE) {
        Message hrefMsg = new Message();
            view.requestFocusNodeHref(hrefMsg);
            String url = (String) hrefMsg.getData().get("url");
        }

eclipse rcp dialog resize

  Dialog 안에 메소드를 만든다. private void autoResize(){     getShell().layout( true, true);     final Point newSize = getShell().computeSize...