function
-
Support adding multiple accounts (multiple configurations do not interfere with each other) -
Support automatic check-in (automatically increase network disk capacity every day) -
Support asynchronous cache directory structure without waiting -
Support encrypted access path (privacy sharing) -
Support to display any directory and customize the root directory -
Support the output of content in JSON format (as the back end) -
Support to obtain preview map link, convenient for front-end display -
Support read-only mount to PotPlayer ( WebDAV ), nPlayer ( WebDAV ), kodi ( WebDAV )
install
#Create and enter the CTList directory mkdir /opt/189List && cd $_ #64 bit system download wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/amd64/linux/189List #32-bit system download wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/i386/linux/189List #Arm32 architecture download wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/arm/linux/189List #Arm64 architecture download wget https://raw.githubusercontent.com/MoeClub/vList/master/189List/arm64/linux/189List
#Give permission chmod +x 189List #Download theme file wget https://raw.githubusercontent.com/MoeClub/vList/master/index.html
vi /opt/189List/config.json
#Single account. The rootId is the displayed directory ID, and the default is the root directory; The rootPath specifies an account access path, such as ip: 8000/189List. Each path must be unique when there are multiple accounts [ { "User": "Mobile number", "Passwd": "Password", "rootId": "-11", "rootPath": "/189List" } ] #Multiple accounts, the following are two accounts, and several are copied. Please separate them with English commas [ { "User": "Mobile number", "Passwd": "Password", "rootId": "-11", "rootPath": "/189List" }, { "User": "Mobile number", "Passwd": "Password", "rootId": "-11", "rootPath": "/189List" } ]
#The json file format standard specifies that there is no comma in the last line of data [ { "disable": false, //Whether to close the configuration "User": "Mobile number", "Passwd": "Password", "rootId": "-11", //Root folder ID, default - 11 "rootPath": "/Cloud189", //Attached virtual path "authItem": "abc:123@/Movie|xyz:456@/Private/*", //HTTP 401 encryption item, with | as the separator The path can be matched at the * end The path is the path after the virtual path is removed //Abc: 123 @/Movie When accessing/Cloud189/Movie, the user name abc and password 123 are required, but the sub item under/Cloud189/Movie does not need to provide the user name and password //Xyz: 456 @/Private/* User name xyz and password 456 are required when accessing/Cloud189/Private and its subkeys "nodeInterval": 1800, //Directory refresh interval, minimum: 300 "linkInterval": 300 //Download link refresh interval, minimum value: 60, maximum value: 360 } ]
[ -f /etc/security/limits.conf ] && LIMIT='262144' && sed -i '/^\(\*\|root\)[[:space:]]*\(hard\|soft\)[[:space:]]*\(nofile\|memlock\)/d' /etc/security/limits.conf && echo -ne "*\thard\tmemlock\t${LIMIT}\n*\tsoft\tmemlock\t${LIMIT}\nroot\thard\tmemlock\t${LIMIT}\nroot\tsoft\tmemlock\t${LIMIT}\n*\thard\tnofile\t${LIMIT}\n*\tsoft\tnofile\t${LIMIT} \nroot\thard\tnofile\t${LIMIT}\nroot\tsoft\tnofile\t${LIMIT}\n\n" >>/etc/security/limits.conf
#Set your running listening port, that is, you can access the program through the ip: port. The default here is 8000. port="8000" #Copy the following code to SSH to run cat > /etc/systemd/system/189list.service <<EOF [Unit] Description=189list After=network.target [Service] Type=simple WorkingDirectory=/opt/189List ExecStart=/opt/189List/189List -bind 0.0.0.0 -port ${port} Restart=on-failure [Install] WantedBy=multi-user.target EOF #Start and set the automatic startup systemctl start 189list systemctl enable 189list
Start: systemctl start 189list Stop: systemctl stop 189list Restart: systemctl restart 189list View status: systemctl status 189list
#CentOS 7 firewall-cmd --zone=public --add-port=8000/tcp --permanent firewall-cmd --reload #Debian/Ubuntu ufw allow 8000
Bind domain name
Tip: If you have pagoda panels, install nginx directly and bind them. If you don't have pagoda panels, you can use caddy. Choose one from two.
Pagoda panel
Caddy binding
mkdir /usr/local/caddy wget -O /usr/local/caddy/caddy " https://caddyserver.com/api/download?os=linux&arch=amd64 " chmod +x /usr/local/caddy/caddy
#The following is a whole. Please modify the domain name and copy it to SSH to run! echo " https://www.moerats.com { reverse_proxy 127.0.0.1:8000 { header_up X-Real-IP {remote_host} header_up X-Forwarded-Proto {scheme} } }"> /usr/local/caddy/Caddyfile
#Copy the following code to SSH to run cat > /etc/systemd/system/caddy.service <<EOF [Unit] Description=Caddy Documentation= https://caddyserver.com/docs/ After=network.target network-online.target Requires=network-online.target [Service] User=root ExecStart=/usr/local/caddy/caddy run --environ --config /usr/local/caddy/Caddyfile ExecReload=/usr/local/caddy/caddy reload --config /usr/local/caddy/Caddyfile TimeoutStopSec=5s LimitNOFILE=1048576 LimitNPROC=512 PrivateTmp=true ProtectSystem=full AmbientCapabilities=CAP_NET_BIND_SERVICE [Install] WantedBy=multi-user.target EOF #Start and set the automatic startup systemctl start caddy systemctl enable caddy
Copyright notice: This is an original article, and the copyright belongs to Rat's Blog All, please indicate the source for reprinting!
Link to this article: https://www.moerats.com/archives/1034/
If the tutorial needs to be updated, or 404 appears on the related link, you can leave a comment below the article.