Socks
Pure-Swift Sockets. Linux & OS X ready.
Work in progress, APIs might still change
Supported socket types
TCP | UDP | |
---|---|---|
Client | ✅ | - |
Server | ✅ | - |
🔧 Usage
The package provides two libraries: SocksCore
and Socks
.
SocksCore
is just a Swift wrapper of the Berkeley sockets API with minimal differences. It is meant to be an easy way to use the low level API without having to deal with Swift/C interop.Socks
is a library providing common usecases built on top ofSocksCore
- a simpleTCPClient
,SynchronousTCPServer
etc.
If you're building a HTTP server, you'll probably want to use the TCPClient
, without having to worry about its implementation details. However, if you need the low-level sockets API, just import SocksCore
and use that instead.
🎲 Examples
There are many working examples in this package which build as separate binaries.
- TCP client using SocksCore (SocksCoreExampleClient)
- TCP server using SocksCore (SocksCoreExampleServer)
- TCP client using Socks (SocksExampleClient)
- TCP server using Socks (SocksExampleServer)
📚 Recommended reading
💙 Code of Conduct
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
💝 Contributing
Please create an issue with a description of your problem or open a pull request with a fix.
✌️ License
MIT
👽 Authors
Honza Dvorsky - http://honzadvorsky.com, @czechboy0
Matthias Kreileder - @matthiaskr1