Code Monkey home page Code Monkey logo

tow's Introduction

TOW ( Transparent Over the Wall )

TOW 是一个安装在路由器系统上的软件包,安装之后,可以保证连接在这个路由器上的所有客户端透明翻墙。

当前版本:1.1

功能

TOW 的设计目标是透明化/自动化,理想情况下客户端用户无需关心哪些网站无法访问,可直连网站也不会因为使用二级代理而降低访问速度。

依赖

流程以及文件解析

自启动以及防火墙

关键目录和文件:/opt/.autorun, /opt/etc/config

/opt/.autorun 文件利用了 Tomato Optware 的特点:在任何挂载设备根目录下如果存在 .autorun 结尾的文件,则在挂载此设备后执行该文件。.autorun 文件代码:

if [ -f /var/notice/wan ]; then
   for s in /opt/etc/config/*.wanup; do $s; done
   for s in /opt/etc/config/*.fire; do $s; done
fi

表示在 WAN 上线后,运行 /opt/etc/config 下所有以 wanupfire 为后缀的文件。

*.fire 为防火墙脚本,和 Tomato 图形界面中设置防火墙脚本作用是一样的。这个脚本在 TOW 方案中极为重要,可以仔细阅读一下源代码;

*.wanup 为自启动程序列表,所需的主要程序 shadowsocks,redsocks 等都由这个文件调用启动。

DNS 处理

关键目录和文件: /opt/etc/dnsmasq

...待完成...

程序的启动/停止/重启以及监控

关键目录和文件: /opt/etc/init.d 下 S 开头的文件

...待完成...

程序配置文件

关键目录和文件: /opt/etc 以及 /opt/etc/init.d/S27obssh

...待完成...

手动维护 ipset 的 gfwlist 列表

关键文件: /opt/etc/init.d 下 dmadd, dmdel, dmcheck 三个文件

...待完成...

致谢

贡献代码:

  • autogfwlist 维护的黑名单;
  • lantern 维护的黑名单;
  • n0wa11 维护的白名单;
  • panda 维护的白名单;
  • semigodking 修改的 redsocks2;
  • OpenWRT RA-MOD;
  • fqdns/西厢3的 dns 钓鱼脚本;

tow's People

Contributors

rampagex avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

tow's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.