如何使用ArkC

本文档针对ArkC V0.2。自https://arkc.org/documentation/页面机器翻译得来。

先决条件:

ArkC客户端和服务器ArkC,功能
如果你想在Windows GUI管理ArkC客户,ArkC客户端的GUI-的dotnet(https://github.com/projectarkc/arkc-server-udptransmit)
如果需要通过GAE,MEEK客户端和温顺的服务器,适应和https://github.com/projectarkc/meek/发布到传输数据
如果你需要通过传输GAE,MEEK继电器(例如谷歌的App Engine项目)(同上链接)的兼容部署数据
如果您需要形成一个多服务器网络,ArkC-UDP-发送https://github.com/projectarkc/arkc-server-udptransmit/)

在这个版本中,任何私有证书应在PEM的无加密的形式,而任何公共证书应在支持SSH-RSA的形式。 推荐的形式是与[-kg | -keygen]生成选项。

对于配置文件,我们使用JSON格式,其中没有意见是允许的。

ArkC服务器的使用

命令行

arkcserver [-h] [-v] [-t] [[–get-meek] | [-kg|–keygen] | [-c|–config] ]

每个选项的详细说明:

-h,–help显示帮助信息并退出
-v,–verbose显示详细的日志
-vv显示调试日志
-KG,–keygen生成密钥字符串并退出,覆盖其他选项
–get-温顺温顺下载到主目录,覆盖正常的选项
-c CONFIG,–config CONFIG
指定一个配置文件,需要ArkC启动
-t使用传输服务器模式
-ep,–use-外部代理
使用外部代理服务器或处理程序在本地运行,比如Polipo即可,有更好的表现。 使用此选项可以支持其他类型的代理其他的不是HTTP,或在客户端代理使用身份验证。 回落到内置的蟒蛇代理服务器,否则。

下面是一个配置示例:

{
“local_cert_path”:“testfiles /服务器”
“顾客”:
[“testfiles / client1.pub”,]
[“testfiles / client2.pub”,<客户机程序的私有密钥的SHA1>]
]
}

对于设置的完整列表:
指标名称 值类型和说明 必需/默认
udp_port INT,UDP / DNS侦听端口 (0.0.0.0:)53
proxy_port使用 INT,本地/外部代理端口 8100(本地)/ 8123(EXT)
local_cert_path 服务器私钥的海峡,路径 需要
central_cert_path 中央服务器的公钥海峡,路径 必需如果使用传输模式
客户 列表(客户端酒馆的路径,客户优先级的SHA1)对,像上面 需要
pt_exec STR,可插拔运输可执行的命令行 “obfs4proxy”
obfs_level 整数,obfs级别0〜3 0
meek_url STR,温顺的GAE目的地网址 “ https://arkc-reflect1.appspot.com/ ”
socks_proxy 清单(主机,端口) 无(未使用)

请注意,在默认情况下,udp_port设置为端口53用于DNS协议,从而为ArkC服务器启动根privillege是必需的兼容性。

的设置说明:

当发射模式是关闭的,obfs_level设置为0:

当ArkC服务器启动时,它会侦听udp_port,与传入的请求UDP套接字。 服务器解析这些请求的DNS数据包,并以“域名未找到”响应。 这些请求通知服务器:IP,REMOTE_PORT,客户端的公钥SHA-1。
服务器验证通过客户端列表加载后,要求内容与服务器的专用密钥,通过local_cert_path装破译存储客户端密钥数据的请求。
服务器连接到客户端和交流认证数据。 如果socks_proxy被设置,它通过(之一)代理(多个)连接到客户端。
它透明转发从客户到设定proxy_port使用的所有数据,其中无论是HTTP代理运行(如果没有[-ep])或袜子/ HTTP /其他服务正在侦听,在TCP。

当obfs_level设置为3:

在步骤2中,认证后,服务器开始温顺的客户端,并连接到通过其客户机侧(温顺服务器)。 米克-客户端从pt_exec加载。 该URL(其中MEEK服务正在运行)设置与meek_url。

在这个版本中MEEK不socksproxy工作,虽然这是可能的。

obfs_level = 1或2应该开始obfs4proxy,但由于DNS长度限制它还不支持。

当发送模式是:

在步骤1,服务器会将所有数据包的UDP数据包,并尝试与中央服务器的公钥,通过central_cert_path加载到验证。

ArkC客户端的使用

命令行:

arkcclient [-h] [-v] [-vv] [[-kg|–keygen] | [–get-meek] | [-c|–config CONFIG]] [-fs|–frequent-swap] [-pn] [-v6 IPV6]

每个选项的说明:

-h,–help显示帮助信息并退出
-v显示详细的日志
-vv显示调试日志
-KG,–keygen生成密钥字符串并退出,覆盖其他选项

–get-温顺温顺下载到主目录,覆盖正常的选项

-c CONFIG,–config CONFIG
指定一个配置文件,需要ArkC客户端启动

-fs,–frequent交换使用频繁的连接交换
-pn,–public-地址禁用UPnP的,当你有公网IP地址
(NAT或已手动配置)

-v6 IPV6包括您的IPv6地址,使用这个选项来使用,并注明您的IPv6地址(前提是你有一个使用它)

一个配置示例:

{
“的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]
]
}

详细含义:
指标名称 值类型和说明 必需/默认
local_host STR,代理监听地址 “127.0.0.1”
LOCAL_PORT 整数,代理端口 8001
远程主机 STR,听主持人 “0.0.0.0”
REMOTE_PORT 整数,监听端口 20000和60000之间的随机
数 整数,有多少连接请求(最大100) 3
的local_cert 客户端私钥的海峡,路径 需要
local_cert_pub 客户端的公钥海峡,路径 需要
remote_cert 服务器公钥海峡,路径 需要
control_domain STR的(后缀)域要求(与NS记录集) 需要
dns_server 列表,服务器发送DNS查询 [](使用系统解析)
debug_ip STR,客户端调试使用)的IPv4地址,覆盖查询 无
pt_exec STR,PT可执行的命令行 “obfs4proxy”
obfs_level 整数,obfs LEVE 0〜3中,相同的服务器侧 0

当客户端开始:

连接到api.ipify.org在公共网络(除非debug_ip集)来获得IP地址。
试图用REMOTE_PORT的UPnP映射(除非使用[-pn])。
发送域的DNS查询与control_domain(***。***。***。control_domain),到指定的服务器(随手拈形式dns_server)结束。
听LOCAL_PORT传入浏览器请求和REMOTE_PORT服务器连接(或使用温顺的服务器,如果设置obfs_level和pt_exec)。