This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

ArkC is a lightweight proxy designed to be proof to IP blocking measures and offer high proxy speed via multi-connection transmission and swapping connections.

ArkC-Client is the client-side utility. In a LAN environment, it either works with UPnP-enabled routers or requires NAT configuration if the client is behind a router.

Note: ArkC 0.3 is not compatible with 0.2 or earlier versions.

(中文)快速入门教程

What is ArkC?

ArkC enables VPS owners to share their VPS to people around them, or share online, the proxy hosted on their VPS, without worrying about IP blacklists.

For a more detailed description, please visit our website and read our page Understand ArkC. 中文版本的介绍在这一页面 ArkC的原理

This is what it tries to do by default:

And making it a little bit more complicated, e.g. set obfs_level to 3 or use a socks proxy:

Note, “anonymous_proxy” can be anything you set!

Setup and Requirement

For a probably more detailed guide: Deployment and Installation. 对于安装与部署的中文说明在 部署与安装ArkC 这一页面。

For Windows users, you are recommended to use our Windows GUI, installer along with latest ArkC client binary executable, in the Github release page. Just pick your .Net Framework version and download.

For users with python3 pip development environment (Note: We don’t recommend using python 2):

sudo pip3 install arkcclient

To install python3 and pip3 with python.h:

Debian/Ubuntu users

sudo apt-get install python3 python3-pip python3-dev

Fedora users

yum install python3 python3-devel python3-pip

You may also install ArkC via source.

To get ArkC Client work, you must satisfy ONE OF the following conditions (unless you are the expert): 1) connect to public Internet directly 2) connect to the Internet via a UPnP-enabled router, in a single-layer LAN 3) router(s) on your route to the public Internet are properly configured with NAT to allow your server to connect to your client’s “remote_port” directly.

If you need to use portable proxy function, like MEEK (required to integrate with GAE) or obfs4proxy, please follow the above link to arkc.org.

Usage

For detailed documentation, please visit our Documentation page.

中文版本的使用文档,请参见 如何使用ArkC

Run

arkcclient [-h] [-v|-vv] [-pn] -c <Path of the config Json file>

[-pn] is used to disable UPnP.

In this version, any private certificate should be in the form of PEM without encryption, while any public certificate should be in the form of ssh-rsa.

We could generate a keypair with

arkcclient -kg [--kg-path Key_Generated_Path]

And the keys can be sent to an email address used by the server provider with this command

arkcclient -reg Email_Address_to_send

Automatically the server should add the key to its key storage.

For the configuration file, you can find an example here:

{
    "local_cert":"client.pem",
    "remote_cert":"server.pub",
    "local_cert_pub":"client.pub",
    "control_domain":"testing.arkc.org",
    "dns_servers": [
            ["8.8.8.8", 53],
            ["127.0.0.1", 9000]
         ]
}

NOTE: NO COMMENTS ARE ALLOWED IN JSON FORMAT.

For a full list of settings:

Index name Value Type & Description Required / Default
local_host string, proxy listening addr “127.0.0.1”
local_port integer, proxy port 8001
remote_host string, listening host “0.0.0.0”
remote_port integer, listening port random between 20000 and 60000
number integer, how many conn. (max. 100) 3
local_cert string, path of client pri REQUIRED
local_cert_pub string, path of client pub REQUIRED
remote_cert string, path of server pub REQUIRED
control_domain string, standard domain REQUIRED
dns_servers list, servers to send dns query to [] (use system resolver)
debug_ip string, address of the client (only for debug use) None
pt_exec string, command line of PT executable “obfs4proxy”
obfs_level integer, obfs leve 0~3, the same as server side 0

Note: if obfs_level is set, pt_exec must be appropriate set. It is set to use obfs4 or MEEK, both Tor pluggable transport (abbr: PT). MEEK is like GoAgent, and obfs4 is used to obfuscate all the traffic.

If set to 1 or 2, Obfs4 will use an IAT mode of (obfs_level + 1), which means if obfs_level is set to 1 or 2, the connection speed may be affected.

If obfs_level is set to 3, MEEK will be used to transmit all data via a pre-configured MEEK service at the server side. By default it passes through Google App Engine.

Build on Windows into executable

pip install pyinstaller
pyinstaller [--onefile] main.py

Questions | 使用或安装时遇到问题

Go to our FAQ page.

常见问题请参考 FAQ

Acknowledgements

The client-end software adapted part of the pyotp library created by Mark Percival m@mdp.im. His code is reused under Python Port copyright, license attached.

File arkcclient/ptclient.py is based on ptproxy by Dingyuan Wang. Code reused and edited under MIT license, attached in file.

License

Copyright 2015 ArkC Technology.

The ArkC-client and ArkC-server utilities are licensed under GNU GPLv2. You should obtain a copy of the license with the software.

ArkC is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

ArkC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with ArkC. If not, see http://www.gnu.org/licenses/.

Release History

Release History

0.4.0.alpha1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.0.post2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.0.post1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.3.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0.post3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0.post2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0.post1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2-beta4.post1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.2-beta4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
arkcclient-0.3.1-py3.4.egg (35.2 kB) Copy SHA256 Checksum SHA256 3.4 Egg Mar 19, 2016
arkcclient-0.3.1-py3-none-any.whl (40.1 kB) Copy SHA256 Checksum SHA256 3.4 Wheel Mar 19, 2016
arkcclient-0.3.1.tar.gz (30.4 kB) Copy SHA256 Checksum SHA256 Source Mar 19, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS HPE HPE Development Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting