/wired/head.gif
Manual

1 Introduction

2 Wired Client for Mac OS X
2.1 Installation
2.1.1 Uninstallation
2.2 Connecting To Servers
2.2.1 Chat
2.2.1.1 Chat Commands
2.2.1.2 User Info
2.2.1.3 Private Chat
2.2.2 Server Info
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.3 Dock
2.4 Trackers
2.5 Menu Commands
2.5.1 Connection
2.5.2 View
2.5.3 Bookmarks
2.5.4 Window
2.6 Preferences
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 Wired Server for Mac OS X
3.1 Installation
3.1.1 Uninstallation
3.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 Wired Server for Unix
4.1 Installation
4.1.1 Uninstallation
4.2 Configuration
4.3 Running Wired Server
4.3.1 Using wiredctl
4.3.2 Command Line Flags
4.4 Support Files
4.4.1 banlist
4.4.2 certificate.pem
4.4.3 groups
4.4.4 news
4.4.5 wired.status
4.4.6 users
4.5 Network
4.6 Encryption
4.6.1 Selecting a Cipher
4.6.2 Certificates

5 Wired Tracker for Mac OS X
5.1 Installation
5.1.1 Uninstallation

6 Wired Tracker for Unix
6.1 Installation
6.1.1 Uninstallation
6.2 Configuration
6.3 Running Wired Tracker
6.3.1 Using trackerdctl
6.3.2 Command Line Flags
6.4 Support Files
6.4.1 categories
6.4.2 servers
6.4.3 trackerd.status
6.5 Network

7 Wire
7.1 Installation
6.1.1 Uninstallation
7.2 Starting Wire
7.3 Windows
7.4 Commands
7.5 Character Sets


1 Introduction

This is the reference manual for the Wired client/server system. It documents the latest version of Wired.

There is a version of this manual suitable for printing available here.


2 Wired Client for Mac OS X

Wired Client is a Cocoa-based client for Mac OS X. It supports the entire Wired protocol feature set.

2.1 Installation

To install Wired Client, download the latest version from http://www.zankasoftware.com/wired/client/. Unpack the archive, and drag the resulting file to any directory on the hard drive, for example, the Applications folder.

Wired Client

2.1.1 Uninstallation

To uninstall Wired Client, delete the file from where you installed it.

2.2 Connecting To Servers

To connect to a Wired server, you can use the connect window, the trackers window, or a bookmark.

Connect

The connect window is accessed using "Connect" on the connection menu. Enter a server hostname, and any login information needed. Most server accept a blank login via a guest account. Hit "Connect" to start the connection.

One connect window is displayed per connection. To cancel a connection, hit "Cancel" or just close the window. If you become disconnected from a server, you can select "Reconnect" from the connection menu to bring up the connect window again and reconnect to the server.

To connect to a previously saved bookmark, select it from the bookmarks menu.

See 2.4 for a description on how the trackers window works.

2.2.1 Chat

Public Chat

When connected, the public chat window is displayed. This window lists all the currently logged in users, the server topic, and the public server chat.

The buttons above the user list all operate on the selected user:

Send Private Message Send a private message to the selected user. Can also be accessed by double-clicking on a user.

Start Private Chat Starts a private chat with the selected user.

Get Info Shows user info for the selected user. Can also be accessed via "Get Info" on the connection menu.

Ban User Bans the selected user. If this button is disabled you do not have ban privileges.

Kick User Kicks the selected user. If this button is disabled you do not have kick privileges.


2.2.1.1 Chat Commands

In the chat windows, there are a few special commands that can be executed directly from the chat input, prepended by a slash: /nick morris The following commands are supported:

broadcast Broadcast a message to all users.
Example: /broadcast restarting server
clear Clear the chat output.
Example: /clear
exec Execute a shell command and send the output to the server as chat.
Example: /exec uptime, /exec top -l 1 | head -6
me Sends the argument as action chat.
Example: /me is away
nick Sets the current nick name.
Example: /nick morris
stats Send some client statistics to the server as chat.
Example: /stats
status Sets the current status.
Example: /status away
topic Sets the chat topic.
Example: /topic welcome to my.server.com


2.2.1.2 User Info

User Info

The user info windows shows detailed info for a user.

ID
The user's id number. The server uses these to distinguish different users.

Version
The user's client version.

Cipher
The cipher the user used to connect to the server. In this case, 168-bit 3DES with SHA-1 checksumming.

2.2.1.3 Private Chat

Private Chat

A private chat window looks and behaves much like the public chat. You start a private chat by clicking the private chat button in the public chat after selecting the user you want to invite. When the chat has been created, the other user is given the option to either join, decline or ignore the offer. If the other users joins, you can chat with him in a private environment. If the user declines, a message will be printed to the private chat. If the user ignores the request, nothing will happen on your side.

You can invite other users by dragging them from the public chat into the private chat's user list. They will be presented with the same join, decline or ignore offer.

To leave a private chat, simply close the window. When the last user has left the chat, it is removed by the server.

Unlike the public chat, any user on a private chat can change the topic.

