2.1 Installation
2.1.1 Uninstallation2.2 Connecting To Servers
2.2.1 Chat2.3 Dock
2.2.1.1 Chat Commands2.2.2 Server Info
2.2.1.2 User Info
2.2.1.3 Private Chat
2.2.3 News
2.2.4 Messages
2.2.5 Files
2.2.6 Search
2.2.7 Transfers
2.2.8 Accounts
2.4 Trackers
2.5 Menu Commands
2.5.1 Connection2.6 Preferences
2.5.2 View
2.5.3 Bookmarks
2.5.4 Window
2.6.1 General
2.6.2 Interface
2.6.3 Bookmarks
2.6.4 Chat
2.6.5 Events
2.6.6 Files
2.6.7 Trackers
3.1 Installation
3.1.1 Uninstallation3.2 Using the Pane
3.2.1 Status
3.2.2 Settings
3.2.3 Accounts
3.2.4 Advanced
3.2.5 System
4.1 Installation
4.1.1 Uninstallation4.2 Configuration
4.3 Running Wired Server
4.3.1 Using wiredctl4.4 Support Files
4.3.2 Command Line Flags
4.4.1 banlist4.5 Network
4.4.2 certificate.pem
4.4.3 groups
4.4.4 news
4.4.5 wired.status
4.4.6 users
4.6 Encryption
4.6.1 Selecting a Cipher
4.6.2 Certificates
5.1 Installation
5.1.1 Uninstallation
6.1 Installation
6.1.1 Uninstallation6.2 Configuration
6.3 Running Wired Tracker
6.3.1 Using trackerdctl6.4 Support Files
6.3.2 Command Line Flags
6.4.1 categories6.5 Network
6.4.2 servers
6.4.3 trackerd.status
Send a private message to the selected user. Can also be accessed by double-clicking on a user.
Starts a private chat with the selected user.
Shows user info for the selected user. Can also be accessed via "Get Info" on the connection menu.
Bans the selected user. If this button is disabled you do not have ban privileges.
Kicks the selected user. If this button is disabled you do not have kick privileges.
/nick morris
The following commands are supported:
broadcast Broadcast a message to all users.
Example: /broadcast restarting serverclear Clear the chat output.
Example: /clearexec Execute a shell command and send the output to the server as chat.
Example: /exec uptime, /exec top -l 1 | head -6me Sends the argument as action chat.
Example: /me is awaynick Sets the current nick name.
Example: /nick morrisstats Send some client statistics to the server as chat.
Example: /statsstatus Sets the current status.
Example: /status awaytopic Sets the chat topic.
Example: /topic welcome to my.server.com
Go back/forward in the directory history. Can also be accessed via the left/right arrow keys. Only available in list view.
Switch between list and column view.
Download the selected files and folders. If this button is disabled, you do not have download privileges.
Upload files and folders to the current directory. If this button is disabled, you do not have upload privileges.
Show info for the selected files and folders. Can also be accessed via "Get Info" on the connection menu.
Show a preview for the selected files. If this button is disabled, either the file is not viewable, or you do not have download privileges. The following file types can be previewed:
Plain text files (.txt, etc)
Images (.tiff, .jpg, .gif, etc)
PDF files (.pdf)
HTML files (.html)
RTF files (.rtf)
NFO files (.nfo)
Create a new folder in the current directory. If this button is disabled you do not have folder privileges.
Reload the current directory.
Delete the selected files and folders. If this button is disabled you do not have delete privileges.
Folder Only users with upload anywhere privileges can upload to these. Uploads Folder Users with upload privileges can upload to these. Drop Box Folder Users with upload privileges can upload to these. Only users with view drop boxes privileges can view them.
any All files and folders. folder Only folders. document Only files. audio Only audio files, songs and sounds. image Only image files. video Only video files and movies.
Server Connected | A connection to a server was completed. |
Server Disconnected | A connection to a server was terminated. |
Error | An error was displayed. |
User Joined | A user joined. |
User Changed Nick | A user changed his or her nick. |
User Changed Status | A user changed his or her status. |
User Left | A user left. |
Chat Received | A chat message was received. |
Message Received | A private message was received. |
News Posted | A message was posted to the news. |
Broadcast Received | A broadcast message was received. |
Transfer Started | A transfer was started. |
Transfer Finished | A transfer was completed. |
/Library/PreferencePanes/Wired
/Library/StartupItems/Wired
/Library/Wired
$ tar -xzf wired-latest.tar.gz
$ cd wired-X.X/
To build Wired, you first need to run the configure script. This figures out how to access libraries on your computer:
$ ./configure
For most installations, this will work. If you get an error, it may be that a library is either installed at an unknown location or simply not installed at all. For example, Wired requires the OpenSSL libraries. These are usually delivered with the OS, but not always at the same place. If you know, for instance, that they are actually installed as /usr/local/ssl/, you can tell the configure script to look for them there:
$ env CPPFLAGS="/usr/local/ssl/include" LDFLAGS="/usr/local/ssl/lib" \
./configure
By default, the configure script sets up the server for the user "wired" and the group "daemon". If you do not want a "wired" user, you can run configure like this:
$ ./configure --with-user=USER --with-group=GROUP
And it will install as that user/group. The install scripts uses /usr/local as the default prefix, which means that Wired will end up in /usr/local/wired/, and man pages in /usr/local/man/.
$ make
$ make install
The first command compiles and links Wired, the second installs the program and its supports files and manual pages. You may need root privileges to run the second command.
$ gmake
$ gmake install
rm -r /usr/local/wired/
Also remove the man pages installed:
rm /usr/local/man/man1/hl2wired.1
rm /usr/local/man/man1/wiredctl.1
rm /usr/local/man/man5/wired.conf.5
rm /usr/local/man/man8/wired.8
address |
A specific address to bind to, instead of binding to all available addresses. Can be specified more than once, for each address the server should listen on. Example: address = 127.0.0.1 |
ban time |
Number of seconds a temporary ban lasts. Example: ban time = 1800 |
bandwidth |
Connection bandwidth in bytes/sec. Sent to trackers on registration. Example: bandwidth = 64000 |
banlist |
Path to the banlist file. See also 4.4.1. Example: banlist = banlist |
banner |
Path to an image file that will be sent to clients as the banner. PNG file format is recommended. Maximum image size is 200x32 pixels. Example: banner = banner.png |
certificate |
Path to an OpenSSL certificate PEM file. It can be generated by the OpenSSL req program. See also 4.4.2. Example: certificate = etc/certificate.pem |
client downloads |
Maximum number of downloads per client. Example: client downloads = 1 |
client uploads |
Maximum number of uploads per client. Example: client uploads = 1 |
control cipher |
An OpenSSL cipher list to use for the control connection. See also 4.6.1. Example: control cipher = ALL:NULL:!MD5:@STRENGTH |
description |
A short description of the server. Example: description = My Wired Server |
files |
Path to the files directory. Example: files = files |
group |
Name or id of the group that Wired should operate as. Example: group = daemon |
groups |
Path to the groups file, which contains all group accounts. See also 4.4.3. Example: groups = groups |
idle time |
Number of seconds after which to mark inactive clients as idle. Example: idle time = 600 |
ignore expression |
A regular expression of patterns to ignore in file listings. Example: ignore expression = /CVS/ |
index |
Path to an index file. If it is defined, Wired will generate an index of all files. Example: index = files.index |
index time |
If set, indexes files after this many seconds. Without it, no automatic indexing takes place. Example: index time = 3600 |
name |
Name of the server. Example: name = Wired Server |
news |
Path to a news file. See also 4.4.4 Example: news = news |
news limit |
If set, the news file will be truncated after this many entries. Example: news limit = 100 |
pid |
Path to a file in which place to process id of the running Wired daemon. Example: pid = wired.pid |
port |
Port number to listen on. Example: port = 2000 |
register |
If set, registers will all configured trackers. Example: register = yes |
search method |
Method to use for client file searches. Can be either "live" for live search or "index" for indexed ones. If set to search the index, make sure the index has been enabled. Example: search method = index |
show dot files |
If set, file listings will include files beginning with a ".". Example: show dot files = no |
show invisible files |
If set, file listings will include files that are marked invisible by Mac OS. Only available on Mac OS X. Example: show invisible files = no |
status |
Path to a file in which to place the current status. See also 4.4.5. Example: status = wired.status |
total downloads |
Maximum number of downloads across all clients. Example: total downloads = 10 |
total download speed |
Maximum total speed of downloads in bytes/sec. Example: total download speed = 64000 |
total uploads |
Maximum number of uploads across all clients. Example: total uploads = 10 |
total upload speed |
Maximum total speed of uploads in bytes/sec. Example: total upload speed = 64000 |
tracker |
A URL of a tracker to register with. The tracker is connected to at startup, and then periodically informed with status updates. The path of the URL is the category to register as. Can be specified more than once, for each tracker that the server should register with. Example: tracker = wiredtracker://my.tracker.com/Regional/Europe |
transfer cipher |
An OpenSSL cipher list to use for transfer connections. See also 4.6.1. Example: transfer cipher = ALL:NULL:!MD5:@STRENGTH |
url |
The URL of this server to send to trackers. If this does not resolve back to the address the server is connecting from, the tracker may rewrite the URL or deny registration altogether. Example: url = wired://my.server.com/ |
user |
Name or id of the user that Wired should operate as. Example: user = wired |
users |
Path to the users file. See also 4.4.6. Example: users = users |
zeroconf |
If set, enables the use of Zeroconf service publication to allow clients on the local network to automatically find the server. Only available on Mac OS X. Example: zeroconf = yes |
$ wiredctl start
$ wiredctl reload
$ wiredctl stop
This starts the server, then reloads its configuration, and finally terminates it. The following commands are recognized by wiredctl:
start | Starts the Wired daemon. |
stop | Stops the Wired daemon. |
restart | Restarts the Wired daemon. All connections will be lost. |
reload | Tells the Wired daemon to reload its configuration by sending it the signal HUP. |
register | Tells the Wired daemon to register with all configured trackers by sending it the signal USR1. |
index | Tells the Wired daemon to index its files by sending it the signal USR2. |
config | Prints the current active configuration. |
configtest | Runs a configuration syntax test, to verify that the config file will be accepted. |
status | Prints a status summary. |
help | Prints a quick command guide. |
$ wiredctl start -ll
Which will pass the flags "-ll" to the Wired daemon, increasing its level of log detail.
# Flags to pass to wired
WIREDFLAGS="-d /usr/local/wired -ll -u"
This indicates that the above flags are always passed along when doing "wiredctl start". The flags can be edited at will.
-D | Enables debug mode. The daemon will remain in the foreground, and log messages will echo to standard error. |
-d server_root | Sets the server root path. Wired will attempt to locate its required files under this directory, and chroot to it unless -u is set. The default value is set to the path Wired was initially installed as, so it will most often not need to be set. |
-f config_file | Sets the path of the configuration file, relative to server_root. The default value is "etc/wired.conf". |
-h | Displays a brief help message and exits. |
-i log_lines | When logging to a file using -L, limit the number of lines the log may occupy to log_lines. |
-L log_file | Sets the path of the file that the daemon should log to. If it is not set, Wired will instead log via syslog. |
-l | Increases the log level. Without it, logging is limited to connects and disconnects. Used once, file transfers are also logged. Used twice, the daemon will also log user operations such as kicks, accounts edits, etc. |
-s syslog_facility | Sets the syslog facility to use for logging. See syslog.conf for information on possible values. The default value is "daemon". |
-t | Runs a configuration syntax test and exits. |
-u | By default, Wired will chroot to the server_root path. The -u flag disables this behaviour. As a result of the default secure behaviour, Wired cannot access any files outside server_root. |
-v | Displays version information and exits. |
name
can get user info
can broadcast
can post news
can clear news
can download
can upload
can upload anywhere
can create folders
can move files
can delete files
can view drop boxes
can create accounts
can edit accounts
can delete accounts
can elevate privileges
can kick users
can ban users
cannot be kicked
download speed limit
upload speed limit
download limit
upload limit
can set chat topic
nick
timestamp
post
time of startup
number of online users
total number of users
number of active downloads
total number of downloads
number of active uploads
total number of uploads
number of bytes downloaded
number of bytes uploaded
name
password
group
can get user info
can broadcast
can post news
can clear news
can download
can upload
can upload anywhere
can create folders
can move files
can delete files
can view drop boxes
can create accounts
can edit accounts
can delete accounts
can elevate privileges
can kick users
can ban users
cannot be kicked
download speed limit
upload speed limit
download limit
upload limit
can set chat topic
control cipher = ALL:!MD5:@STRENGTH
transfer cipher = ALL:NULL:!MD5:@STRENGTH
This creates a cipher list containing all supported ciphers, excluding MD5 based ones, sorted by strength. The second list also contains the NULL cipher, which allows unencrypted communication.
transfer cipher = RC4:ALL:!LOW:!EXP:!MD5
This creates a cipher list that has RC4 at its first position, the preferred cipher, then all other ciphers, excluding low strength, export controlled, and MD5 based. The end result is the same as above, instead that RC4 is preferred over the most secure cipher. RC4 is faster than 3DES and AES, and will tax your processor less.
openssl req -new -x509 -nodes \
-out /usr/local/wired/etc/certificate.pem \
-keyout /usr/local/wired/etc/certificate.pem
Make sure you also set the certificate key in the configuration.
/Library/StartupItems/Wired
/Library/Wired
$ tar -xzf wired-tracker-latest.tar.gz
$ cd wired-tracker-X.X/
To build Wired Tracker, you first need to run the configure script. This figures out how to access libraries on your computer:
$ ./configure
For most installations, this will work. If you get an error, it may be that a library is either installed at an unknown location or simply not installed at all. For example, Wired Tracker requires the OpenSSL libraries. These are usually delivered with the OS, but not always at the same place. If you know, for instance, that they are actually installed as /usr/local/ssl/, you can tell the configure script to look for them there:
$ env CPPFLAGS="/usr/local/ssl/include" LDFLAGS="/usr/local/ssl/lib" \
./configure
By default, the configure script sets up the server for the user "wired" and the group "daemon". If you do not want a "wired" user, you can run configure like this:
$ ./configure --with-user=USER --with-group=GROUP
And it will install as that user/group. The install scripts uses /usr/local as the default prefix, which means that Wired will end up in /usr/local/wired/, and man pages in /usr/local/man/.
$ make
$ make install
The first command compiles and links Wired Tracker, the second installs the program and its supports files and manual pages. You may need root privileges to run the second command.
rm -r /usr/local/wired/
Also remove the man pages installed:
rm /usr/local/man/man1/trackerdctl.1
rm /usr/local/man/man5/trackerd.conf.5
rm /usr/local/man/man8/trackerd.8
address |
A specific address to bind to, instead of binding to all available addresses. Can be specified more than once, for each address the tracker should listen on. Example: address = 127.0.0.1 |
allow multiple |
If set, allows a single IP to register multiple servers under different ports. Example: allow multiple = no |
banlist |
Path to the banlist file. See also 4.4.1. Example: banlist = banlist |
categories |
Path to the categories file. See also 6.4.1. Example: categories = categories |
certificate |
Path to an OpenSSL certificate PEM file. It can be generated by the OpenSSL req program. See also 4.4.2. Example: certificate = etc/certificate.pem |
cipher |
An OpenSSL cipher list to use for connections. See also 4.6.1. Example: control cipher = ALL:NULL:!MD5:@STRENGTH |
description |
A short description of the tracker. Example: description = My Wired Tracker |
group |
Name or id of the group that Wired Tracker should operate as. Example: group = daemon |
lookup |
If set, enables hostname lookup. This requires that the hostname a server tries to register with must resolve back to the IP it is connecting from. Example: lookup = yes |
max bandwidth |
Maximum bandwidth in bytes/sec a server may be registered with. Example: max bandwidth = 1280000 |
max update time |
Number of seconds a server must wait between updating. If a server attempts to update more often than this, it is removed from the list. Example: max update time = 30 |
min bandwidth |
Minimum bandwidth in bytes/sec a server may be registered with. Example: min bandwidth = 8000 |
min update time |
Number of seconds a server may go between updating. After this interval the server is remove from the list. Example: min update time = 300 |
name |
Name of the tracker. Example: name = Wired Tracker |
pid |
Path to the file in which place to process id of the running Wired Tracker daemon. Example: pid = trackerd.pid |
port |
Port number to listen on. Example: port = 2002 |
reverse lookup |
If set, enables reverse lookup. This requires that the IP a server is connecting from resolves to the hostname it's trying to register under. Example: reverse lookup = no |
servers |
Path to the servers file. See also 6.4.2. Example: servers = servers |
status |
Path to the file in which to place the current status. See also 6.4.3. Example: status = trackerd.status |
strict lookup |
If set, servers that fail any of the lookup tests will be denied registration. If not set, the tracker will instead generate a new proper URL based on the source IP and the default port and enter this into the list. Example: strict lookup = no |
user |
Name or id of the user that Wired Tracker should operate as. Example: user = wired |
$ trackerdctl start
$ trackerdctl reload
$ trackerdctl stop
This starts the tracker, then reloads its configuration, and finally terminates it. The following commands are recognized by trackerdctl:
start | Starts the Wired Tracker daemon. |
stop | Stops the Wired Tracker daemon. |
restart | Restarts the Wired Tracker daemon. All connections will be lost. |
reload | Tells the Wired Tracker daemon to reloads its configuration by sending it the signal HUP. |
config | Prints the current active configuration. |
configtest | Runs a configuration syntax test, to verify that the config file will be accepted. |
status | Prints a status summary. |
help | Prints a quick command guide. |
$ trackerdctl start -l
Which will pass the flag "-l" to the Wired Tracker daemon, increasing its level of log detail.
# Flags to pass to trackerdctl
TRACKERDFLAGS="-d /usr/local/wired -l -u"
This indicates that the above flags are always passed along when doing "trackerdctl start". The flags can be edited at will.
-D | Enables debug mode. The daemon will remain in the foreground, and log messages will echo to standard error. |
-d server_root | Sets the server root path. Wired Tracker will attempt to locate its required files under this directory, and chroot to it unless -u is set. The default value is set to the path you initially installed Wired Tracker into, so it will probably not need to be set. |
-f config_file | Sets the path of the configuration file, relative to server_root. The default value is "etc/trackerd.conf". |
-h | Displays a brief help message and exits. |
-i log_lines | When logging to a file using -L, limit the number of lines the log may occupy to log_lines. |
-L log_file | Sets the path of the file that the daemon should log to. If it is not set, Wired Tracker will instead log via syslog. |
-l | Increases the log level. Without it, logging is limited to connects and disconnects. Used once, server registrations are also logged. |
-s syslog_facility | Sets the syslog facility to use for logging. See syslog.conf for information on possible values. The default value is "daemon". |
-t | Runs a configuration syntax test and exits. |
-u | By default, Wired Tracker will chroot to the server_root path. The -u flag disables this behaviour. As a result of the default secure behaviour, Wired cannot access any files outside server_root. |
-v | Displays version information and exits. |
category
category/subcategory 1
category/subcategory 2
Now the server can register under any one of these, and the client will be able to see a directory-like structure.
time of startup
number of online servers
total number of clients
number of online users
number of online files
size of online files