Table of Contents

cryptsetup 整盘加密

过于复杂的密码很容易丢失,即使使用密钥管理器也容易发生误操作或者被迫暴露。而密钥文件其实也并非那么的可靠。

cryptsetup的命令真的很长。我写了个小脚本简化下。

使用方法如下

crypt.sh action -k key -h header -d /dev/sdx -p xG -s offset -c cipher -b blocksize -e -n N

脚本只支持key文件的方式。脚本使用key文件的offset 8位置的数值作为在key文件中的偏移,默认为1个字节,可以通过设置N的值来修改字节的大小,比如N为2就是两个字节的值8作为最终的偏移,N越大,则密钥文件需要的也越大,因为表示偏移位置的数字范围也越大。我比较喜欢使用随机生成的文件,因此,这个最终的偏移是多少,除了打开文件,具体计算,我也不清楚,但只需要记住初始的值offset就可以了。

blocksize为密钥文件的大小, 单独可能没太大用,但如果将key文件和header文件直接拼接起来,带上参数-e, 则后续的操作(format除外), 就不需要使用header文件了。脚本会将header文件解出来,放到/dev/shm下面,使用完之后,再删除掉它, 这个时候, blocksize就很有用了。

-p 对应的是align-payload 参数,支持偏移,这个值和blocksize, offset 一样, 支持K,M,G这样人类可看的格式。 action可以为 open, close, format, dump 对应的使cryptsetup的 open, close, format,luksDump

这样一来, 主要只用记住密钥文件的偏移即可。

tor网站服务

最简单的方式,生成匿名网站: *.onion, 当然需要tor浏览器来访问 docker 部署

version: "3.1"
services:
  torservice:
    image: goldy/tor-hidden-service
    restart: always
    links:
    - hello
    environment:
    - HELLO_PORTS=80:80
    - HELLO_SERVICE_NAME=hello
    volumes:
    - ./keys:/var/lib/tor/hidden_service/

  hello:
    image: nginx:alpine
    restart: always

i2p

i2p本身用java写的, i2pd是兼容使用C++写的,这样就不依赖java环境了.而且,使用docker来部署i2pd会更方便.i2p我没有尝试过docker

i2pd docker-compose 部署

version: "3.1"
services:
  torservice:
    image: meeh/i2pd
    links:
    - hello
    volumes:
    - ./data:/var/lib/i2pd:rw
    - ./tunnels.conf:/var/lib/i2pd/tunnels.conf:rw
  hello:
    image: sameersbn/squid
    volumes:
      - ./squid:/var/spool/squid3:rw

  hello:
    image: nginx:alpine

上述配置中,如果要浏览i2pd的状态的话,暴露7070端口. tunnels.conf 主要使提供服务的, 比如上面的hello http服务器

[hello]
type = http
host = hello
port = 80

基本上,i2p就是个网络环境,你在tunnes中可以转发任何服务,类似tor.如果关联一个代理服务器,那这个节点就是出口了.比如squid

[squid]
type = server
host = squid
port = 3128
keys = squid.dat
signaturetype=7
inbound.length=1
outbound.length=1

i2pd可以设置自己的出口的socksproxy给自己使用. 启动时设置以下参数: --socksproxy.outproxy.enabled=true --socksproxy.outproxy=127.0.0.1 --socksproxy.outproxyport=9050

或者写入配置文件也可以.

在提供含有出口代理功能的时候需要注意自身的安全,尤其使socks代理

results matching ""

    No results matching ""