2.2.2 Server Info

Server Info

The server info window is accessed from the connection menu, or by clicking on the server banner in the toolbar. It displays basic information about the server.

Files/Size
The total number of files/total size of all files on the server. Only available on the server when file indexing is turned on.

Version
The server version. This value is in the same format as the client version in the user info window. As the server runs in the Unix part of Mac OS X, it will indicate the version of Darwin on Mac OS X servers. You can find a table of Darwin versions on http://www.opensource.apple.com/darwinsource/.

Cipher
The cipher suite used to connect to this server. This value is in the same format as the client cipher in the user info window.

Certificate
The certificate published by the server, with type, size, and hostname.

2.2.3 News

News

The news window is accessed from the connection menu, or by clicking on the item in the toolbar. It contains a view of the server news, which is like a bulletin board where administrators or users can post messages for all to see.

Post
Add a new message to the news. If this button is disabled, your account does not have news post privileges.

Reload
Reload the news by fetching it from the server. Normally, this is not required as new messages are announced to all clients. However, after editing colour or font settings in the preferences, a reload is required.

Clear
Clear the news on the server, deleting all messages. If this button is disabled you do not have news clear privileges.

2.2.4 Messages

Messages

The messages window is accessed from the connection menu, or by clicking on the item in the toolbar. It contains a list of all private messages and broadcasts received on the server.

When a private message arrives, it is added to the conversations folder to the left, under the sending user. To browse all messages in the list to the right, click on the conversations item. To browse all messages from a user, click on the name of the user. To show a message, click on the message in the list to the right.

You can also hit the space key to select the next unread message. Hold down the shift key and hit space to select the previous unread message. Type any letter to start a reply to the selected message.

Broadcasts work like private message, only they're sent to all connected users. They are added to the broadcasts folder to the left. They are browsed in the same manner as private messages. Replying to a broadcast sends a private message to the sender of the broadcast.

To send a broadcast message, select "Broadcast" from the connection menu.

Reply
Reply to a private message. Can also be accessed by double-clicking on the message or starting to type the message directly. To send a private message to a user that has not sent one to you first, double-click on the user in the user list in the chat window.

Clear
Delete all messages in the list.

2.2.5 Files

Files List

The files window is accessed from the connection menu, or by clicking on the item in the toolbar. Multiple files window can be open at the same time.

The files window contains a sorted list of files and folders in a given directory. The current working directory is displayed in the window title bar. The files can be re-sorted by clicking on the table column headers. Additional columns, like modification date, can be added via "View Options" on the view menu.

Files are cached once retrieved for performance reasons. To discard the cache and fetch a new listing from the server, hit the reload button in the toolbar.

To open another folder, double-click on it. Depending on the preference "Always Open Folders in New Windows", this will load the new directory in this files window, or in newly opened one. Holding down the option key will temporarily invert the setting.

In list view (shown above), you can go back and forward in the history of previously visited folders by clicking the back/forward icon in the toolbar.

To download a file or folder, either double-click on the file, or select the folder and hit the download button in the toolbar. You can select multiple files and download them all at once. To upload files and folders, either drag them directly from the Finder onto the destination directory, or hit the upload button in the toolbar and locate them manually. These operations require download/upload privileges.

To move a file or folder to another directory, simply drag it to the destination directory. You can drag files to folders in the same window, or a folder in another window. This operation requires move/change files privileges.

If you hold down the command key and click on the directory name in the window title, a contextual menu with the full path to this directory will open up. Selecting an item in the menu will navigate to that directory.

The files can also be presented in a column view, like the Finder, by hitting the column view button in the toolbar:

Files Columns

The buttons above the file list all operate on the selected files and folders:

Back/Forward Go back/forward in the directory history. Can also be accessed via the left/right arrow keys. Only available in list view.

List/Columns Switch between list and column view.

Download Download the selected files and folders. If this button is disabled, you do not have download privileges.

Upload Upload files and folders to the current directory. If this button is disabled, you do not have upload privileges.

Get Info Show info for the selected files and folders. Can also be accessed via "Get Info" on the connection menu.

Preview 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 Folder Create a new folder in the current directory. If this button is disabled you do not have folder privileges.

Reload Reload the current directory.

Delete Delete the selected files and folders. If this button is disabled you do not have delete privileges.


The file info window shows detailed info for a file:

File Info Folder Info

Files can be renamed by editing the top field. If this field is disabled you do not have move/change files privileges.

Any changes made take effect when the file info window is closed.

Kind
Set the folder type:

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.

Checksum
A partial SHA-1 checksum as computed by the server. It can not be used to compare the file to a local file, but it can be used to compare with other files on Wired servers.

Comments
A short comment of the file that can be edited. If this field is disabled you do not have move/change files privileges.

2.2.6 Search

Search

The file search window is accessed from the connection menu, or by clicking on the item in the toolbar. It allows users to search for file names in the public files.

Enter a file name and hit "Search" to begin the search. Files are displayed in the listing as they are found. Just like the files window, you can add/remove additional columns by clicking on the table and selecting "View Options" on the view menu.

