shootback/README.md at master · aploium/shootback

shootback/README.md at master · aploium/shootback

shootback is a reverse TCP tunnel let you access target behind NAT or firewall
反向TCP隧道, 使得NAT或防火墙后的内网机器可以被外网访问.
Consumes less than 1% CPU and 8MB memory under 800 concurrency.
slaver is single file and only depends on python(2.7/3.4+) standard library.

How it works

How shoot back works

Typical Scene

  1. Access company/school computer(no internet IP) from home
    从家里连接公司或学校里没有独立外网IP的电脑
  2. Make private network/site public.
    使内网或内网站点能从公网访问
  3. Help private network penetration.
    辅助内网渗透
  4. Help CTF offline competitions.
    辅助CTF线下赛, 使场外选手也获得比赛网络环境
  5. Connect to device with dynamic IP, such as ADSL
    连接动态IP的设备, 如ADSL

Getting started

  1. requirement:

    • Master: Python3.4+, OS independent
    • Slaver: Python2.7/3.4+, OS independent
    • no external dependencies, only python std lib
  2. download git clone https://github.com/aploium/shootback

  3. (optional) if you need a single-file slaver.py, run python3 build_singlefile_slaver.py

  4. run these command

    # master listen :10000 for slaver, :10080 for you  python3 master.py -m 0.0.0.0:10000 -c 127.0.0.1:10080    # slaver connect to master, and use example.com as tunnel target  # ps: you can use python2 in slaver, not only py3  python3 slaver.py -m 127.0.0.1:10000 -t example.com:80    # doing request to master  curl -v -H "host: example.com" 127.0.0.1:10080  # -- some HTML content from example.com --  # -- some HTML content from example.com --  # -- some HTML content from example.com --
  5. a more reality example:
    assume your master is 22.33.44.55 (just like the graph above)

    # slaver_local_ssh <---> slaver <--> master(22.33.44.55) <--> You    # ---- master ----  python3 master.py -m 0.0.0.0:10000 -c 0.0.0.0:10022    # ---- slaver ----  python(or python3) slaver.py -m 22.33.44.55:10000 -t 127.0.0.1:22    # ---- YOU ----  ssh 22.33.44.55 -p 10022
  6. for more help, please see python3 master.py --help and python3 slaver.py --help

Tips

  1. run in daemon:
    nohup python(or python3) slaver.py -m host:port -t host:port -q &
    or:

    # screen is a linux command  screen  python(or python3) slaver.py -m host:port -t host:port  # press  ctrl-a d  to detach screen  # and if necessary, use "screen -r" to reattach
  2. ANY service using TCP is shootback-able. HTTP/FTP/Proxy/SSH/VNC/…

  3. shootback itself just do the transmission job, do not handle encrypt or proxy.
    however you can use a 3rd party proxy (eg: shadowsocks) as slaver target.
    for example:
    shadowsocks_server<-->shootback_slaver<-->shootback_master<-->shadowsocks_client(socks5)

Warning

  1. in windows, due to the limit of CPython select.select(), shootback can NOT handle more than 512 concurrency, you may meet
    ValueError: too many file descriptors in select()
    If you have to handle such high concurrency in windows, Anaconda-Python3 is recommend, it’s limit in windows is 2048

Performance

  1. in my laptop of intel I7-4710MQ, win10 x64:
    • 1.6Gbits/s of loopback transfer (using iperf), with about 5% CPU occupation.
    • 800 thread ApacheBench, with less than 1% CPU and 8MB memory consume
shootback/README.md at master · aploium/shootback

如何安装和配置simple-obfs服务端

by 秋水逸冰

秋水逸冰 / 2017-10-09 14:44

Howto

本文的主要内容是,在已经安装完 Shadowsocks-libev 服务端的情况下,如何手动安装和配置 simple-obfs,以及在此过程中的排错。

首先,使用本站提供的一键脚本安装 Shadowsocks-libev 服务端

Shadowsocks 一键安装脚本(四合一)
CentOS下shadowsocks-libev一键安装脚本
Debian 下 Shadowsocks-libev 一键安装脚本

