feat(cloudron): add tirreno package artifacts

- Add CloudronStack/output/CloudronPackages-Artifacts/tirreno/ directory and its contents
- Includes package manifest, Dockerfile, source code, documentation, and build artifacts
- Add tirreno-1761840148.tar.gz as a build artifact
- Add tirreno-cloudron-package-1761841304.tar.gz as the Cloudron package
- Include all necessary files for the tirreno Cloudron package

This adds the complete tirreno Cloudron package artifacts to the repository.
This commit is contained in:
2025-10-30 11:43:06 -05:00
parent 0ce353ea9d
commit 91d52d2de5
1692 changed files with 202851 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
curl -X POST \
-d 'userName=' \
-d 'emailAddress=' \
-d 'ipAddress=' \
-d 'url=' \
-d 'userAgent=' \
-d 'eventTime=' \
-d 'firstName=' \
-d 'lastName=' \
-d 'fullName=' \
-d 'pageTitle=' \
-d 'phoneNumber=' \
-d 'httpReferer=' \
-d 'httpCode=' \
-d 'browserLanguage=' \
-d 'eventType=' \
-d 'httpMethod=' \
-d 'userCreated=' \
-d 'payload=' \
-H 'Api-Key: {{ @apiKey }}' \
-H 'Content-Type: application/x-www-form-urlencoded' \
{{ @apiUrl }}

View File

@@ -0,0 +1,72 @@
const axios = require('axios');
const qs = require('qs'); // You might need to install 'qs'
const url = '{{ @apiUrl }}'; // sensor URL
const headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Api-Key': '{{ @apiKey }}' // Tracking ID
};
// Replace each key value with actual info
const data = {
/////////// Required fields ///////////
// Unique value that allows identification of a user. Ex: alice54 (string)
userName: '',
// User email (string)
emailAddress: '',
// User IP address (string)
ipAddress: '',
// URL path of visited page (string)
url: '',
// User-agent of user request (string)
userAgent: '',
// Event UTC timestamp ('Y-m-d H:i:s.v' string)
eventTime: '',
/////////// Optional fields ///////////
// User first name (string)
firstName: '',
// User last name (string)
lastName: '',
// User full name (string)
fullName: '',
// Title of visited page (string)
pageTitle: '',
// User phone number (string)
phoneNumber: '',
// Referer of visited page (string)
httpReferer: '',
// Status code for page visit (string)
httpCode: '',
// User browser language (string)
browserLanguage: '',
// Type of user action from event types list (string)
eventType: '',
// Type of HTTP request from list (string)
httpMethod: '',
// User created UTC timestamp ('Y-m-d H:i:s' string)
userCreated: ''
// Payload (array),
payload: [],
};
axios.post(url, qs.stringify(data), { headers: headers });

View File

@@ -0,0 +1,95 @@
{{ htmlspecialchars('<?php') }}
// Set the Tracking ID for sending events
$apiKey = '{{ @apiKey }}'; // Tracking ID
// Replace each key value with actual info
$data = array(
/////////// Required fields ///////////
// Unique value that allows identification of a user. Ex: alice54 (string)
'userName' => '',
// User email (string)
'emailAddress' => '',
// User IP address (string)
'ipAddress' => '',
// URL path of visited page (string)
'url' => '',
// User-agent of user request (string)
'userAgent' => '',
// Event UTC timestamp ('Y-m-d H:i:s.v' string)
'eventTime' => '',
/////////// Optional fields ///////////
// User first name (string)
'firstName' => '',
// User last name (string)
'lastName' => '',
// User full name (string)
'fullName' => '',
// Title of visited page (string)
'pageTitle' => '',
// User phone number (string)
'phoneNumber' => '',
// Referer of visited page (string)
'httpReferer' => '',
// Status code for page visit (string)
'httpCode' => '',
// User browser language (string)
'browserLanguage' => '',
// Type of user action from event types list (string)
'eventType' => '',
// Type of HTTP request from list (string)
'httpMethod' => '',
// User created UTC timestamp ('Y-m-d H:i:s' string)
'userCreated' => ''
// Payload (array)
'payload' => [],
);
// Convert the event data to a query string
$dataString = http_build_query($data);
// Set up apiKey
$headers = [
'Api-Key: ' . $apiKey,
'Content-Type: application/x-www-form-urlencoded',
];
// Create a curl request to send the event data to the API
$ch = curl_init();
// CURLOPT_URL value is sensor URL
curl_setopt_array($ch, array(
CURLOPT_URL => '{{ @apiUrl }}',
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $dataString,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_TIMEOUT_MS => 1000,
CURLOPT_HTTPHEADER => $headers
));
// Send the curl request and capture the response
$response = curl_exec($ch);
// Close the curl request
curl_close($ch);

