• Stars
    star
    215
  • Rank 182,881 (Top 4 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created almost 11 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

SOCKS proxy server and socket client built upon GCDAsyncSocket.

ProxyKit

Build Status Version Platform

Objective-C SOCKS 5 / RFC 1928 proxy server and socket client libraries built upon GCDAsyncSocket.

Usage

SOCKSProxy - Dead simple SOCKSv5 proxy server for OS X or iOS. Supports acting as background "VoIP" sockets on iOS via GCDAsyncSocket.

SOCKSProxy *proxy = [[SOCKSProxy alloc] init];
[proxy startProxyOnPort:9050];

GCDAsyncProxySocket - Proxy-compatible subclass and drop-in replacement for (most of) GCDAsyncSocket.

GCDAsyncProxySocket *socket = [[GCDAsyncProxySocket alloc] init];
[socket setProxyHost:@"127.0.0.1" port:9050 version:GCDAsyncSocketSOCKSVersion5];
[socket connectToHost:@"example.com" onPort:80 error:nil];

For more documentation check out ProxyKit on Cocoadocs.

Installation

We use Cocoapods. There are two subspecs for the server and client code. By default both are included. Put one of these your Podfile:

pod 'ProxyKit'    
pod 'ProxyKit/Server' # Just the server code
pod 'ProxyKit/Client' # Just the client code

To install:

$ pod install

Tests

You can run tests by opening up ProxyKit.xcworkspace after installing the Pods.

Dependencies

  • GCDAsyncSocket - GCD-based Async Objective-C socket library
  • CocoaLumberjack - A fast & simple, yet powerful & flexible logging framework for Mac and iOS

Apps Using This Library

  • Tether - Tethering for non-jailbroken iOS Devices over USB.
  • ChatSecure - free and open source encrypted chat client for iPhone and Android that supports OTR encryption over XMPP.

TODO

  • Better documentation
  • More tests

Contributing

Thank you for your interest in contributing to ProxyKit! Check out the TODO for things that still need to be done.

  1. Fork the project and work in a feature branch.
  2. Ensure that the existing tests are passing and/or write more tests.
  3. Open a pull request on GitHub.
  4. Thank you!

Author

Chris Ballinger

License

MIT

More Repositories

1

BLEMeshChat

Bluetooth LE Mesh Chat for iOS and Android
Objective-C
488
star
2

FFmpeg-iOS

FFmpeg static libraries compiled for iOS
Ruby
270
star
3

Opus-iOS

iOS build scripts for libopus
C
212
star
4

FFmpeg-iOS-Encoder

Development on this project has been moved to kickflip-ios-sdk.
Objective-C
191
star
5

Tether-iOS

Tethering for non-jailbroken iOS Devices over USB
Objective-C
172
star
6

OpenCallBlock

iOS CallKit blocking of NPA-NXX number prefix spam
Swift
63
star
7

AirShare

Bluetooth LE / Multipeer data exchange library
Objective-C
58
star
8

OpusKit

Objective-C wrapper for libopus on iOS
Objective-C
51
star
9

ffmpeg-ios-static-libs

Precompiled static libs for FFmpeg, OpenSSL, and librtmp because Cocoapods can't properly handle C library dependencies.
C
38
star
10

openvpn-server-ios

Tethering the hard way
Shell
34
star
11

Cop-Recorder-iOS

Cop Recorder for iOS Devices - www.openwatch.net
Objective-C
33
star
12

python-localizable

Localizable.strings parser for Python
Python
25
star
13

powerplant

Open Sourced PowerPlant Framework for Mac OS and Mac OS X developed by Metrowerks. Includes PowerPlant, PowerPlantX and Constructor. This framework has been released to open source by Freescale
C++
20
star
14

ChatSecure-Mac

ChatSecure for OS X
Lua
12
star
15

RSSAtomKit

Customizable Obj-C RSS/Atom feed fetcher and parser
Objective-C
11
star
16

rust-framework-template

Template for creating cross-platform Rust libraries as iOS/macOS/tvOS/watchOS Swift frameworks.
Rust
9
star
17

LectureLeaks-iOS

LectureLeaks for iOS
Objective-C
8
star
18

rezilla

Rezilla is a resource editor for the Macintosh (OSX). It is designed to facilitate the edition and manipulation of resources stored in the data fork or in the resource fork of a file.
C++
7
star
19

poptop

Mirror of poptop pptpd
C
6
star
20

libidn-framework

libidn.framework and libidn.podspec for GNU Libidn
C
6
star
21

MobileMileageTracker-iOS

Objective-C
6
star
22

Remux

SwiftUI + FFmpeg
Swift
5
star
23

Connect-Four-Reinforcement-Learning

Bot that learns how to play Connect-4 using Machine Learning techniques
Java
5
star
24

SOCKS-iOS

iPhone tethering via SOCKS proxy server using polipo.
Objective-C
5
star
25

rtmp-hls-live-transcoding

RTMP to HLS Live Transcoding
4
star
26

sds011-rs

Rust module for SDS011 particle sensor
Rust
3
star
27

prosody-modules

Git mirror of https://hg.prosody.im/prosody-modules/
Lua
3
star
28

TorXPCService

Sandboxed Tor XPC service for macOS
Objective-C
2
star
29

git-the-basics

Git and Github: What You Should Know
2
star
30

gen-posix-lock-obj-iOS

Generate your lock-obj-pub for libgpg-error
C
2
star
31

EncryptedFilesTest

Testing on-the-fly decryption w/ embedded iOS HTTP server
Objective-C
2
star
32

MPQKit

MPQKit is an Objective-C framework for interacting with MoPaQ archives, the data storage brainchild of Blizzard Entertainment.
Objective-C
2
star
33

YapDatabaseTest

Testing YapDatabase
Objective-C
1
star
34

arm-gcc-linux-macos

arm-gcc-linux cross compilers for macOS
1
star
35

python-chronokey

Pronounceable public keys
1
star
36

PurpleAPI

Unofficial Swift API client for PurpleAir
Swift
1
star
37

OLMKit

Checking out Olm
C
1
star
38

PianoBooster

A MIDI file player that teaches you how to play the piano. PianoBooster is a fun way of playing along with a musical accompaniment and at the same time learning the basics of reading musical notation
C++
1
star
39

AdiumQQ

QQ support for Adium
C
1
star