ProFTPD 1.3.1 한글 패치 버전

ProFTPD 1.3.1 한글 패치 버전입니다.

ds-106e용(PPC)으로 컴파일 했습니다.
확인하지는 않았지만 같은 프로세서 사용하는 모델은 동작될 거 같습니다. ds-101g+에서도 동작되는 거 확인했습니다.

UTF-8 환경의 서버에 FTP로 한글파일명을 가진 파일을 올려도 깨어지지 않고, 정상적으로 표시됩니다.

모듈 정보는 아래와 같습니다.

Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_readme.c
  mod_codeconv.c
  mod_df.c
  mod_cap.c
  mod_ctrls.c
  mod_lang.c

압축 풀면 /usr/local 아래에 설치되며

/usr/local
      |– bin
      |   |– ftpcount
      |   |– ftpdctl
      |   |– ftptop
      |   -- ftpwho
      |-- etc
      |  
— proftpd.conf
      |– sbin
      |   |– ftpshut
      |   |– in.proftpd -> proftpd
      |   -- proftpd
     
— var
          |– proftpd
          |   |– proftpd.delay
          |   |– proftpd.scoreboard
          |   -- proftpd.sock
         
— proftpd.pid

proftpd.conf에 아래와 같이 설정하면 됩니다.

CharsetLocal UTF-8
CharsetRemote CP949

다운로드: http://nethard.fft.kr/bloc/DS-106e/etc_program/?download=proftpd.1.3.1.iconv.tar.gz

참고 사이트: http://orz.miroq.info/archives/5

Synology ds시리즈 각종 LED 및 내장 스피커 제어하기

ds 시리즈에 있는 각종 LED 및 내장 스피커를 제어하는 프로그램을 만들어 보았습니다.

테스트 환경: ds-106e, ds-101g+ (옆의 두 모델과 같은 CPU 사용하는 모델은 동작될 것 같습니다.)

첨부한 dsctl을 다운로드하신 후 ds 시리즈에 올린 후 실행 권한을 주시고(chmod 755 dsctl)
아래처럼 사용하면 됩니다.

./dsctl beep.long

위 명령은 내장된 스피커로 긴 비프음을 내게 됩니다.

다음은 사용할 수 있는 옵션들입니다.

Usage: dsctl [options]
Options:
        –help

        beep.short
        beep.long

        led.power.on
        led.power.off
        led.power.blink

        led.status.on.green
        led.status.on.orange
        led.status.off
        led.status.blink.green
        led.status.blink.orange

        led.copy.on
        led.copy.off
        led.copy.blink

텔넷이나 ssh로 접속하여 시간이 오래 걸리는 작업을 할 경우 dsctl beep.long 같은 명령을 활용하면 작업이 끝날 경우 쉽게 인지할 수 있습니다.

뭐 사용 용도는 알아서들 활용하세요^^

사실 활용할 만한 곳이 별로 없을 듯 하네요..

전 이것저것 많이 설치해두어서 그냥 실행되었는데 특정 라이브러리가 필요할지도 모르겠습니다..

아래 사이트를 참고하여 만들었습니다.

http://oinkzwurgl.org/diskstation_ds106series

실행파일: 1292435037.xxx

ds-101g+에 ds-106e 펌웨어 올리기

ds-101g+에 ds-106e의 펌웨어를 올리는 방법을 설명합니다.

거의 참고 사이트를 번역한 수준에 불과합니다.

제가 사용한 펌웨어 정보는 다음과 같습니다.
DS-106e Version: DSM 2.0-0598; Build Date: 2008/04/13

1. 펌웨어 압축 풀기

# tar xvf synology_powerpc_106e_0598.pat
# rm synology_powerpc_106e_0598.pat

2. 버전 파일 수정

파일 VERSION을 아래와 같이 수정합니다.

majorversion=”2″
minorversion=”0″
buildphase=”3″
buildnumber=”0598″
builddate=”2008/04/12″
unique=”synology_powerpc_101g+_1hd

3. CRC32 생성

3가지 방법이 있습니다. 아래 셋 중 하나로 하면 됩니다.

