먼저 letsencrypt-win-simple 최신버전을 받아주세요.

https://github.com/Lone-Coder/letsencrypt-win-simple/releases


먼저 압축을 풀어줍니다.


압축을 푸신 뒤 letsencrypt.exe 실행 해봅시다.

아마 처음에 이메일 입력하는 부분이 나올텐데 제대로 입력하시면 이렇게 IIS에 설치된 주소들이 나옵니다.


대충 원하시는걸로 번호를 선택하시고 엔터치시면 자연스럽게 알아서 다 설정을 해주며 IIS에 SSL까지 자동설치 해줍니다

거기에 편하게 자동으로 SSL 갱신을 위한 작업 스케줄러까지 등록이 한방에!



넵 끝났습니다.

너무나도 쉽게 무료로 SSL 발급에서 설치까지 정말로 편합니다.



가끔 안되는 분들이 계실텐데 "localhost\.well-known\acme-challenge\web.config" 파일을 수정 해주셔야합니다.

문제는 letsencrypt.exe 실행시 web.config 파일을 강제로 바꿔버리는 문제가 있습니다.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?xml version = "1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <staticContent>
             <mimeMap fileExtension = ".*" mimeType="text/json" />
         </staticContent>
         <handlers>
              <add name="StaticFileModule" path="*" verb="*" modules="StaticFileModule" resourceType="File" />
        </handlers>
     </system.webServer>
 </configuration>


문제가 된 부분에 소스는 밑에 주소에 있으며 54~60번줄 사이에 위에 올린 코드에 빠진 부분을 넣으시고 빌드하시면 됩니다.

수정된 파일을 공유하지 않은 이유는 바이러스를 배포하니 안하니 이런 문제를 사전에 막기위해 공유하지 않았으니 직접 빌드하세요.

https://github.com/Lone-Coder/letsencrypt-win-simple/blob/master/letsencrypt-win-simple/Plugin/IISPlugin.cs


제가 해본 결과 Windows Embedded 8.1 Industry Pro, Windows Server 2012 R2에서는 문제 없이 됐습니다.

시작하기전에 유니코드에는 BOM이 필요 없다고 울부짖는 분들에게 분노의 글 좀 적겠습니다.

전부터 무언가 만들어 볼 때 마다 항상 제 발목을 붙잡는 녀석이 있었습니다. 그게 바로 인코딩이죠.
Linux에서는 UTF-8이 기본이니까 그냥 UTF-8로 열어서 보여줘버리면 그만인데 Windows는 그게 아니란말이죠.

세상에는 여러 인코딩이 존재합니다. 그런 인코딩의 존재를 깡그리 무시해버리고 'UTF-8이 진리다'를 외치며 BOM을 달지도 않고 텍스트를 배포하시는 불친절한 분들 덕분에 언제나 우리는 고생합니다. BOM을 달면 유니코드 계열은 8 16 32 등등 을 아주 쉽게 구분할 수 있는데도 불구하고 그 3바이트를 아낀다고 아무도 저장하지 않아요. 이 얼마나 무식한 짓인지;

저 BOM을 달지 않아서 벌어지는 일들을 볼까요?
자주 나오는 글자들의 각 인코딩별 저장되는 비트값을 확인하여 "확률"적으로 이 텍스트 파일은 UTF-8이다 16이다를 계산하고 앉아있습니다;
3바이트만 체크하면 끝나는걸;
더 나아가볼까요?
모질라에서 만든 캐릭터 디텍터라던가 모두 제대로 작동할 것 같나요? 글자 수가 적으면 적을수록 감출 확률은 떨어지고 그 만큼 실패할 확률도 올라갑니다.
그 뿐인가요? 그 캐릭터 디텍터는 누가 개발하나요. 라이브러리 주워다가 쓰면 가능하지만 그게 제대로 작동하는 라이브러리인지 아닌지는 테스트 하기 전까지는 모릅니다. 그 수 많은 라이브러리 테스트해서 사용하실려구요? BOM 달면 3바이트만 체크하면 되는데? 여러분의 하드는 2.5인치 플로피 디스켓 보다 작아서 3바이트를 저장하면 큰일인가요?

