Files
2025-08-22 19:01:09 +02:00

100 lines
3.1 KiB
HTML

<a target="_blank" href="vidcompare.html" style="color:blue">JSON - FileCompare</a><hr>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Video Archive</title>
<style>
body {
font-family: system-ui, sans-serif;
background: #f5f7fa;
margin: 0;
}
h1 {
text-align: center;
margin: 1rem 0;
}
#videos-table {
width: 100%;
border-collapse: collapse;
margin: 1rem auto;
max-width: 1200px;
}
#videos-table th, #videos-table td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
#videos-table th {
background-color: #f0f0f0;
}
.links a {
font-size: 0.875rem;
color: #0066cc;
text-decoration: none;
}
.links a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<h1>Video Archive</h1>
<table id="videos-table">
<thead>
<tr>
<th>Title</th>
<th>Uploader</th>
<th>ID</th>
<th>Uploaded</th>
<th>Direct Link</th>
<th>Wayback Link</th>
<th>HiDrive</th> <!-- Added -->
</tr>
</thead>
<tbody id="videos"></tbody>
</table>
<script>
(async () => {
const videosEl = document.getElementById('videos');
try {
const res = await fetch('videos.json');
if (!res.ok) {
throw new Error(`HTTP ${res.status} ${res.statusText}`);
}
const videos = await res.json();
videos.forEach(v => {
const row = document.createElement('tr');
const videoLink = `<a target="_blank" href="https://m.youtube.com/watch?v=${v.id}" target="_blank">${v.title}</a>`;
const hiDriveLink = `https://alcea-wisteria.de/hidrive/hidrive.php?path=/public/ytarchive/${v.id}.mp4`;
//const synchidrive2wayback = `https://alceawis.de/other/extra/fetchdata/2025-06-28-FileServerUpload/2025-06-28-MultiUpload%28SFTP-FTP%29/upload.php?server=webdav.hidrive.strato.com&protocol=webdav&path=%2Fpublic%2Fytarchive%2F&upload_type=url&url=${v.waybackurl}`;
const synchidrive2wayback = `https://alceawis.de/other/extra/fetchdata/2025-06-28-FileServerUpload/2025-06-28-MultiUpload%28SFTP-FTP%29/upload.php?server=webdav.hidrive.strato.com&protocol=webdav&path=%2Fpublic%2Fytarchive%2F&upload_type=url&url=https://alcea-wisteria.de/ytarchive/fin/${v.id}.mp4`;
const syncrouter2wayback = `http://127.0.0.1:8080/2025-06-28-FileServerUpload/2025-06-28-MultiUpload(SFTP-FTP)/upload.php?server=192.168.0.1&protocol=ftp&path=%2F/(YT-To-Upload)%2Fytarchive%2F&upload_type=url&anonymous=yes&url=https://alcea-wisteria.de/ytarchive/fin/${v.id}.mp4`;
row.innerHTML = `
<td>${videoLink}</td>
<td>${v.uploader}</td>
<td>${v.id ?? 'N/A'}</td>
<td>${new Date(v.uploaded).toLocaleString()}</td>
<td><a target="_blank" href="fin/${v.id}.mp4">Direct</a></td>
<td><a target="_blank" href="${v.waybackurl}">Wayback</a></td>
<td><a target="_blank" href="${hiDriveLink}">HiDrive</a> (<a target="_blank" href="${synchidrive2wayback}">sync</a>)<a target="_blank" href="${syncrouter2wayback}">sync2local</a>)</td>
`;
videosEl.appendChild(row);
});
} catch (e) {
console.error('Failed to load videos:', e);
}
})();
</script>
</body>
</html>