其次,手动安装和配置 simple-obfs 服务端

下文以 CentOS 7 的操作为范例。
在用一键脚本安装完 Shadowsocks-libev 服务端的前提下,安装 simple-obfs 服务端所需的依赖包都已安装完毕。
有可能还需要安装一下 git 命令。

# Debian / Ubuntu     apt-get install -y git     # CentOS / Fedora / RHEL     yum install -y git

下载和安装 simple-obfs

cd /opt     git clone https://github.com/shadowsocks/simple-obfs.git     cd simple-obfs     git submodule update --init --recursive     ./autogen.sh     ./configure --disable-documentation     make && make install

需要特别注意的是,autogen.sh 脚本的配置限制了 autoconf 的版本不能低于 2.67。
如何查看默认 autoconf 的版本号?

autoconf --version

CentOS 7 的 autoconf 版本为 2.69,符合条件。

以下为在 CentOS 6 的操作步骤。
CentOS 6 的 autoconf 版本为 2.63,因此需要用到 EPEL 的 autoconf268 依赖包。

yum install -y autoconf268

然后修改 autogen.sh 内容,将

autoreconf --install --force

修改为

autoreconf268 --install --force

还有一点,在 CentOS 6 下编译出现 error: ev.h: No such file or directory 错误时,原因如下:
CentOS 6 下 ev.h 位于 /usr/include/libev/ev.h,因此需要修改以下代码里关于 ev.h 路径定义的地方。

src/local.h     src/resolv.c     src/server.h     

找到 #include <ev.h> 这一行,修改为 #include <libev/ev.h> 即可通过编译。

一般情况下安装完成后,二进制文件的路径位于

/usr/local/bin/obfs-local     /usr/local/bin/obfs-server

重新配置文件

重新配置 Shadowsocks-libev 的配置文件 /etc/shadowsocks-libev/config.json
添加如下一行

"plugin":"/usr/local/bin/obfs-server --obfs http"

范例如下:

{         "server":"0.0.0.0",         "server_port":your_server_port,         "local_address":"127.0.0.1",         "local_port":1080,         "password":"your_password",         "timeout":300,         "method":"your_encryption_method",         "plugin":"/usr/local/bin/obfs-server --obfs http"     }

然后重新启动 Shadowsocks-libev 即可。

确认 ss-server 和 obfs-server 进程已经正常启动。
命令如下:

ps -ef | grep -v grep | grep "server"

输出结果参考:

/usr/local/bin/ss-server -u -c /etc/shadowsocks-libev/config.json -f /var/run/shadowsocks-libev.pid     /usr/local/bin/obfs-server --obfs http

Windows 客户端参考网址:https://github.com/shadowsocks/shadowsocks-windows/releases

转载请注明:秋水逸冰 » 如何安装和配置simple-obfs服务端

Shared via Inoreader

如何安装和配置simple-obfs服务端

几条简单命令,也能保护你的 Mac

by Minja

少数派 / 2017-10-31 13:23

这些看起来很酷的操作其实易学易用,试试用它们保护你的 Mac 电脑。


Mac 上的密码分为很多种,设置起来又很不方便,有的人因为嫌麻烦,仅仅设置了一个自我安慰的用户密码,或干脆让自己的电脑「裸奔」。

此前少数派曾写过一篇教你用简单方法保护数据安全的文章,本文实现的效果类似,不过是通过更直接的命令行方式,让你像电脑高手一样保护自己的 Mac。

本文旨在带你区分不同的密码,并掌握每种密码合适的使用场合。为了避免图形界面来回切换的繁琐,我尽量介绍命令行的用法,有基础、有需求的读者可以一试,害怕把自己电脑锁上打不开的读者,权当科普便好。

macOS 用户帐户密码

用户密码是我们最常使用的密码,即当前系统管理员密码。

涉及 Root 权限等操作都需要它的许可,比如部分系统设置、部分终端操作和安装奇奇怪怪的应用。由于能够通过某些手段绕过,可以说,用户密码只防君子,不防小人。