Selecting a file kind will limit the search result to files of that kind:

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.

Double-clicking a file will download it. Double-clicking a folder will open a files window for that directory.

2.2.7 Transfers

Transfers

The transfers window shows active, queued and finished transfers. Transfers are initiated from the files window.

Transfers can be reordered by dragging them around.

Start
Start a queued or previously stopped transfer.

Stop
Stop a running transfer, but leave the transfer in the list.

Remove
Remove a transfer from the list. If the transfer is running, stops it first.

Reveal In Finder
Locate and select the file in the Finder.

2.2.8 Accounts

Accounts

The accounts window is accessed from the connection menu, or by clicking on the item in the toolbar. It lists all the accounts available on the server.

Add
Add a new account. This brings up the account editor, see below. If this button is disabled you do not have create accounts privileges.

Edit
Edit the selected accounts. This brings up one account editor for every account to edit, see below. Can also be accessed by double-clicking an account. If this button is disabled you do not have edit accounts privileges.

Delete
Delete the selected accounts. If this button is disabled you do not have delete accounts privileges.

Reload
Retrieve a new account listing from the server. The accounts are normally reloaded automatically when you add or modify accounts, but a reload is required to see accounts created by other users. If this button is disabled you do not have edit accounts privileges.

Account Editor

See 3.2.3 for a description of the controls in the account editor.

2.3 Dock

Dock

The Dock lists all current connection, and their status.

To switch to another connection, double-click on it in the list or select it and hit "Open". You can hide and show a connection's windows with the "Hide" button, or the keyboard shortcuts in the window menu (see 2.5.4).

If a connection has a bookmark associated with it, the bookmark icon is displayed in the status column. A message icon means there are unread messages on this connection, and a news icon means there's unread news.

2.4 Trackers

Trackers

The trackers window shows a list of configured trackers (see 2.6.7), as well as servers found using Bonjour.

You can search trackers by entering some text in the search field in the upper right corner. The table will then list only those servers whose name or description match the string entered.

To connect to a tracker, click on the arrow to its left. The tracker will open and display its list of servers. More servers can be found by opening the category folders.

To connect to a server found in the list, double-click on it. Hold down the Option key to open a connect window without immediately connecting.

2.5 Menu Commands

2.5.1 Connection

Get Info
Shows a user or file info window, depending on what is currently selected.

Save Chat
Saves the current chat output as a UTF-8 text file.

2.5.2 View

View Options
If there is a table view in the current window, brings up a configuration panel where you can set which table columns should be shown. You can also write click on the columns themselves to get a context menu where you can select the columns to be shown.

2.5.3 Bookmarks

Add Bookmark
Adds a new bookmark for the currently selected connection. You can later edit this bookmark from the preferences window, see 2.6.3.

2.5.4 Window

Hide Connection
Hides all the windows for the current connection. You can later show the windows again by using the Dock, see 2.3.

Next Connection
Switches to the next connection in the list.

Previous Connection
Switches to the previous connection in the list.

Make Layout Default
Saves the current connection's window layout as the default, which will be used for new connections without a previously saved layout.

Restore Layout To Default
Restores the current connection's layout to the previously saved default setting. If this is disabled, you haven't saved a default layout.

Restore All Layouts To Default
Restores all connections' layouts to the previously saved default setting. If this is disabled, you haven't saved a default layout.

2.6 Preferences

2.6.1 General

General

Nick
Nick name for all connections.

Status
Status for all connections.

Icon
Icon for all connections. Any image file type may be used. Max size is 32x32 pixels. The image can either be dropped directly onto the view, or located using the "Select" button. "Clear" will remove the icon.

Show Connect At Startup
Shows the connect window when starting the client.

Show Dock At Startup
Shows the dock window when starting the client.

Show Trackers At Startup
Shows the trackers window when starting the client.

Auto Hide On Switch
Hide all windows belonging to a connection when switching to another connection.

Confirm Disconnect
Ask before disconnecting from a server.

2.6.2 Interface

Interface

Most of these settings are very similar, but apply to different windows.

Text Color
Foreground color of text for the window.

Background Color
Background color of text for the window.

Font
Font to use when displaying text for the window.

Use Alternating Row Background
Draw every other row with another color in tables for the window.

Icon Size In Chat
Whether to show large icons and client status, or small icons and no client status in chat user list.

Show Progress Bar In Transfers
Animates a progress bar for each transfers. When there are many active transfers, this may be costly.

2.6.3 Bookmarks

Bookmarks

Use "+" to add a new bookmark, and "-" to remove the select bookmark. Click on an bookmark to set its values.

Name
Bookmark name, appears in the bookmarks menu.

Address
Server hostname, including any specific port.

Login
Login name to use.

Password
Password to use. Passwords entered here are stored in the Keychain.

Nick
If set, uses the specified nick when connecting using this bookmark. Otherwise, the default nick is used.

Status
If set, uses the specified status when connecting using this bookmark. Otherwise, the default status is used.

2.6.4 Chat

Chat

Style
Display chat messages in this style.

