projectarkc / arkc-server

Server side of ArkC, a proxy solution for fast speed, resistance to IP blacklists and revive GAE.
https://arkc.org
GNU General Public License v2.0
20 stars 4 forks source link

小白单纯不懂怎么配置文件-.-! #3

Closed hehehym closed 8 years ago

hehehym commented 8 years ago

其它东西应该搞好了,但是配置文件的配置有点不清楚,作者可以发一个完整的范例吗-.-!谢谢了!

NoahArkc commented 8 years ago

首先感谢你关注这个尚没有开始宣传的项目 :)。

首先请注意,ArkC不久前发布了0.3.0版本,和之前的0.2.3版本在协议上是不兼容的。用 --version查看到的才是正确的版本。

常用配置文件选项的范例在README文件下,即Github两个项目的首页。如果你认为你的配置文件有错,可以发在这里让我们帮你确认一下。

Windows上面因为文件格式的问题,配置文件比较难写,所以建议选择GUI工具。可参考https://github.com/projectarkc/arkc-client-GUI-dotnet/releases/tag/v0.3.0.

Linux VPS上的服务端的“所有可能选项”的格式示例:

{ "local_cert_path": "testfiles/server", "clients": [ ["/home/XXX/testfiles/client1.pub", "enr;fn"], ["/home/XXXXX/testfiles/client2.pub", "erwddddddddddddddd"] ], "clients.db":"/home/cmiosm/nknner.db",

"udp_port":53,

"pt_exec":"/momoim/eeee",

"obfs_level":0,

"meek_url":"https://ln.efwef.orr/",

"socks_proxy":[("4.4.4.4", 545), ("3.6.7.8", 909)]

"delegated_domain":"testing.arkc.org",

"self_domain":"freedom.arkc.org"

}

一般的,服务端的配置文件你可以通过https://self.arkc.org/fillconfig这个网页完成。也可以在 https://self.arkc.org/注册你的服务器对应的arkc.org的域名记录

如果有具体的问题欢迎继续提出。

Best regards,

Sincerely, Noah

On Sat, Mar 19, 2016 at 2:45 AM, hehehym notifications@github.com wrote:

其它东西应该搞好了,但是配置文件的配置有点不清楚,作者可以发一个完整的范例吗-.-!谢谢了!

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3

NoahArkc commented 8 years ago

Github的Email格式有点问题……请点开那个省略号阅读邮件正文……

hehehym commented 8 years ago

既然如此我就不客气啦,其实我的问题有点多 XD. 无论如何感谢和你们一样开发软件的人~ 首先我想问一下关于你们软件的原理问题,看介绍好像要有4个服务器?(客户端、中转服务器、服务端和调度服务器)但是安装过程貌似只是接触到客户端和服务端?这个问题作者如果觉得累赘的话可以无视,只是个人好奇比较想清晰了解各个代理软件的基本流程原理..但是又因为个人水平限制~所以,不嫌麻烦的话就简述一下啦~XD.

第二就是客户端和服务端的配置问题了.请问客户端生成了密钥之后还需要设置什么东西吗?(题外话,我在你上面发的链接下载了win客户端,打开之后只要按生成密钥就会崩溃,win10) 服务端我按照上面的自助配置网站设置的不知道有没有理解错误: Path of your server's private key:服务器的私钥路径 Path of client information database:这个我前几天弄的时候没有的,但是我也不知道路径在哪里,烦请作者说明一下 Path of client public key:客户端的公钥路径(应该是要将客户端的公钥文件复制都服务端的服务器当中是吗?反正我是复制进去服务器那边了) SHA1 value of the client private key:客户端私钥的SHA1值 就这么多,然后我就点了生成配置文件~最不懂就是到这里了. { "local_cert_path":"/root/arkc_pri.asc", "clients_db":"", "clients": [["/root/As/arkc_pub.asc", "4712fd184021169979aa82058110413ba354a70f"]], "obfs_level":0, "pt_exec":"" } 大概就是这样子了.然后我就弄成json配置文件(只有上面这几行命令),然后就启动服务端.但是之后的步骤就没有头绪了.. 主要问题是不知道配置是否和SS类似,我不知道有没有类似SS的配置文件那样要打服务器IP地址,设置一个端口,加密方式等等,也不清楚能否设置SOCK模式之类的..总之小白水平有限只会跟步骤打命令. 麻烦作者帮一下忙啦~我也知道问题有点白痴~谢谢啦~

NoahArkc commented 8 years ago

