极路由X添加修改本地hosts功能
本人只在极路由X上进行了修改,实际上应该极路由的路由器应该都是可以的,当然不确定后台的代码是否一致,如无需在后台添加这个功能,可以直接添加修改/etc/hosts.d/custumdns_host2文件。如只想直接修改/etc/hosts文件的话,需要编辑/etc/init.d/dnsmasq文件,然后把下面这三句代码注释(#)掉或者删除掉.否则即使修改了/etc/hosts文件重启后还是会恢复原来的。
1 |
[crayon-62f594777aa8d375690121 inline="1" lang="sh" decode="true" ]for f in $( ls /etc/hosts.d ); do |
1.获取ssh, 打开大神制作的网站 http://www.hiwifi.wtf/
(1)点击获取local_token
(2)获取uuid
(3)把获取到的local_token和uuid填到对应的输入框内,点击 提交 获取cloud token

(4)把获取到的cloud token值填写到第(1)步开启调试工具的对应框内,点提交就会出现开启22端口的提示。
2.ssh登录进路由器
ssh root@10.1.1.1
ssh的密码是路由器的后台密码
3.把修改Hosts的功能放到路由器后台上
因为极路由的智能插件页已经没有太大用处,所以我们直接在这个页面增加功能
这个页面的代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 |
<% --[[ Info 智能插件首页 Author peng.kang <peng.kang@hiwif.tw> Copyright 2016 ]]-- local ver = require "luci.version" local i18n = require "luci.i18n" local io = require "io" local hosts_path = "/etc/hosts.d/custumdns_host2" local act_submit = tostring(luci.http.formvalue("act_submit")) if act_submit == "1" then local hosts_text = tostring(luci.http.formvalue("hosts")) local file = io.open(hosts_path, "w") file:write(hosts_text) file:close() luci.sys.call("/etc/init.d/dnsmasq restart") end local file = io.open(hosts_path, "rb") if file then file:close() end hosts = "" if file ~= nil then local t = {} for line in io.lines(hosts_path) do table.insert(t, line) end hosts = table.concat(t, "\n") .. "\n" end %> <% include('admin_web/header') %> <link rel="stylesheet" type="text/css" href="<%=resource%>/v2/style/admin_web/plugin.css?v=<%=ver.svnRevNum%>"> <div id="bd"> <div class="com-main clearfix"> <div id="right_part" class="G-rightSide"> <div> <h2 class="J_view_right" style="visibility: hidden;"><%=i18n.translate("web_router_run_stable")%></h2> <div class="side-bd"> <div class="side-panel online-info J_view_right" style="visibility: hidden;"> <p class="time" id="days_num"><span></span></p> <p class="service-info" id="serviced_info"></p> <div class="ctr-list"> <ul> <li class="i18n-en-manage-system-address icon-li"> <a href="javascript:;" id="lan_ip"><span class="icon icon2"></span><span class="G-handle"></span></a> </li> <%if i18n.is_empty("query_warranty_visible") then%> <li class="i18n-en-query_warranty_visible icon-li"> <a href="<%=luci.dispatcher.build_url('admin_web','passport','index')%>?from=router" target="_blank" ><span class="icon icon3"></span><span><%=i18n.translate("web_query_warranty")%></span></a> </li> <%end%> </ul> </div> </div> </div> <div class="G-power-panel"> <a href="javascript:;" class="icon power G-handle J_system_restart" style="display:none;"></a> <p class="J_system_restart G-handle" style="display:none;"><%=i18n.translate("g_reboot")%></p> </div> </div> </div> <% include('admin_web/menu/menu_left') %> <div class="G-main" id="main_view"> <div class="G-main-panel"> <div class="plugin-tit"><%=i18n.translate("web_plugin_title")%></div> <div class="G-gray-panel"> <form id="form1"> <div class="G-form-main"> <div class="G-form-main-hd"> <span class="G-handle right go_back"> <span class="icon back"></span><span><%=i18n.translate('web_go_back')%></span> </span> <span class="icon setting"></span><span>Hosts设置</span> </div> <div class="G-form-main-bd"> <div class="zd-panel"> <h2 style="margin-bottom: 40px;">请小心设置</h2> <input type="hidden" name="act_submit" id="" class="txt" value="1"/> <textarea id="hosts" name="hosts" rows="15" cols="60"><%=hosts%></textarea> </div> </div> <div class="panel-btn-bar"> <input type="button" value="<%:保存%>" class="btn" id="submit_btn"/> </div> </div> </form> </div> </div> <div class="G-main-panel"> <div class="G-gray-panel"> <div class="locall-plugin-list"> <div class="hd"><span class="edit-btn" id="plugin_set" style="display: none;"><%=i18n.translate("web_edit")%></span><%=i18n.translate("web_hiwifi_local_plugin")%></div> <div class="bd"> <ul class="clearfix" id="local_plugin_list"> <li> <div class="plugin-icon J_add_plugin G-handle"> <img src="/turbo-static/turbo/v2/img/admin_web/add-plugin.png" alt=""/> </div> <p class="plugin-name J_add_plugin G-handle"><%=i18n.translate("web_click_add")%></p> </li> </ul> </div> </div> </div> </div> </div> </div> </div> <div id="hosts_setup" style="display: none;"> </div> <% include('admin_web/footer') %> <!-- 通用模块的专属js --> <script type="text/javascript" src="<%=resource%>/v2/js/admin_web/general_module.js?v=<%=ver.svnRevNum%>"></script> <script type="text/javascript"> $(function(){ //提交 $("#submit_btn").click(function(){ $("#form1").submit(); }) }); </script><!-- 网络设置页的专属js --> <script type="text/javascript" src="<%=resource%>/v2/js/admin_web/plguin.js?v=<%=ver.svnRevNum%>"></script> </body> </html> |
把以上代码保存(可通过vi命令修改或者scp上传)在/usr/lib/lua/luci/view/admin_web/plugin/index.htm,当然最好先备份一下原来的代码。
这时我们刷新后台的插件页面就能看到Hosts修改的地方了。点了保存没生效可以重启一次路由器。也可以在ssh下执行。
/etc/init.d/dnsmasq restart
