首页
壁纸
直播
友链
Search
1
Serv00搭建各种服务
4 阅读
2
CodeSandbox-Blog备份
2 阅读
3
git命令简明教程
2 阅读
4
Git的基本使用
2 阅读
5
joe主题设置
2 阅读
vps
paas
未分类
登录
/
注册
Search
标签搜索
codesandbox
serv00
git命令简明教程
Joe主题添加文章侧边栏目录
Git的基本使用
时沙
累计撰写
7
篇文章
累计收到
0
条评论
首页
栏目
vps
paas
未分类
页面
壁纸
直播
友链
搜索到
3
篇与
的结果
2024-07-17
joe主题设置
图片设置favctionlogo自定义缩略图(不填也行)自适应api缩略图懒加载joeloading火堆PC背景WAP背景首页设置https://img.972686389.xyz/img/2233.gif || https://qq927.972686389.xyz/ || 2233 https://www.dmoe.cc/random.php || https://www.dmoe.cc/random.php || 樱花二次元图片API https://api.echs.top/dn/index.php || https://api.echs.top/index.php || echsのAPI https://imgapi.xl0408.top/index.php || https://imgapi.xl0408.top/index.php || 超级小兔的随机图其他图片apisakurairo优化/外部API桌面端随机图片地址sakurairo外部API手机端随机图片地址
2024年07月17日
2 阅读
0 评论
0 点赞
2024-04-19
CodeSandbox-Blog备份
在CodeSandBox上部署docker长期以来白嫖Replit已经成为习惯,突然Replit的政策改变让人猝不及防。虽然此前就已经知道了CodeSandBox这个平台,但苦于其公开性质,以及不可更换的会直接暴露公开容器的域名分配,一直以来对CodeSandBox的使用也是离不开Replit的——在CodeSandBox部署好服务之后,在Replit部署NGINX服务反代CodeSandBox提供的域名,一定程度上避免CodeSandBox容器的暴露。那么Replit即将无法白嫖的现状下,怎么快乐的使用CodeSandBox呢?第一时间我想到的是Cloudflare的Workers。但是Workers对于免费用户来讲额度太少,就此浪费掉未免也太可惜,那怎么办呢?虽说家中的软路由一直以来都使用Cloudflared打通Tunnel进行穿透,但是还得是fscarman2的各种PaaS平台搭建代理的仓库给了我灵感,可以在PaaS平台使用Cloudflared,像家里的软路由内网穿透一样,使用自己的域名。经过我反复尝试,总算找到了在CodeSandBox上能够比较稳定搭建各种服务的办法。如果你会操作,也可以自行构筑各种镜像进行部署,只需要在 docker-compose.yaml文件末添加Cloudflared部分即可。这里就以青龙面板为例,讲述一下CodeSandBox的白嫖方法。开始教程注册codesandbox编写docker-compose文件以青龙面板为例,在这里可以找到其docker-compose文件:version: '2' services: web: # alpine 基础镜像版本 image: whyour/qinglong:latest # debian-slim 基础镜像版本 # image: whyour/qinglong:debian volumes: - ./data:/ql/data ports: - "0.0.0.0:5700:5700" environment: # 部署路径非必须,以斜杠开头和结尾,比如 /test/ QlBaseUrl: '/' restart: unless-stopped稍作修改:version: '2' services: qinglong: image: whyour/qinglong:latest volumes: - /project/sandbox/ql/data:/ql/data ports: - "0.0.0.0:5700:5700" environment: QlBaseUrl: '/' restart: always主要修改了其 volumes的部分,因为CodeSandBox的文件目录在 /project/sandbox/下,所以我在此路径下创建 ./ql/data来存储青龙面板的数据,实现数据持久化。而Cloudflared部分,我是这样写的:cloudflared: restart: always network_mode: host environment: - TZ=Asia/Shanghai command: tunnel --edge-ip-version auto --protocol quic --heartbeat-interval 10s run --token [ARGO_TOKEN] container_name: cloudflared image: cloudflare/cloudflared:latest其中的 [ARGO_TOKEN]要替换成自己的token,后文将附上详细教程。所以整个 docker-compose.yaml的内容如下:version: '2' services: qinglong: image: whyour/qinglong:latest volumes: - /project/sandbox/ql/data:/ql/data ports: - "0.0.0.0:5700:5700" environment: QlBaseUrl: '/' restart: always cloudflared: restart: always network_mode: host environment: - TZ=Asia/Shanghai command: tunnel --edge-ip-version auto --protocol quic --heartbeat-interval 10s run --token [ARGO_TOKEN] container_name: cloudflared image: cloudflare/cloudflared:latest获取[ARGO\_TOKEN]详见群晖套件:Cloudflare Tunnel 内网穿透中文教程 支持DSM6、7。此处需要的[ARGO\_TOKEN]就是ey开头的那一串。然后在Cloudflare中设置好相应的域名和本地端口对应,一般协议用http即可。像此处,按照我的 docker-compose.yaml来看,我应该映射5700端口,所以我填的是 0.0.0.0:5700。创建Devbox在CodeSandBox中进入dashboard,然后点击”Create a Devbox”选择docker进入Devbox之后,在左侧的文件管理EXPLORER中可以看到有 .codesandbox和 .devcontainer两个文件夹先修改 .codesandbox中的 tasks.json文件,在 setupTasks中添加部署命令:"setupTasks": [ { "name": "Deploy", "command": "cd /project/sandbox/.devcontainer/ && docker compose up -d" } ],然后在 .devcontainer文件夹下新建 docker-compose.yaml文件,把上述的 docker-compose.yaml内容全部复制进去。最后点击左上角的方框打开菜单,选择”Restart Devbox”,等待容器重启后,你就可以看到青龙运行好了。再试一下刚刚在Cloudflare中映射的域名,也可以用了。一些问题不知道为什么,当我使用http2模式运行Cloudflared时,隧道断连后并不会重新连接,auto模式在quic模式断连后自动切换http2模式,再断连又会出现http2模式一样的问题。所以我只能指定其使用quic模式进行运行。原因未知,希望有人能找到原因。然后,必须保持容器活跃,Cloudflared掉线后才会重连,为保证其活跃,得使用网站监控器监控CodeSandBox自带的映射域名,形同 https://t6a4m-8080.csb.app/的那个。至于网站监控器,Uptime-Kuma、cron-job、UptimeRobot之类的都行。注意,有些PaaS平台(比如Glitch)已经禁止了自身服务器ip、公用网站监控器ip进行访问,所以上述的cron-job和UptimeRobot是否能行请自行测试,更加建议自己搭建Uptime-Kuma。后话在CodeSandBox上我已经尝试使用此方法部署了Alist、qinglong、Halo(本站就是)、Pandora\_Next以及自己构筑的个别镜像等多个应用,尽数成功。可玩性还是很高的。但是不得不提醒,这种方法只是避免了从域名上找到自己的容器而已,并不能确保自己的数据不会泄露,毕竟使用的是公共容器,请注意信息安全,不要存储私密信息,否则后果自负。另,宣传一下QQ群:受虐滑稽一些可以在CodeSandBox上配合Cloudflared使用的docker-compose以下任何一个配置,如果不需要Cloudflared打隧道,就把cloudflared部分删掉。另外,除了Cloudflared打隧道,现在有新的使用自己的域名的方法,详见仓库:k0baya/reserve-vercel。现在已经将Cloudflared部分从各配置中删除,如有需要请自行添加:version: '3.3' services: cloudflared: restart: always network_mode: host environment: - TZ=Asia/Shanghai command: tunnel --edge-ip-version auto --protocol quic --heartbeat-interval 10s run --token [ARGO_TOKEN] container_name: cloudflared image: cloudflare/cloudflared:latestQinglong映射5700端口version: '2' services: qinglong: image: whyour/qinglong:latest volumes: - /project/sandbox/ql/data:/ql/data ports: - "0.0.0.0:5700:5700" environment: QlBaseUrl: '/' restart: alwaysAlist映射5244端口如果需要使用Aria2实现离线下载,把第14行的 image指定的镜像更改为 xhofe/alist-aria2:main即可version: '3.3' services: alist: restart: always volumes: - '/project/sandbox/alist:/opt/alist/data' ports: - '5244:5244' environment: - PUID=0 - PGID=0 - UMASK=022 container_name: alist image: 'xhofe/alist:latest'Halo映射8090端口version: "3" services: halo: image: halohub/halo:2.11 container_name: halo restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - /project/sandbox/data/halo2:/root/.halo2 ports: - "8090:8090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - --spring.r2dbc.username=halo # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - --spring.r2dbc.password=12345678 - --spring.sql.init.platform=postgresql # 外部访问地址,请根据实际需要修改 - --halo.external-url=http://localhost:8090/ halodb: image: postgres:15.4 container_name: halodb restart: on-failure:3 networks: halo_network: volumes: - /project/sandbox/data/db:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 environment: - POSTGRES_PASSWORD=12345678 - POSTGRES_USER=halo - POSTGRES_DB=halo - PGUSER=halo networks: halo_network:Pandora-Next映射端口8181version: '3.3' services: pandora-next: image: pengzhile/pandora-next container_name: PandoraNext network_mode: bridge restart: always ports: - "8181:8181" volumes: - /project/sandbox/pandora-next/data:/data - /project/sandbox/pandora-next/sessions:/root/.cache/PandoraNextUptime-Kuma映射端口3001version: '3.8' services: uptime-kuma: image: louislam/uptime-kuma:1 container_name: uptime-kuma volumes: - /project/sandbox/uptimekuma:/app/data ports: - "3001:3001" # <Host Port>:<Container Port> restart: alwaysKodBox映射端口8080version: '3.5' services: db: image: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - "/project/sandbox/db:/var/lib/mysql" environment: - "TZ=Asia/Shanghai" - "MYSQL_ROOT_PASSWORD=jiehdo!25165n" - "MYSQL_DATABASE=kodbox" - "MYSQL_USER=bodbox" - "MYSQL_PASSWORD=jiehdo!25165n" restart: always app: image: kodcloud/kodbox ports: - 8080:80 links: - db - redis volumes: - "/project/sandbox/site:/var/www/html" restart: always redis: image: redis:alpine environment: - "TZ=Asia/Shanghai" restart: always如果照搬上面的设置,初始化时数据库和redis的设置应该如图填写数据库类型:MySQL 服务器:db 用户名:root 密码:jiehdo!25165n 数据库:kodbox 存储引擎:InnoDB 系统缓存类型:Redis 服务器:redisZfile映射端口8080version: '3.3' services: zfile: container_name: zfile restart: always ports: - '8080:8080' volumes: - '/project/sandbox/zfile/db:/root/.zfile-v4/db' - '/project/sandbox/zfile/logs:/root/.zfile-v4/logs' - '/project/sandbox/zfile/file:/data/file' image: zhaojun1998/zfilePanIndex映射端口5238version: '3.3' services: panindex: container_name: panindex restart: always ports: - '5238:5238' volumes: - '/project/sandbox/PanIndex/data:/app/data' environment: - "PORT=5238" image: iicm/pan-index:latestShareList映射端口33001version: '3.3' services: sharelist: container_name: sharelist restart: always ports: - '33001:33001' volumes: - '/project/sandbox/sharelist:/sharelist/cache' image: reruin/sharelist:nextCloudreve映射端口5212进入容器需要先手动创建几个文件,在Terminal中输入以下指令即可:先运行文件中的shell命令shell.txtversion: "3.8" services: cloudreve: container_name: cloudreve image: cloudreve/cloudreve:latest restart: unless-stopped ports: - "5212:5212" volumes: - /project/sandbox/cloudreve/data:/data - /project/sandbox/cloudreve/cloudreve/uploads:/cloudreve/uploads - /project/sandbox/cloudreve/cloudreve/conf.ini:/cloudreve/conf.ini - /project/sandbox/cloudreve/cloudreve/cloudreve.db:/cloudreve/cloudreve.db - /project/sandbox/cloudreve/cloudreve/avatar:/cloudreve/avatar depends_on: - aria2 aria2: container_name: aria2 image: p3terx/aria2-pro restart: unless-stopped environment: - RPC_SECRET=jif1568dw87 - RPC_PORT=6800 volumes: - /project/sandbox/cloudreve/aria2/config:/config - /project/sandbox/cloudreve/data:/dataAria2的token默认为 jif1568dw87,如有需要自行修改初始账号和密码,请在Terminal中输入命令 docker logs cloudreve后在日志中查找。Typecho映射端口8080version: '3.7' services: typecho: image: joyqi/typecho:nightly-php7.4-apache container_name: typecho-server restart: always environment: - TIMEZONE=Asia/Shanghai ports: - 8080:80 volumes: - /project/sandbox/typecho:/app/usr depends_on: - mariadb mariadb: image: mariadb container_name: mariadb command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW volumes: - "/project/sandbox/db:/var/lib/mysql" environment: - "TZ=Asia/Shanghai" - "MYSQL_ROOT_PASSWORD=jiehdo!25165n" - "MYSQL_DATABASE=typecho" - "MYSQL_USER=typecho" - "MYSQL_PASSWORD=jiehdo!25165n" restart: always如果照搬此docker-compose.yaml,初始设置数据库时应该如此填写:数据库适配器:Mysql 原生函数适配器 数据库前缀:typecho\_ 数据库地址:mariadb 数据库用户名:root 数据库密码:jiehdo!25165n 数据库名:typechoBaota\_Panel端口8888为面板,2022为SSH端口,2021为FTP端口,2080和2443为网页服务预留端口,2888是官方给的,不知道作用。<version: '3' services: baota: image: gettionhub/baota-docker:ltd container_name: baota volumes: - /project/sandbox/www/website_data:/www/wwwroot - /project/sandbox/www/mysql_data:/www/server/data - /project/sandbox/www/vhost:/www/server/panel/vhost ports: - "8888:8888" - "2022:22" - "2021:21" - "2443:443" - "2080:80" - "2888:888" restart: unless-stopped面板入口为8888端口的那个网址后面加上 /baota,形同 https://t6a4m-8888.csb.app/baota。初始用户名、密码都为baota容器内root用户的ssh密码也是baotaWordPress映射端口8080version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: examplepass WORDPRESS_DB_NAME: exampledb volumes: - /project/sandbox/wordpree/app:/var/www/html db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: examplepass MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - /project/sandbox/wordpree/db:/var/lib/mysqlMemos映射端口5230version: "3.0" services: memos: image: neosmemo/memos:latest container_name: memos volumes: - /project/sandbox/memos/:/var/opt/memos ports: - 5230:5230Ghost映射端口8080首次启动会反复重启几次等待数据库创建文件,是正常的。version: '3.1' services: ghost: image: ghost:4-alpine restart: always ports: - 8080:2368 environment: database__client: mysql database__connection__host: db database__connection__user: root database__connection__password: example database__connection__database: ghost url: http://localhost:8080 volumes: - /project/sandbox/ghost/app:/var/lib/ghost/content db: image: mysql:8.0 restart: always environment: MYSQL_ROOT_PASSWORD: example volumes: - /project/sandbox/ghost/db:/var/lib/mysqlNGINX-ui面板端口为8080。网页服务端口预留为8443。version: '3.3' services: nginx-ui: stdin_open: true tty: true container_name: nginx-ui restart: always environment: - TZ=Asia/Shanghai volumes: - '/project/sandbox/appdata/nginx:/etc/nginx' - '/project/sandbox/appdata/nginx-ui:/etc/nginx-ui' - '/project/sandbox/www:/var/www' ports: - 8080:80 - 8443:443 image: 'uozi/nginx-ui:latest'继续补充ing……在CodeSandBox中部署其他应用——以小雅为例对小雅容器的一些分析相信部署过小雅的朋友都一直苦恼于小雅的更新频繁,以及阿里网盘更新后的容量限制,给日常观影带来了很不好的体验。随着xiaoyakeeper的诞生,才迎来了转机——自动更新容器+自动清理转存文件,解决了小雅日常使用的痛点。但是,不论是小雅本身还是xiaoyakeeper,其部署方式都是一键式的脚本,而且部署方式限制的死死的——指定了端口、挂载卷等应该容许自定义的参数,使得其难以部署在各种PaaS平台上。此前我曾有过最简单的把小雅部署在PaaS平台上的方法构思——基于小雅原镜像进行修改。直接查看小雅的一键部署脚本不难发现,是通过提前创建 /etc/xiaoya路径,再把需要使用到的各项token、id等参数储存为TXT文本文件,放入 /etc/xiaoya后,使用 volume挂载进容器的 /data路径进行读取的。所以只要在原有镜像上进行修改,准备好自己的这些token、id后,将其全部复制到小雅镜像的/data路径,就应当可以在不使用volume挂载的情况下直接部署一个能够正常使用的小雅容器。但是,首先这个方案比起一键脚本操作复杂太多,而且在我仔细查看了xiaoyakeeper的脚本后,我发现这样操作会使得xiaoyakeeper无法读取docker命令的 -v项,就需要对xiaoyakeeper的脚本进行修改了。但是xiaoyakeeper的脚本又自带自动更新功能,如果一个更新覆盖了我的修改,又不得偿失;如果删掉自动更新的功能,那么如果阿里网盘的政策出现了改变,还得重新手动修改最新的xiaoyakeeper脚本进行替换,难以做到一劳永逸。通过观察xiaoyakeeper的脚本内容,其更新小雅容器的方法并不是运行小雅的一键更新脚本,而是读取当前小雅容器的各项参数之后,重新进行 docker pull、docker run,也就是说,小雅容器被安装好之后,通过xiaoyakeeper进行更新就能完全摆脱小雅一键脚本。而且,如果小雅容器没有被启动的话,xiaoyakeeper运行之后就会直接启动小雅容器。对CodeSandBox的分析摸索暂时比较少,Devbox(Docker)大概理解为一个 Ubuntu为底的,zsh为默认shell执行器的,有root权限的,预装了Docker的虚拟机。在 /project/sandbox/路径下的文件,即便重启也不会丢失。在CodeSandBox上部署小雅、xiaoyakeeper、Cloudflared部署小雅通过上述的分析,不难得出,可以修改小雅的一键部署脚本,然后直接在CodeSandBox的Devbox的Terminal中运行部署脚本,以将小雅部署到CodeSandBox上。小雅的一键脚本功能很简答,无非就是要求你输入 token、opentoken、folder_id,然后把他们储存在一个路径,再 Docker run,把这个路径挂载进容器。基本上不需要什么修改,唯一需要修改的就是把创建文件和挂载卷的路径改成在CodeSandBox中能够永久储存的路径,操作如下:下载小雅的部署脚本并替换其中的路径然后执行在Terminal中运行以下命令:code here...按照提示输入各种要求的变量即可。运行完毕后可以看到右侧弹窗窗口中对应5678端口的那个就是小雅了。注意,如果你遇到了运行后小雅路径下内没有 mytoken.txt、myopentoken.txt、temp_transfer_folder_id.txt,请不要一个劲重试浪费时间,自己把这三个文件建好并填入应有的内容再放入xiaoya路径下即可。小雅的配置文档中本身就有好几个文件需要手动建立并填入内容。部署xiaoyakeeper经我尝试,xiaoyakeeper部署在CodeSandBox上,如果使用Docker模式,会有很多问题,大概与CodeSandBox的 docker.sock配置有关,所以只能使用模式0:code here...如果需要TG推送,先把上述命令在Terminal中运行一遍,会要求接入TG推送,按照要求操作即可。接入完成后使用 Ctrl+c结束脚本。如果你不需要TG推送,或者已经运行了刚刚的命令接入了TG,那么就在左侧文件中新建一个名为”clear.sh”的文件,把上述命令最后的 -tg参数删除,粘贴进去,即为:code here...然后把执行这个脚本添加进容器启动时的任务中,即修改 .codesandbox下的 tasks.json中的 tasks部分:"tasks": { "xiaoyakeeper": { "name": "aliyun_clear", "command": "bash /project/sandbox/clear.sh", "runAtStart": true } }这样,当Devbox启动时,xiaoyakeeper就会启动,而xiaoyakeeper启动时就会启动小雅容器。部署Cloudflared如果你就个人使用,实际上没有必要加Cloudflared了,只要 .csb.app的域名和容器名不泄露,就和使用Cloudflared加自己的域名也没太大区别。这里就简单偷个懒,虽然也可以直接运行Cloudflared客户端解决,但是可以用docker,而且又早都写好了 docker-compose.yaml,那就继续用docker-compose部署吧:version: '3' services: cloudflared: restart: always network_mode: host environment: - TZ=Asia/Shanghai command: tunnel --edge-ip-version auto --protocol quic --heartbeat-interval 10s run --token [ARGO_TOKEN] container_name: cloudflared image: cloudflare/cloudflared:latestdocker-compose.yaml文件放在.devcontainer路径下,详细的设置请参考之前写的文章。这里依旧是修改 .codesandbox下的 tasks.json文件进行启动,加上启动xiaoyakeeper的修改,最终的的 task.json为:{ // These tasks will run in order when initializing your CodeSandbox project. "setupTasks": [ { "name": "Deploy", "command": "cd /project/sandbox/.devcontainer/ && docker compose up -d" } ], // These tasks can be run from CodeSandbox. Running one will open a log in the app. "tasks": { "xiaoyakeeper": { "name": "aliyun_clear", "command": "bash /project/sandbox/clear.sh", "runAtStart": true } } }注意,只有5678端口需要映射出来,另外两个端口是配合一些TV软件使用,这里用不上。如果你确实有需求且自己会配置,请自行研究,这里不做探讨。到这里就全部部署完成了,只需要Restart Devbox检查一下是否正常运行即可。附上Cloudflared的可执行文件使用命令行直接建立Tunnel的命令:./cloudflared tunnel --edge-ip-version auto --protocol quic --heartbeat-interval 10s run --token [ARGO_TOKEN]其他应用的部署通过以上的捣鼓可以发现,.codesandbox下的 tasks.json文件实际上与Replit的 replit.nix和 .replit两个文件的功能相近。在 setupTasks部分中你可以使用 apt-get install、npm install或者 pip install等命令进行软件包的安装,亦或者其他的部署指令。在 tasks部分你可以添加一些快捷命令,需要在启动时自动运行的,就把 runAtStart设置为 true即可。上述命令,无论是 setupTasks还是 tasks,都是在Terminal中直接运行的命令,区别是,如果 setupTasks没有执行完,Devbox不会启动,而 tasks只有在启动完成之后才能执行。那么就可以很简单的把Replit上之前部署的应用搬到CodeSandBox上了,replit.nix里需要的软件包,就去 setupTasks添加命令安装,.replit里定义的 Run的行为,添加到 tasks里去,并且把 runAtStart设置为 true,其他的文件照搬一下,原本使用 ${REPL_SLUG}、${REPL_OWNER}之类的变量确定的文件路径,统一修改为 /project/sandbox/下的任意路径即可。当然不建议直接照搬,因为CodeSandBox配置比Replit高不少而且支持docker,这里建议能用docker的都用docker部署,源仓库不提供用docker部署的,写dockerfile构筑docker部署。实在不会用docker,再考虑这样的照搬或者直接运行的方法。在CodeSandBox中使用Mirai-Console-Loader刚好发现了ttyd和filebrowser两款神器,感觉使用这两个工具就可以愉快便利的在CodeSandBox上使用Mirai-Console-Loader,遂试了一下,果然可行,记录一下部署过程。部署过程下载Mirai-Console-LoaderTerminal中运行一行命令解决:code here...如果和我一样有强迫症,看着时区不对很烦,毕竟CodeSandBox的服务器并不在UTC+8区,所以通过手动修改其启动脚本,即名为 mcl的那个文件,在执行jar包的命令前添加时区参数,即把最后一行改成:code here...修改Devbox的启动任务修改 .codesandbox路径下的 tasks.json文件,添加软件包的安装与所需工具的下载与运行命令,修改后的 tasks.json文件如下:code here...请不要直接复制粘贴,务必看一眼我写的批注,改成自己的信息后再复制粘贴。接着Restart Devbox,等待重启完毕即可。记得在Cloudflare面板里设置相应的端口对应,这里我使用的是21021和21022两个端口。接着打开自己映射的域名,输入自己设置的用户名和密码即可开始畅玩。后话Mirai-Console-Loader是目前最为成熟的QQ机器人使用方法之一了,其插件生态之完善带来了很高的可玩性,不论是之前部署的ChatGPT机器人、New Bing机器人,在Mirai-Console-Loader中基本都有相应的插件实现。也是得益于CodeSandBox比起Replit更为强大的机能,才使得Mirai-Console-Loader能够在平台上流畅的运行。关于Mirai-Console-Loader的使用方法、插件安装、登录问题等,其官方文档和论坛也已经记录的非常详细了,这里不多作讨论,只说这一点:我大概尝试发现的可行的登录方法就是在本地电脑也安装一个Mirai-Console-Loader,通过手表协议扫码登录之后能够获得一个登录记录的文件夹,把整个文件夹上传到CodeSandBox上的相应位置即可。原理和go-cqhttp通过上传 session.token文件进行登录是类似的。讨论群:738386033在CodeSandBox上搭建代理服务器使用的是3Kmfi6HP/nodejs-proxy这个仓库。部署方法新建Node.js为Template的Devbox,然后使用以下 tasks.json的内容覆盖原本的 tasks.json:1234567891011121314151617181920212223{ // These tasks will run in order when initializing your CodeSandbox project. "setupTasks": [ { "name": "Install Dependencies", "command": "npm i -g @3kmfi6hp/nodejs-proxy" } ], // These tasks can be run from CodeSandbox. Running one will open a log in the app. "tasks": { "dev": { "name": "Start Dev Server", "command": "npx @3kmfi6hp/nodejs-proxy", "runAtStart": true, "preview": { "port": 7860 }, "restartOn": { "files": ["./package-lock.json"] } } }}然后Restart Devbox,等待网页弹出即可。使用注意有个Bug,实际端口应该是443而不是80,所以要在导出的代理配置中把服务端口从80改为443才能正常连接,不然连不上。
2024年04月19日
2 阅读
0 评论
0 点赞
2024-04-05
此内容被密码保护
加密文章,请前往内页查看详情
2024年04月05日
7 阅读
0 评论
1 点赞