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-Server is the server-side utility.

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

(中文)快速入门教程

What is ArkC?

ArkC is not another Shadowsocks.

It enable server owners to let anyone enjoy free web browsing, without worrying IP blacklists. With ArkC VPS owners they are better equipped to share their VPS to people around them, or share online, the proxy hosted on their VPS.

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 这一页面。

Running ArkC-Server requires Python 2.7 and Twisted (Python 3 is currently not supported for compatibility issues) and txsocksx. A virtual environment is generally recommended.

sudo pip install arkcserver

You may need python development environment.

Debian/Ubuntu users:

sudo apt-get install python python-pip python-dev

Fedora users:

sudo yum python python-pip python-devel

You may also install ArkC Server from source.

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

Privilege

By default ArkC Server needs to listen to port 53 to support DNS relay function (client may connect to server through multiple steps of DNS queries). Usually this requires pre-configuration or root privillege.

Usage

For detailed documentation, please visit our Documentation page.

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

Run

arkcserver [-h] [-v] [-ep (use external proxy)] [-t (use transmit mode)] [-c <Path of the config Json file, default = config.json>]

to start the server.

And WHEN ARKCSERVER IS RUNNING, run

arkcserver-mailcheck -db DATABASE_ADDRESS

To start a mail server and receive client credentials automatically.

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.

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

{
    "local_cert_path": "testfiles/server",
    "clients": [
        ["testfiles/client1.pub", <sha1 of client1's private key>],
        ["testfiles/client2.pub", <sha1 of client2's private key>]
    ]
}

For a full list of settings:

Index name Value Type & Description Required / Default
udp_port int, udp listening port (0.0.0.0:)53
proxy_port int, local/ext proxy port 8100(local)/8123(ext)
local_cert_path string, path of server pri REQUIRED
central_cert_path string, path of central server pub REQUIRED if using transmit mode
clients list, (path of client pub, sha1 of client pri) pairs REQUIRED unless “clients_db” is set
clients_db string, path of the sqlite db where keys are stored or updated REQUIRED unless “clients” is set
pt_exec string, command line of pluggable transport executable “obfs4proxy”
obfs_level integer, obfs level 0~3 0
meek_url string, URL of meek’s GAE destination https://arkc-reflect1.appspot.com/
socks_proxy list, (host, port) None (Unused)
delegated_domain string, the SOA record to respond “public.arkc.org”
self_domain string, the A record pointing to the server “freedom.arkc.org”

You can get your domain at self.arkc.org.

Note: if obfs_level is set to a non-zero value, obfs4_exec must be appropriate set. Obfs4 will use an IAT mode of (obfs_level - 1), which means if obfs_level is set to 2 or 3, the connection speed may be affected.

Join our “Shared Server Plan”

We want to provide free proxy service for netizens behind censorship firewalls, thus may we invite you to join our “Shared Server Plan” and add your VPS to our server pool, open for all ArkC users.

We are raising fund to provide rewards for VPS owners in this plan via Google Play / iTunes gift cards. Read the Plan homepage for more information.

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

Go to our FAQ page.

常见问题请参考 FAQ

Acknowledgements

The http proxy part is based on twisted-connect-proxy by Peter Ruibal, released under BSD License.

The server-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 arkcserver/ptserver.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.

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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.2b1

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

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
arkcserver-0.3.1-py2.7.egg (48.1 kB) Copy SHA256 Checksum SHA256 2.7 Egg Mar 19, 2016
arkcserver-0.3.1-py2-none-any.whl (53.1 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Mar 19, 2016
arkcserver-0.3.1.tar.gz (42.7 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