非常抱歉我们没有致力于改善文档……不过感谢你,我们才能够知道应该如何改善这一方面的内容。

  1. 最基本的ArkC是客户端对服务端的模型。你接触到的,以及我们的Wiki里面,都只针对这种最简单的情况。

为了解决GFW对于公共代理服务的IP封锁,我们可以在客户端和服务端之间引入中转的“服务器”。这种服务器并不需要你自己拥有。现在ArkC通过MEEK插件和txsocksx支持这一点。不花钱就可以使用的有GAE, Cloudflare CDN, Incapsula CDN, 任何开放的socks代理。对于这些中转服务器,需要的条件是:能够顺利的访问客户端。(这就是为什么GAE可以被使用的原因)。这个时候防火墙只看得到中转服务器访问了的客户端,看起来就很正常。不会把服务器置于危险之下。

在使用了上述设计之后,ArkC典型的用途是把自己的服务器公开给任何人用。那么调度服务器的情况,就是用于“多台服务器为客户提供服务的负载均衡”。

  1. 我们的软件是全程不需要依赖于服务器IP的——有了IP就可以被GFW封掉。

我们的机制是:

客户端发送一个特殊构造的DNS请求,利用DNS的NS记录,使得全球的DNS服务器都自动地把它转发给服务器。 服务器收到请求,通过中转服务器连接客户端。

全程不怕GFW封锁IP。

这就解释了,为什么ArkC不需要服务器IP。

  1. 客户端我会去Win10上测试一下的……
  2. 在self.arkc.org的表单上面有一行字,大概是:如果不知道这是什么就不用管它……

clients_db那一项是用一个sqlite数据库存储客户端的证书。搭配最新版(还没release)的server的arkcserver-mailcheck使用,为了实现通过邮件的自动注册(不用手工复制客户端证书到服务端)。

用不上空着没问题的。不过现在的版本因为兼容性问题,请把

"clients_db":"",

整行删除。

  1. 服务端一旦启动不报错的话,就等待客户端连接就可以了。

ArkC并不能自己定义加密方法。我们用的是AES+RSA。

6. ArkC由一个透明代理和一个默认是HTTP模式的代理组成。如果要使用socks代理,或者使用验证功能,你需要启动一个能够用的代理,然后在服务器端,增加“socks_proxy”的选项,格式如前。

Best regards,

Sincerely, Noah

2016-03-19 14:52 GMT+08:00 hehehym notifications@github.com:

既然如此我就不客气啦,其实我的问题有点多 XD. 无论如何感谢和你们一样开发软件的人~

首先我想问一下关于你们软件的原理问题,看介绍好像要有4个服务器?(客户端、中转服务器、服务端和调度服务器)但是安装过程貌似只是接触到客户端和服务端?这个问题作者如果觉得累赘的话可以无视,只是个人好奇比较想清晰了解各个代理软件的基本流程原理..但是又因为个人水平限制~所以,不嫌麻烦的话就简述一下啦~XD.

第二就是客户端和服务端的配置问题了.请问客户端生成了密钥之后还需要设置什么东西吗?(题外话,我在你上面发的链接下载了win客户端,打开之后只要按生成密钥就会崩溃,win10) 服务端我按照上面的自助配置网站设置的不知道有没有理解错误: Path of your server's private key:服务器的私钥路径 Path of client information database:这个我前几天弄的时候没有的,但是我也不知道路径在哪里,烦请作者说明一下 Path of client public key:客户端的公钥路径(应该是要将客户端的公钥文件复制都服务端的服务器当中是吗?反正我是复制进去服务器那边了) SHA1 value of the client private key:客户端私钥的SHA1值 就这么多,然后我就点了生成配置文件~最不懂就是到这里了. { "local_cert_path":"/root/arkc_pri.asc", "clients_db":"", "clients": [["/root/As/arkc_pub.asc", "4712fd184021169979aa82058110413ba354a70f"]], "obfs_level":0, "pt_exec":"" } 大概就是这样子了.然后我就弄成json配置文件(只有上面这几行命令),然后就启动服务端.但是之后的步骤就没有头绪了..

主要问题是不知道配置是否和SS类似,我不知道有没有类似SS的配置文件那样要打服务器IP地址,设置一个端口,加密方式等等,也不清楚能否设置SOCK模式之类的..总之小白水平有限只会跟步骤打命令. 麻烦作者帮一下忙啦~我也知道问题有点白痴~谢谢啦~

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3#issuecomment-198648884

NoahArkc commented 8 years ago

客户端的问题是我新引入的一个bug. 我会尽快修复。

Best regards,

Sincerely, Noah