View File

@@ -0,0 +1,74 @@
import requests
from urllib.parse import urlencode
url = '{{ @apiUrl }}' # sensor URL
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Api-Key': '{{ @apiKey }}' # Tracking ID
}
# Replace each key value with actual info
data = {
########### Required fields ###########
# Unique value that allows identification of a user. Ex: alice54 (string)
'userName': '',
# User email (string)
'emailAddress': '',
# User IP address (string)
'ipAddress': '',
# URL path of visited page (string)
'url': '',
# User-agent of user request (string)
'userAgent': '',
# Event UTC timestamp ('Y-m-d H:i:s.v' string)
'eventTime': '',
########### Optional fields ###########
# User first name (string)
'firstName': '',
# User last name (string)
'lastName': '',
# User full name (string)
'fullName': '',
# Title of visited page (string)
'pageTitle': '',
# User phone number (string)
'phoneNumber': '',
# Referer of visited page (string)
'httpReferer': '',
# Status code for page visit (string)
'httpCode': '',
# User browser language (string)
'browserLanguage': '',
# Type of user action from event types list (string)
'eventType': '',
# Type of HTTP request from list (string)
'httpMethod': '',
# User created UTC timestamp ('Y-m-d H:i:s' string)
'userCreated': ''
# Payload (array)
'payload': [],
}
data = {k: v for k, v in data.items() if v is not None}
response = requests.post(url, data=data, headers=headers)

View File

@@ -0,0 +1,76 @@
require 'net/http'
require 'uri'
require 'cgi'
url = URI.parse('{{ @apiUrl }}') # sensor URL
headers = {
'Content-Type' => 'application/x-www-form-urlencoded',
'Api-Key' => '{{ @apiKey }}' # Tracking ID
}
# Replace each key value with actual info
data = {
########### Required fields ###########
# Unique value that allows identification of a user. Ex: alice54 (string)
'userName': '',
# User email (string)
'emailAddress': '',
# User IP address (string)
'ipAddress': '',
# URL path of visited page (string)
'url': '',
# User-agent of user request (string)
'userAgent': '',
# Event UTC timestamp ('Y-m-d H:i:s.v' string)
'eventTime': '',
########### Optional fields ###########
# User first name (string)
'firstName': '',
# User last name (string)
'lastName': '',
# User full name (string)
'fullName': '',
# Title of visited page (string)
'pageTitle': '',
# User phone number (string)
'phoneNumber': '',
# Referer of visited page (string)
'httpReferer': '',
# Status code for page visit (string)
'httpCode': '',
# User browser language (string)
'browserLanguage': '',
# Type of user action from event types list (string)
'eventType': '',
# Type of HTTP request from list (string)
'httpMethod': '',
# User created UTC timestamp ('Y-m-d H:i:s' string)
'userCreated': '',
# Payload
'payload': [],
}
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true if url.scheme == 'https'
request = Net::HTTP::Post.new(url, headers)
request.body = URI.encode_www_form(data)
response = http.request(request)