아직도 BOM이 필요 없다고 주장하실 생각이신가요? '이 세상에 워드프로세서따위 한글과 컴퓨터에서 개발한 한글밖에 없으면 모두가 hwp파일을 쓸테니 걱정이 없다.' 와 같은 의견으로 들릴 뿐입니다.

그런관계로 여러분 제발 유니코드엔 BOM좀 달아주세요. 제발 이게 세계 표준이되길 바랍니다. 힘들거든요 -ㅅ-;

자 그래서. 시작해보죠.

ASP.Net에서 이 인코딩 디텍터를 사용할 일이 있는데 C#에서 COM+쓰는 방법을 모르겠더라구요...
그래서 조금 찾아보려다가 그냥 C++/CLI로 만든 다음 ASP.Net 프로젝트에 참조 추가했습니다;

ASP.Net에서 C++/CLI로 만든 dll을 사용하는 방법은 다음에 써보겠습니다. 근대 무지 쉽습니다.

Windows는 XP의 서비스팩 몇인진 기억이 안나지만(...) 쨋든 이후로 MLang라는 녀석을 제공해주고 있습니다.
인코딩 관련 COM+ 라이브러리인데 굉장히 잘 작동해서 맘에듭니다. 이 녀석을 써보도록 하죠.


#include <MLang.h>
using namespace System;

namespace EncodingUtility {
	public ref class EncodingDetector
	{
	public:
		EncodingDetector();
		~EncodingDetector();

		int GetEncodingFromFile(String^ fileName);
		int GetEncodingFromBinary(char* binary, int size);

	private:
		IMultiLanguage2* mlang2;
	};
}


헤더파일입니다. 무지간단하네요; 바로 cpp코드를 보죠.


#include "EncodingDetector.h"

using namespace System::IO;
using namespace System::Text;

EncodingUtility::EncodingDetector::EncodingDetector()
	: mlang2(nullptr)
{
	IMultiLanguage2* tmpMlang = nullptr;
	auto result = CoCreateInstance(CLSID_CMultiLanguage, NULL, CLSCTX_ALL, IID_IMultiLanguage2, (void**)&tmpMlang);
	mlang2 = tmpMlang;

	if (result != S_OK)
		throw gcnew System::Exception("에러");
}

EncodingUtility::EncodingDetector::~EncodingDetector()
{
	if (mlang2 != nullptr)
		mlang2->Release();
}

int EncodingUtility::EncodingDetector::GetEncodingFromFile(String^ fileName)
{
	FileStream^ fs = gcnew FileStream(fileName, FileMode::Open, FileAccess::Read, FileShare::Read);
	BinaryReader^ br = gcnew BinaryReader(fs);
	
	// 필요하시다면 아래 4096 사이즈를 더 높여주세요. 많이 읽을 수록 검출율은 높아집니다.
	auto buffer = br->ReadBytes(4096);
	pin_ptr<System::Byte> pinBuffer = &buffer[0];
	unsigned char* pBuffer = pinBuffer;

	int length = buffer->Length;
	DetectEncodingInfo info;
	int score = 1;
	HRESULT result = mlang2->DetectInputCodepage(0, 0, reinterpret_cast<char*>(pBuffer), &length, &info, &score);

	fs->Close();
	if (result == S_OK)
		return info.nCodePage;
	else
		return -1;
}

int EncodingUtility::EncodingDetector::GetEncodingFromBinary(char * binary, int size)
{
	int length = size;
	DetectEncodingInfo info;
	int score = 1;
	HRESULT result = mlang2->DetectInputCodepage(0, 0, binary, &length, &info, &score);

	if (result == S_OK)
		return info.nCodePage;
	else
		return -1;
}