2016-03-19 16:50 GMT+08:00 Noah Arkc noah@arkc.org:

非常抱歉我们没有致力于改善文档……不过感谢你,我们才能够知道应该如何改善这一方面的内容。

  1. 最基本的ArkC是客户端对服务端的模型。你接触到的,以及我们的Wiki里面,都只针对这种最简单的情况。

为了解决GFW对于公共代理服务的IP封锁,我们可以在客户端和服务端之间引入中转的“服务器”。这种服务器并不需要你自己拥有。现在ArkC通过MEEK插件和txsocksx支持这一点。不花钱就可以使用的有GAE, Cloudflare CDN, Incapsula CDN, 任何开放的socks代理。对于这些中转服务器,需要的条件是:能够顺利的访问客户端。(这就是为什么GAE可以被使用的原因)。这个时候防火墙只看得到中转服务器访问了的客户端,看起来就很正常。不会把服务器置于危险之下。

在使用了上述设计之后,ArkC典型的用途是把自己的服务器公开给任何人用。那么调度服务器的情况,就是用于“多台服务器为客户提供服务的负载均衡”。

  1. 我们的软件是全程不需要依赖于服务器IP的——有了IP就可以被GFW封掉。

我们的机制是:

客户端发送一个特殊构造的DNS请求,利用DNS的NS记录,使得全球的DNS服务器都自动地把它转发给服务器。 服务器收到请求,通过中转服务器连接客户端。

全程不怕GFW封锁IP。

这就解释了,为什么ArkC不需要服务器IP。

  1. 客户端我会去Win10上测试一下的……
  2. 在self.arkc.org的表单上面有一行字,大概是:如果不知道这是什么就不用管它……

clients_db那一项是用一个sqlite数据库存储客户端的证书。搭配最新版(还没release)的server的arkcserver-mailcheck使用,为了实现通过邮件的自动注册(不用手工复制客户端证书到服务端)。

用不上空着没问题的。不过现在的版本因为兼容性问题,请把

"clients_db":"",

整行删除。

  1. 服务端一旦启动不报错的话,就等待客户端连接就可以了。

ArkC并不能自己定义加密方法。我们用的是AES+RSA。

6. ArkC由一个透明代理和一个默认是HTTP模式的代理组成。如果要使用socks代理,或者使用验证功能,你需要启动一个能够用的代理,然后在服务器端,增加“socks_proxy”的选项,格式如前。

Best regards,

Sincerely, Noah

2016-03-19 14:52 GMT+08:00 hehehym notifications@github.com:

既然如此我就不客气啦,其实我的问题有点多 XD. 无论如何感谢和你们一样开发软件的人~

首先我想问一下关于你们软件的原理问题,看介绍好像要有4个服务器?(客户端、中转服务器、服务端和调度服务器)但是安装过程貌似只是接触到客户端和服务端?这个问题作者如果觉得累赘的话可以无视,只是个人好奇比较想清晰了解各个代理软件的基本流程原理..但是又因为个人水平限制~所以,不嫌麻烦的话就简述一下啦~XD.

第二就是客户端和服务端的配置问题了.请问客户端生成了密钥之后还需要设置什么东西吗?(题外话,我在你上面发的链接下载了win客户端,打开之后只要按生成密钥就会崩溃,win10) 服务端我按照上面的自助配置网站设置的不知道有没有理解错误: Path of your server's private key:服务器的私钥路径 Path of client information database:这个我前几天弄的时候没有的,但是我也不知道路径在哪里,烦请作者说明一下 Path of client public key:客户端的公钥路径(应该是要将客户端的公钥文件复制都服务端的服务器当中是吗?反正我是复制进去服务器那边了) SHA1 value of the client private key:客户端私钥的SHA1值 就这么多,然后我就点了生成配置文件~最不懂就是到这里了. { "local_cert_path":"/root/arkc_pri.asc", "clients_db":"", "clients": [["/root/As/arkc_pub.asc", "4712fd184021169979aa82058110413ba354a70f"]], "obfs_level":0, "pt_exec":"" } 大概就是这样子了.然后我就弄成json配置文件(只有上面这几行命令),然后就启动服务端.但是之后的步骤就没有头绪了..

主要问题是不知道配置是否和SS类似,我不知道有没有类似SS的配置文件那样要打服务器IP地址,设置一个端口,加密方式等等,也不清楚能否设置SOCK模式之类的..总之小白水平有限只会跟步骤打命令. 麻烦作者帮一下忙啦~我也知道问题有点白痴~谢谢啦~

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3#issuecomment-198648884

hehehym commented 8 years ago

