# docker_ttnode
**Repository Path**: feng520han/docker_ttnode
## Basic Information
- **Project Name**: docker_ttnode
- **Description**: https://github.com/ericwang2006/docker_ttnode
- **Primary Language**: Docker
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 1
- **Created**: 2022-03-11
- **Last Updated**: 2022-03-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README


# 甜糖星愿镜像
- 基于debian:stable-slim构建
- 多架构支持,目前支持linux/amd64,linux/arm/v7,linux/arm64(其中amd64镜像内部使用QEMU模拟arm64)
- 去除了crontab任务,改用脚本监控ttndoe进程
- docker日志中直接查询UID
- docker日志中直接查看UPNP端口号
- 显示可替代端口转发的iptables命令(仅供高级用户使用)
- 自动收取星愿,基于Shell脚本,参见[自动收取星愿配置说明](AutoNode.md)(SHELL脚本参考了yjce1314大神的[代码](https://www.right.com.cn/forum/thread-4065542-1-1.html))
- 自动使用加成卡功能,感谢[houfukude](https://github.com/houfukude)
- 完全开源
# 使用条款
- 本程序唯一发布地址https://github.com/ericwang2006/docker_ttnode
- 本程序仅用于测试和学习研究目的,不能保证其准确性,有效性,可用性和可靠性, 本作者对使用此程序带来的任何直接或间接的损失不承担任何责任
- 请勿将本程序的任何内容用于商业或非法目的,否则后果自行承担
- 作者保留随时更改或补充此使用条款的权利
- 一旦您开始使用本程序则视为您已接受此使用条款
# 食用方法
~~如果是arm架构(例如N1盒子),可直接使用,如果是x86平台,是不支持arm架构镜像,因此我们可以运行一个新的容器让其支持该特性。~~
已经实现多架构自适应,这步可以省略了。以后只要无脑`docker pull ericwang2006/ttnode`,就是这么方便。
```
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
```
## 方法一
打开混杂(这步可以省略,如果不能正常工作再打开)
```
ip link set eth0 promisc on
```
创建网络(自行替换网关以及网段)
```
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.88 -o parent=eth0 -o macvlan_mode=bridge macnet
```
运行容器(自行替换路径、IP以及可选替换dns)
```
docker run -itd \
-v /mnt/data/ttnode:/mnts \
--name ttnode \
--net=macnet --ip=192.168.2.2 --dns=114.114.114.114 --mac-address C2:F2:9C:C5:B2:94 \
--privileged=true \
--restart=always \
ericwang2006/ttnode
```
## 方法二: 直接主网络运行(替换路径)
```
docker run -itd \
-v /mnt/data/ttnode:/mnts \
--name ttnode \
--net=host \
--privileged=true \
--restart=always \
ericwang2006/ttnode
```
## 方法三: docker-compose
```
version: '2'
services:
ttnode:
image: ericwang2006/ttnode
container_name: ttnode
privileged: true
restart: always
mac_address: C2:F2:9C:C5:B2:94
dns: 114.114.114.114
networks:
macvlan:
ipv4_address: 192.168.2.2
volumes:
- /mnt/data/ttnode:/mnts
networks:
macvlan:
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.168.2.0/24
gateway: 192.168.2.1
```
## 进入容器:
```
docker attach ttnode
or
docker exec -it ttnode /bin/bash
```
## 查询UUID:
```
./usr/node/ttnode -p /mnts
or
#容器外执行
docker logs ttnode
```
# 已知问题
- 日志中会提示**cannot create /proc/sys/net/core/wmem_max: Directory nonexistent**,是因为在daocker中不能设置Linux内核参数,不影响使用
- ~~docker中ttnode第一次启动后大约20秒后有自动退出的概率,不用理会,脚本会再次启动ttnode~~(这是由于ttnode自动升级导致的)
```
[2020-11-18 10:25:12] ttnode进程不存在,启动ttnode,
/bin/sh: 1: cannot create /proc/sys/net/core/wmem_max: Directory nonexistent,
如果不能自动发现设备,请将此UID e1c8191de1e1e16a67e05ab3d7bc86ba 生成二维码并用甜糖客户端扫描添加,
[2020-11-18 10:25:34] ttnode启动失败,再来一次,
/bin/sh: 1: cannot create /proc/sys/net/core/wmem_max: Directory nonexistent,
```
- 重新创建容器,即使是同样的IP和mac地址,也会导致ttnode的uid变化
#### 如果觉得还有点用,麻烦用一下我的邀请码631441,有加成卡15张,我也有推广收入