역시 간단하네요. COM을 사용하니까 클래스 사용 전 CoInitialize() 함수 호출하시는거 잊지 마시구요!

DetectInputCodepage에 관한 자세한 내용은 MSDN을 참고해주시기 바랍니다.

대략적으로 이 함수는 한번에 여러 개의 인코딩을 리턴 할 수 있습니다.
왜 여러개를 리턴하냐구요? BOM이 없는 텍스트 파일이 있기 때문이죠 ㅡㅡ;
지금 위의 코드에서는 가장 확률이 높은 1개만 가져오게 해놨지만 BOM이 없을 경우 UTF-16일 수도 있고 UTF-8일 수도 있기 때문에 가장 확률이 높은 인코딩부터 순서대로 인덱스에 넣어주는 모양입니다.

코드페이지에 대한 결과 역시 MSDN을 참고해주세요. 윈도우 개발자는 MSDN이 있어서 행복합니다...
https://msdn.microsoft.com/en-us/library/windows/desktop/dd317756%28v=vs.85%29.aspx


C#에서는 Encoding.GetEncoding(GetEncodingFromFile("test.txt")) <- 이런 식으로 사용하실 수 있습니다.
감지 실패시 -1을 리턴하므로 예외처리 해주시면되겠습니다.

뭐 이건 간단하게 만들어본 SafeComInitializer이라는 클래스입니다.
헤더는 올릴 필요가 없어보이므로 그냥 cpp 코드만 올리겠습니다.


#include "SafeComInitializer.h"

bool SafeComInitializer::ComInitialize()
{
	static SafeComInitializer initializer;
	return initializer.isInitialized;
}


SafeComInitializer::~SafeComInitializer()
{
	if (canUninitialize == true)
		CoUninitialize();
}


SafeComInitializer::SafeComInitializer()
	: isInitialized(false), canUninitialize(false)
{
	if (isInitialized == false)
	{
		auto result = CoInitializeEx(NULL, COINIT_MULTITHREADED);
		if (result == S_OK)
		{
			isInitialized = true;
			canUninitialize = true;
		}
		else if (result == S_FALSE)
		{
			isInitialized = true;
			canUninitialize = false;
		}
	}
}


준비물: OS X EI Capitan (10.11), Xcode 7.1, iTransmission IPA

iTransmission IPA DL: http://www.filepup.net/files/qFdCESOD1444055027.html


방법은 밑에 동영상을 참조하시면 됩니다.

https://www.youtube.com/watch?v=UaZAq0cpCvQ



위 방법은 아직 불안정한 iTransmission 설치 방법이고 제대로 된 버전은 iOS 9 버전에 대응 중인 iTransmission9 베타 버전을 신청하시면 됩니다.



여러개 ts로 쪼개서 던져주네요.
합치기도 귀찮고, 다운받기도 귀찮습니다. 조각이 100개 정도 되니;

영상 링크 따는건 각자 알아서 해주세요.

링크 따는 방법은 따로 안알려드립니다. 만드는거 자체는 매우 쉽습니다. 여러분도 C언어로 만드세요.
C언어 만세! 메우 C언어 좋아한다 메우. 나는 싫어해!

FFMPEG는 있으면 좋고 없어도 됩니다. ts를 단지 mp4 컨테이너에 담아주는 역할을 하는것 뿐 입니다.
고로 코드공개 안합니다. GNU라이센스를 위반한것 같진 않네요.

머 저작권에 문제가 된다면 저는 글을 내릴 뿐입니다..
이상한 코드는 없어요. 다운로드만 받습니다. IL디셈블러로 뜯어보셔도 됩니다. 어머 제 쪽팔리는 코드가 공개되겠군요 >_<

RWBY Downloader.zip




XPEnoboot 5.2-5592.2 부트로더에서 재시작 문제가 있으니 네이티브, 절전모드 사용자들은 절대로 업그레이드 하지 마시길 바랍니다.