A. cksum 이용

# cksum -o 2 VERSION
0e2d2e9b 122 VERSION

 

B. cfv 이용 (apt-get install cfv로 설치)

# cfv -t crc -C -f – VERSION
Generated by: cfv (v1.18)
Generated at: Wed, 30 Apr 2008 11:00:20
Find  it  at: http://cfv.sourceforge.net/

Filename   Filesize    CRC-32   Description
——–  ———-  ——–
VERSION          127  0e2d2e9b
——–  ———-  ——–

Count of files: 1
Total of sizes: 127
-: 1 files, 1 OK.  0.040 seconds, 3.1K/s

 

C. cksfv 이용(2017-02-04 추가)

bootstrap을 먼저 설치하고 아래와 같이 진행

# ipkg install cksfv

cksfv VERSION

; Generated by cksfv v1.3.14 on 2017-02-04 at 12:38.10
; Project web site: http://www.iki.fi/shd/foss/cksfv/
;
;          287  07:31.28 2016-08-17 VERSION
VERSION 0E2D2E9B

 

VERSION 파일의 CRC-32값을 구하고 결과로 출력된 헥사코드로된 CRC-32값을 Decimal로 변환합니다.
윈도우에 있는 계산기를 공학용으로 설정하여 계산해도 되고, 아래 웹페이지에서 변환해도 됩니다.
http://www.statman.info/conversions/hexadecimal.html
위 웹페이지에서 변환할 경우
Convert에 CRC-32값인 헥사코드 “0e2d2e9b”를 넣고 “to decimal” 버튼을 클릭하면 결과가 나옵니다.

checksum.syno의 첫 번째 값을 결과(237842075)값으로 대체하면 됩니다.

237842075 122 VERSION 151 177
3457460874 688433 rd.bin 1283356 491
1260244284 41277920 hda1.tgz 70616743 474
3679547135 1962364 updater 2839231 468
2898455093 824424 zImage 1274095 370
#Synocksum 44753263 76013576 1980

3. 펌웨어 파일 생성

# tar cvf synology_powerpc_106e_0598.pat *

4. 관리자 페이지에서 펌웨어 업데이트

5. 업데이트된 ds-101g+

업데이트 후 ds-101g+의 관리자 페이지입니다.
아래 보시는  것처럼 모델 이름은 DS-106e로 표시되며, 메모리는 64 MB로 표시됩니다.(106e는  32 MB죠)
사용자 삽입 이미지
일반적으로 펌웨어 업데이트 후 변경되는 사항 정도 변경된 것 외에는 101g+에 설정되어 있던 사항은 대부분 그대로 유지됩니다.

제가 수정한 0598 버전의 VERSION과 checksum.syno를 압축하여 올립니다.
1296092550.tar

참고 사이트:
http://www.nslu2-linux.org/wiki/DS101/DS-106eFirmwareOnADS-101g

IE/FireFox에서 링크된 파일을 Synology Download Station에서 쉽게 받기

IE/Firefox에서 링크된 파일을 간단한 방법(마우스 클릭 세 번)으로 Synology Download Station에서 받도록 하는 방법을 설명합니다.

제가 테스트한 환경은 다음과 같습니다.
———————————————-
ds: ds-106e
IE: 6.0
Firefox: 2.0

설치 방법은 크게 세 단계로 구분됩니다.
———————————————-
1. 데이터베이스 사용자 추가 -> 필요없음. 바로 2번부터 진행하세요.(2008/12/13)
2. 서버 프로그램 환경 설정
3. IE 컨텍스트 메뉴 수정 및 등록

각 단계별로 같은 색상으로 된 부분을 주의해서 보시기바랍니다. 같은 색상은 같은 값으로 설정해야됩니다.

1. 데이터베이스 사용자 추가

먼저 텔넷 또는 ssh로 DiskStation(이하 ds)에 접속합니다.

telnet 192.168.0.2

아래 명령으로 admin 사용자로 접속합니다.

su – admin

Download Station에서 사용하는 데이터베이스 download에 연결합니다.

/usr/syno/pgsql/bin/psql download

