|
本帖最后由 w_anghe 于 2022-2-1 17:27 编辑
2022-02-01更新
关于甜糖面板不显示端口号,一直提示玩命加载的问题
请更新2022.02.01的最新镜像!
此前更新过一个版本,已经解决了此问题,但是命运多舛,bootcdn又挂了,不得已又做了一次更新!
如果懒得重建建容器,可以进入容器内部,把/usr/node/htdocs/index.html文件替换成https://github.com/ericwang2006/docker_ttnode/blob/master/build_dir/htdocs/index.html
2022-01-29更新
请大家更新最新镜像, 解决了甜糖面板一直显示"玩命加载",不能显示端口的问题特别说明:
目前甜糖官方已经提供了docker方案,建议大家尽量使用甜糖官方docker镜像,使用本项目不能确保获取及时的更新。
如果只想使用本镜像的自动收割星愿和自动提现的功能,可以把环境变量DISABLE_TTNODE设置成1,参考代码:
docker run -itd \
-v /your/cache/path:/mnts \
-e DISABLE_TTNODE=1 \
-p 1043:1043 \
--name ttnode \
--restart=always \
ericwang2006/ttnode:alpine
2021-12-01更新
我的甜糖镜像已经更新,解决了无法启动的bug。
ericwang2006/ttnode:latest和ericwang2006/ttnode:alpine两个标签下的镜像都更新了官方最新的二进制文件。
目前这两个标签下的镜像都是原生程序,使用模拟器的情况已经是历史了。
区别:
ericwang2006/ttnode:latest 基于debian:buster-slim,支持arm32,arm64和x86架构,体积略大
ericwang2006/ttnode:alpine基于alpine,支持arm64和x86架构(arm32暂时不支持),体积小巧
另外再次提醒大家,官方已经发布了docker镜像,大家可以优先选择使用官方镜像以便得到及时的技术支持。
2021-8-22更新
甜糖官方已经发布docker版本,大家可以到官方qq群获取。
我这个镜像已经完成历史使命,感谢大家一路支持,感谢甜糖官方的开放包容!
2021-6-19更新
alpine版本发布- 基于官方OpenWrt程序构建
- 多架构支持,原生x86,arm32,arm64
- 更新后uid会发生变化
- 需要删除`.yfnode/config`目录,再升级容器,原有缓存才能使用
- 缓存下载还是一如既往的慢(几天没有缓存也属于正常)
请充分了解以上事项后再决定是否更新,当然欢迎测试并反馈问题。此版本属于测试版,不排除有较多bug。 使用方法和老版本相同,只是需要把代码中的ericwang2006/ttnode替换成ericwang2006/ttnode:alpine
视频教程(三集已全部发布)
https://www.bilibili.com/video/BV1G64y117Na
https://www.youtube.com/playlist?list=PLTes8sqjACw1MY4Pq_QgBLN-I4cEE-wcO
麻烦大家支持一下
2021-05-23更新
例行升级二进制文件到v207版
2021-05-20更新
甜糖面板获取cookie失败的问题已修复
升级方法:
更新最新的docker镜像
或者
进入容器执行以下命令
- sed -i "s/https:\/\/tiantang/http:\/\/tiantang/g" /usr/node/ttnode_task.sh
- sed -i "s/https:\/\/tiantang/http:\/\/tiantang/g" /usr/node/htdocs/get_info.cgi
复制代码 离线镜像 https://wws.lanzoui.com/b01zvsbwj 密码:h92y
2021-04-22更新
例行升级二进制文件到v198版
修复找不到traceroute命令的日志报错
2021-04-11更新
自动提现脚本升级,如果已经签了电子合同,默认银行卡提现,如果没签,默认支付宝提现,无需更新镜像,脚本会自动升级
2021-04-09更新
甜糖多个容器共享缓存教程(基于Overlay文件系统的方案 已经发布,多个容器共享一份缓存,和以往方案比较真正做到互不干扰,有需求的同学可以看一下了。
2021-04-01更新
例行升级二进制文件到v195版
2021年3月30日测试,ipdbcf文件已经不会自动自动下载并运行了,新版本镜像默认将不再处理ipdbcf的行为,如果需要,请参看环境变量DISABLE_IPDBCF。
2021-03-25更新
用shttpd替换thttpd,大幅减小控制面板内存占用(目前大约占用800k,可以忽略了)
2021-03-23更新
解决日志中出现大量sh: 1: killall: not found的问题
嫌更新麻烦的请进入容器执行echo '#!/bin/bash' >/usr/bin/killall && chmod +x /usr/bin/killall
注意是进入容器执行,进入容器执行,进入容器执行,在宿主机上执行出事后果自负
另外再次强调x86模拟arm非官方建议做法,不能保证完美运行,Use at your own risk!

2021-03-21更新
解决部分设备控制面板登录,不能获取手机验证码的问题
特别说明
不想了解细节的看下面一句就可以了
最新的镜像(x86架构)禁用了ipdbcf,暂时解决了cpu和内存占用过高的问题,副作用尚不明确,不保证完美无问题,请大家根据自己情况选择使用。

2021年3月19日官方升级了新版本(v194),使用之前的镜像会报错`sh: 1: /mnts/ipdbcf: Exec format error`,目前最新镜像已经做了针对性修改,但请知悉以下问题
1. 这个错误目前只涉及x86架构设备,arm架构(玩客云,N1,树莓派等)设备不受影响。
2. 请尝试更新GMT+8 2021-03-21 10:00:00后的最新镜像,注意不要使用国内的docker的镜像服务器(缓存更新缓慢,不能保证下载到的是最新版本),如果无法拉取最新版本可以尝试我发布的离线镜像 https://wws.lanzoui.com/b01zvsbwj 密码:h92y
3. 关于x86架构镜像长时间运行后CPU和内存占用过高的说明
一句话,都是ipdbcf惹的祸。
- ipdbcf的作用目前尚不明确,由ttnode进程动态下载到/mnts目录并启动,未监听任何端口
- ttnode进程每分钟会检查一次ipdbcf进程是否存在,如果没有会尝试启动
- 在arm架构下ipdbcf进程只会启动一个,不会占用过多资源
- 在x86架构下,使用qemu模拟器运行,ttnode似乎不能判断ipdbcf进程是否存在,所以会不断启动新的ipdbcf进程(猜测)
- 目前暂时用了点雕虫小技把ipdbcf禁用了,副作用尚不明确
- x86架构下,使用qemu模拟器运行ttnode非官方建议做法,不能保证完美运行,且用且珍惜
- 也希望官方尽早推出x86原生程序,x86设备众多,性能和稳定性都有一定优势

2021-03-13更新
增加是否自动提现选项
2021-02-21更新
目前最新镜像通知已经支持Server酱Turbo版,会根据key自动判断(填Turbo版的key就走Turbo版接口,填普通版的key就走普通版的接口)
如果懒得更新镜像,进入容器执行
- curl -L -s -o /usr/node/ttnode_task.sh https://raw.githubusercontent.com/ericwang2006/docker_ttnode/master/build_dir/ttnode_task.sh && chmod 755 /usr/node/ttnode_task.sh
复制代码 2021-02-21更新
FAQ
1. 怎么多开?
使用方法一macvlan,友情提示:不是开得越多越好。
2. 主路由就是docker宿主机,为啥macvlan用不了?
劝你们放过软路由吧,如果不服到恩山翻翻其他大神的贴子,有解决方案,但是路由器真的不是这么玩的。
3. 升级镜像如何保持uid不变?
uid和mac地址,hostname高度相关,缓存目录也尽可能和原来保持一致,建议按照以下步骤操作,如果不幸uid还是变化了,那就随缘吧。
- 记录原来的mac地址,hostname和缓存目录(hostname可以进入容器执行`hostname`命令获取)
- 记录/config/config.json文件中的配置参数
- 删除原来容器
- 执行`docker pull ericwang2006/ttnode`获取最新镜像
- 创建新的容器,mac地址,hostname和缓存目录要和原来一样
- 更新了最新的镜像后,配置参数可以在控制面板中设置
- 建议将/config目录映射到宿主机目录,下次再更新就不需要设置配置参数了
- 即使uid发生了变化也不要紧,只要缓存目录不变,在手机客户端重新绑定新的uid就可以了
4. 我不用自动收割星愿,不用控制面板,可以不启用这两项功能吗?
参看环境变量,如果你不懂啥叫环境变量,那就开着吧,基本不占用啥资源。
5. 为什么我是优质网络,但却一直没有流量?
CDN流量去如黄鹤,来如晨风。玩玩就好,何必认真。
2021-02-19更新
最近更新了一个控制面板,可能有的同学觉得会占用很多资源,其实可以和大家解释一下
这控制面板的的web服务加上几个动态网页总共只占用150多K的空间,可以算一个轻量级的服务
下面我们看一下最新镜像的尺寸
amd64架构的是40.03M,arm32架构的28.18M,arm64架构的31.97M
比起11月份发布的arm架构的镜像尺寸还减少了不少,x86架构由于内置了qemu的模拟所以尺寸略大,但是也是40M也算得上苗条了
对于的确不需要自动收割星愿和控制面板的同学,其实可以通过2个环境变量来禁用
DISABLE_ATUO_TASK 1 禁用自动收星愿
DISABLE_CONTROL_PANEL 1 禁用控制面板
所以初心还是没有忘,在精简尺寸下提供不精简的功能依旧是我的追求。
2021-02-18更新
*关于docker容器重新创建后uid会变化的说明
这个问题目前有了最新进展,经过多次测试发现ttnode的uid和以下因素同时相关
- hostname
- 网卡的mac地址
由于此前创建docker容器时并未指定hostname,所以每次创建容器都是随机的hostname,导致出现了随机的uid,目前已经修改了相关示例代码,创建容器时指定了hostname
以下是示例代码,注意增加了--hostname ttnode1
- docker run -itd \
- -v /mnt/data/ttnode:/mnts \
- --name ttnode \
- --hostname ttnode1 \
- --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
复制代码 *修改了host网络模式下日志中显示控制面板url可能出错的问题
2021-02-14更新
更新了x86架构的代码,改用qemu模拟arm32架构(原来是模拟arm64架构),大大改善了x86下路由器UPnP不生效的问题
x86下UPnP有问题的同学不妨更新到最新的镜像测试一波
祝大家情人节快乐!
2021-02-11更新
重磅更新,增加甜糖控制面板,不用命令行,在网页也可以设置通知参数了
感谢大家的关注,祝大家春节快乐,财源广进!
进入控制面板方法,浏览器地址栏输入 http://容器IP:1043
2021-02-07更新
自动使用加成卡功能正式发布,感谢houfukude
2021-02-06更新
增加了自动使用加成卡功能,感谢houfukude的Pull request, 有需要的可用先用ericwang2006/ttnode:test测试
2021-02-02更新
更新了最新的二进制文件1.0.0.187 (ttnode有自动更新机制,已经创建的容器不需要删除重建)
特别说明
自动收取星愿部分的SHELL脚本参考了yjce1314大神的代码
我做了一些修改
-自动提现
-增加了tg通知
-改用https接口进行访问
感谢他的优秀工作,希望大家多访问他的空间
2021-01-28更新
更新了最新的二进制文件1.0.0.185 (ttnode有自动更新机制,已经创建的容器不需要删除重建)
最近发现使用国内镜像加速源下载下来的最新版本和hub.docker.com上的最新版本并不一致,是两周前的版本,以下提供手动下载的方案,仅供下载hub.docker.com上的镜像有困难的同学使用
https://wws.lanzoui.com/b01zvsbwj
密码:h92y
1. 先导入镜像
- # x86
- docker load < ttnode_amd64_latest.tar.gz
- # arm64(如N1)
- docker load < ttnode_arm64_latest.tar.gz
- # arm32(如玩客云)
- docker load < ttnode_arm32_latest.tar.gz
复制代码
2. 创建容器
# 普通Linux
- docker run -itd \
- -v ~/test:/mnts \
- --name tt \
- --hostname ttnode1 \
- --net=host \
- --privileged=true \
- --restart=always \
- ericwang2006/ttnode
复制代码 # 群晖
- mkdir -p /volume1/docker/ttnode
- docker run -itd \
- -v /volume1/docker/ttnode:/mnts \
- --name tt \
- --hostname ttnode1 \
- --net=host \
- --privileged=true \
- --restart=always \
- ericwang2006/ttnode
复制代码 2021-01-23更新
更新了最新的二进制文件1.0.0.181 (ttnode有自动更新机制,已经创建的容器不需要删除重建)
更新一个小功能,显示可以替代端口映射操作的iptables命令,仅供高级用户使用
2021-01-11重大更新
多架构自适应支持, 目前支持linux/amd64,linux/arm/v7,linux/arm64(其中amd64镜像内部使用QEMU模拟arm64)
已经实现多架构自适应,以后不管什么CPU架构,只要无脑- docker pull ericwang2006/ttnode
- docker run -itd \
- -v /mnt/data/ttnode:/mnts \
- --name ttnode \
- --hostname ttnode1 \
- --net=host \
- --privileged=true \
- --restart=always \
- ericwang2006/ttnode
复制代码
就是这么方便,在x86架构上再不用自己配置qemu模拟器了。
2021-01-10重大更新
好吧,我改变主意了,还是加一个自动收星愿的脚本吧,使用说明参考
https://github.com/ericwang2006/docker_ttnode/blob/master/AutoNode.md
仅供思考研究用途,对可用性和准确性不做任何保证
docker镜像今天晚些时候更新
2021-01-01更新
甜糖自动收星愿可以参考
https://www.right.com.cn/forum/thread-4065014-1-1.html
2020-12-31更新
2020年最后一次更新,二进制文件更新到1.0.0.177 (ttnode有自动更新机制,已经创建的容器不需要删除重建)
祝大家新年快乐,万事如意!
2020-12-19更新
更新了最新的二进制文件1.0.0.172 (ttnode有自动更新机制,已经创建的容器不需要删除重建)
2020-12-06更新
更新了最新的二进制文件(ttnode有自动更新机制,已经创建的容器不需要删除重建)
2020-11-27更新
增加了armv7的镜像,理论上适用于安装了armbian的玩客云,没有机器测试,大家可以测试一下,有问题反馈
2020-11-20更新
docker日志中的端口做了更清晰的显示,每12小时显示一次最新的监听的端口
经过这几天的腹泻式更新,暂时不折腾了,大家遇到什么问题可以到github上提issue
- [2020-11-20 01:32:26] 如果UPNP失效,请在路由器上对下列端口做转发,
- tcp 21596 ,
- tcp 55411 ,
- udp 55411 ,
- tcp 60747 ,
- udp 60747 ,
- ===========================================================================,
- ===========================================================================,
- [2020-11-20 13:33:04] 如果UPNP失效,请在路由器上对下列端口做转发,
- tcp 21596 ,
- tcp 55411 ,
- udp 55411 ,
- udp 57635 ,
- tcp 60747 ,
- udp 60747 ,
- ===========================================================================,
复制代码
2020.11.19更新
增加一个小功能,在docker日志中显示ttnode监听的端口,方便做路由器转发(需要启动后等1分钟才能看到)
查看docker日志命令
或者在Portainer中直接看日志也可以
容器增加了iperf3命令方便大家测速
-----------------------------------------------------------------------------------------------------------------
写了一个甜糖docker镜像,可能是目前最小的,去除了crontab任务,改用脚本监控ttndoe进程
代码在这里 https://github.com/ericwang2006/docker_ttnode
https://hub.docker.com/r/ericwang2006/ttnode
可能是东半球最小的甜糖星愿镜像
- 基于debian:stable-slim构建
- 多架构支持,目前支持linux/amd64,linux/arm/v7,linux/arm64(其中amd64镜像内部使用QEMU模拟arm32)
- 去除了crontab任务,改用脚本监控ttndoe进程
- 提供网页控制面板查询UID,设置通知参数,只需访问 http://容器IP:1043 ,网页的web服务使用thttpd,一个开源的轻量级的HTTP服务,只有100多K
- docker日志中直接查询UID
- docker日志中直接查看UPNP端口号
- 显示可替代端口转发的iptables命令(仅供高级用户使用)
- 自动收取星愿,基于Shell脚本,参见自动收取星愿配置说明(SHELL脚本参考了yjce1314大神的代码)
- 自动使用加成卡功能,感谢houfukude
- 完全开源
食用方法
如果是arm架构(例如N1盒子),可直接使用,如果是x86平台,是不支持arm架构镜像,因此我们可以运行一个新的容器让其支持该特性。
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
复制代码
也有一劳永逸的方法,可以参考我的另外一个帖子 https://www.right.com.cn/forum/thread-4058346-1-1.html
方法一
打开混杂(这步可以省略,如果不能正常工作再打开)
- 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 \
- --hostname ttnode1 \
- --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 \
- --hostname ttnode1 \
- --net=host \
- --privileged=true \
- --restart=always \
- ericwang2006/ttnode
复制代码
方法三: docker-compose
- version: '2'
- services:
- ttnode:
- image: ericwang2006/ttnode
- container_name: ttnode
- hostname: ttnode1
- 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,
复制代码
UPNP配置
如果节点一直是网络未配置,可以参考我的另外一个帖子 https://www.right.com.cn/forum/thread-4058346-1-1.html我的经验是如果是arm架构的,UPNP一般是管用的,如果是x86架构的,需要在路由器上做端口映射。
如果觉得还有点用,麻烦用一下我的邀请码631441,有加成卡15张,我也有推广收入
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
评分
-
参与人数 10 | 恩山币 +11 |
收起
理由
|
odyy
| + 1 |
可以麻烦楼主做一个i386的版本吗?家里有台老笔记本在做软路由,docker已经 |
shikkoku
| + 1 |
呐,做人呢,最重要的就是开心 |
chxmgood
| + 1 |
强大的恩山!(以下重复1万次) |
ltbjwz
| + 1 |
感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧! |
youiori
| + 1 |
能否添加个plus+的通知项 |
mfsz
| + 1 |
正需要哦 |
lbhqq
| + 2 |
请问N1部署楼主的镜像后ttnode进程一直无法运行怎么解决? |
ppyuehui
| + 1 |
感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧! |
insking
| + 1 |
大神,能不能改个直接支持X86的ttnode镜像。测试docker pull h |
long1983
| + 1 |
这个确实挺好用的,而且端口在日志里面就出来了, |
查看全部评分
|