강제로 종료 후 부팅하면 부팅이 가능하나 하드디스크에 좋지는 못합니다.

Version: 5.2-5644

(2015/10/29)

What's New

  1. This update includes all bug fixes as well as security fixes in the previously released critical updates since DSM 5.2-5592.

Fixed Issues

  1. Improved stability of FTP connections.
  2. Improved stability when copying large files on DS216play.
  3. Improved general stability of NTP service.
  4. Supports Data Scrubbing for iSCSI LUN (Block-Level) in Storage Manager.
  5. Improved the stability of encrypted backup in models with ARM processors.
  6. Improved general stability of Btrfs file system.
  7. Increased the connection limit for Log Receiving in Log Center.
  8. Upgraded PHP to 5.5.30 to address multiple vulnerabilities (CVE-2015-5589, CVE-2015-5590, CVE-2015-6834, CVE-2015-6835, CVE-2015-6836, CVE-2015-6837, CVE-2015-6838, and CVE-2015-3152).
  9. Fixed an issue where a DSM critical patch could not be manually uploaded when the system was in a Hybrid HA cluster.
  10. Minor bug fixes.


'NAS > XPEnology' 카테고리의 다른 글

XPEnoboot 5.2-5644.5 출시!  (0) 2016.02.15
XPEnoboot 5.2-5644.4 출시!  (0) 2015.12.26
XPEnoboot 5.2-5592.2 (05/08/2015) released  (0) 2015.08.05
XPEnoboot 5.2-5592.1 released  (0) 2015.07.31
Synology Version: 5.2-5565 Update 2  (0) 2015.06.10

먼저 첨부한 파일을 Kext Utility 돌리시고 추가해주세요.

AppleHDA-272.50-VIA_VT1802_1.zip


헥스 패치도 해주셔야 하는데 저도 이부분은 아무 값이나 때려 넣고 된거라 쓸모 없는 부분이 있을 수 있으니 적당히 고쳐 쓰셔도 됩니다.

다만 Expect 2 matches 이 부분은 핵심 오디오 코덱을 건드는 부분이라 지우시면 안됩니다.

AppleHDA-272.50-VIA_VT1802_1-config.plist


다 끝내시고 재붓 하면 됩니다. 끗... (헤드셋 마이크는 안됩니다.)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
	<dict>
		<key>Comment</key>
		<string>Patch_against_assertions</string>
		<key>Find</key>
		<data>U291bmQgYXNzZXJ0aW9uIA==</data>
		<key>Name</key>
		<string>AppleHDA</string>
		<key>Replace</key>
		<data>AAAAAAAAAAAAAAAAAAAAAA==</data>
	</dict>
	<dict>
		<key>Comment</key>
		<string>zero out ALC884</string>
		<key>Find</key>
		<data>hAjsEA==</data>
		<key>Name</key>
		<string>AppleHDA</string>
		<key>Replace</key>
		<data>AAAAAA==</data>
	</dict>
	<dict>
		<key>Comment</key>
		<string>Expect 2 matches</string>
		<key>Find</key>
		<data>hBnUEQ==</data>
		<key>Name</key>
		<string>AppleHDA</string>
		<key>Replace</key>
		<data>RoQGEQ==</data>
	</dict>
	<dict>
		<key>Comment</key>
		<string>Zero out 1983</string>
		<key>Find</key>
		<data>gxnUEQ==</data>
		<key>Name</key>
		<string>AppleHDA</string>
		<key>Replace</key>
		<data>AAAAAA==</data>
	</dict>
	<dict>
		<key>Comment</key>
		<string>zero out ALC885</string>
		<key>Find</key>
		<data>hQjsEA==</data>
		<key>Name</key>
		<string>AppleHDA</string>
		<key>Replace</key>
		<data>AAAAAA==</data>
	</dict>
</array>
</plist>



How to compile apps using Xcode 7 to run on a non-jailbroken device 글을 기반으로 작성 했습니다.