php 프로그램에서 접근할 사용자를 생성하고, 권한을 부여합니다.

사용자 ID 및 암호는 알아서 변경해서 사용하시기바랍니다.

CREATE USER oneclick ENCRYPTED PASSWORD ‘gksqkddpqkewk‘;

update pg_shadow set usesuper = ‘t’ where usename=’oneclick‘;

사용자를 삭제하고자할 경우에는 다음 쿼리로 가능합니다.

drop user oneclick;

2. 서버 프로그램 환경 설정

이제 첨부된 파일을 모두 다운로드합니다.
파일은 총 3개로 구성되어 있습니다.

EzDownloader.reg  – IE 컨텍스트 메뉴에 사용자 메뉴를 추가하는 레지스트리 파일
Remove-EzDownloader.reg  – IE 컨텍스트 메뉴에 사용자 메뉴를 삭제하는 레지스트리 파일
EzDownloader.js    – IE 컨텍스트 메뉴에서 사용자 메뉴 클릭 시 서버측으로 명령을 전송하는 스크립트
EzDownloader.php – Synology Download Station 데이터베이스에 작업을 추가하는 프로그램
database_download.php – Synology Download Station 데이터베이스에 연결하는 함수가 저장된 스크립트

먼저 EzDownloader.php와 database_download.php를 ds의 웹루트 디렉토리 내의 특정 디렉토리로 복사합니다.
이 예에서는 /volume1/web/Ez/에 넣었습니다.

mkdir /volume1/web/Ez
cp /volume1/public/EzDownloader.php /volume1/web/Ez/
mkdir /usr/syno/synoman/phpsrc/EzDownloader
cp /volume1/public/database_download.php usr/syno/synoman/phpsrc/EzDownloader/

EzDownloader.php을 열어서 환경설정값 중 $db_user와 $db_passwd를 위에서 추가한 사용자 ID와 암호로 변경합니다. -> 생략, 2008/12/10

    // 환경 설정값
    $db_name         = “download”;
    $db_user          = “oneclick“;
    $db_passwd     = “gksqkddpqkewk“;
    $db_server        = “localhost”;

3. IE 컨텍스트 메뉴 수정 및 등록

EzDownloader.js와 EzDownloader.reg를 특정 디렉토리로 복사합니다.
EzDownloader.js를 텍스트 편집기로 열어서 13번 라인을 각자의 환경에 맞게 수정합니다.
2번 단계에서 EzDownloader.php를 넣어둔 디렉토리(/Ez/)와 동일하게 설정해야됩니다.

// EzDownloader.js의 내용 중 일부분

function AddLink(url)
{
    var EzDOWNLOAD_SERVICE = “http://fft.kr/Ez/EzDownloader.php?url=”;        // 사용자 환경에 맞게 수정할 것!
    
    win.open(EzDOWNLOAD_SERVICE + url, ”, ‘title=no,left=0,top=0,width=200,height=100’);
}

EzDownloader.reg를 텍스트 편집기로 열어서 EzDownloader.js가 위치한 경로를 수정합니다.
경로에는 \가 반드시 \\처럼 두 개가 있어야됩니다.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\다운로드스테이션에서 받기(&E)]
@=”file://X:\\Utility\\IE\\EzDownloader.js

이제 EzDownloader.reg을 더블클릭하여 레지스트리에 등록합니다.

추가된 컨텍스트 메뉴 “다운로드스테이션에서 받기”를 삭제하고자할 경우 Remove-EzDownloader.reg를 더블클릭하면 됩니다.

IE를 실행한 후 특정 웹사이트에 접속 후 링크 걸린 URL에서 마우스 오른쪽 버튼을 누르면 아래 화면에서처럼 “다운로드 스테이션에서 받기(E)“란 메뉴가 나타나며 클릭하게 되면 ds의 다운로드 스테이션에서 자동으로 받게 됩니다.

사용자 삽입 이미지
이상으로… ds의 관리자 페이지의 [다운로드 서비스 – 다운로드 관리]에서 작업이 추가된 것을 확인할 수 있으며, 다운로드 스테이션에서 설정한 디렉토리에 해당 파일이 받아지고 있는 것을 확인할 수 있습니다.

