1# $Id: giftd.conf.plugin,v 1.1.1.1 2008/10/15 03:28:08 james26_jang Exp $
2###############################################################################
3
4###############################################################################
5# MAIN
6
7[main]
8
9#
10# Boolean determining whether or not this file has been reviewed and is
11# complete.  giFT will fail to start unless this is non-zero.  This is done
12# so that we can make sure you, at the very least, read through this file.
13#
14# Default: 0
15#
16setup = 1
17
18#
19# Space separated list of hosts to allow connection to giFT's interface
20# protocol (running default on port 1213).  This protocol is used for GUIs
21# to communicate with giFT and could be considered a security risk to allow
22# external connections.
23#
24# The following special keywords are supported:
25#
26#  ALL       - Synonym for 0.0.0.0/0
27#  LOCAL     - Synonym for 127.0.0.0/8 192.168.0.0/16 172.0.0.0/11 10.0.0.0/8
28#
29# Bitwidth fields are optional.
30#
31# Default: LOCAL
32#
33hosts_allow = LOCAL
34
35#
36# Port on which to listen for user interface connections.  Unless you have a
37# special need to talk to the client on a non-standard port, just accept the
38# default.
39#
40# NOTE:
41#  If you change this value, you will also need to modify the ui.conf
42#  configuration for the machine which will be making outgoing connections
43#  here.
44#
45client_port = 1213
46
47#
48# Determines whether or not to follow symbolic links.  If this value is set
49# non-zero, symlinks will be traversed and a directory inode tracking system
50# will be used to ensure that giFT does not descend the same directory
51# twice.  If you do not have any symlinks or do not want them traversed, set
52# this to 0 for a very minor efficiency gain.
53#
54# Windows users: this setting has no effect.
55#
56# Default: 1
57#
58follow_symlinks = 1
59
60#
61# Colon separated list of protocol plugins to load by default.  If dynamic
62# library support is enabled, the plugin specified will be stat'd to check if
63# it is a loadable path.  If that fails, the fallback method is to attempt to
64# construct the fully qualified path based on the configured environment.
65#
66# NOTES:
67#  Without dynamic library support, this plugin must have been compiled into
68#  your giFT binary.  With, this plugin must exist in the installed
69#  plugin directory.  giFT -V will output this path to you, if you are not
70#  sure.
71#
72#  Protocol names are case sensitive, so use OpenFT, not Openft.
73#
74# For example, to use the OpenFT and Gnutella protocols use:
75#
76#  OpenFT:Gnutella
77#
78# Default: none
79#
80#plugins = OpenFT:Gnutella:FastTrack
81plugins = FastTrack:Gnutella
82
83###############################################################################
84# DOWNLOAD CONTROLS
85
86[download]
87
88#
89# Directory to store transfers while they are being operated on.  Temporary
90# state files are also kept here.  It is recommended, but not required, that
91# the incoming and completed directories are on the same partition (drive).
92#
93# Windows users: please use the following path specification:
94#
95# incoming=/[drive]/dir1/dir2
96#
97# For example, to refer to C:\Program Files\giFT\incoming, use:
98#
99# incoming=/C/Program Files/giFT/incoming
100#
101# Default (*nix):    ~/.giFT/incoming
102# Default (Windows): /C/Program Files/giFT/incoming
103#
104incoming = /shares/etc/.giFT/incoming
105
106#
107# Directory which will contain files after they have successfully finished
108# downloading.
109#
110# Default (*nix):    ~/.giFT/completed
111# Default (Windows): /C/Program Files/giFT/completed
112#
113#completed = ~/.giFT/completed
114completed = ~
115
116###############################################################################
117# SHARE SUBMISSION AND UPLOAD CONTROL
118
119[sharing]
120
121#
122# Maximum amount of uploads allowed from the same user at any given time.  It
123# is recommended that you keep this at 1 in order to prevent users from
124# unfairly queueing your connection.
125#
126# Default: 1
127#
128max_peruser_uploads = 1
129
130#
131# Determines whether or not to hide directories which contain a leading dot.
132# These directories are commonly meant to be "hidden" and thus should not be
133# submitted to the network.  Selecting 0 here will submit all directories.
134#
135# On Windows files will additionally be checked for the hidden attribute and
136# not shared if it is set and hide_dot_files is 1.
137#
138# Default: 1
139#
140hide_dot_files = 1
141
142#
143# Colon separated list of fully qualified paths you wish to share.  These
144# directories will be recursed at giFT's startup and the files contained
145# within will be subjected to an MD5 hashing.  The results will be cached and
146# will only be recalculated on a per share basis when the size or
147# modification time in the cache and on disk disagree, or the file name is
148# changed.
149#
150# Sanity notice:
151#  Do NOT share source directories!  Remote nodes will refuse to index your
152#  shares if you are attempting to submit more than 64000 files.
153#
154# Security notice:
155#  Do not share directories which may contain sensitive information, such as
156#  ~ ($HOME).  Also note that any directories shared here will be stripped of
157#  all but the last path element when submitted to other nodes for indexing,
158#  effectively "hiding" the directory prefix.
159#
160# Windows users: please use the following path specification:
161#
162#  /[drive]/dir1/dir2:/[drive]/dir3/dir4 ...
163#
164# For example, to refer to C:\Program Files\giFT\shares and D:\shares, use:
165#
166#  /C/Program Files/giFT/shares:/D/shares
167#
168# Default: none
169#
170root = ~
171
172#
173# Maximum amount of simultaneous uploads allowed.  Setting this to 0 will
174# cause giFT to not limit outgoing transfers.  Use shares_hidden to disable
175# sharing.
176#
177# Default: 0
178#
179max_uploads = 0
180
181#
182# Whether we allow sharing.  Setting this to 0 will allow sharing and uploads
183# up to max_uploads.  If this is 1 your shares will be hidden from the world
184# and uploading will be denied.  This may also be handled at run time via your
185# GUI of choice.
186#
187# Default: 0
188#
189shares_hidden = 0
190
191#
192# Controls when giFT periodically rescans your shared directories for any
193# changes (new files, missing files, changed files, etc.) and communicates
194# those changes to the underlying protocols.  This parameter specifies how
195# often (in seconds) you want that to happen.
196#
197# For your reference
198# ==================
199# 0        turns off periodic auto-resync
200# 3600     one hour
201# 86400    one day
202# 604800   one week
203#
204# Default: 86400
205#
206auto_resync_interval = 86400
207
208#
209# Controls whether or not giFT should automatically share files that you have
210# finished downloading.  This feature significantly improves the network's
211# abundance of files and helps ease the load on those sharing popular files.
212# It's a Good Thing (TM), please leave it on.
213#
214# Avoid setting your completed directories through sharing/root, as that
215# setting will duplicate recursion of the completed directory and cause
216# generally undesirable results.
217#
218# Default: 1
219#
220share_completed = 1
221
222#
223# Controls whether giFT ignores the incoming directory when sharing files. If
224# this is 1 and the incoming directory is within one of the sharing roots all
225# files in and below it will not be shared. This is what you want in all known
226# universes. Should you find yourself running this software on a parallel
227# world where it is necessary to share the incoming files please make sure it
228# doesn't affect us back here. Thank you.
229#
230# Default: 1
231#
232ignore_incoming = 1
233
234###############################################################################
235# USER SPACE BANDWIDTH CONTROL
236
237[bandwidth]
238
239#
240# Bandwidth throttling allows giFT to have some basic control over your
241# bandwidth usage.  This code operates in user space, and as a result can not
242# guarantee perfect accuracy.  If you wish to use this feature, please
243# consider using a more reliable kernel space option first.  As always, google
244# should be able to assist you there.
245#
246# The following configuration switches control the maximum number of bytes
247# per second allowed for the given stream direction.  A setting of 0 will
248# disable throttling for that direction.
249#
250# Default: 0
251#
252downstream = 0
253upstream = 0
254