History Scrollback
Enables the use of arrow keys to iterate through the history list of previously sent chat messages in the chat input field. If a modifier is set, this modifier key must be held down before hitting the arrow keys.

Tab Complete Nicks
Enables the use of the tab key to complete any partially typed nick names in the chat input field. If a string is set, it is appended to the nick after completion.

Timestamp Chat
Inserts a date & time string in the chat at the specified interval.

Timestamp Every Line
Inserts a short timestamp in front of every chat message.

Highlights
A list of patterns, that when encountered in a chat message, highlights the nick name of the sender with the specified color. Use "+" to add a new highlight, and "-" to remove the select highlight. Double click on a highlight to set its values.

Ignores
A list of ignored users. If a user matches any of the nick, login or address fields, all messages from this users are ignored by the client. Use "+" to add a new ignore, and "-" to remove the select ignore. Double click on a ignore to set its values.

2.6.5 Events

Events

Configuring an event allows special actions to be taken whenever the client triggrs the event. The following events occur as described:

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.


To change what happens when an event triggers, select it in the list, and edit the settings below.

Play Sound
Play the specified sound when the event triggers.

Bounce Icon in the Dock
Bounce the client's icon in the Mac OS X Dock.

Post In Chat
Post a message to the chat. This is only available for the user related events.

2.6.6 Files

Files

Download Folder
The local folder in which to save transferred files.

Always Open Folders In New Windows
Opens folders in new files windows. By holding down the Option key when opening a folder, this setting is inverted.

Queue Transfers
Put transfers in a local queue and process them one by one.

Encrypt Transfers
Request that transfers also be encrypted. Whether this takes effect or not depends on what the server allows. Encryption can put a lot of stress on the CPU if transferring at LAN speeds.

Remote Items Upon Successful Transfer
When a transfer completes, remove it from the transfers list.

2.6.7 Trackers

Trackers

Use "+" to add a new tracker bookmark, and "-" to remove the select tracker bookmark. Click on an tracker bookmark to set its values.

Name
Tracker bookmark name, appears in the trackers list.

Address
Tracker hostname, including any specific port.


3 Wired Server for Mac OS X

The Mac OS X version of Wired Server is a distribution made up by a Wired Server and a graphical control interface in the form of a System Preferences pane. The server is built especially for Mac OS X and includes support for extras like Bonjour.

The package includes a regular Wired Server, and can thus also be configured entirely via the Terminal. The Wired Server part is installed into /Library/Wired. See 4.2 for more information.

This section focuses on using System Preferences pane. See 4 for the rest of the Wired Server documentation.

3.1 Installation

To install Wired Server, download the latest version from http://www.zankasoftware.com/wired/server/. Unpack it and open Wired Server.pkg.

Wired Server.pkg

Follow the instructions in the installer.

3.1.1 Uninstallation

To uninstall Wired Server for Mac OS X, delete the following files:

/Library/PreferencePanes/Wired /Library/StartupItems/Wired /Library/Wired

Note that this will also remove any Wired Tracker for Mac OS X installation that you may have.

3.2 Using the Pane

The Wired control pane is accessed from System Preferences. It is listed under the secion "Other".

Administrator authorization is required to edit settings or start the server. Click the lock icon and enter your Mac OS X login and password to continue.

3.2.1 Status

Status

The status tab gives an overview of the server status, a control panel, a log view and a display of statistics.

Start/Stop
Starts or stops the server process.
Equivalent to "wiredctl start/stop".

Restart
Restarts the server process.
Equivalent to "wiredctl restart".

Reload
Tells the server process to reload its configuration.
Equivalent to "wiredctl reload".

Register
Tells the server process to register with all configured trackers.
Equivalent to "wiredctl register".

Index
Tells the server process to index the files if it is configured to do so.
Equivalent to "wiredctl index".

3.2.2 Settings

Settings

The settings tab contains the basic server configuration. Any changes made will automatically take place in the running server process.

Name
Name of the server.
Corresponds to "name" in wired.conf.

Description
A short description of the server.
Corresponds to "description" in wired.conf.

Port
Port number to listen. The default value is recommended. The second port number indicates the port used for transfers, which is always the main port incremented by one.
Corresponds to "port" in wired.conf.

Banner
An image to be displayed as the banner for clients. Any image file type may be used. Max size is 200x32 pixels. The image can either be dropped directly onto the view, or located using the "Select" button. "Clear" will remove the banner.
Corresponds to "banner" in wired.conf.

Use Bonjour
If enabled, the server will publish itself on the local network using Bonjour. All clients on the local network will then be able to find the server without entering its IP.
Corresponds to "zeroconf" in wired.conf.

Total Download Limit
Total number of downloads that may be running at the same time.
Corresponds to "total downloads" in wired.conf.

Client Download Limit
Number of downloads per client that may be running at the same time.
Corresponds to "client downloads" in wired.conf.

Download Speed Limit
Maximum total download speed in KB/s.
Corresponds to "total download speed" in wired.conf.

Total Upload Limit
Total number of uploads that may be running at the same time.
Corresponds to "total uploads" in wired.conf.

