FTP/SFTP/WebDAV etc. for Cocoa. Join the ConnectionKit mailing list for information and suggestions.
Pull request Compare This branch is 1191 commits ahead, 3326 commits behind karelia:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Connection.xcodeproj
Example
da.lproj
de.lproj
en.lproj
fr.lproj
it.lproj
ja.lproj
unit test
zh_CN.lproj
zh_TW.lproj
AbstractConnectionProtocol.h
AquaFolder.png
CKAbstractConnection.h
CKAbstractConnection.m
CKAbstractQueueConnection.h
CKAbstractQueueConnection.m
CKBonjourCategory.h
CKBonjourCategory.m
CKBookmarkStorage.h
CKBookmarkStorage.m
CKCacheableHost.h
CKCacheableHost.m
CKCollectionBasedBookmarkController.h
CKCollectionBasedBookmarkController.m
CKConnectionClient.h
CKConnectionClient.m
CKConnectionClientProtocol.h
CKConnectionOpenPanel.h
CKConnectionOpenPanel.m
CKConnectionProtocol.h
CKConnectionRegistry.h
CKConnectionRegistry.m
CKConnectionRequest.h
CKConnectionRequest.m
CKConnectionThreadManager.h
CKConnectionThreadManager.m
CKController.h
CKController.m
CKDAVCreateDirectoryRequest.h
CKDAVCreateDirectoryRequest.m
CKDAVCreateDirectoryResponse.h
CKDAVCreateDirectoryResponse.m
CKDAVDeleteRequest.h
CKDAVDeleteRequest.m
CKDAVDeleteResponse.h
CKDAVDeleteResponse.m
CKDAVDirectoryContentsRequest.h
CKDAVDirectoryContentsRequest.m
CKDAVDirectoryContentsResponse.h
CKDAVDirectoryContentsResponse.m
CKDAVResponse.h
CKDAVResponse.m
CKDAVUploadFileRequest.h
CKDAVUploadFileRequest.m
CKDAVUploadFileResponse.h
CKDAVUploadFileResponse.m
CKDirectoryBrowserCell.h
CKDirectoryBrowserCell.m
CKDirectoryNode.h
CKDirectoryNode.m
CKDirectoryTreeController.h
CKDirectoryTreeController.m
CKDotMacConnection.h
CKDotMacConnection.m
CKFTPCommand.h
CKFTPCommand.m
CKFTPConnection.h
CKFTPConnection.m
CKFTPOverSSLConnection.h
CKFTPOverSSLConnection.m
CKFTPReply.h
CKFTPReply.m
CKFileConnection.h
CKFileConnection.m
CKHTTPConnection.h
CKHTTPConnection.m
CKHTTPFileDownloadRequest.h
CKHTTPFileDownloadRequest.m
CKHTTPFileDownloadResponse.h
CKHTTPFileDownloadResponse.m
CKHTTPPutRequest.h
CKHTTPPutRequest.m
CKHTTPRequest.h
CKHTTPRequest.m
CKHTTPResponse.h
CKHTTPResponse.m
CKHost.h
CKHost.m
CKHostCategory.h
CKHostCategory.m
CKHostCell.h
CKHostCell.m
CKInternalTransferRecord.h
CKInternalTransferRecord.m
CKLeopardSourceListTableColumn.h
CKLeopardSourceListTableColumn.m
CKMultipleConnection.h
CKMultipleConnection.m
CKS3Connection.h
CKS3Connection.m
CKSFTPConnection.h
CKSFTPConnection.m
CKSFTPTServer.h
CKSFTPTServer.m
CKSSHPassphrase.h
CKSSHPassphrase.m
CKSecureHTTPConnection.h
CKSecureHTTPConnection.m
CKStreamBasedConnection.h
CKStreamBasedConnection.m
CKTableBasedBrowser.h
CKTableBasedBrowser.m
CKTransferController.h
CKTransferController.m
CKTransferProgressCell.h
CKTransferProgressCell.m
CKTransferRecord.h
CKTransferRecord.m
CKURLProtectionSpace.h
CKURLProtectionSpace.m
CKWebDAVConnection.h
CKWebDAVConnection.m
CKWebDAVSecureConnection.h
CKWebDAVSecureConnection.m
Connection-Info.plist
Connection.h
Connection.svxSite
ConnectionTest.h
ConnectionTest.m
Connection_Prefix.pch
DropletController.h
DropletController.m
DropletHelper-Info.plist
DropletIcon.icns
DropletLauncher.m
DropletMain.m
DropletOutlineView.h
DropletOutlineView.m
DropletPanel.h
DropletPanel.m
EMKeychainItem.h
EMKeychainItem.m
EMKeychainProxy.h
EMKeychainProxy.m
Framework Debug.xcconfig
Framework Release.xcconfig
Framework-Info.plist
InterThreadMessaging.h
InterThreadMessaging.m
KTLog.h
KTLog.m
LeopardFolder.tiff
NNTPConnection.h
NNTPConnection.m
NSArray+Connection.h
NSArray+Connection.m
NSCalendarDate+Connection.h
NSCalendarDate+Connection.m
NSData+Connection.h
NSData+Connection.m
NSDictionary+Connection.h
NSDictionary+Connection.m
NSFileManager+Connection.h
NSFileManager+Connection.m
NSMatrix+Connection.h
NSMatrix+Connection.m
NSNumber+Connection.h
NSNumber+Connection.m
NSObject+Connection.h
NSObject+Connection.m
NSPopUpButton+Connection.h
NSPopUpButton+Connection.m
NSString+Connection.h
NSString+Connection.m
NSTabView+Connection.h
NSTabView+Connection.m
NSURL+Connection.h
NSURL+Connection.m
ONBSSLContext.h
ONBSSLContext.m
ONBSSLIdentity.h
ONBSSLIdentity.m
ONBSocket.h
ONBSocket.m
README
RegexKitLite.h
RegexKitLite.m
ReleaseNotes.txt
RunLoopForwarder.h
RunLoopForwarder.m
SSLStream.h
SSLStream.m
UKFNSubscribeFileWatcher.h
UKFNSubscribeFileWatcher.m
UKFileWatcher.h
UKFileWatcher.m
UKKQueue Readme.txt
UKKQueue.h
UKKQueue.m
UKKQueue_Symbols
UKMainThreadProxy.h
UKMainThreadProxy.m
UnitTest-Info.plist
argcargv.c
argcargv.h
bonjour.png
bookmark.tif
browser_resizer.tiff
channel.c
column_mode.tiff
comp.c
container_triangle.tiff
container_triangle_selected.tiff
crypt.c
error.png
fdwrite.c
fdwrite.h
finished.png
gear.tiff
gear_disabled.tiff
gear_normal.tiff
gear_pressed.tiff
history_back.tiff
history_forward.tiff
host.png
hostkey.c
icon_mode.tiff
kex.c
libssh2.h
libssh2_config.h
libssh2_priv.h
libssh2_publickey.h
libssh2_sftp.h
list_mode.tiff
mac.c
main.m
misc.c
openssl.c
openssl.h
packet.c
pem.c
publickey.c
scp.c
session.c
sftp.c
sshversion.c
sshversion.h
userauth.c
version.plist