탈옥하지 않고 순정에서 무료 계정으로 APP 설치가 가능해졌습니다.

전에는 개발자 유료 계정에 가입이 필요했으나 지금은 그 제한이 사라진 덕분이죠


먼저 Xcode 7 설치된 맥과 iOS 기기가 필요합니다.

Provenance 소스는 여기에 있습니다.

https://github.com/jasarien/Provenance


HTTPS clone URL 주소를 복사합니다.

https://github.com/jasarien/Provenance.git


Xcode 실행을 하시고 Source Control - Check Out 선택



스크린샷처럼 Provenance GIT 주소를 넣어주고 Next, master 누르고 또 Next


 

스크린샷에 그림대로 추가가 될텐데 Bundle Identifier 부분을 바꿔줍니다.

com.jamsoftonline.Provenance -> com.myname.Provenance , 대충 본인 영어 닉을 적어줍니다.

Team 부분은 Unknown name이 아닌 본인 계정으로 바꿔주시고 Fix Issue 누르면 일단 빌드를 위한 준비가 끝납니다.

계정이 없는 분들은 Add an Account 눌려서 계정을 추가하고 위에 Team 부분을 하시면 됩니다.


마지막으로 아이패드를 연결 하신 뒤 빌드를 누르면 끝!



전 iOS 8 , 아이패드 미니2 에다가 올려서 실행을 해보니 잘 되네요.


예전에 작성한 글이 너무 마음에들지 않아 새로 작성하게 되었습니다.

예전 글과 다르게 OS X Yosemite 10.10.x Clover 부트로더와 보조 kext 설치로 WiFi, Bluetooth 잡는 방법입니다.



먼저 준비물부터 소개해봅시다.


BrcmPatchRAM.kext - 블루투스 활성화 kext

DL1: https://github.com/the-darkvoid/BrcmPatchRAM

DL2: https://bitbucket.org/RehabMan/os-x-brcmpatchram/downloads


FakePCIID_BCM94352Z_as_BCM94360CS2.kext - 장치값 추가 kext

DL1: https://github.com/RehabMan/OS-X-Fake-PCI-ID

DL2: https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads


Clover Configurator - config.plist 편집 앱

http://mac.softpedia.com/get/System-Utilities/Clover-Configurator.shtml


config Broadcom BCM94352HMB / AzureWave AW-CE123H.plist - HEX 패치를 대신 해줄 KextsToPatch 값 (10.10.4, 5 기준)

config Broadcom BCM94352HMB - AzureWave AW-CE123H.plist

http://osxonthinkpads.wikidot.com/10-10-x-on-intel-nuc-i5-4250#toc7 - 10.10.x 다른 버전 값

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>KextsToPatch</key>
	<array>
		<dict>
			<key>Comment</key>
			<string>BCM94352 Airport Extreme</string>
			<key>Find</key>
			<data>axAAAHUN</data>
			<key>Name</key>
			<string>AirPortBrcm4360</string>
			<key>Replace</key>
			<data>axAAAJCQ</data>
		</dict>
		<dict>
			<key>Comment</key>
			<string>BCM94352 5GHz BR</string>
			<key>Find</key>
			<data>QYP8/3QsSA==</data>
			<key>Name</key>
			<string>AirPortBrcm4360</string>
			<key>Replace</key>
			<data>ZscGQlLrKw==</data>
		</dict>
		<dict>
			<key>Comment</key>
			<string>BCM94352 BT4LE Handoff/Hotspot</string>
			<key>Find</key>
			<data>SIXAdFwPt0g=</data>
			<key>Name</key>
			<string>IOBluetoothFamily</string>
			<key>Replace</key>
			<data>Qb4PAAAA61k=</data>
		</dict>
	</array>
</dict>
</plist>
 



준비물도 구했고 이제 따라하시기만하면 됩니다.

