Code Monkey home page Code Monkey logo

vpstoolbox's Introduction

VPSToolBox

TG 频道

厌倦了总是需要手动输入命令安装博客,网盘,邮箱,代理了吗?VPSToolBox 提供了一种全自动化的解决方案,解放双手,从今天开始!

经观察,证书自动续签的问题已解决,方案已稳定,可长期正常使用。

一键命令 One click command

apt-get update --fix-missing && apt-get upgrade -y && apt-get install sudo curl -y && curl -Ss https://raw.githubusercontent.com/johnrosen1/vpstoolbox/master/vps.sh | sudo bash

注: 仅推荐 Debian10/11 系统。

前提条件及要点 Usage instruction

  1. Trojan-GFW 不支援 Cloudflare CDN !!! ( 请勿开启CDN )
  2. 请以 root(sudo -i) 运行。
  3. 可覆盖安装
  4. 请自行购买/白嫖/使用现有的域名完成 DNS A 解析,即将域名指向你的 VPS IP,(namesilo NS 最慢需要 15+min 生效)!
  5. 请在 服务器/VPS/其他各种 控制面板中 完全关闭或禁用 VPS 防火墙(即开放所有 TCP + UDP 端口)。

Trojan-gfw 以及 Shadowsocks-rust 皆支援 Fullcone-nat 但需服务器开启所有端口才能使用。

  1. HTTP 申请 TLS 证书需 域名 A 解析生效API 申请则需要输入正确的信息。
  2. 安装完成后,BBR 已默认启用,无需手动配置。

免责声明 Disclaimer

  1. 本项目不对使用 Vultr 提供的机器造成的任何可能问题负责(this project is not responsible for any possible problems caused by Vultr machines) !
  2. 本项目部分应用需要较高的系统资源和服务器配置(Nextcloud,邮箱等),这些都不是必选项,请量力而行 !

可能的错误及原因

  1. 证书签发失败

可能原因: (1)tcp 80/443即tcp http/https端口未开放 (2)域名A解析未完成 或 api信息输入错误

  1. 重启后连不上了

可能原因: (1)VPS厂商面板问题(不常见)(2)重启时间长,请等待

  1. 某个服务 404 / 502 了

可能原因: (1)安装清单里面没有勾选(2)某个服务掉线了(请及时反馈)

  1. 安装中途卡住了

可能原因: (1)网络缓慢或出错(2)CPU或硬盘 垃圾导致某个安装过程缓慢

  1. 安装后连不上

可能原因: (1)客户端配置错误(2)本地网络问题(3)某个服务掉线了(请及时反馈)

支援的软件及应用 Supported applications

打勾的为启用默认安装的,其余请手动选中以安装,分类标签仅供参考(删除线表示该应用已被淘汰)。

欢迎 PR/issue 更多软件。

尚未添加/整合/测试的软件 To be done

咕咕咕。

无实际生产用途的应用

下列应用已经过测试和验证,但除非特殊需求,否则安装时请勿选中。

  1. stun-server
  2. i2pd

支援的 Linux 发行版

打勾的为测试过的,保证可用性,未打勾的表示理论上支援但未测试。

  • Debian11
  • Debian10
  • Debian9
  • Ubuntu 20.xx
  • Ubuntu 18.xx

项目实现 Program Language

使用bash shell实现。

贡献 Contritbution

  1. Fork本项目
  2. Clone到你自己的机器
  3. Commit 修改
  4. Push 到你自己的 Fork
  5. 提交Pull request
  6. PR 要求请看pr 要求

Bug 反馈以及 Feature request

注:

  1. 其他的反馈方式我大概率看不见。
  2. 除非你有能说服我的理由或者直接提 pr,否则不接受代理软件支援请求(比如 wireguard 之类的)。
  3. 无论发生什么请务必附上复现错误的步骤,截图,OS 发行版等信息,否则我不可能能够提供任何帮助。

Code Quality

  1. 本项目实现了模块化
  2. 本项目我个人从学习 bash 开始就写起的项目,可能有诸多不合理之处,不建议作为直接教材学习。

Rclone 以及全自动上传脚本使用方法

Aria2+Rclone+Onedrive 实现全自动化下载

Trojan-panel 使用方法

  • Trojan-panel 默认不安装,请手动选中以执行安装程序。
  • 进入生成的 url,首次注册的用户为管理员(admin)
  • 用户需联系管理员(admin)申请流量(设置为-1 为不限流量)。
  • 客户端配置文件中的密码为用户注册在 Panel 时填入的:Username:Password(中间的:不能漏!)。
  • 若出现File not found. 错误,刷新页面即可。
  • 更多请看Trojan-panel 使用方法

Nextcloud 优化方法