Client Upload Limit
Number of uploads per client that may be running at the same time.
Corresponds to "client uploads" in wired.conf.

Upload Speed Limit
Maximum total upload speed in KB/s.
Corresponds to "total upload speed" in wired.conf.

Files
Path to the directory of public files available to clients. Can be any directory, as long as the server has access to it.
Corresponds to "files" in wired.conf.

Certificate
The OpenSSL certificate the server will use for encryption. Using a certificate is highly recommended. Use "Create" to create a 1024-bit RSA certificate assigned to the current hostname.
Corresponds to "certificate" in wired.conf.

3.2.3 Accounts

Accounts

The accounts tab provides a way to add, edit or remove accounts on the server. This can also be done from the client if the account has enough privileges.

The server comes pre-configured with two accounts. The first, "admin", is the default administrator user. It has all privileges and permissions turned on. By default, there is no password; it is recommended that one is set before starting the server. "guest" is the default guest account, used by clients when a login name is not set. It should be restricted, as anyone can log in with it. Remove it to disable anonymous access.

Group accounts contain all the privileges that user accounts do, but they can not be used to log in. Instead, user accounts are set to belong to a certain group. When a user account is a member of a group, the privileges of the group account are used, overriding the user account settings. It can be used to provide a common privilege mask to a group of users.

Use "+" to add a new account, and "-" to remove the select account. Click on an account to set its values.

Type
Account type, user or group.

Name
Name of the account.

Password
User account password. Can be blank.

Group
Name of the group the user account should belong to.

Get User Info
Allow the user to get info on other users.

Broadcast
Allow the user to broadcast messages to all users.

Set Topic
Allow the user to set the topic on the public chat.

Post News
Allow the user to post messages to the server news.

Clear News
Allow the user to clear the server news.

Download
Allow the user to download files.

Upload
Allow the user to upload files to designed upload/drop box folders.

Upload Anywhere
Allow the user to upload files anywhere.

View Drop Boxes
Allow the user to view drop box folders.

Create Folders
Allow the user to create new folders.

Move & Change
Allow the user to move files, set folder types and set file comments.

Delete
Allow the user to delete files.

Create Accounts
Allow the user to create new accounts.

Edit Accounts
Allow the user to list and modify existing accounts.

Delete Accounts
Allow the user to delete accounts.

Elevate Privileges
Allow the user to create/modify accounts to give them more privileges than the user possesses.

Kick Users
Allow the user to kick other users.

Ban Users
Allow the user to ban other users.

Cannot Be Kicked
Disallow other users to kick or ban the user.

Download Speed Limit
Maximum total download speed in KB/s for this user.

Upload Speed Limit
Maximum total upload speed in KB/s for this user.

3.2.4 Advanced

Advanced

The advanced tab contains additional settings that provide more control of server operation.

Regiseter With Trackers
If enabled, the server will register with the list of trackers configured below.
Corresponds to "register" in wired.conf.

Server URL
Complete URL of your server to send to trackers. The tracker will publish the URL to clients who will use it to connect to your server. If this is not correctly set, the tracker may rewrite the URL to a default value, or deny registration altogether. "Detect" will enter a URL composed from the current external IP. If your server listens on a port other than the default, it must be set here as well. This is needed to register with trackers.
Corresponds to "url" in wired.conf.

Bandwidth
Bandwidth available to the server. This is only used for display in tracker listings.
Corresponds to "bandwidth" in wired.conf.

Trackers
A list of trackers with corresponding category to register with. "Tracker" is the hostname of IP address of the tracker, and "Category" is a category on that tracker under which the server will be listed. Select a pre-defined category or enter a new value, or leave it empty. A tracker is added by clicking "+", and removed with "-".
Corresponds to "tracker" in wired.conf.

Search Method
Search method controls whether file searches from clients will be live or indexed. Live searches search the file system on every search, which may be very slow if there are a lot of files. Indexed searches rely instead of an index of all the files which is created at server startup time, and at regular intervals if configured. The index may take some time to compile, depending on the number of files.
Corresponds to "search method" in wired.conf.

Index
Controls how the files are indexed. If "Search Method" is set to indexed, this must be enabled for file searches to work. If set to "manually", the server will only index when asked to. Otherwise, it will compile the index at the configured interval. Set to "disabled" to turn off indexing completely. Corresponds to "index" in wired.conf.

Show Invisible Files
If enabled, file listings will include files marked invisible by Mac OS X.
Corresponds to "show invisible files" in wired.conf.

Show Dot Files
If enabled, file listings will include files whose names begin with a dot ("."). These files are normally invisible in Unix.
Corresponds to "show dot files" in wired.conf.

Allow Unencrypted Transfers
If enabled, the server will allow clients to transfer files over an unencrypted connection. This will relieve the server of the CPU stress encryption causes, and may increase the speed of LAN transfers.
Corresponds to "transfer cipher" in wired.conf.

News Limit
If enabled, the server news will not exceed the configured number of entries.
Corresponds to "news limit" in wired.conf.

