1 Introduction
2 Wired Client for Mac OS X
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 Wired Server for Mac OS X
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 Wired Server for Unix
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 Wired Tracker for Mac OS X
5.1 Installation
5.1.1 Uninstallation
6 Wired Tracker for Unix
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
7 Wire
7.1 Installation
6.1.1 Uninstallation7.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.

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.

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

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 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.
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 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
2.2.1.2 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

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

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

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

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

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:

The buttons above the file list all operate on the selected files and folders:
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.
The file info window shows detailed info for a file:


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

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

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

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.

See 3.2.3 for a description of the controls in the account editor.
2.3 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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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: kickbroadcast Broadcast a message to all users.
Example: /broadcast restarting servercd Changes the working directory.
Example: /cd /Uploadscharset 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-8clear Clears all output.
Example: /clearclearnews Clears the news.
Example: /clearnewsclose If in main window, disconnects from the current server. Otherwise, closes the wi ndow.
Example: /closecomment 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 morrisget 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 getignore 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: unignoreinfo Gets user info on the user with the nick name provided.
Example: /info morriskick 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: banload Loads a bookmark with the name provided from ~/.wire/.
Example: /load myserverlog Saves a copy of the current output to the file provided.
Example: /log myserver.logls Lists the current directory, or if an argument is provided, the path.
Example: /ls, /ls /Uploadsme Sends the argument as action chat.
Example: /me is awaymkdir Creates a new directory.
Example: /mkdir /Uploadsmsg 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 -ALLnick Sets the current nick name.
Example: /nick morrisopen 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:3000ping Pings the server to determine latency.
Example: /pingpost Posts a new entry to the server news.
Example: /post check out /Uploads/a file.txtput 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.txtpwd Shows the current working directory.
Example: /pwdquit Quits Wire.
Example: /quitreply Like msg, but sends the message to the user who sent you a message last.
Example: /reply i agreerm Deletes the path.
Example: /rm /Uploadssave Saves the current settings and connection as a bookmark in ~/.wire/.
Example: /save myserversearch Searches the files on the server and displays a list of results.
Example: /search .jpgserverinfo Prints information about the current server.
Example: /serverinfostart Starts a previously queued transfer by id.
Example: /start 1stat Gets file info on the path.
Example: /stat /Uploads/a\ file.txtstatus Sets the current status.
Example: /status awaystop Stops a running transfer by id.
Example: /stop 1topic Without arguments, prints the current chat topic. With an argument, sets a new topic.
Example: /topic, /topic welcome to my.server.comtype 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 uploadsunignore Removes an ignored user by id.
Example: /unignore 1
See also: ignoreuptime Shows current uptime statistics.
Example: /uptimeversion Shows version information.
Example: /versionwho 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.