由于 Nextcloud 自身限制,无法全自动添加 redis 配置,请手动配置。

  1. 开启 Memcache 在/usr/share/nginx/nextcloud/config/config.php中添加以下几行(请添加在中间,非开头或末尾)
  'memcache.local' => '\\OC\\Memcache\\APCu',
  'memcache.distributed' => '\\OC\\Memcache\\Redis',
  'filelocking.enabled' => true,
  'memcache.locking' => '\\OC\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/var/run/redis/redis.sock',
    'port' => 0,
    'timeout' => 0.0,
  ),
  'default_phone_region' => 'CN',

相关文档

  1. 优化索引

运行以下几行

cd /usr/share/nginx/nextcloud/
sudo -u nginx ./occ db:add-missing-indices
sudo -u nginx ./occ db:convert-filecache-bigint
cd
  1. 切换后台进程方式为 cron(Nextcloud 会自己切换,如未切换请手动切换)

Nextcloud 设定-->基本设定-->改为 cron(伺服器端已配置完成,无需任何手动配置)

  1. 重启服务使配置生效
systemctl restart php7.4-fpm

Qbittorrent手动添加的trackers一直尚未连线(Debian 10)

Ubuntu 18.04+ 用户请启用webui中高级选项中 “同时连线所有trackers”选项 。

解决办法:由于Qbt的config是runtime生成的,脚本不能直接覆写,故需用户手动修改。

添加tracker完成后手动输入以下命令即可。

systemctl stop qbittorrent
qbtline=$(grep -n "Preferences" /usr/share/nginx/qBittorrent/config/qBittorrent.conf | cut -c1-2)
sed -i "${qbtline} aAdvanced\\\AnnounceToAllTrackers=true" /usr/share/nginx/qBittorrent/config/qBittorrent.conf
systemctl restart qbittorrent

这样trackers就不会出现尚未连线的状态了。

邮箱服务(Mail Service)使用条件

  1. 一台有独立公网 IPv4的非**大陆 VPS/伺服器且25/143/443/465/587/993 等 TCP 端口必须能正常使用

    阿里云,Google cloud platform,vultr 等厂商皆不满足此项要求(当然你乐意去跟他们交涉的话就不关我事了。)。

  2. 伺服器/VPS 必须拥有大于等于 2+GB RAM 以及 30+GB Storage.
  3. 一个付费域名(推荐Namesilo),.com/.xyz/.moe 等后缀无所谓。
  4. 你的伺服器(VPS) 必须支援rDNS(PTR) record(除非你希望你的邮件被列为 spam)。
  5. 你的伺服器(VPS) 的 ip 必须不在各种邮件黑名单里面(否则你发的所有邮件都会被列为 spam)。
  6. 本项目暂不支援 Postfixadmin,LDAP 等相关功能。
  7. 全自动垃圾删除功能默认垃圾邮件 30d 清理,已删除 14d 。

由于邮箱服务的特殊性,仅推荐有需求(且乐意折腾)的人使用。

Debug 相关

  1. 本项目主要采用 systemd+docker-compose 启动服务。
  2. 具体的懒得写了,systemctl查看运行状态,有问题记得反馈即可。

流量示意图

懒得更新,仅供参考。

https://raw.githubusercontent.com/johnrosen1/vpstoolbox/master/images/flow_zh_cn.png

恰饭 aff

  1. Namesilo
  2. Neko Neko Relay

License

MIT License

Copyright (c) 2019-2021 johnrosen1

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

如果本项目帮助到了你,那真是太好不过了!!

Stargazers over time

题外话,看看就好

  1. 这个项目的初衷是什么? A: 我主要是因为懒,所以才创立的这个项目。
  2. 这个项目花费了多少时间完成? A: 林林总总的也有上千小时了吧,不算维护花费的时间吧。
  3. 这个项目花费了多少资金? A: 金钱方面的花费倒是不多。
  4. 这个项目目前是什么情况? A: 已经没什么值得添加的新功能了,我只能维护维护罢了,这个项目也没有什么热度。
  5. 开发这个项目最耗时间的是什么事情? A: 查询各种各样的文档以及各种调试工作。
  6. 是否有想放弃的时候? A: 有些功能确实特别难搞,中途确实有不管不顾的时候,但是最后还是坚持下来了。
  7. 开发这个项目最大的收获是什么? A: 最大的收获我个人觉得不是学到了什么牛逼的技术,而是学到了项目开发所需的各种基础技能。
  8. 最可惜的是什么? A: 我觉得最可惜的可能是基本只有我一个人开发,没多少人帮我。

vpstoolbox's People

Contributors

lem923 avatar anonymous12357 avatar xuebaxi avatar

Stargazers

iron-man avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.