3.2.5 System

System

The system tab contains settings related to how the server communicates with the operating system.

User/Group
Controls which user/group the server will be started as. The server will only be able to read and write files that are accessible by this user/group pair, and uploaded files will be owned by this user. If you want to share files in your own home directory, or otherwise owned by you, set this to your own user name.
Corresponds to "user/group" in wired.conf.

Launch At Boot
If enabled, the server will start at computer boot time.

Log Method
Controls where the server log output goes. The log is important, because this is the only way to see errors or warnings emitted by the server.
"System" means the server will log using the system log facility. The pop-up value indicates which system log channel the output ends up on. The system log facility in Mac OS X writes its logs in /var/log/. The channels can be configured in /etc/syslog.conf.
"File" means the server will log to its own dedicated file, which can be placed anywhere you want.
Corresponds to the -s and -L flags.

Log File Limit
If logging to a separate file, this controls how many lines of log output to keep.
Corresponds to the -i flag.


4 Wired Server for Unix

Wired Server for Unix is the Wired server packaged as a portable Unix server daemon and distributed as a source tarball. A compiled version is included within Wired Server for Mac OS X.

4.1 Installation

To install Wired, download the latest version from http://www.zankasoftware.com/wired/server/, and unpack the file: $ 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/.

When configure has succeeded, you can build and install Wired: $ 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.

Note that GNU Make is required to build Wired Server. On BSD systems, this is usually installed as gmake. Then, run this instead: $ gmake $ gmake install

4.1.1 Uninstallation

To uninstall Wired, delete the directory into which you installed it: 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

4.2 Configuration

Wired comes with reasonable default settings, and can be launched immediately, but you may want to make some local changes first. The configuration file is by default placed at /usr/local/wired/etc/wired.conf, and is read at startup, or whenever Wired is reloaded.

The config file is in a "value = key" format, one setting per line. The following settings are recognized:
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


4.3 Running Wired Server

4.3.1 Using wiredctl

Wired runs as a daemon in the background and provides output only in the form of logs. Wired can most easily be controlled with the program wiredctl: $ 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.

Additional argument flags passed with the start and restart commands are passed directly to the Wired daemon: $ wiredctl start -ll Which will pass the flags "-ll" to the Wired daemon, increasing its level of log detail.

A few default flags are always passed when using wiredctl. These can be edited directly in the wiredctl program, which is implemented as a shell script. The variables near the top of the file controls its functions. For instance: # 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.

4.3.2 Command Line Flags

The following command line options are recognized by the Wired daemon. They can be passed directly on the command line, or via the wiredctl program.
-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.


4.4 Support Files

Wired has a few support files in addition to the configuration file. Some of these are written to by the servers, others are only read. It is recommended that the server user has full access to them all.

4.4.1 banlist

A newline separated list of permanently banned IPs. Subnet notation (192.168.0.0/16 or 192.168.0.0/255.255.0.0) and wildcards (192.168.*.*) are recognized.

4.4.2 certificate.pem

An OpenSSL certificate as described in req. See also 4.6.

4.4.3 groups

A newline separated list of group accounts. Each line consists of the following fields, separated by ":":

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

It is recommended that Wired Client is used to edit accounts.

4.4.4 news

A public news file for the server. This file is a series of fields, separated by an ASCII file separator character:

nick
timestamp
post

Each such record of fields is separated by an ASCII group separator character.

4.4.5 wired.status

A status file for the daemon. It is written to periodically, and is used by wiredctl to display some statistics. The file is a series of numbers, separated by a space character:

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


4.4.6 users

A newline separated list of user accounts. Each line consists of the following fields, separated by ":":

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

It is recommended that Wired Client is used to edit accounts.

4.5 Network

Wired supports IPv4 and IPv6 over TCP. The server listens on two ports, by default 2000 and 2001. The first port, 2000, is used for the control connection. Initial connect, login, chat, news, messages, file listings, etc are all transferred over the control connection. The second port, 2001, carries transfers.

If the server is placed behind a firewall or NAT gateway, make sure to open and forward ports 2000-2001 to the correct server.

The server will, if configured, make outgoing connections to trackers over TCP and UDP, port 2002. See 6.5 for more information.

4.6 Encryption

Wired uses OpenSSL to provide encrypted transport. Thanks to this, a wide range of encryption ciphers can be used. Some are stronger than others, but may also require more processing power, or additional configuration.

4.6.1 Selecting a Cipher

The SSL protocol can negotiate a cipher automatically, so that the client and server can agree upon one that both support. It is not possible to precisely specify which cipher to use, but a few hints can be given for the negotiation. These hints are controlled by the control cipher and transfer cipher keys in the configuration: 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.

Here's another example of a transfer cipher list: 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.

The full documentation for the format can be found at the OpenSSL ciphers man page.

4.6.2 Certificates

Most OpenSSL ciphers require a certificate, containing a public/private key pair. Without a certificate, Wired will fall back to less secure anonymous ciphers, and log warnings in the log. It is recommended that a certificate be generated for all servers. To generate a certificate for Wired, you can run the following: 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.


