빠른메뉴

컨텍정보

로그인

제품소개 회사소개 고객사 제품문의 제품관리

나클립스 업로더 서버 V3.0 - 제품 설명서
시스템 사양
솔루션 분류 파일 업로딩 솔루션 (File Uploading Solution)
솔루션 구성 Uploader Server Engine + HTML5 Uploader Client Module
OS 환경 서버 Linux System (x86, x86-64, IA64, SPARC, PPC, Alpha). / Windows System (x86, x86-64).
클라이언트 HTML5 : Windows, Android, MacOS, iOS, Linux ...
C/S 통신 프로토콜 TCP/IP :: HTTP or HTTPS(HTTP over Secure Socket Layer) / XFTP (eXtended File Transfer Protocol)
서버 H/W 권장 사양 CPU, 2.0 Ghz Quad Core / Memory, 8.0GByte 이상
프로그램 실행 방식 서버 Server Daemon
클라이언트 Javascript based HTML5 Uploader
시스템 특징
  • 별도의 프로그램 설치없이 PC 및 모바일 기기에서 파일 업로딩 지원.
  • 나클립스 인코더 서버 연동시 업로딩 완료후 동영상/오디오 파일 인코딩.
  • Server to Server 파일 전송 기능 지원. (다중 서버 동시 업로딩 지원).
  • 서버간 파일 전송시 Peer to Peer 방식 지원, 다중 서버 연속 업로딩 가능.
  • 업로딩 패킷 HTTPS 프로토콜 지원 (기본 프로토콜 : HTTP).
  •  
  • 업로드시 서버 부하 감소를 위해 최대 업로딩 속도 지정 가능.
  • 접속-IP 제한기능(IP Filtering) 및 웹페이지 소스 복사 방지 기능.
  • 서버 엔진, 리눅스(Linux) 및 윈도우(Windows) 서버 OS 지원.
  • 나클립스 암호화 서버와 연동시 업로딩 완료후 파일 암호화 작업 가능.
  •  
    시스템 구성 및 주요 기능
    구성 모듈 기능 분류 기능 상세 기능 설명
    업로더 서버 엔진

    Naclips Uploader
    Server Engine

    파일 업로딩 제어 최대 업로딩 속도 제한 업로딩 속도를 제한하여 서버의 시스템 리소스 및 접속당 점유 대역폭 제어.
    최대 업로딩 바이트 제한 한 번에 업로드 할 수 있는 최대 바이트 수를 제한하여 스토리지 용량 관리.
    미완료 파일 자동 삭제 불완전 파일(파일 업로딩이 완료되지 않은 파일) 자동 삭제 기능.
    서버엔진 설정 인코딩 서버 연동 나클립스 인코더 서버와 연동하여 업로드된 동영상 파일을 인코딩(트랜스코딩) 출력.
    Server to Server 파일 전송 업로딩 완료된 파일 또는 서버내 지정된 파일을 다른 나클립스 업로더 서버로 전송 여부.
    암호화 서버 연동 나클립스 암호화 서버와 연동하여 업로드된 동영상 파일의 암호화 출력.
    업로딩 보안/인증 업로딩 사용자 인증 웹페이지와 연동하여 업로딩 사용자 인증.
    업로딩 사이트 도메인 인증 업로딩 가능한 웹사이트 도메인들을 지정.
    HTTPS 프로토콜 패킷 전송 HTTPS(HTTP over SSL) 프로토콜 적용 업로딩 패킷 전송 설정.
    웹 인터페이스 업로딩 파일 처리 업로딩 미완료된 파일 자동 삭제. 업로드 파일 정보, DB Insert 위한 웹 인터페이스 지원.
    Multi Form Data 처리 파일 업로딩시 전송되는 Form Data, DB Insert 위한 웹 인터페이스 지원.
    데몬 로그 시스템 로그 인터페이스 업로딩 관련 로그를 텍스트 파일로 저장하거나 웹-인터페이스를 통하여 DB에 기록 API.
    서버 업로딩 보안 업로딩 서버 IP 필터링 파일 전송을 위해 접속한 Client 단 업로딩 서버의 IP 어드레스 필터링.
    업로딩 서버 인증 키 파일 전송을 위해 접속한 Client 단 업로딩 서버의 인증키 확인.
    업로딩 타깃 서버 목록 파일 전송할 타깃 업로더 서버의 IP:Port 리스트 지정.
    메서드 업로딩 파일 자동 전송 PC 또는 모바일 장치에서 에서 업로드 완료후 자동으로 다른 나클립스 업로더 서버로 전송.
    명령어 프로토콜 업로딩 서버에 저장된 파일을 Rovecat 명령어 프로토콜을 통하여 업로딩(웹서버에서 명령어 전송)
    업로더 커맨드라인 업로딩 서버에 저장된 파일을 터미널 업로더 코맨드라인 프로그램(nuploadcmd)으로 업로딩.
    로그 로컬 텍스트 로그 로컬 서버의 서버 업로더 로그파일에 서버 업로드 로그 기록
    웹페이지 로그 인터페이스 업로더 서버에 설정된 로그 웹페이지 URL로 업로드 로그 전송 (다중 업로드 서버 로그 통합 관리 가능.)
    Naclips Uploader
    for HTML5
    파일 업로딩 스크립트 라이브러리 Naclips Uploader Java Script Class Library를 제공하여 웹페이지 적용 편의성 제공.
    멀티 파일 업로딩 여러 파일을 한꺼번 선택하여 업로딩 지원. 동영상 파일 및 일반 파일 업로딩 지원.
    Multi Form Data 전송 파일 업로드시 HTML Form Data도 함께 전송 가능.
    서버 구성 및 데이터 흐름도(Data Flow Diagram)
    나클립스 HTML5 업로더와 서버 인코딩 방식을 적용한 데이터 흐름도.
    나클립스 업로더 서버의 Server to Server 업로딩 방식을 적용한 시스템 흐름도.
    나클립스 업로더 실행 스크린샷
    나클립스 HTML5 업로더 : PC에서 업로딩 화면

    - 동영상 파일을 다중 선택하여 서버에 업로드 중

    - 업로드 완료후, 업로드된 동영상 목록을 브라우징 한다

    - 인코딩 완료되지 않은 동영상 선택시, 인코딩 진행도를 보여준다.

    - 서버에서 인코딩 작업 완료, 자동으로 나클립스 HTML5 플레이어 화면으로 전환.
    나클립스 HTML5 업로더 : 모바일 장치에서 업로딩 화면

    - 업로딩 데모 페이지 초기화면

    - 동영상 파일 / 일반 파일을 선택 - 멀티선택 가능

    - 선택한 파일을 업로딩중..

    - 업로딩 완료, 서버에서 진행중인 인코딩 진행도 표시

    - 인코딩 완료, 나클립스 HTML5 플레이어 자동 로딩

    - 안드로이드폰에서 나클립스 앱 플레이어로 실행화면.
    위의 나클립스 업로더 데모 페이지 주소는 https://www.nexpoly.co.kr/solutions-B01.php?box=1 입니다.
    서버 데몬 설정 및 구동
    나클립스 업로더 서버 설정
    [admin@media admin]$ ls /usr/local/nuploader/conf/
    daemon.conf  dir_sub.conf  hosts.allow   hosts.deny   html5.conf   httpaccess.allow    webgrant.conf   xupload.conf
    server_cmd.allow    server_from.allow    server_to.allow    server_upload.conf    ssl.conf
    
    [admin@media admin]$ cat /usr/local/nuploader/conf/daemon.conf
    ; 나클립스 업로더 기본 설정파일.
    ; 1.connection port ................... def : 4659
      C2S_PORT = 4659
    ; 2.server name ....................... def : 
      server_name = Media File Server - NX032
    ; 3.media file root directory ......... def : /vod_media
      files_root = /vod_media
    ; 4.log file directory ................ def : logs
      LOG_ROOT = logs
    ; 5.user ip filter .................... def : false (ref- hosts.allow/hosts.deny)
      ip_filter = true	
    ; 6.receiving timeout ................. def : 10 (unit : minute) / used in xuploader & app_uploader
      Time_Out = 10
    ; 7.set user's connection limit ....... def : 0(maximum)
      max_connection = 50
    ; -.access log url .................... def :
      log_url = https://log.nexpoly.co.kr/iface/logface_nuploader.php
    ; -.enable ssl(https) protocol ........ def : false
      enable_ssl = yes
    ; -.enable uploader on server ......... def : 0 (0:turn off, 1:turn on, 2:forceful turn on)
    ;   if turn on this feature, use_xuploader & use_html5_uploader options will be enabled forcefully.
      server_uploader = 0
    
    [admin@media admin]$ cat /usr/local/nuploader/conf/html5.conf
    ; 나클립스 HTML5 Uploader를 이용하여 업로드 할 때 적용되는 설정파일.	
    ; 1.maximum uploading bytes at one time .. def : 100 MB   / 한번에 업로드 할수 있는 최대 전송 바이트
      max_bytes_at_one_time = 1024
    ; 2.maximum bandwidth per connection ..... def : 512 (unit : kilo-byte per seconds)  / 접속당 최대 전송 속도
      max_upload_kbps = 10240
    ; 3.Check user's connection grant ? ...... def : false (ref- webgrant.conf) / 웹페이지와 연동하여 사용자 인증 여부
      user_grant_check = yes
    ; 4.check CORS(Cross Origin Resource Sharing) Option ... def : true (ref- httpaccess.allow)
      check_cors_option = true
    ; -.uploading result web interface url ... def :          / 업로딩 완료후 수행될 웹페이지 인터페이스 URL주소
      uploading_webpost_url = https://log.nexpoly.co.kr/iface/after_upload.php
    ; -.Encoding Media file on server ........ def : true     / 서버에서 인코딩 방식 사용여부
      encoding_on_server = true
    ; -.Encoder server IP Address & Port ..... def : 127.0.0.1 (ip_addr:port) default port : 5665
    ;   If default port(5665) can be omitted.                   / 나클립스 인코더 서버 주소:포트 (기본포트:5665 / 기본포트시 생략가능)
      encoder_server = 127.0.0.1:8087
    ; -.encoded media export directory ....... def : /tmp     / 인코딩 완료된 동영상 파일이 출력될 디렉토리
      encoder_export_directory = /media_files/enc_export
    ; -.automatic trash incomplete file ...... def : 1        / 업로딩 미완료 종료된 파일 삭제 여부
      auto_trash = true
    
    [admin@media admin]$ cat /usr/local/nuploader/conf/hosts.allow
    ; This file describes the ip-address of the hosts which are allowed.
    *.* 
    
    [admin@media admin]$ cat /usr/local/nuploader/conf/hosts.deny
    ; This file describes the ip-address of the hosts which are denied.
    123.12.3.*
    	
    [admin@media admin]$ cat /usr/local/nuploader/conf/httpaccess.allow
    ; 나클립스 HTML5 Uploader를 이용하여 업로드 할 때 적용되는 호스트.도메인 필터 리스트 파일.
    method = allow
    192.168.0.*
    *.nexpoly.co.kr
    127.0.0.1
    ;*
    	
    [admin@media admin]$ cat /usr/local/nuploader/conf/server_from.allow
    ; From Server의 IP 주소 목록 / 형식 : External Ip address(Private IP address / Private IP address / ...)
    ; 외부 IP 주소와 내부 IP 주소가 같을 경우, 내부 IP 주소는 생략 가능.
    203.235.8.* (192.168.1.102/192.168.1.103)
    192.168.10.1
    
    [admin@media admin]$ cat /usr/local/nuploader/conf/server_to.allow
    ; Target Server의 IP 주소 목록 / 형식 : Ip address:Listening port (나클립스 업로더 기본 포트(4659) 사용시 포트넘버 생략가능)
    192.168.1.104
    192.168.1.105:8088
    
    [admin@media admin]$ cat /usr/local/nuploader/conf/server_cmd.allow
    ; 나클립스 업로더 커맨더(nuploadcmd) 또는 Rovecat Protocl을 통해 업로드 명령을 전송할 수 있는 서버의 IP 주소 목록.
    127.0.0.1
    192.168.0.1
    	
    [admin@media admin]$ cat /usr/local/nuploader/conf/server_upload.conf
    ; 나클립스 업로더 데몬의 Server to Server 업로딩 방식을 위한 설정 파일.
    ; 1.maximum uploader queue size ....... def : 640
      max_queue_sz = 16
    ; 2.connection timeout to server ...... def : 5 (unit: sec)
      tout_conn = 2
    ; 3.receiving timeout from server ..... def : 5 (unit: sec)
      tout_recv = 2
    ; 4.uploading log url (POST method) ... def : 
      uploadlog_url = https://log.nexpoly.co.kr/iface/s2s_upload.php
    	
    
    나클립스 업로더 서버 데몬 실행.
    [admin@media admin]$ /usr/local/nuploader/daemonctrl start
    NACLIPS.Uploader Daemon Controler for Linux Intel 64-Bit Machine. Ver:1.1.200.
    Copyright(C) 2021 NEXPOLY Technology Inc, All Rights Reserved.
    
    NACLIPS.Uploader Daemon for Linux Intel 64-Bit Machine. Ver:3.0.02.
    Copyright(C) 2021 NEXPOLY Technology Inc, All Rights Reserved.
    
    .... Reading Main Configuration ....
          9 Configuration(s) fixed up.
    .... Reading Uploader on Server Configulation ....
          5 Configulation(s) fixed up.
    
    .... Reading SSL Configulation ....
          4 SSL Configulation(s) fixed up.
     
    .... Reading ActiveX/Plug-in Uploader Configuration ....
          4 Configuration(s) fixed up.
     
    .... Reading HTML5 Uploader Configuration ....
          9 Configuration(s) fixed up.
     
    .... Reading IP-Filter Configuration ....
          1 allowed host(s) registered.
          0 denied host(s) registered.
     
    .... Reading Access-Control-Allow-Origin Host List ....
          5 allowed domain/host name registered.
     
    .... Reading From-Server Uploader host IP list ....
          3 allowed host(s) registered.
    .... Reading To-Server Uploader host IP list ....
          1 allowed host(s) registered.
    .... Reading Allowed Commanding host IP list ....
          3 allowed host(s) registered.
    
                        Host server name : lnx68x64
                       Server IP address : 192.168.1.1
                    User Connection Port : 4659
                    Uploader server name : Naclips Uploader Server, Naru.uploader
                            Product code : 1234
                      Maximum connection : 50
                  Enable HTTP over SSL ? : Yes
           Uploading file root directory : /media_files
                       Streaming timeout : 1 Minute(s)
               Connection IP filtering ? : Yes
    
                   Interface URL for log : https://log.nexpoly.co.kr/iface/logface_nuploader.php
                      Daemon process log : /usr/local/nuploader/logs/pro.log
                Uploading connection log : /usr/local/nuploader/logs/con.log
                               Error log : /usr/local/nuploader/logs/err.log
               X-Uploader file write log : /usr/local/nuploader/logs/p_sav.log
                    User grant check log : /usr/local/nuploader/logs/gnt.log
           HTML5 Uploader file write log : /usr/local/nuploader/logs/w_sav.log
           Naclips Encoder interface log : /usr/local/nuploader/logs/enc.log
     
                    Enable X-Uploading ? : Yes(enabled by uploader-client-option)
             Maximum uploading file size : 10240 MBytes
             Maximum uploading bandwidth : 40960 kbps
    
                Enable HTML5 Uploading ? : Yes
     Maximum uploading bytes at one time : 1024 MB
        Maximum bandwidth per connection : 0 kbps
         Encoding media file on server ? : Yes
               Encoder server IP address : encoder.naclips.com
          Encoded media export directory : /media_files/enc_export
      Uploading result web-interface URL : https://log.nexpoly.co.kr/iface/after_upload.php
         Check user's connection grant ? : No
                     Check CORS option ? : Yes
                 Trash incomplete file ? : Yes
     
    Enable Server to Server uploder mode : 1(turn on)
        S2S Maximum uploading queue size : 16
        S2S Connection timeout to server : 2 seconds
              S2S Sending packet timeout : 2 seconds
     S2S Alive timeout of upload process : 1 minute 
        S2S Uploading result web-log URL :  https://log.nexpoly.co.kr/iface/s2s_upload.php
     
    ## Starting up NACLIPS.Uploader Daemon  .....
    ## Starting up ServerEngine             ..... OK(pid:2275).
    ## Starting up UploadingManager         ..... OK(pid:2278).
    
    
    NACLIPS Uploader Console Commander.
    나클립스 업로더 콘솔 커맨더(nuploadcmd)는 나클립스 업로더 서버 엔진의 “Server to Server 업로딩” 기능 활성시, OS 터미널 환경에서 파일 업로딩 예약 및 실행하는 커맨드 라인 프로그램 (Command Line Program) 입니다. 나클립스 업로더 콘솔 커맨더는 리눅스 버전과 윈도우 버전을 지원합니다.
    나클립스 업로더 콘솔 커맨더(nencodcmd) 명령 형식.
    nuploadcmd FILE-PATH [OPTIONS]
    options:
      -o = overwrite exist file - 인코딩 예약 또는 진행중인 인코딩 작업의 취소.
      -m = multiple bitsrate files count - 다중 대역폭 인코딩 수.
    usage :
      nuloadcmd /work/sample.mp4 -o -m2 : 로컬서버의 파일을 타깃 서버로 업로딩 실행한다. 이때 다중 대역폭 인코딩 파일 개수는 2개 입니다.
      nuloadcmd 192.168.1.1/work/sample.mp4 -o : 192.168.1.1 서버의 파일을 타깃 서버로 업로딩 실행한다.
      nuloadcmd 192.168.1.2:4659/work/sample.mp4 : 192.168.1.2 서버의 파일을 타깃 서버로 업로딩 실행한다. (4659 포트는 업로더 서버 접속 포트)
    NACLIPS Uploader Command HTTP Protocol
    나클립스 업로더 명령 HTTP 프로토콜(NACLIPS Uploader Command HTTP Protocol)은 나클립스 업로더 서버 엔진의 “Server to Server 업로딩” 기능 활성시, 웹브라우저나 기타 네트워크 프로그램을 통하여 나클립스 업로더 서버의 파일을 타깃 서버로 업로딩 하기 위한 명령어 프로토콜 입니다. 참고로 “Server to Server 업로딩” 기능은 기본적으로 PC 또는 모바일 장치 등 클라이언트에서 업로드 하는 파일을 업로드 완료시 타깃 서버목록으로 릴레이 전송하는 방식을 기본으로 하고 있습니다.
    프로토콜 형식.
    1. Request 형식 (Client to Server)
    POST /ROVECATFX/Command HTTP/1.1
    Host: naclips_uploader_server:listening_port
    Content-Length: Content_Length

    Content_Body (Options)
    2. Response 형식 (Server to Client)
    HTTP/1.1 Return_Code
    Date: Date_Time_String
    Server: Server_Engine_Description
    Content-Length: Content_Length

    Content_Body (Result)

    NACLIPS Uploader Command HTTP Protocol 사용예.
    > Clent to Server Post
    POST /ROVECATFX/SRVUPD HTTP/1.1
    Host: encoder.naclips.com:4659
    Content-Length: 64
    
    file_path: mp4_files/sample.mp4
    mulenc_count: 2
    overwrite: 1
    
    encoder.naclips.com 서버의 mp4_files/sample.mp4 파일을 타깃 서버로 업로드 수행한다. 이때 다중 대역폭 파일 개수는 2개이며, 이미 해당 파일이 존재할 경우 덮어쓰기로 수행 한다. 파일이 전송될 타깃 서버 목록은 서버 설정 파일에 지정되어 있다.
    > Server to Client Return
    HTTP/1.1 200 OK
    Date: Thu, 27 Sep 2012 08:31:51 GMT
    Server: NACLIPS.encoder/1.1.0.00 (NEXPOLY Technology Inc.)
    Content-Type: text/html
    Content-Length: 29
    
    Result: 1006 OK_SET_COMMAND
    
    업로딩 작업 예약이 성공적으로 등록되어 결과를 리턴.

    경기도 고양시 일산동구 정발산로 19, 802호(장항동 863, 지평프라자) 넥스폴리테크놀러지. | TEL: 031) 963-9035. FAX: 031) 601-8094.
    Copyright (C) 2022 Nexpoly Technology Inc. All rights reserved.