实际中我们常常需要手动输入用户密码,为了方便,长度以 6-8 位为宜,不应过长或过于复杂——但也不要太简单。我所见最奇葩的密码是「空格」,此君解锁只需猛敲两下键盘。不提倡此类故作潇洒的行为。如果需要修改密码,可以使用这个命令:

passwd

键入原密码、新密码并确认后即修改成功。

至于配备 Touch Bar 的 MacBook,在部分情形下,它们可以使用指纹代替密码输入。但是需要注意身后徘徊的不明人员,因为有的应用会在指纹验证成功后明文显示密码(例如 iTerm 2)。

👀 冷知识:我的密码失灵了?

有时开盖输入用户密码,明明正确,却无法解锁屏幕。如果你确定 ⇪Caps Lock、⇧Shift 以及输入语言都没问题,可以重启解决。这是 Apple 服务器的 bug,以我倒卖电脑的经验,多发于维修后、换新之后。

Firmware 固件密码

Firmware 阻止他人从未指定的磁盘启动,包括光盘、外置 U 盘等。

这是一层非常有效的保护,防止来路不明的启动盘入侵电脑。带来的一点小麻烦是,你自己自己想重装、恢复系统之时,也得手动输入密码。

设置 Firmware 可以使用以下命令:

sudo firmwarepasswd -setpasswd

建议所有 macOS 设备都开启 Firmware。如果忘记了 Firmware,需要进入恢复模式,输入用户密码关闭 Firmware。哪天你重装系统,要是忘了许久不用的 Firmware 密码,可别再对着弹出的 Firmware 界面思考人生了。

另一种设置方式可以参考我派这篇文章:为你的 Mac 添加「固件密码」保护

FileVault 2 全磁盘加密

FileVault(OS X Lion 及更高版本中为 FileVault 2)防止未登入的用户读取磁盘数据。开启之后,任何账户无法自动登录FileVault 将 XTS-AES-128 加密与 256 位密钥搭配使用,几乎达到最高级别的加密,即使别有用心之人把硬盘或 SSD 拆下来,也无法读取里面的数据。相对的,一旦登入账号,FileVault 就告解密,该账户下数据的保护需另寻出路。

Mac 在激活和会询问你是否开启 FileVault,不少人忘了自己有没有操作过,可以用这个命令查询:

fdesetup status

如果显示FileVault is off,就表示没有开启。日常使用中我不建议开启 FileVault,因为加密和解密都比较麻烦,耗时、耗电。不过,为防梁上君子,那些常常不在身边的设备建议开启 FileVault——尤其是 Mac mini 搭建的 NAS、基于 macOS 的工作站以及常驻一个地方的外置磁盘。命令如下:

sudo fdesetup enable

输入用户密码,静待加密完成并生成 FileVault 密码,务必保管好它。

如果你希望使用 iCloud 挽救忘记 FileVault 密码的悲惨局面,还是使用「常规方式」,在系统设置里一步步打开 FileVault:

  1. 在系统设置-安全性于隐私-FileVault 内解锁左下角锁头,需要输入用户密码
  2. 点选「打开 FileVault」
  3. 选择是否将 FileVault 密码存储进 iCloud
  4. 开始漫长的加密过程,建议连上电源

压缩文件加密

可以为选定的压缩包设置密码,建议用于重要的工作文件、原创作品。系统自带的压缩工具就具有加密功能,我们使用它的命令行版本。

zip -e 文件名.zip 文件路径

输入并确认密码,即刻生产带有密码保护的压缩文件。企图打开它的时候,就会问你讨要密码了。

小结

密码保护远远不止于此,还有卷宗加密、网盘加密等等内容。本文所介绍的几种密码,只是比较基础的内容,但是多数人的 MacBook 仅仅有一颗聊胜于无的锁屏密码,实在令人不安。

虽然我们的生活不是《Who Am I》里的电子战场,但一些爱搞小动作的可疑分子还是让人不得不防。比起安装某些怀有司马昭之心的杀毒软件,其实用 Mac 自带工具做一些简单的预防,就能让电脑的安全系数上升不少。


题图来自 Unsplash

几条简单命令,也能保护你的 Mac

「下载神器」aria2 懒人安装教程

by 青小蛙