5 Wired Tracker for Mac OS X

The Mac OS X version of Wired Tracker is a distribution built especially for Mac OS X. Unlike Wired Server, there is no special GUI, however, so all configuration should be done from the Terminal. See 6.2 for more information.

5.1 Installation

To install Wired Tracker, download the latest version from http://www.zankasoftware.com/wired/tracker/. Unpack it and open Wired Tracker.pkg.

Follow the instructions in the installer.

5.1.1 Uninstallation

To uninstall Wired Tracker for Mac OS X, delete the following files:

/Library/StartupItems/Wired /Library/Wired

Note that this will also remove any Wired Server for Mac OS X installation that you may have.


6 Wired Tracker for Unix

Wired Tracker is the Wired tracker server. Wired servers can register with the tracker with their name, URL and some other vitals, and clients connecting to the tracker will be able to retrieve a listing of all online servers.

Wired Tracker shares a lot of settings and support files with Wired Server. This manual will only cover that which is separate in Wired Tracker.

6.1 Installation

To install Wired Tracker, download the latest version from http://www.zankasoftware.com/wired/tracker/, and unpack the file: $ 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/.

When configure has succeeded, you can build and install Wired Tracker: $ 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.

Note that GNU Make is required to build Wired Tracker.

6.1.1 Uninstallation

To uninstall Wired Tracker, delete the directory into which you installed it: 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

6.2 Configuration

Wired Tracker comes with reasonable default settings, and can be launched immediately, but you may want to make some local changes first. The configuration file is by default placed at /usr/local/wired/etc/trackerd.conf, and is read at startup, or whenever Wired Tracker is reloaded.

The config file is in a "value = key" format, one setting per line. The following settings are recognized:
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


6.3 Running Wired Tracker

6.3.1 Using trackerdctl

Wired Tracker runs as a daemon in the background and provides output only in the form of logs. Wired Tracker can most easily be controlled with the program trackerdctl: $ 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.

Additional argument flags passed with the start and restart commands are passed directly to the Wired Tracker daemon: $ trackerdctl start -l Which will pass the flag "-l" to the Wired Tracker daemon, increasing its level of log detail.

A few default flags are always passed when using trackerdctl. These can be edited directly in the trackerdctl program, which is implemented as a shell script. The variables near the top of the file controls its functions. For instance: # 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.

6.3.2 Command Line Flags

The following command line options are recognized by the Wired daemon. They can be passed directly on the command line, or via the wiredctl program.
-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.


6.4 Support Files

Wired Tracker has a few support files in addition to the configuration file. Some of these are written to by the servers, others are only read. It is recommended that the server user has full access to them all.

Some files are shared with Wired Server. They are not documented here.

6.4.1 categories

A file containing a newline separated list of tracker categories. Servers can register under any one of these, and the client will be able to browse them. Categories work like file system paths, and can be configured in a directory-like structure. For example: 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.

6.4.2 servers

A file containing a list of all currently registered servers. Its format is private. Do not write to this file, the tracker will maintain it.

If it exists at startup, the tracker will enter all the servers in it in its initial server list. Thus, the tracker can be restarted without losing the current server list, and without interrupting any processes.

6.4.3 trackerd.status

The status file for the daemon. It is written to periodically, and is used by wiredctl to display some statistics. The file is a series of numbers, separated by a space character:

time of startup
number of online servers
total number of clients
number of online users
number of online files
size of online files


6.5 Network

Wired Tracker supports IPv4 and IPv6. The tracker listens on TCP port 2002 for registration connections from servers or list requests from clients. The tracker also listens on UDP port 2002 for server updates.

If the tracker is placed behind a firewall or NAT gateway, make sure to open and forward TCP/UDP port 2002 to the correct server.


7 Wire

Wire is a command line client for Wired. It runs on various Unix compatible platforms, and has been tested to run on Mac OS X, Solaris, FreeBSD, OpenBSD and Linux.

7.1 Installation

To install Wire, download the latest version from http://www.zankasoftware.com/wired/wire/, and unpack the file: $ tar -xzf wire-latest.tar.gz $ cd wire-X.X/ To build Wire, 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, Wire 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 When configure has succeeded, you can build and install Wire: $ make $ make install The first command compiles and links Wire, the second installs the program and its manual page. The default location is /usr/local/bin/wire, so you may need root privileges to run the second command.

Note that GNU Make is required to build Wire.

6.1.1 Uninstallation

To uninstall Wired Tracker, delete the directory into which you installed it: 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

7.2 Starting Wire

After installation, Wire can be started: $ wire When Wire starts up, it reads commands from the file ~/.wire/config. This is a good place to put some global defaults, like your nick name. The file can contain any Wire command, each command on its own line. The commands should not be prepended by "/", like they must be from inside the client: $ cat ~/.wire/config nick morris status @work Now every time you start Wire, your nick and status will be set as indicated.

Any other file you place in ~/.wire can be accessed like bookmarks: $ cat ~/.wire/myserver nick morris status @home open my.server.com $ wire myserver Wire will now first load ~/.wire/config, like it always does, and then ~/.wire/myserver. The settings in the myserver bookmark will then override the previous ones. It will also connect to the server.

