Skip to content

d版简略使用和配置说明

fuyumi edited this page Oct 13, 2017 · 12 revisions

Windows 用户请使用支持 Unix换行符 的文件编辑器,如 Editplus, notepad2, notepad++ 编辑文件

  • 请先确认您的版本为 5.2.0(D) 版,并且 PC 和路由器上都正确安装了 Python2

  • 使用 wireshark 在官方客户端登录前开始截包,做一次完整的截包动作然后登出,保存为 wireshark截包文件, 比如 dr.pcapng (扩展名为pcapng)。

  • 下载 d版配置生成器, 将其与第一步的截包文件放到同一个目录下,并且将 filename = 'dr.pcapng' 中的 dr.pcapng 改为第一步保存的文件名。

  • 进入命令提示符(或shell)进入 drcom_d_config.py 所在目录,输入 python drcom_d_config.py > config.txt ,打开 config.txt 根据提示,将类似

server = '172.17.254.6'
username='hahahahaha'
password=''
CONTROLCHECKSTATUS = '\x20'
ADAPTERNUM = '\x01'
host_ip = '172.17.1.1'
IPDOG = '\x01'
host_name = 'DRCOMFUCKER'
PRIMARY_DNS = '114.114.114.114'
dhcp_server = '0.0.0.0'
AUTH_VERSION = '\x0f\x00'
mac = 0x28d244090e15
host_os = 'WINDIAOS'
KEEP_ALIVE_VERSION = '\xd4\x02'

的段落拷贝到/etc/drcom.conf中(如果这是放到放进路由器里的客户端)。

  • 或者使用 在线配置器 生成配置(New)。
  • 如果是用作在PC上测试,覆盖 latest-wired.py 中从 # CONFIG# CONFIG_END 中间的部分,注意自行修改 password 的值
  • PC上测试: 运行 latest-wired.py 看是否能上网,不能请在该项目中发 issue, 附上相应的截获的包;在linux环境下,如果提示端口占用,运行 kill -9 $(lsof -i:61440 | awk '{if($2~/[0-9]+/) print $2}') 以结束占用61440端口的进程。
  • 部分学校协议不同,如果出现登录失败请尝试修改 [ror_version = Falseror_version = True]。如果出现了keepalive1 timeout状况,请把 keep_alive1_mod改成True
  • 如果PC上运行成功,则修改 IS_TEST = True 为 IS_TEST = False,将 latest-wired.py 放到路由器的 /usr/bin/ 里,并且改名为 drcom, 并且给予执行权限 (chmod +x /usr/bin/drcom), 注意:这一步需要按上上步的方法正确配置 /etc/drcom.conf
  • 编辑路由器上 /etc/rc.local , 在 exit 0 前加入一行 drcom &。若无法成功自启,请尝试在前面添加一行sleep 10,或者尝试如 issue #20 上所述添加hotplug,在 /etc/hotplug.d/iface/ 添加一个名为 99-drcom 文件并且附加执行权限。
#!/bin/sh
# /etc/hotplug.d/iface/99-drcom

if [ "$ACTION" = ifup ]; then 
    if [ "${INTERFACE}" = "wan" ]; then
        sleep 10 && python /usr/bin/drcom
    fi
fi