summaryrefslogtreecommitdiff
blob: ccc458663caadcef318c8aef5a8aa77c51b84eed (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
[mode]
# SYNOPSIS: NETWORK_MODE= 0 | 1 | 2 | 3
# 0 - remote mirrors (default)
# 1 - proxy fetcher
# 2 - local mirrors
# 3 - CoralCDN
# - If set to 0, segget will use ONLY mirror list provided by portage
# system, and will NOT use the list from network0_mirrors.conf file.
# - If set to 1 or 2, segget will replace mirror list provided by portage
# system with the list from network#_mirrors.conf file
# - If set to 3, segget will convert mirrors provided by portage system
# to use CoralCDN caches.
# In some cases it's necessary to make segget prefer local mirrors over
# the remote ones. For this purpose define settings for 2 networks: 
# settings for network0 (to provide access to local mirrors), 
# settings for network1 (to provide access to remote ones).
# 1) Set the following options in segget.conf file:
# [networks]
# network0_priority=10
# network1_priority=9
# As you can see network0 (with local mirrors) has higher priority than 
# network1 (with mirrors provided by portage).
# 2) Set NETWORK_MODE=2 in network0.conf file.
# 3) Create network0_mirrors.conf file with the list of your local 
# mirrors.
# For example, network0_mirrors.conf may look like this:
# http://192.168.210.12/
# ftp://192.168.210.205/
# http://192.168.210.56/
# 4) Set NETWORK_MODE=0 in network1.conf file, 
# so segget will use remote mirrors working via this network.
# NOTE: Actually network0 and network1 can be the same LAN with only 
# one ip address set on the host. The only difference is that in case of
# network1 segget will have to use a gateway to access remote mirrors.
# Default:
# network_mode=0
network_mode=0

[network_bind]
# BIND INTERFACE / IP
# Pass a string as parameter. This sets the interface name to use as outgoing 
# network interface. The name can be an interface name, an IP address, or a host 
# name. No binding is set by default.
# Default:
# bind_interface=none
bind_interface=none

# BIND_LOCAL_PORT
# This sets the local port number of the socket used for connection. This option
# can be used in combination with BIND_INTERFACE and you are recommended to
# use BIND_LOCAL_PORT_RANGE as well when this is set. Set to 0 - to disable
# binding. Valid port numbers are 1 - 65535.
# Minimum value: 0 (no binding)
# Maximum value: 65535
# Default:
# bind_local_port=0
bind_local_port=0

# BIND_LOCAL_PORT_RANGE
# If BIND_LOCAL_PORT=0 this option will be ignored.
# This is the number of attempts segget should make to find a 
# working local port number. It starts with the given BIND_LOCAL_PORT and adds 
# one to the number for each retry. Setting this to 1 or below will make segget 
# do only one try for the exact port number. Port numbers by nature are scarce 
# resources that will be busy at times so setting this value to something too 
# low might cause unnecessary connection setup failures.
# Minimum value: 1
# Maximum value: 65535
# Default:
# bind_local_port_range=20
bind_local_port_range=20

[network_connections]
# NETWORK_MAX_CONNECTIONS
# Define maximum number of connections
# Minimum value: 1
# Maximum value: 20
# Default:
# max_connections=10
max_connections=3

# CONNECTION_TIMEOUT
# Set the number of seconds to wait while trying to connect. Use 0 to wait 
# indefinitely. Pass a long. It should contain the maximum time in seconds that 
# you allow the connection to the server to take. This only limits the connection
# phase, once it has connected, this option is of no more use. Set to zero to 
# disable connection timeout (it will then only timeout on the system's internal 
# timeouts). See also the TIMEOUT option.
# Minimum value: 1
# Maximum value: 1000
# Default:
# connection_timeout=15
connection_timeout=150

# FTP_RESPONSE_TIMEOUT
# Set a timeout period (in seconds) on the amount of time that the server is 
# allowed to take in order to generate a response message for a command before the
# session is considered hung. While awaiting for a response, this value overrides 
# TIMEOUT. It is recommended that if used in conjunction with TIMEOUT, you set 
# FTP_RESPONSE_TIMEOUT to a value smaller than TIMEOUT.
# Minimum value: 1
# Maximum value: -1 (for no limit)
# Default:
# ftp_response_timeout=180
ftp_response_timeout=1800

# TIMEOUT
# maximum amount of time to download segment in seconds
# Set the maximum number of seconds for a connection to execute.
# Pass a long as parameter containing the maximum time in seconds that you allow 
# the transfer operation to take. Normally, name lookups can take a considerable 
# time and limiting operations to less than a few minutes risk aborting perfectly
# normal operations.
# Minimum value: 100
# Maximum value: -1 (for no limit)
# Default:
# timeout=500
timeout=5000

# LOW_CONNECTION_SPEED_LIMIT
# Define the low speed limit for connection. Pass a long as parameter. It 
# contains the transfer speed in bytes per second that the transfer should be 
# below during LOW_CONNECTION_SPEED_TIME seconds to consider it too slow and abort.
# Minimum value: 1
# Maximum value: -1 (-1 for no limit)
# Default:
# low_connection_speed_limit=1000
low_connection_speed_limit=1000

# LOW_CONNECTION_SPEED_TIME
# Pass a long as parameter. It contains the time in seconds that the transfer 
# should be below the LOW_CONNECTION_SPEED_LIMIT to consider it too slow and abort.
# Minimum value: 1
# Maximum value: 600
# Default:
# low_connection_speed_time=10
low_connection_speed_time=10

# MAX_CONNECTION_SPEED
# If a download exceeds this speed (counted in bytes per second) on cumulative 
# average during the transfer, the transfer will pause to keep the average rate 
# less than or equal to the parameter value. Defaults to unlimited speed.
# Minimum value: 1
# Maximum value: -1 (-1 for no limit)
# Default:
# max_connection_speed=0
max_connection_speed=3000

# SYNOPSIS: FOLLOW_LOCATION= 0 | 1
# A parameter set to 1 tells segget to follow any Location: header that the server
# sends as part of an HTTP header. This means that the segget will re-send the
# same request on the new location and follow new Location: headers all the way
# until no more such headers are returned. MAX_REDIRS can be used to limit the
# number of redirects segget will follow.
# Default:
# follow_location=1
follow_location=1

# MAX_REDIRS
# The set number will be the redirection limit. If that many redirections have
# been followed, the next redirect will cause an error. This option only makes
# sense if the FOLLOW_LOCATION is used at the same time.
# Setting the limit to 0 will make segget refuse any redirect.
# Minimum value: 0
# Maximum value: 100
# Default:
# max_redirs=5
max_redirs=5

[network_protocols]
# SYNOPSIS: http_on=0 | 1
# Default: 
# http_on=1
# NOT IMPLEMENTED YET: http_on=1

# SYNOPSIS: ftp_on=0 | 1
# Default: 
# ftp_on=1
# NOT IMPLEMENTED YET: ftp_on=1

[network_user_data]
# USER_AGENT
# Set the User-Agent: header in the http request sent to the remote server. 
# This can be used to fool servers or scripts.
# Default:
# user_agent=segget
user_agent=segget

# Specify the user and password for authentication on a ftp servers.
# NOT IMPLEMENTED YET: ftp-user=anonymous
# NOT IMPLEMENTED YET: ftp-password=me@mail.ru

[network_proxy]
# PROXY_IP_OR_NAME
# Specify a proxy to use (address and port).
# Set HTTP proxy to use. The parameter should be a string holding the proxy host
# name or dotted IP address. To specify port number in this string, 
# append :[port] to the end of the host name. The proxy string may be prefixed 
# with [protocol]:// since any such prefix will be ignored. The proxy's port 
# number may optionally be specified with the separate option. If not specified,
# by default port 1080 will be used for proxies.
# When you tell segget to use an HTTP proxy, segget will transparently convert 
# operations to HTTP even if you specify an FTP URL etc.
# Segget respects the environment variables http_proxy, ftp_proxy, all_proxy etc,
# if any of those are set. The PROXY option does however override any possibly 
# set environment variables.
# Default:
# proxy_ip_or_name=none
proxy_ip_or_name=none

# PROXY_PORT
# Set the proxy port to connect to unless it is specified in the PROXY option.
# Minimum value: 1
# Maximum value: 65535
# Default:
# proxy_port=3128
proxy_port=3128

# PROXY_USER
# Set user name to use for the transfer while connecting to Proxy.
# The PROXY_USER option should be used in same way as the PROXY_PASSWORD is used.
# In order to specify the password to be used in conjunction with the user name
# use the PROXY_PASSWORD option.
# Default:
# proxy_user=none
proxy_user=none

# PROXY_PASSWORD
# Set password to use for the transfer while connecting to Proxy.
# The PROXY_PASSWORD option should be used in conjunction with the PROXY_USER 
# option.
# Default:
# proxy_password=none
proxy_password=none

# SYNOPSIS: PROXY_TYPE = 0 | 1 | 2 | 3 | 4 | 5
# 0 - HTTP
# 1 - HTTP_1_0
# 2 - SOCKS4
# 3 - SOCKS4a
# 4 - SOCKS5
# 5 - SOCKS5_HOSTNAME
# Specify type of the proxy.
# Default:
# proxy_type=0
proxy_type=0

# SYNOPSIS: proxy_off=0 | 1
# Setting the proxy_off=1 will explicitly disable the use of a proxy, even if 
# there is an environment variable set for it.
# Default:
# proxy_off=1
proxy_off=1

[network_proxy_fetcher]
# PROXY_FETCHER_IP
# This option is active only when NETWORK_MODE=1, in other cases it's ignored.
# Specify IP addres of the proxy-fetcher
# Default:
# proxy_fetcher_ip=none
proxy_fetcher_ip=none

# PROXY_FETCHER_PORT
# This option is active only when NETWORK_MODE=1, in other cases it's ignored.
# Specify proxy-fetcher address
# Default:
# proxy_fetcher_port=3131
proxy_fetcher_port=3131

# Specify the user and password for authentication on a proxy-fetcher-server.
# NOT IMPLEMENTED YET: proxy-fetcher-user=user
# NOT IMPLEMENTED YET: proxy-fetcher-password=password

[network_mirrors]
# SYNOPSIS: ONLY_LOCAL_WHEN_POSSIBLE=0 | 1
# If NETWORK_MODE=0 or NETWORK_MODE=1 this option will be ignored.
# - If set to 1, segget will not use remote mirrors with equal or lower
# priority until all mirrors in network#_mirrors.conf file have failed.
# - If set to 0, segget will use remote mirrors with equal priority or
# mirrors with lower priority when this network has NO free connections 
# (see option NETWORK_MAX_CONNECTIONS in [network_connections] section 
# of this file).
# NOTE: Following example for NETWORK_MODE option,
# if in network0.conf has option ONLY_LOCAL_WHEN_POSSIBLE=1, segget
# will NOT start to use network1 for a particular distfile until all
# mirrors specified in network0_mirrors.conf file will have failed 
# to provide this distfile.
# On the other hand if ONLY_LOCAL_WHEN_POSSIBLE=0 segget will start
# to use network1 as soon as NETWORK_MAX_CONNECTIONS limit, set
# in network0.conf file has been reached.
# Default:
# only_local_when_possible=1
only_local_when_possible=0