길호넷 http://kilho.net 칼무리, 윈도우클리너, 이미지창고, 프로그램 다운로드 제공 Sat, 23 Mar 2019 01:55:11 +0000 ko-KR hourly 1 https://wordpress.org/?v=5.0.4 시크릿DNS 업데이트 http://kilho.net/archives/notice/2050 http://kilho.net/archives/notice/2050#respond Thu, 21 Mar 2019 13:09:20 +0000 http://kilho.net/?p=2050 시크릿DNS 를 업데이트하였습니다.

  • 화이트리스트 DB를 통해 접속 장애가 발생하는 곳을 최소화하였습니다.
  • 트레이 아이콘 기능이 추가되었습니다.
  • DNS over HTTPS로 DNS를 암호화하여 보호합니다.
  • SNI 문자열만 파편화(Fragmentation)합니다.

1주일 정도 공지 없이 배포하고 사용하면서 장애가 없음을 확인하여 글을 작성하였습니다.

핵심 기능들은 완성된 것 같아 추후 화이트리스트 DB를 보강하는 정도에서 업데이트가 이루어질 듯합니다.
(최종 버전으로 생각하고 있습니다 ^^)

여러 사용자 의견에 트레이 아이콘 프로그램을 별도로 만들었습니다.

  • 업데이트 확인 후 알려주고 필요시 브라우저로 연결해줍니다.
  • 실시간으로 작동 여부를 체크합니다.
  • 환경설정에서 트레이 아이콘 실행 체크를 해제하실 수 있습니다.

바로가기

]]>
http://kilho.net/archives/notice/2050/feed 0
리눅스 로그 삭제 및 파일크기로 찾기 http://kilho.net/archives/server/2039 http://kilho.net/archives/server/2039#respond Wed, 20 Mar 2019 04:29:30 +0000 http://kilho.net/?p=2039 용량이 커진 로그를 비우는 방법입니다.

cat /dev/null > 로그파일명

참고로, 파일 사이즈가 큰 것을 찾는 방법입니다.

