User Tools

Site Tools


be360:fimm

This is an old revision of the document!


Operation of Be360 Fimm

Server

Dedicated: Be360fimm (ID: i-0214f1fe3ceffe8ce)
Directories: /home/admin
OS: Debian 12
SSH login: admin@35.158.209.70
Hours of operation: 24/7


Fimm has 4 different scripts:

  • AQP
  • Como_Acque
  • 2iReteGas_Lotto_5
  • 2iReteGas_Lotto_6

they all work the same way and they all have the same folder structure.


Folder structure

├── app.js
├── Storage
├── uploadFtp.sh
├── Certs
│   ├── server.cert
│   └── server.key
├── wab.log
├── Logs
│   ├── Ftp
│   └── Webhook
├── node_modules
├── package.json
└── package-lock.json

app.js

Application code. It create the endpoint “/webhook/image”.
Sample request:

POST https://wabfimmdemo.ccaas.becloudsolutions.com/webhook/image
{
	"phone":"3519970274",
	"URL":"https://i.4cdn.org/g/1594686838367.png"
}

On request, it add “00” in front of the phonenumber, it create a WriteSteam in the /Storage folder with name pattern phone + “_” + timestamp + “.jpg” and then download the image from the link in the stream.


Storage

Contains images that are gonna to be sent in the FTP connection.


uploadFtp.sh

Bash script that upload to Fimm's FTP all images sent in the lat 60 minutes using ncftp.
It runs with a cronjob every second minute of each hours, in order to discriminate if it needs to upload the images in the $yesterdayDate folder or in the $todayDate folder.
It also handle logs creation and clear wab.log.


Certs

Contains certificates to enable https endpoint in app.js.
To create:

openssl req -nodes -new -x509 -keyout server.key -out server.cert


wab.log

Pm2 log file. Every hour is cleaned by uploadFtp.sh and saved in the /Logs/Webhook folder.


Logs

Contains hourly logs for both FTP and webhooks interactions.


node_modules, package.json, package-lock.json

Standard NodeJS stuff.


Nginx config

Located at /etc/nginx/sites-available/node.conf, all endpoints are served in HTTPS.

  • Port 5000: AQP
  • Port 5001: ComoAcque
  • Port 5002: 2iReteGas_Lotto_5
  • Port 5003: 2iReteGas_Lotto_6


Active cronjobs

  • Automated SSL certs renewal: 0 0 25 */2 * sudo certbot –nginx renew –all –force-renewal
  • Automated updatedb command: */30 * * * * /usr/bin/updatedb
  • For each Fimm's customer there is a separated cronjob 2 * * * * /home/admin/be360fimm-*/uploadFtp.sh

Lorenzo Cesana 2024/03/26 09:25

be360/fimm.1714485228.txt.gz · Last modified: by sysadm

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki