Linux cesa-www-main 6.1.0-49-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64
Apache/2.4.68 (Debian)
Server IP : 10.218.0.2 & Your IP : 216.73.216.28
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
php /
Composer /
Downloader /
Delete
Unzip
Name
Size
Permission
Date
Action
ArchiveDownloader.php
8.45
KB
-rw-r--r--
2023-03-21 10:50
ChangeReportInterface.php
807
B
-rw-r--r--
2023-03-21 10:50
DownloadManager.php
15.25
KB
-rw-r--r--
2023-03-21 10:50
DownloaderInterface.php
3.86
KB
-rw-r--r--
2023-03-21 10:50
DvcsDownloaderInterface.php
823
B
-rw-r--r--
2023-03-21 10:50
FileDownloader.php
19.28
KB
-rw-r--r--
2023-03-21 10:50
FilesystemException.php
709
B
-rw-r--r--
2023-03-21 10:50
FossilDownloader.php
4.45
KB
-rw-r--r--
2023-03-21 10:50
GitDownloader.php
24.83
KB
-rw-r--r--
2026-05-14 09:28
GzipDownloader.php
2.16
KB
-rw-r--r--
2023-03-21 10:50
HgDownloader.php
3.69
KB
-rw-r--r--
2023-03-21 10:50
MaxFileSizeExceededException.php
392
B
-rw-r--r--
2023-03-21 10:50
PathDownloader.php
12.7
KB
-rw-r--r--
2023-03-21 10:50
PerforceDownloader.php
3.36
KB
-rw-r--r--
2023-03-21 10:50
PharDownloader.php
1.11
KB
-rw-r--r--
2023-03-21 10:50
RarDownloader.php
2.51
KB
-rw-r--r--
2023-03-21 10:50
SvnDownloader.php
8.85
KB
-rw-r--r--
2023-03-21 10:50
TarDownloader.php
901
B
-rw-r--r--
2023-03-21 10:50
TransportException.php
1.72
KB
-rw-r--r--
2023-03-21 10:50
VcsCapableDownloaderInterface.php
836
B
-rw-r--r--
2023-03-21 10:50
VcsDownloader.php
12.65
KB
-rw-r--r--
2023-03-21 10:50
XzDownloader.php
1.1
KB
-rw-r--r--
2023-03-21 10:50
ZipDownloader.php
12.85
KB
-rw-r--r--
2023-03-21 10:50
Save
Rename
<?php declare(strict_types=1); /* * This file is part of Composer. * * (c) Nils Adermann <naderman@naderman.de> * Jordi Boggiano <j.boggiano@seld.be> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Composer\Downloader; use React\Promise\PromiseInterface; use Composer\Package\PackageInterface; use Composer\Pcre\Preg; use Composer\Util\ProcessExecutor; /** * @author BohwaZ <http://bohwaz.net/> */ class FossilDownloader extends VcsDownloader { /** * @inheritDoc */ protected function doDownload(PackageInterface $package, string $path, string $url, ?PackageInterface $prevPackage = null): PromiseInterface { return \React\Promise\resolve(null); } /** * @inheritDoc */ protected function doInstall(PackageInterface $package, string $path, string $url): PromiseInterface { // Ensure we are allowed to use this URL by config $this->config->prohibitUrlByConfig($url, $this->io); $url = ProcessExecutor::escape($url); $ref = ProcessExecutor::escape($package->getSourceReference()); $repoFile = $path . '.fossil'; $this->io->writeError("Cloning ".$package->getSourceReference()); $command = sprintf('fossil clone -- %s %s', $url, ProcessExecutor::escape($repoFile)); if (0 !== $this->process->execute($command, $ignoredOutput)) { throw new \RuntimeException('Failed to execute ' . $command . "\n\n" . $this->process->getErrorOutput()); } $command = sprintf('fossil open --nested -- %s', ProcessExecutor::escape($repoFile)); if (0 !== $this->process->execute($command, $ignoredOutput, realpath($path))) { throw new \RuntimeException('Failed to execute ' . $command . "\n\n" . $this->process->getErrorOutput()); } $command = sprintf('fossil update -- %s', $ref); if (0 !== $this->process->execute($command, $ignoredOutput, realpath($path))) { throw new \RuntimeException('Failed to execute ' . $command . "\n\n" . $this->process->getErrorOutput()); } return \React\Promise\resolve(null); } /** * @inheritDoc */ protected function doUpdate(PackageInterface $initial, PackageInterface $target, string $path, string $url): PromiseInterface { // Ensure we are allowed to use this URL by config $this->config->prohibitUrlByConfig($url, $this->io); $ref = ProcessExecutor::escape($target->getSourceReference()); $this->io->writeError(" Updating to ".$target->getSourceReference()); if (!$this->hasMetadataRepository($path)) { throw new \RuntimeException('The .fslckout file is missing from '.$path.', see https://getcomposer.org/commit-deps for more information'); } $command = sprintf('fossil pull && fossil up %s', $ref); if (0 !== $this->process->execute($command, $ignoredOutput, realpath($path))) { throw new \RuntimeException('Failed to execute ' . $command . "\n\n" . $this->process->getErrorOutput()); } return \React\Promise\resolve(null); } /** * @inheritDoc */ public function getLocalChanges(PackageInterface $package, string $path): ?string { if (!$this->hasMetadataRepository($path)) { return null; } $this->process->execute('fossil changes', $output, realpath($path)); $output = trim($output); return strlen($output) > 0 ? $output : null; } /** * @inheritDoc */ protected function getCommitLogs(string $fromReference, string $toReference, string $path): string { $command = sprintf('fossil timeline -t ci -W 0 -n 0 before %s', ProcessExecutor::escape($toReference)); if (0 !== $this->process->execute($command, $output, realpath($path))) { throw new \RuntimeException('Failed to execute ' . $command . "\n\n" . $this->process->getErrorOutput()); } $log = ''; $match = '/\d\d:\d\d:\d\d\s+\[' . $toReference . '\]/'; foreach ($this->process->splitLines($output) as $line) { if (Preg::isMatch($match, $line)) { break; } $log .= $line; } return $log; } /** * @inheritDoc */ protected function hasMetadataRepository(string $path): bool { return is_file($path . '/.fslckout') || is_file($path . '/_FOSSIL_'); } }