find ./* -size +파일크기

]]>
http://kilho.net/archives/server/2039/feed 0
델파이에서 쓰레드 간단,편리,쉽게 사용하기 http://kilho.net/archives/programming/2026 http://kilho.net/archives/programming/2026#respond Tue, 19 Mar 2019 03:31:18 +0000 http://kilho.net/?p=2026 델파이에서 쉽게 쓰레드 사용하는 방법입니다.

synchronize 는 잘 사용하면 됩니다 🙂

 

함수내용

uses System.Classes, System.SysUtils, Vcl.Forms;

procedure Wait(Proc: TProc);
var
  Thread: TThread;
begin
  Thread := TThread.CreateAnonymousThread(procedure()
  begin
    Proc;
  end);

  Thread.FreeOnTerminate := True;
  Thread.Start;

  while not Thread.Finished do Application.ProcessMessages;
end;

사용방법

Wait(procedure()
begin
  // .... 내용
end);
]]>
http://kilho.net/archives/programming/2026/feed 0
무료 단축 도메인 서비스 공개 http://kilho.net/archives/programming/2021 http://kilho.net/archives/programming/2021#respond Sun, 17 Mar 2019 05:22:03 +0000 http://kilho.net/?p=2021 구글에서 제공하던 단축도메인을 사용 중에 곧 중지한다는 것을 확인하고 급하게 만들어서 공개합니다.

기존 서비스와 비슷합니다만 API를 따로 구하기 힘들고 귀찮아서 직접 만들게 되었습니다.

인증 과정 없이 OpenAPI로도 제공합니다.

바로가기

]]>
http://kilho.net/archives/programming/2021/feed 0
SecretSNI 업데이트 http://kilho.net/archives/various/2012 http://kilho.net/archives/various/2012#respond Thu, 14 Mar 2019 07:28:30 +0000 http://kilho.net/?p=2012 시크릿SNI 를 업데이트 하였습니다.

  • whitelist.txt 를 편집하여 사용자가 예외 처리하고 싶은 도메인을 입력하실 수 있습니다.
  • 환경설정을 통해 DNS 를 손쉽게 설정할 수 있도록 하였습니다.
  • 무설치로 사용가능합니다.

바로가기

]]>
http://kilho.net/archives/various/2012/feed 0
사이트 접속시 www 추가/제거 http://kilho.net/archives/server/2008 http://kilho.net/archives/server/2008#respond Thu, 14 Mar 2019 07:03:48 +0000 http://kilho.net/?p=2008 사이트를 접속하는 경우 www 를 자동으로 추가 또는 제거하는 방법입니다.

.htaccess 파일에 입력하시면 됩니다.

# www 추가하기

RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC]
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L]
# www 제거하기

RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,NE,L]
]]>
http://kilho.net/archives/server/2008/feed 0
리눅스 대량 파일 삭제 http://kilho.net/archives/server/1996 http://kilho.net/archives/server/1996#respond Tue, 12 Mar 2019 10:06:40 +0000 http://kilho.net/?p=1996 대량 파일 삭제시 “/usr/bin/rm: arg list too long” 에러 발생시

아래의 명령어로 삭제할 수 있습니다.

 find . | xargs -n 1000 rm -f

]]>
http://kilho.net/archives/server/1996/feed 0
이미지 크기 조절 한번에 http://kilho.net/archives/various/1991 http://kilho.net/archives/various/1991#respond Sun, 10 Mar 2019 21:58:21 +0000 http://kilho.net/?p=1991 아이폰, 안드로이드 앱 개발시 필요한 아이콘, 스플래시 이미지의 크기가 여러 종류라 한번에 생성하는 방법입니다.

해당 크기는 파이어몽키에서 사용되는 크기라 다른 환경에서는 숫자를 변경하시길 바랍니다.

기존에 만들어둔 프로그램을 분실(?) 해서 급하게 … ㅠㅠ

1. GraphicsMagick 설치

2. 스플래시 이미지 생성 배치파일

gm convert -resize "320x480^" -gravity center -crop "320x480+0+0" "%1" splash_320x480.png
gm convert -resize "426x320^" -gravity center -crop "426x320+0+0" "%1" splash_426x320.png
gm convert -resize "470x320^" -gravity center -crop "470x320+0+0" "%1" splash_426x320.png
gm convert -resize "640x480^" -gravity center -crop "640x480+0+0" "%1" splash_426x320.png
gm convert -resize "640x960^" -gravity center -crop "640x960+0+0" "%1" splash_640x960.png
gm convert -resize "640x1136^" -gravity center -crop "640x1136+0+0" "%1" splash_640x1136.png
gm convert -resize "750x1334^" -gravity center -crop "750x1334+0+0" "%1" splash_750x1334.png
gm convert -resize "960x720^" -gravity center -crop "960x720+0+0" "%1" splash_426x320.png
gm convert -resize "1125x2436^" -gravity center -crop "1125x2436+0+0" "%1" splash_1125x2436.png
gm convert -resize "2436x1125^" -gravity center -crop "2436x1125+0+0" "%1" splash_2436x1125.png

3. 아이콘 생성 배치파일

gm convert -resize "36x36^" -gravity center -crop "36x36+0+0" "%1" icon_36x36.png
gm convert -resize "48x48^" -gravity center -crop "48x48+0+0" "%1" icon_48x48.png
gm convert -resize "57x57^" -gravity center -crop "57x57+0+0" "%1" icon_57x57.png
gm convert -resize "60x60^" -gravity center -crop "60x60+0+0" "%1" icon_60x60.png
gm convert -resize "72x72^" -gravity center -crop "72x72+0+0" "%1" icon_72x72.png
gm convert -resize "87x87^" -gravity center -crop "87x87+0+0" "%1" icon_87x87.png
gm convert -resize "96x96^" -gravity center -crop "96x96+0+0" "%1" icon_96x96.png
gm convert -resize "114x114^" -gravity center -crop "114x114+0+0" "%1" icon_114x114.png
gm convert -resize "120x120^" -gravity center -crop "120x120+0+0" "%1" icon_120x120.png
gm convert -resize "144x144^" -gravity center -crop "144x144+0+0" "%1" icon_144x144.png
gm convert -resize "180x180^" -gravity center -crop "180x180+0+0" "%1" icon_180x180.png
]]>
http://kilho.net/archives/various/1991/feed 0
현재 위치 구하기 (PHP) http://kilho.net/archives/programming/1944 http://kilho.net/archives/programming/1944#respond Sun, 10 Mar 2019 00:54:12 +0000 http://kilho.net/?p=1944 geolocation 함수를 통해 위치를 구하고, 만약 관련 권한 및 지원하지 않는 브라우저인 경우 네이버에서 제공하는 API 를 통해 아이피로 위치를 구한다.

사용 전 아래 주소로 네이버의 API키를 받는다.
(https://www.ncloud.com/product/applicationService/geoLocation)

<? 
	function makeSignature($secretKey, $method, $baseString, $timestamp, $accessKey)
	{
		$space = ' ';
		$newLine = "\n";
		$hmac = $method.$space.$baseString.$newLine.$timestamp.$newLine.$accessKey;
		$signautue = base64_encode(hash_hmac('sha256', $hmac, $secretKey,true));
		return $signautue;
	}

	if($_POST['order'] == 'geolocation')
	{
		$hostNameUrl = 'https://geolocation.apigw.ntruss.com';
		$requestUrl= '/geolocation/v2/geoLocation';
		$accessKey = 'accessKey를 입력해주세요.';
		$secretKey = 'secretKey를 입력해주세요.';

		$ip = $_SERVER['REMOTE_ADDR'];
		$timestamp = round(microtime(true) * 1000);

		$baseString = $requestUrl.'?ip='.$ip.'&amp;ext=t&amp;responseFormatType=json';

		$signautue = makeSignature($secretKey, 'GET', $baseString, $timestamp, $accessKey);
		$url = $hostNameUrl.$baseString;

		$is_post = false;
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_POST, $is_post);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		$headers = array();
		$headers[] = 'X-NCP-APIGW-TIMESTAMP: '.$timestamp;
		$headers[] = 'X-NCP-IAM-ACCESS-KEY: '.$accessKey;
		$headers[] = 'X-NCP-APIGW-SIGNATURE-V2: '.$signautue;

		curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
		$response = json_decode(curl_exec ($ch), true);

		if($response['geoLocation'])
		{
			$lat = $response['geoLocation']['lat'];
			$lng = $response['geoLocation']['long'];
		}else{
			$lat = 37.535053;
			$lng = 127.147263;
		}

		echo json_encode(array('latitude'=>$lat, 'longitude'=>$lng));
		exit;
	}

?>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<title>위치 계산중...</title>
</head>
<body>
<div style="width: 100%; text-align: center; display: inline-block; ">
	<p>원활한 이용을 위해 사용자의 위치를 계산 중입니다.</p>
	<p>위치 확인 권한을 <font color="RED"><strong>허용</strong></font>해주시길 바랍니다.</p>
</div>

<script>
	function setPositionByGeo(pos)
	{
		document.cookie = "latitude=" + pos.coords.latitude;
		document.cookie = "longitude=" + pos.coords.longitude;

		location.href = "<?=$_GET['url'] ? $_GET['url'] : '/'?>";
	}

	function setPositionByIP()
	{
		var xhr = new XMLHttpRequest();
		var dat = new FormData();

		dat.append("order", "geolocation");

		xhr.open("POST", window.location.pathname);
		xhr.send(dat);

		xhr.onload = function()
		{
			if(xhr.status === 200 || xhr.status === 201)
			{
				var res = JSON.parse(xhr.responseText);

				if(res.latitude&amp;&amp;res.longitude)
				{
					document.cookie = "latitude=" + res.latitude;
					document.cookie = "longitude=" + res.longitude;


					location.href = "<?=$_GET['url'] ? $_GET['url'] : '/'?>";
				}
			}
		};
	}

	window.onload = function() {
		if (navigator.geolocation)
			navigator.geolocation.getCurrentPosition(setPositionByGeo, setPositionByIP);
		else
			setPositionByIP();
	}
</script>
</body>
</html>
]]>
http://kilho.net/archives/programming/1944/feed 0
은행클리너(BankCleaner) 업데이트 http://kilho.net/archives/notice/1925 http://kilho.net/archives/notice/1925#respond Wed, 20 Feb 2019 15:38:46 +0000 http://kilho.net/?p=1925 해당 기능을 윈도우클리너 에 포함한 후로 업데이트가 많이 늦었습니다.

데이터를 서버에서 가져오는 기능을 추가해서 삭제 목록 갱신을 위해 프로그램을 업데이트 하지 않도록 하였습니다.

은행 플러그인들만 삭제해도 컴퓨터가 확실히 빨라집니다!!

은행 접속 횟수가 많지 않다면 플러그인을 지워주세요.

다운로드

]]>
http://kilho.net/archives/notice/1925/feed 0