Using private key with SHA1: 4712fd184021169979aa820581104XXXXXXXXXXXX. Please make sure it is identical the string in server-side config. INFO: 2016-03-19 17:51:41,200; Getting public IP address INFO: 2016-03-19 17:51:41,210; Starting new HTTPS connection (1): api.ipify.org DEBUG: 2016-03-19 17:51:44,327; "GET / HTTP/1.1" 200 13 INFO: 2016-03-19 17:51:44,332; IP address to be sent is 119.XXX.X.XXX INFO: 2016-03-19 17:51:44,333; Scanning for UPnP devices INFO: 2016-03-19 17:51:45,343; Device discovered INFO: 2016-03-19 17:51:45,393; Port mapping succeed INFO: 2016-03-19 17:51:45,403; Listening to local services at 127.0.0.1:9090 INFO: 2016-03-19 17:51:45,404; Listening to remote server at :443

这样是否表示连接成功??

NoahArkc commented 8 years ago

没有成功。

你可在客户端和服务端加入-vv参数,显示详细输出。服务端应该会给出提示。

你可把输出发给我。

一般而言,请考虑客户端防火墙造成的屏蔽、证书复制的时候可能错误等可能性。

Best regards,

Sincerely, Noah

On Sat, Mar 19, 2016 at 5:53 PM, hehehym notifications@github.com wrote:

Using private key with SHA1: 4712fd184021169979aa820581104XXXXXXXXXXXX. Please make sure it is identical the string in server-side config. INFO: 2016-03-19 17:51:41,200; Getting public IP address INFO: 2016-03-19 17:51:41,210; Starting new HTTPS connection (1): api.ipify.org DEBUG: 2016-03-19 17:51:44,327; "GET / HTTP/1.1" 200 13 INFO: 2016-03-19 17:51:44,332; IP address to be sent is 119.XXX.X.XXX INFO: 2016-03-19 17:51:44,333; Scanning for UPnP devices INFO: 2016-03-19 17:51:45,343; Device discovered INFO: 2016-03-19 17:51:45,393; Port mapping succeed INFO: 2016-03-19 17:51:45,403; Listening to local services at 127.0.0.1:9090 INFO: 2016-03-19 17:51:45,404; Listening to remote server at :443

这样是否表示连接成功??

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3#issuecomment-198675709

hehehym commented 8 years ago

CRITICAL:root:Config file (-c or --config) must be specified. 在服务端打arkcserver -vv得到这句东东

NoahArkc commented 8 years ago

额……我的意思是,请在本来的命令行中加入-vv参数。客户端同。

形如:

arkcserver -vv -c config.json

Best regards,

Sincerely, Noah

On Sat, Mar 19, 2016 at 10:18 PM, hehehym notifications@github.com wrote:

CRITICAL:root:Config file (-c or --config) must be specified. 在服务端打arkcserver -vv得到这句东东

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3#issuecomment-198710313

hehehym commented 8 years ago

root@www:~# arkcserver -vv -c ceshi.json ArkC Server V0.2, by ArkC Technology. The programs is distributed under GNU General Public License Version 2.

我也不知道怎么回事...打了之后就显示下面的东东(连root@www也没有,好像卡住一样).没有下文了,至于客户端,win版本的也要输入命令的吗

NoahArkc commented 8 years ago

没有下文就代表服务器正在运行。

启动客户端之后,(即使不加-vv),像你那样启动服务端的话,应该看到显示才对。

如果看不到显示,说明服务器端的53端口没开(有防火墙),或者客户端control domain也就是客户端最上面那个没设置对。

如果在self.arkc.org注册的话,应该是一个XXXXXXXX.p.arkc.org的域名才对。

Best regards,

Sincerely, Noah

On Sun, Mar 20, 2016 at 12:17 AM, hehehym notifications@github.com wrote:

root@www:~# arkcserver -vv -c ceshi.json ArkC Server V0.2, by ArkC Technology. The programs is distributed under GNU General Public License Version 2.

我也不知道怎么回事...打了之后就显示下面的东东(连root@www也没有,好像卡住一样).没有下文了,至于客户端,win版本的也要输入命令的吗

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3#issuecomment-198741276

NoahArkc commented 8 years ago

Yes, 有什么问题吗?

Best regards,

Sincerely, Noah

On Wed, Mar 23, 2016 at 10:50 PM, hehehym notifications@github.com wrote:

zai ma

— You are receiving this because you modified the open/close state. Reply to this email directly or view it on GitHub https://github.com/projectarkc/arkc-server/issues/3#issuecomment-200377803