Firefox에서 사용하기

위 설명에서 1. 데이터베이스 사용자 추가, 2. 서버 프로그램 환경 설정까지는 동일합니다.

Firefox Extension(부가 기능)까지 만들려고 했으나 복잡해서 이미 나와 있는 부가 기능을 사용하여 이 팁을 이용하는 방법으로 설명하겠습니다.
먼저 Firefox Extension인 IE View를 설치합니다.
설치 후 Firefox 메뉴 [도구-확장 기능]에서 “IE View”의 설정 버튼을 클릭하여 인수 (선택사항)을 http://fft.kr/Ez/EzDownloader.php?url= 과 같이 설정합니다(url= 다음에는 공백이 없으니 주의하세요). 여기서 EzDownloader.php를 올린 웹서버의 주소와 디렉토리를 정확히 입력합니다.
사용자 삽입 이미지
이제 모든 설정이 완료되었습니다.
Firefox에서 특정 페이지에 접속 후 링크 걸린 URL에서 마우스 오른쪽 버튼을 누르면 아래 화면에서처럼 “이 링크를 IE로 열기“란 메뉴가 나타나며 클릭하게 되면 ds의 다운로드 스테이션에서 자동으로 받게 됩니다.
사용자 삽입 이미지
“IE View”의 원래 기능은 “외부 응용 프로그램으로 링크 열기(X)” 메뉴를 이용하면 됩니다.

주의: EzDownloader.php가 있는 경로는 타인에게 알려지지 않도록 주의하세요.. 혹시나 알려지면 다른 사람이 자신의 넷하드에 파일을 다운로드하게 만들 수도 있습니다.


2008/12/13 변경 사항
——————————————————————————————
펌웨어 DSM 2.0-0728에서 동작되도록 변경

hardware specifications of the various Diskstation models

리눅스 euc-kr 파일명을 utf-8 파일명으로 변환하기

ds-106e(utf-8)에서 euc-kr로 설정된 FTP 서버의 파일을 받으면 윈도우에서 공유 폴더로 접근하면 파일명이 모두 깨어져서 보입니다.
정리하면…
-윈도우에서 공유 폴더로 접근시 -> 깨어짐
-텔넷 클라이언트에 UTF-8 설정 후 접속시 -> 깨어짐
-텔넷 클라이언트에 UTF-8 설정없이 접속시 -> 정상
-FTP로 ds-106e 접속시 -> 폴더는 보여지나 해당 디렉토리로 이동 안됨(CuteFTP 사용시)

윈도우에서 공폴더로 접근할 경우에도 한글 파일명이 제대로 보이도록 하려면…
여러방법이 있지만 저는 다음 방법으로 해결했습니다.

convmv입니다.

먼저 chroot 환경에서 apt-get install convmv 명령으로 설치합니다.

설치 후 chroot 환경에서 나와서 convmv와 필요한 파일들을 복사합니다.

cp /volume1/chroot/usr/bin/convmv /usr/bin/
cp /volume1/chroot/usr/lib/libperl.so.5.8.4 /usr/lib/
ln -s /usr/lib/libperl.so.5.8.4 /usr/lib/libperl.so.5.8
mkdir /usr/lib/perl
cp -R /volume1/chroot/usr/lib/perl/5.8.4 /usr/lib/perl/
ln -s /usr/lib/perl/5.8.4 /usr/lib/perl/5.8
mkdir /usr/share/perl

cp -R /volume1/chroot/usr/share/perl/5.8.4 /usr/share/perl/


ln -s /usr/share/perl/5.8.4 /usr/share/perl/5.8

사용 방법은 다음과 같습니다.
convmv –notest -f euc-kr -t utf-8 -r 디렉토리명

사용 예입니다.
ds-106e에 텔넷으로 접속하여 ncftp로 euc-kr로 설정된 FTP 서버에 접속해서 파일을 받는 경우입니다.
FTP 서버의 한글 파일명을 제대로 보기위해서 ds-106에서는 putty로 utf-8 지원 설정을 하지 않고 FTP 서버에 접속하였습니다.