README

Notes on Using the Connection Framework

BRANCHES

Please consider carefully which branch you are going to use.   There are several branches that are not unified yet.

LICENSING

This framework is BSD-licensed.  It contains several other embedded bits of code so they should be acknowledged too.  This is what we believe to be an appropriate set of acknowledgements:

ConnectionKit (Greg Hulands et al.) <https://github.com/karelia/ConnectionKit/>
The Connection framework is © 2005-2007, Greg Hulands et al. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
•	Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
•	Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
•	Neither the name of Greg Hulands nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

ConnectionKit uses SFTP code based on Fugu <http://rsug.itd.umich.edu/software/fugu/>
Copyright © 2003-2007 Regents of The University of Michigan. All Rights Reserved. 
Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee is hereby granted, provided that the above copyright notice appears in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of The University of Michigan not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. This software is supplied as is without expressed or implied warranties of any kind.

FTPConnection, part of ConnectionKit, makes use of

Toby Paterson's InterThreadMessaging <http://www.cocoadev.com/index.pl?InterThreadMessaging>

and

Aaron Jacobs' OneButtonSocket <http://onebutton.org/>
OneButtonSocket is licensed under the following terms:
“This code derives from Aaron Jacobs' OneButton Socket, which was at the time of writing normally licensed under the terms of the GNU General Public License. You can find the "standard" version in the CVS repository of OneButton FTP (www.onebutton.org). 
The SPECIFIC INCARNATION of OneButton Socket upon which this code is based was specially distributed to Greg Hulands on 2006-01-05 under the terms of a modified BSD-style license rather than the GPL. This does not indicate that any other version of OneButton Socket is or will be distributed under any license but the GPL.
Copyright © 2005, Aaron Jacobs. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
•	Redistributions of source code must retain the above two paragraph note about licensing of OneButton Socket, the above copyright notice, this list of conditions and the following disclaimer.
•	Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
•	Neither the name of Aaron Jacobs nor the names of OneButton Socket or OneButton FTP may be used to endorse or promote products derived from this software without specific prior written permission from Aaron Jacobs.
THIS SOFTWARE IS PROVIDED BY AARON JACOBS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL AARON JACOBS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Thanks to Dustin Voss and his public domain AsyncSocket class for both the inspiration for this class and its method of listening for connections and handling communication with a delegate.”