ApexDC Windows User Guide
ApexDC Windows User Guide
1 Introduction
Each article has been made by an ApexDC++ Forums user. Below you have the guide
shortcuts, including it's makers.
Æ For more information and details, please visit the ApexDC++ Website.
Æ queue.xml (downloads)
Æ dcplusplus.xml (settings - not recommended, since conflicts can occur)
Æ favourites.xml (favourite users)
Æ hashdata.data and hashindex.xml (share hash data)
Æ adlsearch.xml (adl search preferences)
Æ profiles.xml (client detection rules)
4. Start up ApexDC++
You should now have all your downloads, settings etc. Please note that DC++'s
settings is different to ApexDC++ (less options), so go through your settings and
check them.
3 Additional Hublists
Additional Hublists
In this guide you'll be presented with alternative addresses to download hublists within
ApexDC++. You'll be able to use these hublists in any DC++ client, but we recommend
ApexDC++.
Æ Hublists Æ Copy any of the following addresses ready to place into ApexDC++.
Æ http://dchublist.com/hublist.xml.bz2
Æ http://www.hublist.co.uk/hublist.xml.bz2
Æ http://www.cnet.cz/list.txt
Æ http://www.hublist.org/PublicHubList.xml.bz2
1. Open ApexDC++ and click on the Public Hubs toolbar icon (first from left)
2. Go to Configure
3. Paste new address in and click Add
4. Use the dropdown box in the previous window to select between the range of
hublists
1. Enter your external IP in the settings dialog and try again Æ Use this site
2. Check your firewall configuration. You need to make sure it's allowing or
forwarding incoming connections on the port specified in the settings. You have to
enable both TCP and UDP traffic. If you can download files but not search in active
mode, this means that UDP packets are still blocked. Read the FAQ on how to set up
active mode.
3. Your school/work might be blocking DC traffic. Read the FAQ on what you might
be able to do about it.
4. If the above things don't work for you, you'll have to use passive mode (if the hub
allows it).
1. Select the Direct Connection radio button in ApexDC++ connection settings. Leave the IP fields
blank.
2. This will make DC++ use the current IP assigned to your network card. You must not have an
internal IP address for this to work.
3. Leave the TCP/UDP ports blank also. This will make ApexDC++ randomize the port it uses each
time.
5. Test active mode by joining several hubs and doing a search. You should get results back. If not,
then you are behind a router, have an internal IP address, or haven't properly configured your software
firewall.
1. You can simplify the process of setting up active mode if your router and operating system is
UPnP compatible. Read this FAQ for more information. If UPnP does not work or is not an option,
follow the steps below.
2. First you need to set up the router to forward the connections to the computer with ApexDC++.
This is could be called port mapping, port redirecting, port forwarding or something like that. Find
out how to do this with your router / NAT in the user manual. If you dont have a user manual handy
or it does not tell you, go to www.portforward.com and look for the make and model of your router in
the list. Click on it, then choose ApexDC++. Follow the instructions. If your particular model is not
included, you can try with a similar model, as sometimes the user environment looks the same.
3. You need to forward one port. Select a number between 1024 - 65535, they should mostly all be
available. Make sure both UDP and TCP are being forwarded on the port you chose.
4. The IP that you are forwarding to should be the internal IP address of your ApexDC++ computer.
It usually begins with "192.168", "172.16." or "10.x.". Click on Start | Choose Run | Type cmd into the
window and press ok. | A black window opens. | In the black window, type ipconfig /all. | Take note of
the internal IP address of your computer and place this number in the relevant field of your router
settings, to make sure the ports are forwarded to the right address.
5. When you have mapped a port on the router, open up ApexDC++ and go to Settings. Select
"Firewall with manual port forwarding". In the port fields, enter the port number that you are forwarding
on the router.
6. In the IP field, you need to enter the external IP address of your router. This can easily be
checked on here.
7. It should now be working. If it is working for a while, but the next time you use ApexDC++, you
only get Connection Timeout's or no results when searching, your IP (either external or internal) is
likely to have changed.
8. If you find the external IP is constantly changing (DSL users often experience this), you can set
yourself up with a dynamic name (i.e. myname.kicks-ass.net). Such as Dynip or DynDns and put that
name into the IP field. Make sure to use an update client, which will update the dynamic name service
with your latest IP.
9. When troubleshooting if you have properly forwarded a port to ApexDC++, use www.
canyouseeme.org. Make sure ApexDC++ is open. Then from the site, enter in the port you're
forwarding and click Check. If everything has been properly set up, the site should say Success. If you
get Error, then you need to double check the port forwarding on the router, ApexDC++ settings and
possibly your software firewall settings.
Due to ApexDC++ being a new modification, many hub operators haven't already
heard about the program and created tags for it to be identified in their hub. This in
turn results to message similar to above.
Æ The Solution:
Once the hub operator has evaluated the client he may allow the ApexDC++ tag in his
hub. If he doesn't, you need to use the emulation feature in ApexDC++. You can do
this by following the instructions below:
1. Add the hub you're wanting to enter to your favourites (type /fav in main chat or
right click on the hub tab)
7 Emulation Explained
Emulation Explained
You ever ran across a hub doesn't let you in with ApexDC++ because one of the
following reasons:
All these relatively common problems can be solved by turning on client emulation in
ApexDC++, emulation in DC simply put means that you are telling to hub that you use
i.e. DC++, but in reality you are actually using i.e. ApexDC++, which usually allows
you to bypass errors like above.
Æ Case A (connecting to hub from public hub lists window or via Quick Connect):
No need to do anything as when you connect using these two methods emulation is
automatically
used. (assuming that hub is not in your favourites.)
Æ Note: When you add a hub that requires emulation to your favourites special steps
are required to turn
emulation on, as emulation of favourites is hub specific:
Æ You cannot have 100% undetectable emulation if you use transfer rate limiting as
then L:X is displayed in your tag (x = upload limit).
There are 4 versions of the person (user icon) - green, yellow, warning icon, red - and
a mine icon.
Æ [T] = TTH tree available (file is being verified during the download)
Æ [Z] = transfer compressed using ZLIB
Æ [R] = rollback used for continuation
Æ [S] = trusted encrypted transfer
Æ [C] = chunked transfers (not there yet)
Æ [U] = untrusted encrypted transfer
Æ [P] = partial file sharing source
You will notice little ticks in the beginning of progress bars in version 0.2.2 and above.
You can configure them from Settings Æ Appearance Æ Progress bar colors. Their
purpose is to give you a quick idea how fast your upload or download speed is: the
more ticks, the faster the transfer is. The maximum number of ticks is five and the
minimal is one. The left ticks are yellow or orange, the right are red.
When this option is ON. if a user leaves the hub and he is downloading from you in
that hub. they will be disconnected.
Æ Always use passive mode for Search (use only if you know exactly what
your doing) Æ Default:OFF
If this is on it allows you to perform search results as a passive user but whilst
still downloading as active user.
Æ Send unknown /commands to the hub Æ Default:OFF
If this is on and you type a message starting with forward slash in either the main
chat or private chat. It will only me sent to the client if the client has a response it will
send the response to the hub otherwise it will be dropped.
Default:OFF
Same as above but for downloading.
Would become:
Æ Special characters like ä,ö etc are formatted as they are when using UTF-8
compatible editor, so no *& (star is there to disable auto conversion) etc. needed.
(if you don't use UTF-8 compatible editor you need to add these as usual)
Æ If the string has %s etc. that means program will replace it with value so don't
change their order (in short: don't touch those, but only translate words around them).
Æ Bind Address:
This is an Advance user setting. If you are a beginner you can set this to 0.0.0.0. As
said above this is normally set to 0.0.0.0 and most users do not want to change this.
However If you have two network interfaces you will need to use this option, Set this
to the LAN IP which is connected to the internet. ApexDC++ will then only use
that particular network interface for all connections. If binding fails, it will do so
silently and INADDR_ANY will be used instead.
If you experience connection problems make sure that this is set to default. (default:
0.0.0.0). This feature requires a restart
Æ Direct Connections
This should be used if you computer is connected directly to the Internet. With no
firewall. If this is the case you should seriously think about getting a firewall. Sunbelt
Kerio personal firewall is a good free software firewalls.
Windows XP is the first Microsoft operating system to support UPnP. This option is
therefore disabled for operating systems before this. Universal Plug And Play (UPnP) is
a technology to allow, among other things, Internet applications to configure home
routers and gateways, bypassing the need to perform manual port forwarding.
To take advantage of UPnP, you must have support enabled in Windows and UPnP
capable hardware (typically a broadband router using NAT traversal). If you meet both
of these requirements you should enable this setting (requires restart). If your UPnP
system is setup correctly, ApexDC++ will now automatically create the required port
mappings for ApexDC++ to operate in Active Mode.
Æ Please see the following page for more information on UPnP and how to enable it
here
Select this mode if you are behind a firewall/router. You will need to specify the
external IP address of your router. Alternatively you could use the Get IP Address
button. For ApexDC++ to work properly in this mode, it requires access on TCP and
UDP listening ports, as well as outgoing access on all ports for both TCP and UDP. First
you need to set up your router to forward ApexDC++ connections to the computer
which has ApexDC++ running. This process is normally called Port mapping/
redirecting/forwarding or something like that. The following page has examples of how
to perform port forwarding with many different routers port forwarding.
You need to forward two ports, one TCP and one UDP (the TLS port can be ignored),
these can be the same port number. Select your Port(s) numbers between 1024 – 6000
(any port is valid. However for performance reasons it is recommended that on
windows box this should be between 1000 & 6000) theses should mostly all be free.
Make sure both UDP and TCP is being forwarded. To ensure everything is set up
correctly please use the check settings button unfortunately this is not always correct.
The best way to test is to just do something. To test that UDP is working perform a
search (use something common like film), if you receive
results UDP forwarding is working. if you can download one of the results then TCP
forwarding is working, i generally try to get a file list as this is small and normally
doesn't need you to queue.
This option dose exactly what it says on the tin. i.e. If enabled ApexDC++ will only
use the settings which you have entered. If this is not enabled your UPnP device can/
will change these settings dynamically to try and attempt to get the best performance.
Æ Update IP on Startup:
Again this one is pretty self explanatory. If this is enabled the Get IP Address button is
press when ApexDC++ is started/run.
Select this mode if none of the previous options apply or work. This mode carries some
limitations:
For best performance you should try to enable Active mode with one of the
methods above.
Æ Direct Connection
If you are not using a socks 5 proxy or do not know what one is you should choose this
setting.
Æ SOCKS5
Select this mode if you want to make outbound connections through a SOCKS proxy.
The caveats for Firewall (passive) mode also apply here. SOCKS5 proxies are not the
same as HTTP proxies. ApexDC++'s SOCKS5 support does not include GSSAPI.
Æ Socks IP
This is the IP, not host name, of your SOCKS5 server.
Æ Port
The port that your SOCKS5 server runs on. The default is 1080.
Æ Login
Login name for the SOCKS5 proxy; may be required.
Æ Password
Password for the SOCKS5 proxy; may be required.
Enable this to use the SOCKS5 proxy, instead of the local name server, to resolve host
names.
The program will now be blocking any IP addresses in the block list.
Æ When enabled this logs every block in the system.log file (if logging is enabled).
Also you can view them by holding your mouse over the bottom bar of ApexDC++.
Æ Reload Blocklist Button Æ Reloads the list of blocked IPs. Use this if you have
modified it. Reloaded at ApexDC++ startup;
Æ Update Blocklist Button Æ Connects to the internet to download the updated blocklist
definitions.
Æ Here you can select what ApexDC++ will block if the connecting IP is in the blocklist
- can you download from him, can that user download from you, and will you answer
his searches.
Æ This shows you how many blocked IP ranges are in your blocklist.