├── conf ├── storage_ids.conf ├── http.conf ├── client.conf ├── tracker.conf ├── storage.conf └── mime.types ├── README.md ├── docker-compose.yml ├── Dockerfile └── start.sh /conf/storage_ids.conf: -------------------------------------------------------------------------------- 1 | # 2 | # 100001 group1 192.168.0.196 3 | # 100002 group1 192.168.0.116 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FastDFS Docker 2 | 3 | Usage: 4 | ``` 5 | docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs luhuiguo/fastdfs tracker 6 | 7 | docker run -dti --network=host --name storage0 -e TRACKER_SERVER=10.1.5.85:22122 -e -v /var/fdfs/storage0:/var/fdfs luhuiguo/fastdfs storage 8 | 9 | docker run -dti --network=host --name storage1 -e TRACKER_SERVER=10.1.5.85:22122 -e -v /var/fdfs/storage1:/var/fdfs luhuiguo/fastdfs storage 10 | 11 | docker run -dti --network=host --name storage2 -e TRACKER_SERVER=10.1.5.85:22122 -e GROUP_NAME=group2 -e PORT=22222 -v /var/fdfs/storage2:/var/fdfs luhuiguo/fastdfs storage 12 | ``` 13 | -------------------------------------------------------------------------------- /conf/http.conf: -------------------------------------------------------------------------------- 1 | # HTTP default content type 2 | http.default_content_type = application/octet-stream 3 | 4 | # MIME types mapping filename 5 | # MIME types file format: MIME_type extensions 6 | # such as: image/jpeg jpeg jpg jpe 7 | # you can use apache's MIME file: mime.types 8 | http.mime_types_filename=mime.types 9 | 10 | # if use token to anti-steal 11 | # default value is false (0) 12 | http.anti_steal.check_token=false 13 | 14 | # token TTL (time to live), seconds 15 | # default value is 600 16 | http.anti_steal.token_ttl=900 17 | 18 | # secret key to generate anti-steal token 19 | # this parameter must be set when http.anti_steal.check_token set to true 20 | # the length of the secret key should not exceed 128 bytes 21 | http.anti_steal.secret_key=FastDFS1234567890 22 | 23 | # return the content of the file when check token fail 24 | # default value is empty (no file sepecified) 25 | http.anti_steal.token_check_fail=/home/yuqing/fastdfs/conf/anti-steal.jpg 26 | 27 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3' 2 | services: 3 | tracker: 4 | container_name: tracker 5 | image: luhuiguo/fastdfs 6 | command: tracker 7 | network_mode: host 8 | volumes: 9 | - /var/fdfs/tracker:/var/fdfs 10 | storage0: 11 | container_name: storage0 12 | image: luhuiguo/fastdfs 13 | command: storage 14 | network_mode: host 15 | environment: 16 | - TRACKER_SERVER=10.1.5.85:22122 17 | volumes: 18 | - /var/fdfs/storage0:/var/fdfs 19 | # storage1: 20 | # container_name: storage1 21 | # image: luhuiguo/fastdfs 22 | # command: storage 23 | # network_mode: host 24 | # environment: 25 | # - TRACKER_SERVER=10.1.5.85:22122 26 | # volumes: 27 | # - /var/fdfs/storage1:/var/fdfs 28 | # storage2: 29 | # container_name: storage2 30 | # image: luhuiguo/fastdfs 31 | # command: storage 32 | # network_mode: host 33 | # environment: 34 | # - TRACKER_SERVER=10.1.5.85:22122 35 | # - GROUP_NAME=group2 36 | # - PORT=24000 37 | # volumes: 38 | # - /var/fdfs/storage2:/var/fdfs 39 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos:7 2 | 3 | LABEL maintainer "luhuiguo@gmail.com" 4 | 5 | ENV FASTDFS_PATH=/opt/fdfs \ 6 | FASTDFS_BASE_PATH=/var/fdfs \ 7 | PORT= \ 8 | GROUP_NAME= \ 9 | TRACKER_SERVER= 10 | 11 | 12 | 13 | #get all the dependences 14 | RUN yum install -y git gcc make 15 | 16 | #create the dirs to store the files downloaded from internet 17 | RUN mkdir -p ${FASTDFS_PATH}/libfastcommon \ 18 | && mkdir -p ${FASTDFS_PATH}/fastdfs \ 19 | && mkdir ${FASTDFS_BASE_PATH} 20 | 21 | #compile the libfastcommon 22 | WORKDIR ${FASTDFS_PATH}/libfastcommon 23 | 24 | RUN git clone --branch V1.0.36 --depth 1 https://github.com/happyfish100/libfastcommon.git ${FASTDFS_PATH}/libfastcommon \ 25 | && ./make.sh \ 26 | && ./make.sh install \ 27 | && rm -rf ${FASTDFS_PATH}/libfastcommon 28 | 29 | #compile the fastdfs 30 | WORKDIR ${FASTDFS_PATH}/fastdfs 31 | 32 | RUN git clone --branch V5.11 --depth 1 https://github.com/happyfish100/fastdfs.git ${FASTDFS_PATH}/fastdfs \ 33 | && ./make.sh \ 34 | && ./make.sh install \ 35 | && rm -rf ${FASTDFS_PATH}/fastdfs 36 | 37 | 38 | EXPOSE 22122 23000 8080 8888 39 | VOLUME ["$FASTDFS_BASE_PATH", "/etc/fdfs"] 40 | 41 | COPY conf/*.* /etc/fdfs/ 42 | 43 | COPY start.sh /usr/bin/ 44 | 45 | #make the start.sh executable 46 | RUN chmod 777 /usr/bin/start.sh 47 | 48 | ENTRYPOINT ["/usr/bin/start.sh"] 49 | CMD ["tracker"] 50 | -------------------------------------------------------------------------------- /conf/client.conf: -------------------------------------------------------------------------------- 1 | # connect timeout in seconds 2 | # default value is 30s 3 | connect_timeout=30 4 | 5 | # network timeout in seconds 6 | # default value is 30s 7 | network_timeout=60 8 | 9 | # the base path to store log files 10 | base_path=/var/fdfs 11 | 12 | # tracker_server can ocur more than once, and tracker_server format is 13 | # "host:port", host can be hostname or ip address 14 | tracker_server=192.168.0.197:22122 15 | 16 | #standard log level as syslog, case insensitive, value list: 17 | ### emerg for emergency 18 | ### alert 19 | ### crit for critical 20 | ### error 21 | ### warn for warning 22 | ### notice 23 | ### info 24 | ### debug 25 | log_level=info 26 | 27 | # if use connection pool 28 | # default value is false 29 | # since V4.05 30 | use_connection_pool = false 31 | 32 | # connections whose the idle time exceeds this time will be closed 33 | # unit: second 34 | # default value is 3600 35 | # since V4.05 36 | connection_pool_max_idle_time = 3600 37 | 38 | # if load FastDFS parameters from tracker server 39 | # since V4.05 40 | # default value is false 41 | load_fdfs_parameters_from_tracker=false 42 | 43 | # if use storage ID instead of IP address 44 | # same as tracker.conf 45 | # valid only when load_fdfs_parameters_from_tracker is false 46 | # default value is false 47 | # since V4.05 48 | use_storage_id = false 49 | 50 | # specify storage ids filename, can use relative or absolute path 51 | # same as tracker.conf 52 | # valid only when load_fdfs_parameters_from_tracker is false 53 | # since V4.05 54 | storage_ids_filename = storage_ids.conf 55 | 56 | 57 | #HTTP settings 58 | http.tracker_server_port=80 59 | 60 | #use "#include" directive to include HTTP other settiongs 61 | ##include http.conf 62 | 63 | -------------------------------------------------------------------------------- /start.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #set -e 3 | if [ "$1" = "monitor" ] ; then 4 | if [ -n "$TRACKER_SERVER" ] ; then 5 | sed -i "s|tracker_server=.*$|tracker_server=${TRACKER_SERVER}|g" /etc/fdfs/client.conf 6 | fi 7 | fdfs_monitor /etc/fdfs/client.conf 8 | exit 0 9 | elif [ "$1" = "storage" ] ; then 10 | FASTDFS_MODE="storage" 11 | else 12 | FASTDFS_MODE="tracker" 13 | fi 14 | 15 | if [ -n "$PORT" ] ; then 16 | sed -i "s|^port=.*$|port=${PORT}|g" /etc/fdfs/"$FASTDFS_MODE".conf 17 | fi 18 | 19 | if [ -n "$TRACKER_SERVER" ] ; then 20 | 21 | sed -i "s|tracker_server=.*$|tracker_server=${TRACKER_SERVER}|g" /etc/fdfs/storage.conf 22 | sed -i "s|tracker_server=.*$|tracker_server=${TRACKER_SERVER}|g" /etc/fdfs/client.conf 23 | 24 | fi 25 | 26 | if [ -n "$GROUP_NAME" ] ; then 27 | 28 | sed -i "s|group_name=.*$|group_name=${GROUP_NAME}|g" /etc/fdfs/storage.conf 29 | 30 | fi 31 | 32 | FASTDFS_LOG_FILE="${FASTDFS_BASE_PATH}/logs/${FASTDFS_MODE}d.log" 33 | PID_NUMBER="${FASTDFS_BASE_PATH}/data/fdfs_${FASTDFS_MODE}d.pid" 34 | 35 | echo "try to start the $FASTDFS_MODE node..." 36 | if [ -f "$FASTDFS_LOG_FILE" ]; then 37 | rm "$FASTDFS_LOG_FILE" 38 | fi 39 | # start the fastdfs node. 40 | fdfs_${FASTDFS_MODE}d /etc/fdfs/${FASTDFS_MODE}.conf start 41 | 42 | # wait for pid file(important!),the max start time is 5 seconds,if the pid number does not appear in 5 seconds,start failed. 43 | TIMES=5 44 | while [ ! -f "$PID_NUMBER" -a $TIMES -gt 0 ] 45 | do 46 | sleep 1s 47 | TIMES=`expr $TIMES - 1` 48 | done 49 | 50 | # if the storage node start successfully, print the started time. 51 | # if [ $TIMES -gt 0 ]; then 52 | # echo "the ${FASTDFS_MODE} node started successfully at $(date +%Y-%m-%d_%H:%M)" 53 | 54 | # # give the detail log address 55 | # echo "please have a look at the log detail at $FASTDFS_LOG_FILE" 56 | 57 | # # leave balnk lines to differ from next log. 58 | # echo 59 | # echo 60 | 61 | 62 | 63 | # # make the container have foreground process(primary commond!) 64 | # tail -F --pid=`cat $PID_NUMBER` /dev/null 65 | # # else print the error. 66 | # else 67 | # echo "the ${FASTDFS_MODE} node started failed at $(date +%Y-%m-%d_%H:%M)" 68 | # echo "please have a look at the log detail at $FASTDFS_LOG_FILE" 69 | # echo 70 | # echo 71 | # fi 72 | tail -f "$FASTDFS_LOG_FILE" 73 | -------------------------------------------------------------------------------- /conf/tracker.conf: -------------------------------------------------------------------------------- 1 | # is this config file disabled 2 | # false for enabled 3 | # true for disabled 4 | disabled=false 5 | 6 | # bind an address of this host 7 | # empty for bind all addresses of this host 8 | bind_addr= 9 | 10 | # the tracker server port 11 | port=22122 12 | 13 | # connect timeout in seconds 14 | # default value is 30s 15 | connect_timeout=30 16 | 17 | # network timeout in seconds 18 | # default value is 30s 19 | network_timeout=60 20 | 21 | # the base path to store data and log files 22 | base_path=/var/fdfs 23 | 24 | # max concurrent connections this server supported 25 | max_connections=256 26 | 27 | # accept thread count 28 | # default value is 1 29 | # since V4.07 30 | accept_threads=1 31 | 32 | # work thread count, should <= max_connections 33 | # default value is 4 34 | # since V2.00 35 | work_threads=4 36 | 37 | # min buff size 38 | # default value 8KB 39 | min_buff_size = 8KB 40 | 41 | # max buff size 42 | # default value 128KB 43 | max_buff_size = 128KB 44 | 45 | # the method of selecting group to upload files 46 | # 0: round robin 47 | # 1: specify group 48 | # 2: load balance, select the max free space group to upload file 49 | store_lookup=2 50 | 51 | # which group to upload file 52 | # when store_lookup set to 1, must set store_group to the group name 53 | store_group=group2 54 | 55 | # which storage server to upload file 56 | # 0: round robin (default) 57 | # 1: the first server order by ip address 58 | # 2: the first server order by priority (the minimal) 59 | store_server=0 60 | 61 | # which path(means disk or mount point) of the storage server to upload file 62 | # 0: round robin 63 | # 2: load balance, select the max free space path to upload file 64 | store_path=0 65 | 66 | # which storage server to download file 67 | # 0: round robin (default) 68 | # 1: the source storage server which the current file uploaded to 69 | download_server=0 70 | 71 | # reserved storage space for system or other applications. 72 | # if the free(available) space of any stoarge server in 73 | # a group <= reserved_storage_space, 74 | # no file can be uploaded to this group. 75 | # bytes unit can be one of follows: 76 | ### G or g for gigabyte(GB) 77 | ### M or m for megabyte(MB) 78 | ### K or k for kilobyte(KB) 79 | ### no unit for byte(B) 80 | ### XX.XX% as ratio such as reserved_storage_space = 10% 81 | reserved_storage_space = 10% 82 | 83 | #standard log level as syslog, case insensitive, value list: 84 | ### emerg for emergency 85 | ### alert 86 | ### crit for critical 87 | ### error 88 | ### warn for warning 89 | ### notice 90 | ### info 91 | ### debug 92 | log_level=info 93 | 94 | #unix group name to run this program, 95 | #not set (empty) means run by the group of current user 96 | run_by_group= 97 | 98 | #unix username to run this program, 99 | #not set (empty) means run by current user 100 | run_by_user= 101 | 102 | # allow_hosts can ocur more than once, host can be hostname or ip address, 103 | # "*" (only one asterisk) means match all ip addresses 104 | # we can use CIDR ips like 192.168.5.64/26 105 | # and also use range like these: 10.0.1.[0-254] and host[01-08,20-25].domain.com 106 | # for example: 107 | # allow_hosts=10.0.1.[1-15,20] 108 | # allow_hosts=host[01-08,20-25].domain.com 109 | # allow_hosts=192.168.5.64/26 110 | allow_hosts=* 111 | 112 | # sync log buff to disk every interval seconds 113 | # default value is 10 seconds 114 | sync_log_buff_interval = 10 115 | 116 | # check storage server alive interval seconds 117 | check_active_interval = 120 118 | 119 | # thread stack size, should >= 64KB 120 | # default value is 64KB 121 | thread_stack_size = 64KB 122 | 123 | # auto adjust when the ip address of the storage server changed 124 | # default value is true 125 | storage_ip_changed_auto_adjust = true 126 | 127 | # storage sync file max delay seconds 128 | # default value is 86400 seconds (one day) 129 | # since V2.00 130 | storage_sync_file_max_delay = 86400 131 | 132 | # the max time of storage sync a file 133 | # default value is 300 seconds 134 | # since V2.00 135 | storage_sync_file_max_time = 300 136 | 137 | # if use a trunk file to store several small files 138 | # default value is false 139 | # since V3.00 140 | use_trunk_file = false 141 | 142 | # the min slot size, should <= 4KB 143 | # default value is 256 bytes 144 | # since V3.00 145 | slot_min_size = 256 146 | 147 | # the max slot size, should > slot_min_size 148 | # store the upload file to trunk file when it's size <= this value 149 | # default value is 16MB 150 | # since V3.00 151 | slot_max_size = 16MB 152 | 153 | # the trunk file size, should >= 4MB 154 | # default value is 64MB 155 | # since V3.00 156 | trunk_file_size = 64MB 157 | 158 | # if create trunk file advancely 159 | # default value is false 160 | # since V3.06 161 | trunk_create_file_advance = false 162 | 163 | # the time base to create trunk file 164 | # the time format: HH:MM 165 | # default value is 02:00 166 | # since V3.06 167 | trunk_create_file_time_base = 02:00 168 | 169 | # the interval of create trunk file, unit: second 170 | # default value is 38400 (one day) 171 | # since V3.06 172 | trunk_create_file_interval = 86400 173 | 174 | # the threshold to create trunk file 175 | # when the free trunk file size less than the threshold, will create 176 | # the trunk files 177 | # default value is 0 178 | # since V3.06 179 | trunk_create_file_space_threshold = 20G 180 | 181 | # if check trunk space occupying when loading trunk free spaces 182 | # the occupied spaces will be ignored 183 | # default value is false 184 | # since V3.09 185 | # NOTICE: set this parameter to true will slow the loading of trunk spaces 186 | # when startup. you should set this parameter to true when neccessary. 187 | trunk_init_check_occupying = false 188 | 189 | # if ignore storage_trunk.dat, reload from trunk binlog 190 | # default value is false 191 | # since V3.10 192 | # set to true once for version upgrade when your version less than V3.10 193 | trunk_init_reload_from_binlog = false 194 | 195 | # the min interval for compressing the trunk binlog file 196 | # unit: second 197 | # default value is 0, 0 means never compress 198 | # FastDFS compress the trunk binlog when trunk init and trunk destroy 199 | # recommand to set this parameter to 86400 (one day) 200 | # since V5.01 201 | trunk_compress_binlog_min_interval = 0 202 | 203 | # if use storage ID instead of IP address 204 | # default value is false 205 | # since V4.00 206 | use_storage_id = false 207 | 208 | # specify storage ids filename, can use relative or absolute path 209 | # since V4.00 210 | storage_ids_filename = storage_ids.conf 211 | 212 | # id type of the storage server in the filename, values are: 213 | ## ip: the ip address of the storage server 214 | ## id: the server id of the storage server 215 | # this paramter is valid only when use_storage_id set to true 216 | # default value is ip 217 | # since V4.03 218 | id_type_in_filename = ip 219 | 220 | # if store slave file use symbol link 221 | # default value is false 222 | # since V4.01 223 | store_slave_file_use_link = false 224 | 225 | # if rotate the error log every day 226 | # default value is false 227 | # since V4.02 228 | rotate_error_log = false 229 | 230 | # rotate error log time base, time format: Hour:Minute 231 | # Hour from 0 to 23, Minute from 0 to 59 232 | # default value is 00:00 233 | # since V4.02 234 | error_log_rotate_time=00:00 235 | 236 | # rotate error log when the log file exceeds this size 237 | # 0 means never rotates log file by log file size 238 | # default value is 0 239 | # since V4.02 240 | rotate_error_log_size = 0 241 | 242 | # keep days of the log files 243 | # 0 means do not delete old log files 244 | # default value is 0 245 | log_file_keep_days = 0 246 | 247 | # if use connection pool 248 | # default value is false 249 | # since V4.05 250 | use_connection_pool = false 251 | 252 | # connections whose the idle time exceeds this time will be closed 253 | # unit: second 254 | # default value is 3600 255 | # since V4.05 256 | connection_pool_max_idle_time = 3600 257 | 258 | # HTTP port on this tracker server 259 | http.server_port=8080 260 | 261 | # check storage HTTP server alive interval seconds 262 | # <= 0 for never check 263 | # default value is 30 264 | http.check_alive_interval=30 265 | 266 | # check storage HTTP server alive type, values are: 267 | # tcp : connect to the storge server with HTTP port only, 268 | # do not request and get response 269 | # http: storage check alive url must return http status 200 270 | # default value is tcp 271 | http.check_alive_type=tcp 272 | 273 | # check storage HTTP server alive uri/url 274 | # NOTE: storage embed HTTP server support uri: /status.html 275 | http.check_alive_uri=/status.html 276 | 277 | -------------------------------------------------------------------------------- /conf/storage.conf: -------------------------------------------------------------------------------- 1 | # is this config file disabled 2 | # false for enabled 3 | # true for disabled 4 | disabled=false 5 | 6 | # the name of the group this storage server belongs to 7 | # 8 | # comment or remove this item for fetching from tracker server, 9 | # in this case, use_storage_id must set to true in tracker.conf, 10 | # and storage_ids.conf must be configed correctly. 11 | group_name=group1 12 | 13 | # bind an address of this host 14 | # empty for bind all addresses of this host 15 | bind_addr= 16 | 17 | # if bind an address of this host when connect to other servers 18 | # (this storage server as a client) 19 | # true for binding the address configed by above parameter: "bind_addr" 20 | # false for binding any address of this host 21 | client_bind=true 22 | 23 | # the storage server port 24 | port=23000 25 | 26 | # connect timeout in seconds 27 | # default value is 30s 28 | connect_timeout=30 29 | 30 | # network timeout in seconds 31 | # default value is 30s 32 | network_timeout=60 33 | 34 | # heart beat interval in seconds 35 | heart_beat_interval=30 36 | 37 | # disk usage report interval in seconds 38 | stat_report_interval=60 39 | 40 | # the base path to store data and log files 41 | base_path=/var/fdfs 42 | 43 | # max concurrent connections the server supported 44 | # default value is 256 45 | # more max_connections means more memory will be used 46 | max_connections=256 47 | 48 | # the buff size to recv / send data 49 | # this parameter must more than 8KB 50 | # default value is 64KB 51 | # since V2.00 52 | buff_size = 256KB 53 | 54 | # accept thread count 55 | # default value is 1 56 | # since V4.07 57 | accept_threads=1 58 | 59 | # work thread count, should <= max_connections 60 | # work thread deal network io 61 | # default value is 4 62 | # since V2.00 63 | work_threads=4 64 | 65 | # if disk read / write separated 66 | ## false for mixed read and write 67 | ## true for separated read and write 68 | # default value is true 69 | # since V2.00 70 | disk_rw_separated = true 71 | 72 | # disk reader thread count per store base path 73 | # for mixed read / write, this parameter can be 0 74 | # default value is 1 75 | # since V2.00 76 | disk_reader_threads = 1 77 | 78 | # disk writer thread count per store base path 79 | # for mixed read / write, this parameter can be 0 80 | # default value is 1 81 | # since V2.00 82 | disk_writer_threads = 1 83 | 84 | # when no entry to sync, try read binlog again after X milliseconds 85 | # must > 0, default value is 200ms 86 | sync_wait_msec=50 87 | 88 | # after sync a file, usleep milliseconds 89 | # 0 for sync successively (never call usleep) 90 | sync_interval=0 91 | 92 | # storage sync start time of a day, time format: Hour:Minute 93 | # Hour from 0 to 23, Minute from 0 to 59 94 | sync_start_time=00:00 95 | 96 | # storage sync end time of a day, time format: Hour:Minute 97 | # Hour from 0 to 23, Minute from 0 to 59 98 | sync_end_time=23:59 99 | 100 | # write to the mark file after sync N files 101 | # default value is 500 102 | write_mark_file_freq=500 103 | 104 | # path(disk or mount point) count, default value is 1 105 | store_path_count=1 106 | 107 | # store_path#, based 0, if store_path0 not exists, it's value is base_path 108 | # the paths must be exist 109 | store_path0=/var/fdfs 110 | #store_path1=/var/fdfs2 111 | 112 | # subdir_count * subdir_count directories will be auto created under each 113 | # store_path (disk), value can be 1 to 256, default value is 256 114 | subdir_count_per_path=256 115 | 116 | # tracker_server can ocur more than once, and tracker_server format is 117 | # "host:port", host can be hostname or ip address 118 | tracker_server=192.168.209.121:22122 119 | 120 | #standard log level as syslog, case insensitive, value list: 121 | ### emerg for emergency 122 | ### alert 123 | ### crit for critical 124 | ### error 125 | ### warn for warning 126 | ### notice 127 | ### info 128 | ### debug 129 | log_level=info 130 | 131 | #unix group name to run this program, 132 | #not set (empty) means run by the group of current user 133 | run_by_group= 134 | 135 | #unix username to run this program, 136 | #not set (empty) means run by current user 137 | run_by_user= 138 | 139 | # allow_hosts can ocur more than once, host can be hostname or ip address, 140 | # "*" (only one asterisk) means match all ip addresses 141 | # we can use CIDR ips like 192.168.5.64/26 142 | # and also use range like these: 10.0.1.[0-254] and host[01-08,20-25].domain.com 143 | # for example: 144 | # allow_hosts=10.0.1.[1-15,20] 145 | # allow_hosts=host[01-08,20-25].domain.com 146 | # allow_hosts=192.168.5.64/26 147 | allow_hosts=* 148 | 149 | # the mode of the files distributed to the data path 150 | # 0: round robin(default) 151 | # 1: random, distributted by hash code 152 | file_distribute_path_mode=0 153 | 154 | # valid when file_distribute_to_path is set to 0 (round robin), 155 | # when the written file count reaches this number, then rotate to next path 156 | # default value is 100 157 | file_distribute_rotate_count=100 158 | 159 | # call fsync to disk when write big file 160 | # 0: never call fsync 161 | # other: call fsync when written bytes >= this bytes 162 | # default value is 0 (never call fsync) 163 | fsync_after_written_bytes=0 164 | 165 | # sync log buff to disk every interval seconds 166 | # must > 0, default value is 10 seconds 167 | sync_log_buff_interval=10 168 | 169 | # sync binlog buff / cache to disk every interval seconds 170 | # default value is 60 seconds 171 | sync_binlog_buff_interval=10 172 | 173 | # sync storage stat info to disk every interval seconds 174 | # default value is 300 seconds 175 | sync_stat_file_interval=300 176 | 177 | # thread stack size, should >= 512KB 178 | # default value is 512KB 179 | thread_stack_size=512KB 180 | 181 | # the priority as a source server for uploading file. 182 | # the lower this value, the higher its uploading priority. 183 | # default value is 10 184 | upload_priority=10 185 | 186 | # the NIC alias prefix, such as eth in Linux, you can see it by ifconfig -a 187 | # multi aliases split by comma. empty value means auto set by OS type 188 | # default values is empty 189 | if_alias_prefix= 190 | 191 | # if check file duplicate, when set to true, use FastDHT to store file indexes 192 | # 1 or yes: need check 193 | # 0 or no: do not check 194 | # default value is 0 195 | check_file_duplicate=0 196 | 197 | # file signature method for check file duplicate 198 | ## hash: four 32 bits hash code 199 | ## md5: MD5 signature 200 | # default value is hash 201 | # since V4.01 202 | file_signature_method=hash 203 | 204 | # namespace for storing file indexes (key-value pairs) 205 | # this item must be set when check_file_duplicate is true / on 206 | key_namespace=FastDFS 207 | 208 | # set keep_alive to 1 to enable persistent connection with FastDHT servers 209 | # default value is 0 (short connection) 210 | keep_alive=0 211 | 212 | # you can use "#include filename" (not include double quotes) directive to 213 | # load FastDHT server list, when the filename is a relative path such as 214 | # pure filename, the base path is the base path of current/this config file. 215 | # must set FastDHT server list when check_file_duplicate is true / on 216 | # please see INSTALL of FastDHT for detail 217 | ##include /home/yuqing/fastdht/conf/fdht_servers.conf 218 | 219 | # if log to access log 220 | # default value is false 221 | # since V4.00 222 | use_access_log = false 223 | 224 | # if rotate the access log every day 225 | # default value is false 226 | # since V4.00 227 | rotate_access_log = false 228 | 229 | # rotate access log time base, time format: Hour:Minute 230 | # Hour from 0 to 23, Minute from 0 to 59 231 | # default value is 00:00 232 | # since V4.00 233 | access_log_rotate_time=00:00 234 | 235 | # if rotate the error log every day 236 | # default value is false 237 | # since V4.02 238 | rotate_error_log = false 239 | 240 | # rotate error log time base, time format: Hour:Minute 241 | # Hour from 0 to 23, Minute from 0 to 59 242 | # default value is 00:00 243 | # since V4.02 244 | error_log_rotate_time=00:00 245 | 246 | # rotate access log when the log file exceeds this size 247 | # 0 means never rotates log file by log file size 248 | # default value is 0 249 | # since V4.02 250 | rotate_access_log_size = 0 251 | 252 | # rotate error log when the log file exceeds this size 253 | # 0 means never rotates log file by log file size 254 | # default value is 0 255 | # since V4.02 256 | rotate_error_log_size = 0 257 | 258 | # keep days of the log files 259 | # 0 means do not delete old log files 260 | # default value is 0 261 | log_file_keep_days = 0 262 | 263 | # if skip the invalid record when sync file 264 | # default value is false 265 | # since V4.02 266 | file_sync_skip_invalid_record=false 267 | 268 | # if use connection pool 269 | # default value is false 270 | # since V4.05 271 | use_connection_pool = false 272 | 273 | # connections whose the idle time exceeds this time will be closed 274 | # unit: second 275 | # default value is 3600 276 | # since V4.05 277 | connection_pool_max_idle_time = 3600 278 | 279 | # use the ip address of this storage server if domain_name is empty, 280 | # else this domain name will ocur in the url redirected by the tracker server 281 | http.domain_name= 282 | 283 | # the port of the web server on this storage server 284 | http.server_port=8888 285 | 286 | -------------------------------------------------------------------------------- /conf/mime.types: -------------------------------------------------------------------------------- 1 | # This is a comment. I love comments. 2 | 3 | # This file controls what Internet media types are sent to the client for 4 | # given file extension(s). Sending the correct media type to the client 5 | # is important so they know how to handle the content of the file. 6 | # Extra types can either be added here or by using an AddType directive 7 | # in your config files. For more information about Internet media types, 8 | # please read RFC 2045, 2046, 2047, 2048, and 2077. The Internet media type 9 | # registry is at . 10 | 11 | # MIME type Extensions 12 | application/activemessage 13 | application/andrew-inset ez 14 | application/applefile 15 | application/atom+xml atom 16 | application/atomcat+xml atomcat 17 | application/atomicmail 18 | application/atomsvc+xml atomsvc 19 | application/auth-policy+xml 20 | application/batch-smtp 21 | application/beep+xml 22 | application/cals-1840 23 | application/ccxml+xml ccxml 24 | application/cellml+xml 25 | application/cnrp+xml 26 | application/commonground 27 | application/conference-info+xml 28 | application/cpl+xml 29 | application/csta+xml 30 | application/cstadata+xml 31 | application/cybercash 32 | application/davmount+xml davmount 33 | application/dca-rft 34 | application/dec-dx 35 | application/dialog-info+xml 36 | application/dicom 37 | application/dns 38 | application/dvcs 39 | application/ecmascript ecma 40 | application/edi-consent 41 | application/edi-x12 42 | application/edifact 43 | application/epp+xml 44 | application/eshop 45 | application/fastinfoset 46 | application/fastsoap 47 | application/fits 48 | application/font-tdpfr pfr 49 | application/h224 50 | application/http 51 | application/hyperstudio stk 52 | application/iges 53 | application/im-iscomposing+xml 54 | application/index 55 | application/index.cmd 56 | application/index.obj 57 | application/index.response 58 | application/index.vnd 59 | application/iotp 60 | application/ipp 61 | application/isup 62 | application/javascript js 63 | application/json json 64 | application/kpml-request+xml 65 | application/kpml-response+xml 66 | application/lost+xml lostxml 67 | application/mac-binhex40 hqx 68 | application/mac-compactpro cpt 69 | application/macwriteii 70 | application/marc mrc 71 | application/mathematica ma nb mb 72 | application/mathml+xml mathml 73 | application/mbms-associated-procedure-description+xml 74 | application/mbms-deregister+xml 75 | application/mbms-envelope+xml 76 | application/mbms-msk+xml 77 | application/mbms-msk-response+xml 78 | application/mbms-protection-description+xml 79 | application/mbms-reception-report+xml 80 | application/mbms-register+xml 81 | application/mbms-register-response+xml 82 | application/mbms-user-service-description+xml 83 | application/mbox mbox 84 | application/media_control+xml 85 | application/mediaservercontrol+xml mscml 86 | application/mikey 87 | application/moss-keys 88 | application/moss-signature 89 | application/mosskey-data 90 | application/mosskey-request 91 | application/mp4 mp4s 92 | application/mpeg4-generic 93 | application/mpeg4-iod 94 | application/mpeg4-iod-xmt 95 | application/msword doc dot 96 | application/mxf mxf 97 | application/nasdata 98 | application/news-transmission 99 | application/nss 100 | application/ocsp-request 101 | application/ocsp-response 102 | application/octet-stream bin dms lha lzh class so iso dmg dist distz pkg bpk dump elc 103 | application/oda oda 104 | application/oebps-package+xml 105 | application/ogg ogx 106 | application/parityfec 107 | application/patch-ops-error+xml xer 108 | application/pdf pdf 109 | application/pgp-encrypted pgp 110 | application/pgp-keys 111 | application/pgp-signature asc sig 112 | application/pics-rules prf 113 | application/pidf+xml 114 | application/pidf-diff+xml 115 | application/pkcs10 p10 116 | application/pkcs7-mime p7m p7c 117 | application/pkcs7-signature p7s 118 | application/pkix-cert cer 119 | application/pkix-crl crl 120 | application/pkix-pkipath pkipath 121 | application/pkixcmp pki 122 | application/pls+xml pls 123 | application/poc-settings+xml 124 | application/postscript ai eps ps 125 | application/prs.alvestrand.titrax-sheet 126 | application/prs.cww cww 127 | application/prs.nprend 128 | application/prs.plucker 129 | application/qsig 130 | application/rdf+xml rdf 131 | application/reginfo+xml rif 132 | application/relax-ng-compact-syntax rnc 133 | application/remote-printing 134 | application/resource-lists+xml rl 135 | application/resource-lists-diff+xml rld 136 | application/riscos 137 | application/rlmi+xml 138 | application/rls-services+xml rs 139 | application/rsd+xml rsd 140 | application/rss+xml rss 141 | application/rtf rtf 142 | application/rtx 143 | application/samlassertion+xml 144 | application/samlmetadata+xml 145 | application/sbml+xml sbml 146 | application/scvp-cv-request scq 147 | application/scvp-cv-response scs 148 | application/scvp-vp-request spq 149 | application/scvp-vp-response spp 150 | application/sdp sdp 151 | application/set-payment 152 | application/set-payment-initiation setpay 153 | application/set-registration 154 | application/set-registration-initiation setreg 155 | application/sgml 156 | application/sgml-open-catalog 157 | application/shf+xml shf 158 | application/sieve 159 | application/simple-filter+xml 160 | application/simple-message-summary 161 | application/simplesymbolcontainer 162 | application/slate 163 | application/smil 164 | application/smil+xml smi smil 165 | application/soap+fastinfoset 166 | application/soap+xml 167 | application/sparql-query rq 168 | application/sparql-results+xml srx 169 | application/spirits-event+xml 170 | application/srgs gram 171 | application/srgs+xml grxml 172 | application/ssml+xml ssml 173 | application/timestamp-query 174 | application/timestamp-reply 175 | application/tve-trigger 176 | application/ulpfec 177 | application/vemmi 178 | application/vividence.scriptfile 179 | application/vnd.3gpp.bsf+xml 180 | application/vnd.3gpp.pic-bw-large plb 181 | application/vnd.3gpp.pic-bw-small psb 182 | application/vnd.3gpp.pic-bw-var pvb 183 | application/vnd.3gpp.sms 184 | application/vnd.3gpp2.bcmcsinfo+xml 185 | application/vnd.3gpp2.sms 186 | application/vnd.3gpp2.tcap tcap 187 | application/vnd.3m.post-it-notes pwn 188 | application/vnd.accpac.simply.aso aso 189 | application/vnd.accpac.simply.imp imp 190 | application/vnd.acucobol acu 191 | application/vnd.acucorp atc acutc 192 | application/vnd.adobe.xdp+xml xdp 193 | application/vnd.adobe.xfdf xfdf 194 | application/vnd.aether.imp 195 | application/vnd.americandynamics.acc acc 196 | application/vnd.amiga.ami ami 197 | application/vnd.anser-web-certificate-issue-initiation cii 198 | application/vnd.anser-web-funds-transfer-initiation fti 199 | application/vnd.antix.game-component atx 200 | application/vnd.apple.installer+xml mpkg 201 | application/vnd.arastra.swi swi 202 | application/vnd.audiograph aep 203 | application/vnd.autopackage 204 | application/vnd.avistar+xml 205 | application/vnd.blueice.multipass mpm 206 | application/vnd.bmi bmi 207 | application/vnd.businessobjects rep 208 | application/vnd.cab-jscript 209 | application/vnd.canon-cpdl 210 | application/vnd.canon-lips 211 | application/vnd.cendio.thinlinc.clientconf 212 | application/vnd.chemdraw+xml cdxml 213 | application/vnd.chipnuts.karaoke-mmd mmd 214 | application/vnd.cinderella cdy 215 | application/vnd.cirpack.isdn-ext 216 | application/vnd.claymore cla 217 | application/vnd.clonk.c4group c4g c4d c4f c4p c4u 218 | application/vnd.commerce-battelle 219 | application/vnd.commonspace csp cst 220 | application/vnd.contact.cmsg cdbcmsg 221 | application/vnd.cosmocaller cmc 222 | application/vnd.crick.clicker clkx 223 | application/vnd.crick.clicker.keyboard clkk 224 | application/vnd.crick.clicker.palette clkp 225 | application/vnd.crick.clicker.template clkt 226 | application/vnd.crick.clicker.wordbank clkw 227 | application/vnd.criticaltools.wbs+xml wbs 228 | application/vnd.ctc-posml pml 229 | application/vnd.ctct.ws+xml 230 | application/vnd.cups-pdf 231 | application/vnd.cups-postscript 232 | application/vnd.cups-ppd ppd 233 | application/vnd.cups-raster 234 | application/vnd.cups-raw 235 | application/vnd.curl curl 236 | application/vnd.cybank 237 | application/vnd.data-vision.rdz rdz 238 | application/vnd.denovo.fcselayout-link fe_launch 239 | application/vnd.dna dna 240 | application/vnd.dolby.mlp mlp 241 | application/vnd.dpgraph dpg 242 | application/vnd.dreamfactory dfac 243 | application/vnd.dvb.esgcontainer 244 | application/vnd.dvb.ipdcesgaccess 245 | application/vnd.dvb.iptv.alfec-base 246 | application/vnd.dvb.iptv.alfec-enhancement 247 | application/vnd.dxr 248 | application/vnd.ecdis-update 249 | application/vnd.ecowin.chart mag 250 | application/vnd.ecowin.filerequest 251 | application/vnd.ecowin.fileupdate 252 | application/vnd.ecowin.series 253 | application/vnd.ecowin.seriesrequest 254 | application/vnd.ecowin.seriesupdate 255 | application/vnd.enliven nml 256 | application/vnd.epson.esf esf 257 | application/vnd.epson.msf msf 258 | application/vnd.epson.quickanime qam 259 | application/vnd.epson.salt slt 260 | application/vnd.epson.ssf ssf 261 | application/vnd.ericsson.quickcall 262 | application/vnd.eszigno3+xml es3 et3 263 | application/vnd.eudora.data 264 | application/vnd.ezpix-album ez2 265 | application/vnd.ezpix-package ez3 266 | application/vnd.fdf fdf 267 | application/vnd.ffsns 268 | application/vnd.fints 269 | application/vnd.flographit gph 270 | application/vnd.fluxtime.clip ftc 271 | application/vnd.font-fontforge-sfd 272 | application/vnd.framemaker fm frame maker 273 | application/vnd.frogans.fnc fnc 274 | application/vnd.frogans.ltf ltf 275 | application/vnd.fsc.weblaunch fsc 276 | application/vnd.fujitsu.oasys oas 277 | application/vnd.fujitsu.oasys2 oa2 278 | application/vnd.fujitsu.oasys3 oa3 279 | application/vnd.fujitsu.oasysgp fg5 280 | application/vnd.fujitsu.oasysprs bh2 281 | application/vnd.fujixerox.art-ex 282 | application/vnd.fujixerox.art4 283 | application/vnd.fujixerox.hbpl 284 | application/vnd.fujixerox.ddd ddd 285 | application/vnd.fujixerox.docuworks xdw 286 | application/vnd.fujixerox.docuworks.binder xbd 287 | application/vnd.fut-misnet 288 | application/vnd.fuzzysheet fzs 289 | application/vnd.genomatix.tuxedo txd 290 | application/vnd.gmx gmx 291 | application/vnd.google-earth.kml+xml kml 292 | application/vnd.google-earth.kmz kmz 293 | application/vnd.grafeq gqf gqs 294 | application/vnd.gridmp 295 | application/vnd.groove-account gac 296 | application/vnd.groove-help ghf 297 | application/vnd.groove-identity-message gim 298 | application/vnd.groove-injector grv 299 | application/vnd.groove-tool-message gtm 300 | application/vnd.groove-tool-template tpl 301 | application/vnd.groove-vcard vcg 302 | application/vnd.handheld-entertainment+xml zmm 303 | application/vnd.hbci hbci 304 | application/vnd.hcl-bireports 305 | application/vnd.hhe.lesson-player les 306 | application/vnd.hp-hpgl hpgl 307 | application/vnd.hp-hpid hpid 308 | application/vnd.hp-hps hps 309 | application/vnd.hp-jlyt jlt 310 | application/vnd.hp-pcl pcl 311 | application/vnd.hp-pclxl pclxl 312 | application/vnd.httphone 313 | application/vnd.hydrostatix.sof-data sfd-hdstx 314 | application/vnd.hzn-3d-crossword x3d 315 | application/vnd.ibm.afplinedata 316 | application/vnd.ibm.electronic-media 317 | application/vnd.ibm.minipay mpy 318 | application/vnd.ibm.modcap afp listafp list3820 319 | application/vnd.ibm.rights-management irm 320 | application/vnd.ibm.secure-container sc 321 | application/vnd.iccprofile icc icm 322 | application/vnd.igloader igl 323 | application/vnd.immervision-ivp ivp 324 | application/vnd.immervision-ivu ivu 325 | application/vnd.informedcontrol.rms+xml 326 | application/vnd.intercon.formnet xpw xpx 327 | application/vnd.intertrust.digibox 328 | application/vnd.intertrust.nncp 329 | application/vnd.intu.qbo qbo 330 | application/vnd.intu.qfx qfx 331 | application/vnd.iptc.g2.conceptitem+xml 332 | application/vnd.iptc.g2.knowledgeitem+xml 333 | application/vnd.iptc.g2.newsitem+xml 334 | application/vnd.iptc.g2.packageitem+xml 335 | application/vnd.ipunplugged.rcprofile rcprofile 336 | application/vnd.irepository.package+xml irp 337 | application/vnd.is-xpr xpr 338 | application/vnd.jam jam 339 | application/vnd.japannet-directory-service 340 | application/vnd.japannet-jpnstore-wakeup 341 | application/vnd.japannet-payment-wakeup 342 | application/vnd.japannet-registration 343 | application/vnd.japannet-registration-wakeup 344 | application/vnd.japannet-setstore-wakeup 345 | application/vnd.japannet-verification 346 | application/vnd.japannet-verification-wakeup 347 | application/vnd.jcp.javame.midlet-rms rms 348 | application/vnd.jisp jisp 349 | application/vnd.joost.joda-archive joda 350 | application/vnd.kahootz ktz ktr 351 | application/vnd.kde.karbon karbon 352 | application/vnd.kde.kchart chrt 353 | application/vnd.kde.kformula kfo 354 | application/vnd.kde.kivio flw 355 | application/vnd.kde.kontour kon 356 | application/vnd.kde.kpresenter kpr kpt 357 | application/vnd.kde.kspread ksp 358 | application/vnd.kde.kword kwd kwt 359 | application/vnd.kenameaapp htke 360 | application/vnd.kidspiration kia 361 | application/vnd.kinar kne knp 362 | application/vnd.koan skp skd skt skm 363 | application/vnd.kodak-descriptor sse 364 | application/vnd.liberty-request+xml 365 | application/vnd.llamagraphics.life-balance.desktop lbd 366 | application/vnd.llamagraphics.life-balance.exchange+xml lbe 367 | application/vnd.lotus-1-2-3 123 368 | application/vnd.lotus-approach apr 369 | application/vnd.lotus-freelance pre 370 | application/vnd.lotus-notes nsf 371 | application/vnd.lotus-organizer org 372 | application/vnd.lotus-screencam scm 373 | application/vnd.lotus-wordpro lwp 374 | application/vnd.macports.portpkg portpkg 375 | application/vnd.marlin.drm.actiontoken+xml 376 | application/vnd.marlin.drm.conftoken+xml 377 | application/vnd.marlin.drm.license+xml 378 | application/vnd.marlin.drm.mdcf 379 | application/vnd.mcd mcd 380 | application/vnd.medcalcdata mc1 381 | application/vnd.mediastation.cdkey cdkey 382 | application/vnd.meridian-slingshot 383 | application/vnd.mfer mwf 384 | application/vnd.mfmp mfm 385 | application/vnd.micrografx.flo flo 386 | application/vnd.micrografx.igx igx 387 | application/vnd.mif mif 388 | application/vnd.minisoft-hp3000-save 389 | application/vnd.mitsubishi.misty-guard.trustweb 390 | application/vnd.mobius.daf daf 391 | application/vnd.mobius.dis dis 392 | application/vnd.mobius.mbk mbk 393 | application/vnd.mobius.mqy mqy 394 | application/vnd.mobius.msl msl 395 | application/vnd.mobius.plc plc 396 | application/vnd.mobius.txf txf 397 | application/vnd.mophun.application mpn 398 | application/vnd.mophun.certificate mpc 399 | application/vnd.motorola.flexsuite 400 | application/vnd.motorola.flexsuite.adsi 401 | application/vnd.motorola.flexsuite.fis 402 | application/vnd.motorola.flexsuite.gotap 403 | application/vnd.motorola.flexsuite.kmr 404 | application/vnd.motorola.flexsuite.ttc 405 | application/vnd.motorola.flexsuite.wem 406 | application/vnd.motorola.iprm 407 | application/vnd.mozilla.xul+xml xul 408 | application/vnd.ms-artgalry cil 409 | application/vnd.ms-asf asf 410 | application/vnd.ms-cab-compressed cab 411 | application/vnd.ms-excel xls xlm xla xlc xlt xlw 412 | application/vnd.ms-fontobject eot 413 | application/vnd.ms-htmlhelp chm 414 | application/vnd.ms-ims ims 415 | application/vnd.ms-lrm lrm 416 | application/vnd.ms-playready.initiator+xml 417 | application/vnd.ms-powerpoint ppt pps pot 418 | application/vnd.ms-project mpp mpt 419 | application/vnd.ms-tnef 420 | application/vnd.ms-wmdrm.lic-chlg-req 421 | application/vnd.ms-wmdrm.lic-resp 422 | application/vnd.ms-wmdrm.meter-chlg-req 423 | application/vnd.ms-wmdrm.meter-resp 424 | application/vnd.ms-works wps wks wcm wdb 425 | application/vnd.ms-wpl wpl 426 | application/vnd.ms-xpsdocument xps 427 | application/vnd.mseq mseq 428 | application/vnd.msign 429 | application/vnd.multiad.creator 430 | application/vnd.multiad.creator.cif 431 | application/vnd.music-niff 432 | application/vnd.musician mus 433 | application/vnd.muvee.style msty 434 | application/vnd.ncd.control 435 | application/vnd.ncd.reference 436 | application/vnd.nervana 437 | application/vnd.netfpx 438 | application/vnd.neurolanguage.nlu nlu 439 | application/vnd.noblenet-directory nnd 440 | application/vnd.noblenet-sealer nns 441 | application/vnd.noblenet-web nnw 442 | application/vnd.nokia.catalogs 443 | application/vnd.nokia.conml+wbxml 444 | application/vnd.nokia.conml+xml 445 | application/vnd.nokia.isds-radio-presets 446 | application/vnd.nokia.iptv.config+xml 447 | application/vnd.nokia.landmark+wbxml 448 | application/vnd.nokia.landmark+xml 449 | application/vnd.nokia.landmarkcollection+xml 450 | application/vnd.nokia.n-gage.ac+xml 451 | application/vnd.nokia.n-gage.data ngdat 452 | application/vnd.nokia.n-gage.symbian.install n-gage 453 | application/vnd.nokia.ncd 454 | application/vnd.nokia.pcd+wbxml 455 | application/vnd.nokia.pcd+xml 456 | application/vnd.nokia.radio-preset rpst 457 | application/vnd.nokia.radio-presets rpss 458 | application/vnd.novadigm.edm edm 459 | application/vnd.novadigm.edx edx 460 | application/vnd.novadigm.ext ext 461 | application/vnd.oasis.opendocument.chart odc 462 | application/vnd.oasis.opendocument.chart-template otc 463 | application/vnd.oasis.opendocument.formula odf 464 | application/vnd.oasis.opendocument.formula-template otf 465 | application/vnd.oasis.opendocument.graphics odg 466 | application/vnd.oasis.opendocument.graphics-template otg 467 | application/vnd.oasis.opendocument.image odi 468 | application/vnd.oasis.opendocument.image-template oti 469 | application/vnd.oasis.opendocument.presentation odp 470 | application/vnd.oasis.opendocument.presentation-template otp 471 | application/vnd.oasis.opendocument.spreadsheet ods 472 | application/vnd.oasis.opendocument.spreadsheet-template ots 473 | application/vnd.oasis.opendocument.text odt 474 | application/vnd.oasis.opendocument.text-master otm 475 | application/vnd.oasis.opendocument.text-template ott 476 | application/vnd.oasis.opendocument.text-web oth 477 | application/vnd.obn 478 | application/vnd.olpc-sugar xo 479 | application/vnd.oma-scws-config 480 | application/vnd.oma-scws-http-request 481 | application/vnd.oma-scws-http-response 482 | application/vnd.oma.bcast.associated-procedure-parameter+xml 483 | application/vnd.oma.bcast.drm-trigger+xml 484 | application/vnd.oma.bcast.imd+xml 485 | application/vnd.oma.bcast.ltkm 486 | application/vnd.oma.bcast.notification+xml 487 | application/vnd.oma.bcast.provisioningtrigger 488 | application/vnd.oma.bcast.sgboot 489 | application/vnd.oma.bcast.sgdd+xml 490 | application/vnd.oma.bcast.sgdu 491 | application/vnd.oma.bcast.simple-symbol-container 492 | application/vnd.oma.bcast.smartcard-trigger+xml 493 | application/vnd.oma.bcast.sprov+xml 494 | application/vnd.oma.bcast.stkm 495 | application/vnd.oma.dcd 496 | application/vnd.oma.dcdc 497 | application/vnd.oma.dd2+xml dd2 498 | application/vnd.oma.drm.risd+xml 499 | application/vnd.oma.group-usage-list+xml 500 | application/vnd.oma.poc.detailed-progress-report+xml 501 | application/vnd.oma.poc.final-report+xml 502 | application/vnd.oma.poc.groups+xml 503 | application/vnd.oma.poc.invocation-descriptor+xml 504 | application/vnd.oma.poc.optimized-progress-report+xml 505 | application/vnd.oma.xcap-directory+xml 506 | application/vnd.omads-email+xml 507 | application/vnd.omads-file+xml 508 | application/vnd.omads-folder+xml 509 | application/vnd.omaloc-supl-init 510 | application/vnd.openofficeorg.extension oxt 511 | application/vnd.osa.netdeploy 512 | application/vnd.osgi.dp dp 513 | application/vnd.otps.ct-kip+xml 514 | application/vnd.palm prc pdb pqa oprc 515 | application/vnd.paos.xml 516 | application/vnd.pg.format str 517 | application/vnd.pg.osasli ei6 518 | application/vnd.piaccess.application-licence 519 | application/vnd.picsel efif 520 | application/vnd.poc.group-advertisement+xml 521 | application/vnd.pocketlearn plf 522 | application/vnd.powerbuilder6 pbd 523 | application/vnd.powerbuilder6-s 524 | application/vnd.powerbuilder7 525 | application/vnd.powerbuilder7-s 526 | application/vnd.powerbuilder75 527 | application/vnd.powerbuilder75-s 528 | application/vnd.preminet 529 | application/vnd.previewsystems.box box 530 | application/vnd.proteus.magazine mgz 531 | application/vnd.publishare-delta-tree qps 532 | application/vnd.pvi.ptid1 ptid 533 | application/vnd.pwg-multiplexed 534 | application/vnd.pwg-xhtml-print+xml 535 | application/vnd.qualcomm.brew-app-res 536 | application/vnd.quark.quarkxpress qxd qxt qwd qwt qxl qxb 537 | application/vnd.rapid 538 | application/vnd.recordare.musicxml mxl 539 | application/vnd.recordare.musicxml+xml 540 | application/vnd.renlearn.rlprint 541 | application/vnd.rn-realmedia rm 542 | application/vnd.route66.link66+xml link66 543 | application/vnd.ruckus.download 544 | application/vnd.s3sms 545 | application/vnd.sbm.mid2 546 | application/vnd.scribus 547 | application/vnd.sealed.3df 548 | application/vnd.sealed.csf 549 | application/vnd.sealed.doc 550 | application/vnd.sealed.eml 551 | application/vnd.sealed.mht 552 | application/vnd.sealed.net 553 | application/vnd.sealed.ppt 554 | application/vnd.sealed.tiff 555 | application/vnd.sealed.xls 556 | application/vnd.sealedmedia.softseal.html 557 | application/vnd.sealedmedia.softseal.pdf 558 | application/vnd.seemail see 559 | application/vnd.sema sema 560 | application/vnd.semd semd 561 | application/vnd.semf semf 562 | application/vnd.shana.informed.formdata ifm 563 | application/vnd.shana.informed.formtemplate itp 564 | application/vnd.shana.informed.interchange iif 565 | application/vnd.shana.informed.package ipk 566 | application/vnd.simtech-mindmapper twd twds 567 | application/vnd.smaf mmf 568 | application/vnd.software602.filler.form+xml 569 | application/vnd.software602.filler.form-xml-zip 570 | application/vnd.solent.sdkm+xml sdkm sdkd 571 | application/vnd.spotfire.dxp dxp 572 | application/vnd.spotfire.sfs sfs 573 | application/vnd.sss-cod 574 | application/vnd.sss-dtf 575 | application/vnd.sss-ntf 576 | application/vnd.street-stream 577 | application/vnd.sun.wadl+xml 578 | application/vnd.sus-calendar sus susp 579 | application/vnd.svd svd 580 | application/vnd.swiftview-ics 581 | application/vnd.syncml+xml xsm 582 | application/vnd.syncml.dm+wbxml bdm 583 | application/vnd.syncml.dm+xml xdm 584 | application/vnd.syncml.ds.notification 585 | application/vnd.tao.intent-module-archive tao 586 | application/vnd.tmobile-livetv tmo 587 | application/vnd.trid.tpt tpt 588 | application/vnd.triscape.mxs mxs 589 | application/vnd.trueapp tra 590 | application/vnd.truedoc 591 | application/vnd.ufdl ufd ufdl 592 | application/vnd.uiq.theme utz 593 | application/vnd.umajin umj 594 | application/vnd.unity unityweb 595 | application/vnd.uoml+xml uoml 596 | application/vnd.uplanet.alert 597 | application/vnd.uplanet.alert-wbxml 598 | application/vnd.uplanet.bearer-choice 599 | application/vnd.uplanet.bearer-choice-wbxml 600 | application/vnd.uplanet.cacheop 601 | application/vnd.uplanet.cacheop-wbxml 602 | application/vnd.uplanet.channel 603 | application/vnd.uplanet.channel-wbxml 604 | application/vnd.uplanet.list 605 | application/vnd.uplanet.list-wbxml 606 | application/vnd.uplanet.listcmd 607 | application/vnd.uplanet.listcmd-wbxml 608 | application/vnd.uplanet.signal 609 | application/vnd.vcx vcx 610 | application/vnd.vd-study 611 | application/vnd.vectorworks 612 | application/vnd.vidsoft.vidconference 613 | application/vnd.visio vsd vst vss vsw 614 | application/vnd.visionary vis 615 | application/vnd.vividence.scriptfile 616 | application/vnd.vsf vsf 617 | application/vnd.wap.sic 618 | application/vnd.wap.slc 619 | application/vnd.wap.wbxml wbxml 620 | application/vnd.wap.wmlc wmlc 621 | application/vnd.wap.wmlscriptc wmlsc 622 | application/vnd.webturbo wtb 623 | application/vnd.wfa.wsc 624 | application/vnd.wmc 625 | application/vnd.wmf.bootstrap 626 | application/vnd.wordperfect wpd 627 | application/vnd.wqd wqd 628 | application/vnd.wrq-hp3000-labelled 629 | application/vnd.wt.stf stf 630 | application/vnd.wv.csp+wbxml 631 | application/vnd.wv.csp+xml 632 | application/vnd.wv.ssp+xml 633 | application/vnd.xara xar 634 | application/vnd.xfdl xfdl 635 | application/vnd.xmi+xml 636 | application/vnd.xmpie.cpkg 637 | application/vnd.xmpie.dpkg 638 | application/vnd.xmpie.plan 639 | application/vnd.xmpie.ppkg 640 | application/vnd.xmpie.xlim 641 | application/vnd.yamaha.hv-dic hvd 642 | application/vnd.yamaha.hv-script hvs 643 | application/vnd.yamaha.hv-voice hvp 644 | application/vnd.yamaha.smaf-audio saf 645 | application/vnd.yamaha.smaf-phrase spf 646 | application/vnd.yellowriver-custom-menu cmp 647 | application/vnd.zzazz.deck+xml zaz 648 | application/voicexml+xml vxml 649 | application/watcherinfo+xml 650 | application/whoispp-query 651 | application/whoispp-response 652 | application/winhlp hlp 653 | application/wita 654 | application/wordperfect5.1 655 | application/wsdl+xml wsdl 656 | application/wspolicy+xml wspolicy 657 | application/x-ace-compressed ace 658 | application/x-bcpio bcpio 659 | application/x-bittorrent torrent 660 | application/x-bzip bz 661 | application/x-bzip2 bz2 boz 662 | application/x-cdlink vcd 663 | application/x-chat chat 664 | application/x-chess-pgn pgn 665 | application/x-compress 666 | application/x-cpio cpio 667 | application/x-csh csh 668 | application/x-director dcr dir dxr fgd 669 | application/x-dvi dvi 670 | application/x-futuresplash spl 671 | application/x-gtar gtar 672 | application/x-gzip 673 | application/x-hdf hdf 674 | application/x-latex latex 675 | application/x-ms-wmd wmd 676 | application/x-ms-wmz wmz 677 | application/x-msaccess mdb 678 | application/x-msbinder obd 679 | application/x-mscardfile crd 680 | application/x-msclip clp 681 | application/x-msdownload exe dll com bat msi 682 | application/x-msmediaview mvb m13 m14 683 | application/x-msmetafile wmf 684 | application/x-msmoney mny 685 | application/x-mspublisher pub 686 | application/x-msschedule scd 687 | application/x-msterminal trm 688 | application/x-mswrite wri 689 | application/x-netcdf nc cdf 690 | application/x-pkcs12 p12 pfx 691 | application/x-pkcs7-certificates p7b spc 692 | application/x-pkcs7-certreqresp p7r 693 | application/x-rar-compressed rar 694 | application/x-sh sh 695 | application/x-shar shar 696 | application/x-shockwave-flash swf 697 | application/x-stuffit sit 698 | application/x-stuffitx sitx 699 | application/x-sv4cpio sv4cpio 700 | application/x-sv4crc sv4crc 701 | application/x-tar tar 702 | application/x-tcl tcl 703 | application/x-tex tex 704 | application/x-texinfo texinfo texi 705 | application/x-ustar ustar 706 | application/x-wais-source src 707 | application/x-x509-ca-cert der crt 708 | application/x400-bp 709 | application/xcap-att+xml 710 | application/xcap-caps+xml 711 | application/xcap-el+xml 712 | application/xcap-error+xml 713 | application/xcap-ns+xml 714 | application/xenc+xml xenc 715 | application/xhtml+xml xhtml xht 716 | application/xml xml xsl 717 | application/xml-dtd dtd 718 | application/xml-external-parsed-entity 719 | application/xmpp+xml 720 | application/xop+xml xop 721 | application/xslt+xml xslt 722 | application/xspf+xml xspf 723 | application/xv+xml mxml xhvml xvml xvm 724 | application/zip zip 725 | audio/32kadpcm 726 | audio/3gpp 727 | audio/3gpp2 728 | audio/ac3 729 | audio/amr 730 | audio/amr-wb 731 | audio/amr-wb+ 732 | audio/asc 733 | audio/basic au snd 734 | audio/bv16 735 | audio/bv32 736 | audio/clearmode 737 | audio/cn 738 | audio/dat12 739 | audio/dls 740 | audio/dsr-es201108 741 | audio/dsr-es202050 742 | audio/dsr-es202211 743 | audio/dsr-es202212 744 | audio/dvi4 745 | audio/eac3 746 | audio/evrc 747 | audio/evrc-qcp 748 | audio/evrc0 749 | audio/evrc1 750 | audio/evrcb 751 | audio/evrcb0 752 | audio/evrcb1 753 | audio/evrcwb 754 | audio/evrcwb0 755 | audio/evrcwb1 756 | audio/g722 757 | audio/g7221 758 | audio/g723 759 | audio/g726-16 760 | audio/g726-24 761 | audio/g726-32 762 | audio/g726-40 763 | audio/g728 764 | audio/g729 765 | audio/g7291 766 | audio/g729d 767 | audio/g729e 768 | audio/gsm 769 | audio/gsm-efr 770 | audio/ilbc 771 | audio/l16 772 | audio/l20 773 | audio/l24 774 | audio/l8 775 | audio/lpc 776 | audio/midi mid midi kar rmi 777 | audio/mobile-xmf 778 | audio/mp4 mp4a 779 | audio/mp4a-latm 780 | audio/mpa 781 | audio/mpa-robust 782 | audio/mpeg mpga mp2 mp2a mp3 m2a m3a 783 | audio/mpeg4-generic 784 | audio/ogg oga ogg spx 785 | audio/parityfec 786 | audio/pcma 787 | audio/pcmu 788 | audio/prs.sid 789 | audio/qcelp 790 | audio/red 791 | audio/rtp-enc-aescm128 792 | audio/rtp-midi 793 | audio/rtx 794 | audio/smv 795 | audio/smv0 796 | audio/smv-qcp 797 | audio/sp-midi 798 | audio/t140c 799 | audio/t38 800 | audio/telephone-event 801 | audio/tone 802 | audio/ulpfec 803 | audio/vdvi 804 | audio/vmr-wb 805 | audio/vnd.3gpp.iufp 806 | audio/vnd.4sb 807 | audio/vnd.audiokoz 808 | audio/vnd.celp 809 | audio/vnd.cisco.nse 810 | audio/vnd.cmles.radio-events 811 | audio/vnd.cns.anp1 812 | audio/vnd.cns.inf1 813 | audio/vnd.digital-winds eol 814 | audio/vnd.dlna.adts 815 | audio/vnd.dolby.mlp 816 | audio/vnd.dts dts 817 | audio/vnd.dts.hd dtshd 818 | audio/vnd.everad.plj 819 | audio/vnd.hns.audio 820 | audio/vnd.lucent.voice lvp 821 | audio/vnd.ms-playready.media.pya pya 822 | audio/vnd.nokia.mobile-xmf 823 | audio/vnd.nortel.vbk 824 | audio/vnd.nuera.ecelp4800 ecelp4800 825 | audio/vnd.nuera.ecelp7470 ecelp7470 826 | audio/vnd.nuera.ecelp9600 ecelp9600 827 | audio/vnd.octel.sbc 828 | audio/vnd.qcelp 829 | audio/vnd.rhetorex.32kadpcm 830 | audio/vnd.sealedmedia.softseal.mpeg 831 | audio/vnd.vmx.cvsd 832 | audio/vorbis 833 | audio/vorbis-config 834 | audio/wav wav 835 | audio/x-aiff aif aiff aifc 836 | audio/x-mpegurl m3u 837 | audio/x-ms-wax wax 838 | audio/x-ms-wma wma 839 | audio/x-pn-realaudio ram ra 840 | audio/x-pn-realaudio-plugin rmp 841 | audio/x-wav wav 842 | chemical/x-cdx cdx 843 | chemical/x-cif cif 844 | chemical/x-cmdf cmdf 845 | chemical/x-cml cml 846 | chemical/x-csml csml 847 | chemical/x-pdb pdb 848 | chemical/x-xyz xyz 849 | image/bmp bmp 850 | image/cgm cgm 851 | image/fits 852 | image/g3fax g3 853 | image/gif gif 854 | image/ief ief 855 | image/jp2 856 | image/jpeg jpeg jpg jpe 857 | image/jpm 858 | image/jpx 859 | image/naplps 860 | image/png png 861 | image/prs.btif btif 862 | image/prs.pti 863 | image/svg+xml svg svgz 864 | image/t38 865 | image/tiff tiff tif 866 | image/tiff-fx 867 | image/vnd.adobe.photoshop psd 868 | image/vnd.cns.inf2 869 | image/vnd.djvu djvu djv 870 | image/vnd.dwg dwg 871 | image/vnd.dxf dxf 872 | image/vnd.fastbidsheet fbs 873 | image/vnd.fpx fpx 874 | image/vnd.fst fst 875 | image/vnd.fujixerox.edmics-mmr mmr 876 | image/vnd.fujixerox.edmics-rlc rlc 877 | image/vnd.globalgraphics.pgb 878 | image/vnd.microsoft.icon 879 | image/vnd.mix 880 | image/vnd.ms-modi mdi 881 | image/vnd.net-fpx npx 882 | image/vnd.sealed.png 883 | image/vnd.sealedmedia.softseal.gif 884 | image/vnd.sealedmedia.softseal.jpg 885 | image/vnd.svf 886 | image/vnd.wap.wbmp wbmp 887 | image/vnd.xiff xif 888 | image/x-cmu-raster ras 889 | image/x-cmx cmx 890 | image/x-icon ico 891 | image/x-pcx pcx 892 | image/x-pict pic pct 893 | image/x-portable-anymap pnm 894 | image/x-portable-bitmap pbm 895 | image/x-portable-graymap pgm 896 | image/x-portable-pixmap ppm 897 | image/x-rgb rgb 898 | image/x-xbitmap xbm 899 | image/x-xpixmap xpm 900 | image/x-xwindowdump xwd 901 | message/cpim 902 | message/delivery-status 903 | message/disposition-notification 904 | message/external-body 905 | message/global 906 | message/global-delivery-status 907 | message/global-disposition-notification 908 | message/global-headers 909 | message/http 910 | message/news 911 | message/partial 912 | message/rfc822 eml mime 913 | message/s-http 914 | message/sip 915 | message/sipfrag 916 | message/tracking-status 917 | message/vnd.si.simp 918 | model/iges igs iges 919 | model/mesh msh mesh silo 920 | model/vnd.dwf dwf 921 | model/vnd.flatland.3dml 922 | model/vnd.gdl gdl 923 | model/vnd.gs.gdl 924 | model/vnd.gtw gtw 925 | model/vnd.moml+xml 926 | model/vnd.mts mts 927 | model/vnd.parasolid.transmit.binary 928 | model/vnd.parasolid.transmit.text 929 | model/vnd.vtu vtu 930 | model/vrml wrl vrml 931 | multipart/alternative 932 | multipart/appledouble 933 | multipart/byteranges 934 | multipart/digest 935 | multipart/encrypted 936 | multipart/form-data 937 | multipart/header-set 938 | multipart/mixed 939 | multipart/parallel 940 | multipart/related 941 | multipart/report 942 | multipart/signed 943 | multipart/voice-message 944 | text/calendar ics ifb 945 | text/css css 946 | text/csv csv 947 | text/directory 948 | text/dns 949 | text/enriched 950 | text/html html htm 951 | text/parityfec 952 | text/plain txt text conf def list log in 953 | text/prs.fallenstein.rst 954 | text/prs.lines.tag dsc 955 | text/red 956 | text/rfc822-headers 957 | text/richtext rtx 958 | text/rtf 959 | text/rtp-enc-aescm128 960 | text/rtx 961 | text/sgml sgml sgm 962 | text/t140 963 | text/tab-separated-values tsv 964 | text/troff t tr roff man me ms 965 | text/ulpfec 966 | text/uri-list uri uris urls 967 | text/vnd.abc 968 | text/vnd.curl 969 | text/vnd.dmclientscript 970 | text/vnd.esmertec.theme-descriptor 971 | text/vnd.fly fly 972 | text/vnd.fmi.flexstor flx 973 | text/vnd.graphviz gv 974 | text/vnd.in3d.3dml 3dml 975 | text/vnd.in3d.spot spot 976 | text/vnd.iptc.newsml 977 | text/vnd.iptc.nitf 978 | text/vnd.latex-z 979 | text/vnd.motorola.reflex 980 | text/vnd.ms-mediapackage 981 | text/vnd.net2phone.commcenter.command 982 | text/vnd.si.uricatalogue 983 | text/vnd.sun.j2me.app-descriptor jad 984 | text/vnd.trolltech.linguist 985 | text/vnd.wap.si 986 | text/vnd.wap.sl 987 | text/vnd.wap.wml wml 988 | text/vnd.wap.wmlscript wmls 989 | text/x-asm s asm 990 | text/x-c c cc cxx cpp h hh dic 991 | text/x-fortran f for f77 f90 992 | text/x-pascal p pas 993 | text/x-java-source java 994 | text/x-setext etx 995 | text/x-uuencode uu 996 | text/x-vcalendar vcs 997 | text/x-vcard vcf 998 | text/xml 999 | text/xml-external-parsed-entity 1000 | video/3gpp 3gp 1001 | video/3gpp-tt 1002 | video/3gpp2 3g2 1003 | video/bmpeg 1004 | video/bt656 1005 | video/celb 1006 | video/dv 1007 | video/h261 h261 1008 | video/h263 h263 1009 | video/h263-1998 1010 | video/h263-2000 1011 | video/h264 h264 1012 | video/jpeg jpgv 1013 | video/jpeg2000 1014 | video/jpm jpm jpgm 1015 | video/mj2 mj2 mjp2 1016 | video/mp1s 1017 | video/mp2p 1018 | video/mp2t 1019 | video/mp4 mp4 mp4v mpg4 1020 | video/mp4v-es 1021 | video/mpeg mpeg mpg mpe m1v m2v 1022 | video/mpeg4-generic 1023 | video/mpv 1024 | video/nv 1025 | video/ogg ogv 1026 | video/parityfec 1027 | video/pointer 1028 | video/quicktime qt mov 1029 | video/raw 1030 | video/rtp-enc-aescm128 1031 | video/rtx 1032 | video/smpte292m 1033 | video/ulpfec 1034 | video/vc1 1035 | video/vnd.cctv 1036 | video/vnd.dlna.mpeg-tts 1037 | video/vnd.fvt fvt 1038 | video/vnd.hns.video 1039 | video/vnd.iptvforum.1dparityfec-1010 1040 | video/vnd.iptvforum.1dparityfec-2005 1041 | video/vnd.iptvforum.2dparityfec-1010 1042 | video/vnd.iptvforum.2dparityfec-2005 1043 | video/vnd.iptvforum.ttsavc 1044 | video/vnd.iptvforum.ttsmpeg2 1045 | video/vnd.motorola.video 1046 | video/vnd.motorola.videop 1047 | video/vnd.mpegurl mxu m4u 1048 | video/vnd.ms-playready.media.pyv pyv 1049 | video/vnd.nokia.interleaved-multimedia 1050 | video/vnd.nokia.videovoip 1051 | video/vnd.objectvideo 1052 | video/vnd.sealed.mpeg1 1053 | video/vnd.sealed.mpeg4 1054 | video/vnd.sealed.swf 1055 | video/vnd.sealedmedia.softseal.mov 1056 | video/vnd.vivo viv 1057 | video/x-fli fli 1058 | video/x-ms-asf asf asx 1059 | video/x-ms-wm wm 1060 | video/x-ms-wmv wmv 1061 | video/x-ms-wmx wmx 1062 | video/x-ms-wvx wvx 1063 | video/x-msvideo avi 1064 | video/x-sgi-movie movie 1065 | x-conference/x-cooltalk ice 1066 | --------------------------------------------------------------------------------