ncftp /음악/국내가요/이수영 > get -R “이수영 8집 – 내려놓음 [2007.09.11] 320k”
… 8집 – 내려놓음 [2007.09.11] 320k/01 midnight.mp3:    8.36 MB    1.73 MB/s

다운로드 완료 후 putty에 utf-8 지원하도록 설정 후 접속해서 해당 디렉토리로 이동하여 받은 파일을 확인해보면 제대로 출력되지 않음을 볼 수 있습니다.

fs> cd tmp
fs> ll
drwxr-xr-x    3 root     root         4096 Oct  4 11:08 .
drwxr-xr-x    3 root     root         4096 Oct  4 11:07 ..
drwxr-xr-x    2 root     root         4096 Oct  4 11:10 ▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k

fs> cd ..

이제 파일명을 euc-kr에서 utf-8로 변환하기 위하여 다음 명령을 내려줍니다.

fs> convmv –notest -f euc-kr -t utf-8 -r ./tmp/
mv “./tmp/▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k/06 ▒▒▒▒▒.mp3”       “./tmp/▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k/06 보라비.mp3”
mv “./tmp/▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k/09 ▒▒▒ ▒▒▒.mp3”     “./tmp/▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k/09 살랑 살랑.mp3”
mv “./tmp/▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k/03 ▒ܹ߸Ӹ▒.mp3”        “./tmp/▒̼▒ 8▒▒ – ▒▒▒▒▒▒ [2007.09.11] 320k/03 단발머리.mp3”

변환 완료 후 리스트를 출력해보면 한글이 모두 제대로 보이는 것을 볼 수 있습니다.
윈도우 탐색기로 접속해도 잘 보입니다.

fs> cd tmp
fs> ll
drwxr-xr-x    3 root     root         4096 Oct  4 11:12 .
drwxr-xr-x    3 root     root         4096 Oct  4 11:07 ..
drwxr-xr-x    2 root     root         4096 Oct  4 11:12 이수영 8집 – 내려놓음 [2007.09.11] 320k
fs> cd 이수영\ 8집\ -\ 내려놓음\ \[2007.09.11\]\ 320k/
fs> ll
drwxr-xr-x    2 root     root         4096 Oct  4 11:12 .
drwxr-xr-x    3 root     root         4096 Oct  4 11:12 ..
-rw-r–r–    1 root     root      8770016 Oct  2 22:51 01 midnight.mp3
-rw-r–r–    1 root     root     10181674 Oct  2 22:51 02 사랑이 다 그렇지.mp3
-rw-r–r–    1 root     root      9820139 Oct  2 22:51 03 단발머리.mp3
-rw-r–r–    1 root     root     11564074 Oct  2 22:51 04 멍하니.mp3
-rw-r–r–    1 root     root     12534784 Oct  2 22:51 05 heaven.mp3
-rw-r–r–    1 root     root      8058441 Oct  2 22:51 06 보라비.mp3
-rw-r–r–    1 root     root     11318522 Oct  2 22:51 07 멋진 그대.mp3
-rw-r–r–    1 root     root     10629935 Oct  2 22:51 08 참 이런 날도 오네요.mp3
-rw-r–r–    1 root     root      8419976 Oct  2 22:51 09 살랑 살랑.mp3
-rw-r–r–    1 root     root      4520416 Oct  2 22:51 10 lullaby (interlude).mp3
-rw-r–r–    1 root     root     11448090 Oct  2 22:51 11 라벤다.mp3
-rw-r–r–    1 root     root     10663371 Oct  2 22:51 12 오래된 사이.mp3
-rw-r–r–    1 root     root     10093902 Oct  2 22:51 13 twenty nine.mp3
-rw-r–r–    1 root     root      1678294 Oct  2 22:51 14 my angel (interlude).mp3
-rw-r–r–    1 root     root     12976776 Oct  2 22:51 15 다 이루었노라.mp3


간단히 사용하기 위한 스크립트 파일을 첨부합니다.
1374087502.xxx사용법: toUTF-8.sh 디렉토리