먼저 /EFI/CLOVER/kexts/10.10 폴더에 BrcmPatchRAM.kext , FakePCIID_BCM94352Z_as_BCM94360CS2.kext 넣어주시면 일단 첫번째 작업은 끝납니다.



두번째로는 Clover Configurator 앱으로 config Broadcom BCM94352HMB : AzureWave AW-CE123H.plist 파일을 열어줍니다.

그리고는 기존에 있던 config.plist 파일도 열어 저 값들을 그대로 복사해서 붙여넣으시면 끝입니다.



참 쉽죠?


사실 info 파일을 수정해서 장치값을 추가해주면 FakePCIID_BCM94352Z_as_BCM94360CS2.kext 파일을 안쓰셔도 되긴합니다.

클로버 옵션 중에 info 파일을 수정하는 옵션이 전 작동이 안되길래 이 방법을 사용 했으니 작동이 되시는 분들은 지우셔도 됩니다.


BCM94352 BT4LE Handoff/Hotspot 패치는 아이폰, 아이패드 그리고 해킨끼리 연속성 기능을 사용하기 위한 값입니다.



BCM94352 Airport Extreme 패치는 이름 그대로 애플 에어포트로 인식되도록 해주는 패치입니다.

BCM94352 5GHz BR 패치는 5GHz 채널을 잡기위한 패치이며 일부로 브라질로 국가로 변경하도록 값을 넣어봤습니다.



왜 멀쩡한 한국이 아닌 브라질로 잡았는지 스샷을 보시면 알겠지만 채널이 다 사라지는 증상이 있어서 한국 값은 넣지 않았습니다.

그외에 미국은 12,13채널을 잡을 수 없기에 국내에서는 적절하지 않다고 생각이 들더군요.


좀 더 자세한 정보는 밑에 링크를 참조하시면 도움이 되실겁니다.

https://en.wikipedia.org/wiki/List_of_WLAN_channels

http://www.clien.net/cs2/bbs/board.php?bo_table=cm_mac&wr_id=521236

http://osxonthinkpads.wikidot.com/10-10-x-on-intel-nuc-i5-4250#toc7 

Fixe the issue with Packages not starting automatically at boot.

재부팅시 자동으로 패키지가 시작 되지 않는 버그 수정


https://download.xpenology.fr/

http://xpenology.me/downloads/


'NAS > XPEnology' 카테고리의 다른 글

XPEnoboot 5.2-5644.4 출시!  (0) 2015.12.26
Synology Version: 5.2-5644  (2) 2015.10.31
XPEnoboot 5.2-5592.1 released  (0) 2015.07.31
Synology Version: 5.2-5565 Update 2  (0) 2015.06.10
XPEnoboot 5.2-5565.2 released  (0) 2015.06.09

현재 나온 DSM 5.2-5592 Update-2 최신버전까지 업데이트가 됩니다.

XPEnoboot 5.2-5592.1 DS3615xs
IMAGEFORMATLINKMD5
XPEnoboot DS3615xs 5.2-5592.1IMGdownloadebda68e9a7589ed1d145399f975d1232
XPEnoboot DS3615xs 5.2-5592.1ISOdownload65c6b150ea6d26c70cc0d96d010ce5a6
XPEnoboot DS3615xs 5.2-5592.1VMDKdownload78cb2ff5bfcd14c1edb3dea93084443f




출처: http://xpenology.com/forum/viewtopic.php?f=12&t=5026http://xpenology.me/xpenoboot-5-2-5592-1-released/

'NAS > XPEnology' 카테고리의 다른 글

Synology Version: 5.2-5644  (2) 2015.10.31
XPEnoboot 5.2-5592.2 (05/08/2015) released  (0) 2015.08.05
Synology Version: 5.2-5565 Update 2  (0) 2015.06.10
XPEnoboot 5.2-5565.2 released  (0) 2015.06.09
XPEnoboot 5.2-5565.1 DS3615xs 부트로더 출시  (0) 2015.06.02

+ Recent posts