7.3 Windows

Wire creates new windows in certain situations. To cycle windows, press Control-P for previous and Control-N for next. The close command closes the current window. Note that closing the main window is the same as exiting the program.

7.4 Commands

Wire is controlled using special commands. While the client is running, these commands are input prepended by a slash: /nick morris Without the slash, the input will be sent to the server as chat.

Wire supports the following commands:

ban Bans a user. The first argument is the user to ban, the second is the message to send.
Example: /ban morris get lost
See also: kick
broadcast Broadcast a message to all users.
Example: /broadcast restarting server
cd Changes the working directory.
Example: /cd /Uploads
charset Sets the character set that wire will convert all text from the server to. This string is passed directly to the iconv character conversion system. The default value is "ISO-8859-1".
Example: /charset UTF-8
clear Clears all output.
Example: /clear
clearnews Clears the news.
Example: /clearnews
close If in main window, disconnects from the current server. Otherwise, closes the wi ndow.
Example: /close
comment Sets a file comment. The first argument is the path, the second is the comment to set.
Example: /comment "/Uploads/a file.txt" uploaded by morris
get Downloads a file. If a transfer is already running, queue the download. Files are downloaded into the directory from which Wire was started.
Example: /get "/Uploads/a file.txt"
help Shows online help. If an argument is provided, shows online help for that command.
Example: /help, /help get
ignore Manage user ignores. Without arguments, shows the current list of ignores, identified by id. With an argument, adds a user to the list. No chat or messages are printed from users whose nicks match an entry in the ignore list.
Example: /ignore, /ignore morris
See also: unignore
info Gets user info on the user with the nick name provided.
Example: /info morris
kick Kicks a user. The first argument is the user to kick, the second is the message to send.
Example: /kick morris get lost
See also: ban
load Loads a bookmark with the name provided from ~/.wire/.
Example: /load myserver
log Saves a copy of the current output to the file provided.
Example: /log myserver.log
ls Lists the current directory, or if an argument is provided, the path.
Example: /ls, /ls /Uploads
me Sends the argument as action chat.
Example: /me is away
mkdir Creates a new directory.
Example: /mkdir /Uploads
msg Sends a private message to the user with the nick name in the first argument. The second argument is the message to send.
Wire will create a new window when sending or receiving a private message for every user. Typing text in these windows will send private messages to that user.
Example: /msg morris hey!
mv Moves or renames one path to another.
Example: /mv /Uploads "/Old Uploads"
news Shows the server news. A flag can be passed to set how many news entries to show, which is 10 by default. If "ALL" is specified rather than a number, the whole news is shown.
Example: /news, /news -20, /news -ALL
nick Sets the current nick name.
Example: /nick morris
open Opens a new connection to a server. The current connection is closed. Login and password can be set with the -l and -p flags.
Example: /open my.server.com, /open -l morris -p p4ssw0rd my.server.com:3000
ping Pings the server to determine latency.
Example: /ping
post Posts a new entry to the server news.
Example: /post check out /Uploads/a file.txt
put Uploads a file to the current working directory. If a transfer is already running, adds the upload to the transfer queue.
Example: /put ~/a\ file.txt
pwd Shows the current working directory.
Example: /pwd
quit Quits Wire.
Example: /quit
reply Like msg, but sends the message to the user who sent you a message last.
Example: /reply i agree
rm Deletes the path.
Example: /rm /Uploads
save Saves the current settings and connection as a bookmark in ~/.wire/.
Example: /save myserver
search Searches the files on the server and displays a list of results.
Example: /search .jpg
serverinfo Prints information about the current server.
Example: /serverinfo
start Starts a previously queued transfer by id.
Example: /start 1
stat Gets file info on the path.
Example: /stat /Uploads/a\ file.txt
status Sets the current status.
Example: /status away
stop Stops a running transfer by id.
Example: /stop 1
topic Without arguments, prints the current chat topic. With an argument, sets a new topic.
Example: /topic, /topic welcome to my.server.com
type Sets the folder type. The first argument is the path, the second is one of "folder", "uploads" and "dropbox", indicating the folder type.
Example: /type /Uploads uploads
unignore Removes an ignored user by id.
Example: /unignore 1
See also: ignore
uptime Shows current uptime statistics.
Example: /uptime
version Shows version information.
Example: /version
who Shows the user list.
Example: /who


7.5 Character Sets

Wire supports character set translation through iconv. All messages to and from the server are sent in Unicode, UTF-8, so any language should be usable. However, you may need to do some configuration before this is possible.

By default, Wire translates the server's UTF-8 strings to and from ISO-8859-1 (ISO-Latin1), which is the most commonly used character set for Western European languages. To change this to another character set, for example, UTF-8 itself, you can run the command charset: /charset UTF-8 The argument is passed directly to iconv, and can be any character set supported by the library. Make sure your charset setting matches the character set configured in your terminal.



Zanka Software | Contact