小众软件 / 2017-10-31 13:03

aria2官网) 是一款开源、轻量级的多协议命令行下载工具,支持 HTTP/HTTPS、FTP、SFTP、BitTorrent 和 Metalink 协议,拥有众多第三方支持插件,被誉为「下一代下载工具」和「下载神器」,然而由于安装配置复杂,挡住了许多人的使用。青小蛙带来 aria2 懒人版安装教程,简单粗暴,下面就开始。@Appinn

由于是懒人版安装教程,我们先不深究如何具体配置 aria2 了,直接拿来用就好了。

首先,下载青小蛙重新打包了一下的懒人版 aria2 程序包(百度盘链接,密码: gafp);

其次,双击运行 aria2启动.vbs 文件让 aria2 在后台运行(无任何提示);

最后,双击运行 aria2关闭.bat 文件关闭在后台运行的 aria2。

默认下载路径:aria2 文件夹内的 downloads 文件夹

懒人版真的很懒人,这就好了,但是,怎么用呢?

神器 2:aria2c.com

Aria2c.com 是一个基于 aria2 的网页版控制端,你可以通过这个网站来添加、删除、管理下载任务。

理论上,打开就能用,无需设置。

如果看到右上角的 Aria2 版本号,那么就已经正常工作了。

之后,只需要点击 ➕添加 按钮,添加下载任务即可:

没错,只需要在第一行输入地址即可,其他设置可以不管,然后点击右下角的添加按钮,你电脑里的 aria2 就开始工作啦。

而 aria2 拥有神奇的各种玩法,比如:从 Firefox 将文件下载链接发往 Aria2将百度盘文件发往 Aria2[Chrome]用 aria2 替代 Safari 的默认下载工具 等等。

深究一下

青小蛙的配置文件(config.conf)来自于 aria2c.com,你可以打开该文件进行自定义,你能想到的关于下载的配置都可以修改,附有中文注释。

启动与关闭文件:

aria2启动.vbs
CreateObject("WScript.Shell").Run "aria2c.exe --conf-path=config.conf",0

aria2关闭.bat
taskkill /im aria2c.exe /t /f

使用 vbs 仅仅是为了隐藏一个 cmd 窗口,不然很多人会不习惯。

鉴于本文懒人版的性质,介绍就到此了,如果你有其他疑问,可以留言参与讨论。


相关阅读


©2017 青小蛙 for 小众软件 | 加入我们 | 投稿 | 订阅指南 | 反馈 | 代理(优惠码 Appinn)
b27c41ad47c2611d60d7452a4c02dd52
Site Meter

apppackge:

Shared via Inoreader

「下载神器」aria2 懒人安装教程

tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目

by wangyucn

V2EX – 好玩 / 2017-10-29 12:31

tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目

image

之前发的 UDPspeeder 加速全流量比较麻烦(需要配合 OpenVРN),现在我把 UDPspeeder 的功能做成 VРN 了,一个程序就可以加速全流量,使用起来更简单。

链接

repo: https://github.com/wangyu-/tinyFecVPN

中文主页: https://github.com/wangyu-/tinyFecVPN/blob/master/doc/README.zh-cn.md

编译好的 binary 下载: https://github.com/wangyu-/tinyFecVPN/releases

使用说明

只要两行命令:

# 在 server 端运行:   ./tinyvpn -s -l0.0.0.0:5533 -f20:10 -k "passwd" --sub-net 10.22.22.0      # 在 client 端运行:   ./tinyvpn -c r44.55.66.77:5533 -f20:10 -k "passwd" --sub-net 10.22.22.0      

然后在 client 端ping 10.22.22.1,直接就可以 ping 通了。用 10.22.22.1 就可以直接访问到 server 上的所有服务了,所有经过 tinyFecVРN 的来回的流量都会被加速。

效果

image

image (借用了 UDPspeeder 的图)

其他

目前在 release 版的代码里故意引入了一点限制,只可以当加速器用,不能直接用来“翻出去”。

Shared via Inoreader

tinyFecVРN,集成了 UDPspeeder 功能的 VРN,可以加速全流量(TCP/UDP/ICMP),开源项目