### 下载好官方的ubuntu的镜像


https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

改用清华的源,否则太慢了


vim /etc/apt/sources.list

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse


# 预发布软件源,不建议启用

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse

# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse


apt update


### 允许root登陆

vim /etc/ssh/sshd_config


PermitRootLogin yes #允许root登录

PermitEmptyPasswords no #不允许空密码登录

PasswordAuthentication yes # 设置是否使用口令验证。


sudo passwd root


三件事


### 镜像正常化一下

unminimize



### 安装l


dpkg -i xxxx.deb


### 解决错误


* 缺少 libappindicator3包


https://github.com/dev47apps/droidcam/issues/182

apt install libappindicator3-1


* 缺少 libpcap.so.0.8 包


apt install libpcap0.8


### Dockerfile 参考


FROM ubuntu:20.10

MAINTAINER Richard Yu <xiaoqingfengatgm@gmail.com>

# https://github.com/xiaoqingfengATGH/lantern

# lastest lantern version: 6.7.1

WORKDIR /root

RUN apt-get update  && \

         apt-get -y install wget libappindicator3-1 libpcap0.8:amd64 && \

 wget -O lantern.deb https://raw.githubusercontent.com/getlantern/lantern-binaries/master/lantern-installer-64-bit.deb?ver=6.7.1 && \

 wget -O settings.yaml https://raw.githubusercontent.com/xiaoqingfengATGH/lantern/master/settings.yaml?ver=6.7.1 && \

         dpkg -i lantern.deb && \

         rm -rf lantern.deb && \

         apt-get -f install && \

         apt-get clean && \

         rm -rf /var/cache/apt/* /var/lib/apt/lists/* && \

         mkdir /root/.lantern && \

         mv settings.yaml /root/.lantern/settings.yaml


EXPOSE 3128/tcp 8080/tcp 3129/tcp


ENTRYPOINT ["/usr/bin/lantern", "--configdir=/root/.lantern", "--headless=true"]


### settings.yaml 参考


addr: '0.0.0.0:3128'

autoLaunch: false

autoReport: true

lang: "zh-CN"

localHTTPToken: lantern

pacURL: ""

proxyAll: true

socksAddr: '0.0.0.0:3129'

systemProxy: false

uiAddr: 0.0.0.0:8080




### 错误 Unable to round-trip http request to upstream: EOF


这个主要是上面某个localHTTPToken: lantern


把这个开关弄上去就行了

-no-ui-http-token


### 最后就是在UI界面上授权设备了,这一步也简单


### 然后是把镜像上的这东西自启动起来


https://github.com/EasyPi/docker-lantern-arm/blob/master/build.sh


参考这一位的


cat > /lib/systemd/system/lantern.service <<_EOF_

[Unit]

Description=Open Internet for Everyone

Documentation=https://getlantern.org

After=network.target

[Service]

ExecStart=/root/lantern/start.sh

StandardOutput=null

StandardError=null

Restart=always

[Install]

WantedBy=multi-user.target

_EOF_


试图启动:


systemctl start lantern.service



root@ubuntu1:/lib/systemd/system# systemctl start lantern.service

System has not been booted with systemd as init system (PID 1). Can't operate.

Failed to connect to bus: Host is down

root@ubuntu1:/lib/systemd/system#


报错


sudo apt install systemctl


安装一下就解决了



systemctl status lantern.service


打开开机自启动


systemctl enable lantern.service



http://172.17.0.1:13128

https://172.17.0.1:13128



### 链接本地的NAS是报错的


Jul 20 00:02:40.579 - 5m10s DEBUG flashlight.client: ops.go:122 port 15001 not proxyable, sending directly to lemonhall.synology.me:15001 [local_proxy_type=http op=proxied_dialer origin_port=15001 root_op=proxy user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36]

Jul 20 00:02:40.581 - 5m10s DEBUG netx: netx.go:53 Checking for updated NAT64 prefix

Jul 20 00:02:40.581 - 5m10s ERROR flashlight.client: ops.go:117 dial tcp 113.110.221.158:15001: connect: connection refused [op=proxy origin_port=15001 root_op=proxy user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36]

Jul 20 00:02:40.586 - 5m10s DEBUG flashlight.client: ops.go:122 port 15001 not proxyable, sending directly to lemonhall.synology.me:15001 [local_proxy_type=http op=proxied_dialer origin_port=15001 root_op=proxy user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36]

Jul 20 00:02:40.588 - 5m10s ERROR flashlight.client: ops.go:117 dial tcp 113.110.221.158:15001: connect: connection refused [op=proxy origin_port=15001 root_op=proxy user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36]


* 113.110.221.158:15001


可以理解,因为ipv4的这个地址确实是错的


最后懒得用ipv6去解决了


得了吧


vim /etc/hosts

里面加入一句话

192.168.50.233 lemonhall.synology.me

完事儿了

否则,总是走外网,肯定错,ipv6能行,其实本质上也是直接走了内网所以才行了


这就OK了


### 卧槽,就这又出来了啥幺蛾子


libappindicator3-1

systemctl

互相冲突


神经病啊



### /etc/hosts结果每次重启都会覆盖掉


我去


哎,这是docker的一个特性,行吧,我心累了


### 安装pip

apt install pip


### 安装supervisor

pip install supervisor


修改conf

[program:lantern]

command=start.sh

directory=/root/lantern

stdout_logfile=/root/lantern/std_out.log

stderr_logfile=/root/lantern/std_err.log


在前台先运行一下

supervisord -n -c supervisor.conf


### 生产环境下

在/root/lantern 下

* supervisord -c supervisor.conf

启动服务


* vim /etc/hosts

192.168.50.233 lemonhall.synology.me

这是让即使戴上了,也能访问nas的这些链接


* http://192.168.50.233:13901/

这是管理控制台


* /etc/init.d/ssh start

在4322端口,有ssh可用


4322->22     这是ssh

13901->9001  这是supervisored的web控制台,用户名:user,密码:zii210^&@

13128->3128  这是http和https的端口

13129->3129  这是socket5的

13233->8080  这是蓝灯自己的界面,绑定账户查看状态有用



这些东西稍后其实都可以再优化一下


自启动以及把一堆东西都整合到控制台去