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,44 @@
import {BaseTiles} from './BaseTiles.js?v=2';
import {Tooltip} from '../Tooltip.js?v=2';
import {
renderBoolean,
renderClickableCountryTruncated,
renderClickableAsn,
} from '../DataRenderers.js?v=2';
const URL = '/admin/loadIpDetails';
const ELEMS = ['country', 'asn', 'blocklist', 'blacklist', 'dc', 'vpn', 'tor', 'ar'];
export class IpTiles extends BaseTiles {
updateTiles(data) {
const record = {
full_country: data.full_country,
country_id: data.country_id,
country_iso: data.country_iso,
asn: data.asn,
ispid: data.ispid,
};
document.getElementById('country').replaceChildren(renderClickableCountryTruncated(record));
document.getElementById('asn').replaceChildren(renderClickableAsn(record));
document.getElementById('blocklist').replaceChildren(renderBoolean(data.blocklist));
document.getElementById('blacklist').replaceChildren(renderBoolean(data.fraud_detected));
document.getElementById('dc').replaceChildren(renderBoolean(data.data_center));
document.getElementById('vpn').replaceChildren(renderBoolean(data.vpn));
document.getElementById('tor').replaceChildren(renderBoolean(data.tor));
document.getElementById('ar').replaceChildren(renderBoolean(data.relay));
}
initTooltips() {
super.initTooltips();
Tooltip.addTooltipToSpans();
}
get elems() {
return ELEMS;
}
get url() {
return URL;
}
}