From 01507c666735f519a75cf1fc947105c986f3447a Mon Sep 17 00:00:00 2001 From: STAM Date: Thu, 27 Feb 2020 16:34:51 +0300 Subject: [PATCH] cleanup --- .travis.yml | 90 ++++++--- CHANGELOG.md | 3 +- README.md | 2 +- nextcloud/16/.docker-repository.yml | 1 - nextcloud/16/.dockerignore | 3 - nextcloud/16/Dockerfile | 20 -- nextcloud/16/Makefile | 4 - nextcloud/16/Streamer.php | 169 ---------------- nextcloud/16/php-smbclient-latest.tar.gz | Bin 47136 -> 0 bytes nextcloud/16/smb.conf | 239 ----------------------- nextcloud/17/.docker-repository.yml | 1 - nextcloud/17/.dockerignore | 3 - nextcloud/17/Dockerfile | 20 -- nextcloud/17/Makefile | 4 - nextcloud/17/Streamer.php | 169 ---------------- nextcloud/17/php-smbclient-latest.tar.gz | Bin 47136 -> 0 bytes nextcloud/17/smb.conf | 239 ----------------------- nextcloud/18/.docker-repository.yml | 1 - nextcloud/18/.dockerignore | 3 - nextcloud/18/Dockerfile | 20 -- nextcloud/18/Makefile | 4 - nextcloud/18/Streamer.php | 169 ---------------- nextcloud/18/php-smbclient-latest.tar.gz | Bin 47136 -> 0 bytes nextcloud/18/smb.conf | 239 ----------------------- 24 files changed, 70 insertions(+), 1333 deletions(-) delete mode 100644 nextcloud/16/.docker-repository.yml delete mode 100644 nextcloud/16/.dockerignore delete mode 100644 nextcloud/16/Dockerfile delete mode 100644 nextcloud/16/Makefile delete mode 100644 nextcloud/16/Streamer.php delete mode 100644 nextcloud/16/php-smbclient-latest.tar.gz delete mode 100644 nextcloud/16/smb.conf delete mode 100644 nextcloud/17/.docker-repository.yml delete mode 100644 nextcloud/17/.dockerignore delete mode 100644 nextcloud/17/Dockerfile delete mode 100644 nextcloud/17/Makefile delete mode 100644 nextcloud/17/Streamer.php delete mode 100644 nextcloud/17/php-smbclient-latest.tar.gz delete mode 100644 nextcloud/17/smb.conf delete mode 100644 nextcloud/18/.docker-repository.yml delete mode 100644 nextcloud/18/.dockerignore delete mode 100644 nextcloud/18/Dockerfile delete mode 100644 nextcloud/18/Makefile delete mode 100644 nextcloud/18/Streamer.php delete mode 100644 nextcloud/18/php-smbclient-latest.tar.gz delete mode 100644 nextcloud/18/smb.conf diff --git a/.travis.yml b/.travis.yml index c02cfd26b..58f397ed4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -38,21 +38,12 @@ matrix: ########## - - name: NextCloud (latest, 16, 17, 18) + - name: NextCloud (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/nextcloud:latest nextcloud/latest - docker push epicmorg/nextcloud:latest - - docker build --compress -t epicmorg/nextcloud:16 nextcloud/16 - - docker push epicmorg/nextcloud:16 - - - docker build --compress -t epicmorg/nextcloud:17 nextcloud/17 - - docker push epicmorg/nextcloud:17 - - - docker build --compress -t epicmorg/nextcloud:18 nextcloud/18 - - docker push epicmorg/nextcloud:18 - ######################################### #### Our High priority images ######################################### @@ -63,61 +54,97 @@ matrix: # - docker build --compress -t user/repo:tag path/to/folder/contains/dockerfile # - docker push user/repo:tag - - name: Base Production + JDK 6, 7, 8 11 + - name: Base Production script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:latest epicmorg/prod/main - docker push epicmorg/prod:latest + - name: Base Production + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk6 epicmorg/prod/jdk6 - docker push epicmorg/prod:jdk6 + - name: Base Production + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk7 epicmorg/prod/jdk7 - docker push epicmorg/prod:jdk7 + - name: Base Production + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk8 epicmorg/prod/jdk8 - docker push epicmorg/prod:jdk8 + - name: Base Production + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/prod:jdk11 epicmorg/prod/jdk11 - docker push epicmorg/prod:jdk11 ########## - - name: Base Edge + JDK 6, 7, 8 11 + - name: Base Edge script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:latest epicmorg/edge/main - docker push epicmorg/edge:latest + - name: Base Edge + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk6 epicmorg/edge/jdk6 - docker push epicmorg/edge:jdk6 + - name: Base Edge + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk7 epicmorg/edge/jdk7 - docker push epicmorg/edge:jdk7 + - name: Base Edge + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk8 epicmorg/edge/jdk8 - docker push epicmorg/edge:jdk8 + - name: Base Edge + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/edge:jdk11 epicmorg/edge/jdk11 - docker push epicmorg/edge:jdk11 ########## - - name: Base Develop JDK 6, 7, 8 11 + - name: Base Develop script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:latest epicmorg/devel/main - docker push epicmorg/devel:latest + - name: Base Develop + JDK 6 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk6 epicmorg/devel/jdk6 - docker push epicmorg/devel:jdk6 + - name: Base Develop + JDK 7 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk7 epicmorg/devel/jdk7 - docker push epicmorg/devel:jdk7 + - name: Base Develop + JDK 8 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk8 epicmorg/devel/jdk8 - docker push epicmorg/devel:jdk8 + - name: Base Develop + JDK 11 + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/devel:jdk11 epicmorg/devel/jdk11 - docker push epicmorg/devel:jdk11 @@ -165,25 +192,39 @@ matrix: ########## - - name: Bitbucket (latest) + - name: Bitbucket + JDK 8 (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - - docker build --compress -t epicmorg/bitbucket:latest atlassian/bitbucket/latest + - docker build --compress -t epicmorg/bitbucket:latest atlassian/bitbucket/latest - docker push epicmorg/bitbucket:latest + + - name: Bitbucket + JDK 11 (latest-jdk11) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/bitbucket:latest-jdk11 -f atlassian/bitbucket/latest/Dockerfile.jdk11 atlassian/bitbucket/latest - docker push epicmorg/bitbucket:latest-jdk11 - - name: Confluence (latest) + - name: Confluence + JDK 8 (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/confluence:latest atlassian/confluence/latest - docker push epicmorg/confluence:latest + + - name: Confluence + JDK 11 (latest-jdk11) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/confluence:latest-jdk11 -f atlassian/confluence/latest/Dockerfile.jdk11 atlassian/confluence/latest - docker push epicmorg/confluence:latest-jdk11 - + - name: Jira + JDK 8 (latest) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/jira:latest atlassian/jira/latest - docker push epicmorg/jira:latest + + - name: Jira + JDK 11 (latest-jdk11) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/jira:latest-jdk11 -f atlassian/jira/latest/Dockerfile.jdk11 atlassian/jira/latest - docker push epicmorg/jira:latest-jdk11 @@ -195,21 +236,24 @@ matrix: ########## - - name: qBitTorrent [latest + unstable + stable] + - name: qBitTorrent (latest) script: - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/qbittorrent:latest qbittorrent/latest - docker push epicmorg/qbittorrent:latest - + + - name: qBitTorrent (unstable) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/qbittorrent:unstable qbittorrent/latest - docker push epicmorg/qbittorrent:unstable - + + - name: qBitTorrent (stable) + script: + - echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - docker build --compress -t epicmorg/qbittorrent:stable qbittorrent/stable - docker push epicmorg/qbittorrent:stable - - - ######################################### #### Our minor priority images ######################################### diff --git a/CHANGELOG.md b/CHANGELOG.md index 57e9915a4..abe40e7a4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,12 @@ ## Changelog * `February 2020` + * **Big rework of repositories on github**. Containers was Splited to another sub-repositories. Now current repo will be contain only fresh and latest versions of images. All older versions will be appeared in sub-repos. More fater building, less bad load to CI. * `fixed` all `*.sh` chmods. (sorry) * fixed `balancer` final container with `edge`. * `websites` migrated to `edge`. why not? * added `jdk6` and `jdk7` base images - * addded `PostgresSQL 9.3` + * addded `PostgresSQL 9-12` * `January 2020` (01/13/2020 - 01/30/2020) * separated `base` images to `prod`, `prod:jdk8`, `prod:jdk11`, `devel`, `devel:jdk8`, `devel:jdk11` * teamcity - `devel:jdk11` diff --git a/README.md b/README.md index a1102eb3b..296a877e8 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ | [![atlassian-bitbucket-6](https://img.shields.io/badge/Atlassian-Bitbucket%206-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-bitbucket-6) | [![confluence-7](https://img.shields.io/badge/Atlassian-Confluence%207-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-7) | [![atlassian-jira-8](https://img.shields.io/badge/Atlassian-Jira%208-brightgreen?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-8) | [![PostgreSQL](https://img.shields.io/badge/EpicMorg-PostgreSQL%20Backports-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-postgres-backports) | | ` ` | [![confluence-6](https://img.shields.io/badge/Atlassian-Confluence%206-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-6) | [![atlassian-jira-7](https://img.shields.io/badge/Atlassian-Jira%207-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-7) | [![Experimental](https://img.shields.io/badge/EpicMorg-Deprecated-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-experimental-images) | | ` ` | [![confluence-5](https://img.shields.io/badge/Atlassian-Confluence%205-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-confluence-5) | [![atlassian-jira-6](https://img.shields.io/badge/Atlassian-Jira%206-orange?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-6) | [![Deprecated](https://img.shields.io/badge/EpicMorg-Experimental-red?style=popout-square)](https://github.com/EpicMorgVault/docker-deprecated-images) | -| ` ` | ` ` | [![atlassian-jira-5](https://img.shields.io/badge/Atlassian-Jira%205-red?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-5) | ` ` | +| ` ` | ` ` | [![atlassian-jira-5](https://img.shields.io/badge/Atlassian-Jira%205-red?style=popout-square)](https://github.com/EpicMorgVault/docker-atlassian-jira-5) | [![NextCloud](https://img.shields.io/badge/EpicMorg-NextCloud%20Backports-yellow?style=popout-square)](https://github.com/EpicMorgVault/docker-nextcloud-backports) | | # Containers Map diff --git a/nextcloud/16/.docker-repository.yml b/nextcloud/16/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/16/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/16/.dockerignore b/nextcloud/16/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/16/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/16/Dockerfile b/nextcloud/16/Dockerfile deleted file mode 100644 index 2ab40d8be..000000000 --- a/nextcloud/16/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:16 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/16/Makefile b/nextcloud/16/Makefile deleted file mode 100644 index 6ac8545e4..000000000 --- a/nextcloud/16/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:16 . - diff --git a/nextcloud/16/Streamer.php b/nextcloud/16/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/16/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/16/php-smbclient-latest.tar.gz b/nextcloud/16/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013440203f47c9b03fbf1d89b88af3ec8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47136 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 !Z^1flR9C{P9 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∾znWakfR}jm@4+T6N#-sZ`q3`p--C&~ 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 EA7s5=umAu6 diff --git a/nextcloud/16/smb.conf b/nextcloud/16/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/16/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/17/.docker-repository.yml b/nextcloud/17/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/17/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/17/.dockerignore b/nextcloud/17/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/17/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/17/Dockerfile b/nextcloud/17/Dockerfile deleted file mode 100644 index 15be670b0..000000000 --- a/nextcloud/17/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:17 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/17/Makefile b/nextcloud/17/Makefile deleted file mode 100644 index c66ad8b5a..000000000 --- a/nextcloud/17/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:17 . - diff --git a/nextcloud/17/Streamer.php b/nextcloud/17/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/17/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/17/php-smbclient-latest.tar.gz b/nextcloud/17/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013440203f47c9b03fbf1d89b88af3ec8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47136 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 !Z^1flR9C{P9 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∾znWakfR}jm@4+T6N#-sZ`q3`p--C&~ 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 EA7s5=umAu6 diff --git a/nextcloud/17/smb.conf b/nextcloud/17/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/17/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin - diff --git a/nextcloud/18/.docker-repository.yml b/nextcloud/18/.docker-repository.yml deleted file mode 100644 index 7e8e1f859..000000000 --- a/nextcloud/18/.docker-repository.yml +++ /dev/null @@ -1 +0,0 @@ -repository: epicmorg/nextcloud diff --git a/nextcloud/18/.dockerignore b/nextcloud/18/.dockerignore deleted file mode 100644 index f5523d40c..000000000 --- a/nextcloud/18/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -.git -scripts -.idea diff --git a/nextcloud/18/Dockerfile b/nextcloud/18/Dockerfile deleted file mode 100644 index 9038ea57a..000000000 --- a/nextcloud/18/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -FROM nextcloud:18 -ENV DEBIAN_FRONTEND noninteractive - -#smb additional magic -ADD php-smbclient-latest.tar.gz /tmp -RUN cp -fv /tmp/php-smbclient-latest/etc/php/7.3/mods-available/smbclient.ini /usr/local/etc/php/conf.d/smbclient.ini && \ - cp -fv /tmp/php-smbclient-latest/usr/lib/php/20180731/smbclient.so /usr/local/lib/php/extensions/no-debug-non-zts-20180731/smbclient.so && \ - rm -frv /tmp/php-smbclient-latest.tar.gz /tmp/php-smbclient-latest - -#addoing some utils -RUN apt update -y && apt install -y --allow-unauthenticated sudo apt-transport-https wget htop mc nano smbclient libsmbclient - -#thank u, mac users. rolling back normal ZipStreammer -RUN rm -frv /var/www/html/lib/private/Streamer.php -ADD Streamer.php /var/www/html/lib/private/ - -#smb fix -RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf -ADD smb.conf /etc/samba/ -ADD smb.conf /usr/share/samba/ diff --git a/nextcloud/18/Makefile b/nextcloud/18/Makefile deleted file mode 100644 index 86a2ab24c..000000000 --- a/nextcloud/18/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -all: nc -nc: - docker build --compress -t epicmorg/nextcloud:18 . - diff --git a/nextcloud/18/Streamer.php b/nextcloud/18/Streamer.php deleted file mode 100644 index 677856b29..000000000 --- a/nextcloud/18/Streamer.php +++ /dev/null @@ -1,169 +0,0 @@ - - * @author Thomas Müller - * @author Victor Dubiniuk - * - * @license AGPL-3.0 - * - * This code is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License, version 3, - * as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License, version 3, - * along with this program. If not, see - * - */ - -namespace OC; - -use OCP\IRequest; -use ownCloud\TarStreamer\TarStreamer; -use ZipStreamer\ZipStreamer; - -class Streamer { - // array of regexp. Matching user agents will get tar instead of zip - private $preferTarFor = [ '/macintosh|mac os x/i' ]; - - // streamer instance - private $streamerInstance; - - /** - * Streamer constructor. - * - * @param IRequest $request - * @param int $size The size of the files in bytes - * @param int $numberOfFiles The number of files (and directories) that will - * be included in the streamed file - */ - public function __construct(IRequest $request, int $size, int $numberOfFiles){ - - /** - * zip32 constraints for a basic (without compression, volumes nor - * encryption) zip file according to the Zip specification: - * - No file size is larger than 4 bytes (file size < 4294967296); see - * 4.4.9 uncompressed size - * - The size of all files plus their local headers is not larger than - * 4 bytes; see 4.4.16 relative offset of local header and 4.4.24 - * offset of start of central directory with respect to the starting - * disk number - * - The total number of entries (files and directories) in the zip file - * is not larger than 2 bytes (number of entries < 65536); see 4.4.22 - * total number of entries in the central dir - * - The size of the central directory is not larger than 4 bytes; see - * 4.4.23 size of the central directory - * - * Due to all that, zip32 is used if the size is below 4GB and there are - * less than 65536 files; the margin between 4*1000^3 and 4*1024^3 - * should give enough room for the extra zip metadata. Technically, it - * would still be possible to create an invalid zip32 file (for example, - * a zip file from files smaller than 4GB with a central directory - * larger than 4GiB), but it should not happen in the real world. - */ - if ($size < 4 * 1000 * 1000 * 1000 && $numberOfFiles < 65536) { - $this->streamerInstance = new ZipStreamer(['zip64' => true]); - } else if ($request->isUserAgent($this->preferTarFor)) { - $this->streamerInstance = new TarStreamer(); - } else { - $this->streamerInstance = new ZipStreamer(['zip64' => PHP_INT_SIZE !== 4]); - } - } - - /** - * Send HTTP headers - * @param string $name - */ - public function sendHeaders($name){ - $extension = $this->streamerInstance instanceof ZipStreamer ? '.zip' : '.tar'; - $fullName = $name . $extension; - $this->streamerInstance->sendHeaders($fullName); - } - - /** - * Stream directory recursively - * @param string $dir - * @param string $internalDir - */ - public function addDirRecursive($dir, $internalDir='') { - $dirname = basename($dir); - $rootDir = $internalDir . $dirname; - if (!empty($rootDir)) { - $this->streamerInstance->addEmptyDir($rootDir); - } - $internalDir .= $dirname . '/'; - // prevent absolute dirs - $internalDir = ltrim($internalDir, '/'); - - $files= \OC\Files\Filesystem::getDirectoryContent($dir); - foreach($files as $file) { - $filename = $file['name']; - $file = $dir . '/' . $filename; - if(\OC\Files\Filesystem::is_file($file)) { - $filesize = \OC\Files\Filesystem::filesize($file); - $fileTime = \OC\Files\Filesystem::filemtime($file); - $fh = \OC\Files\Filesystem::fopen($file, 'r'); - $this->addFileFromStream($fh, $internalDir . $filename, $filesize, $fileTime); - fclose($fh); - }elseif(\OC\Files\Filesystem::is_dir($file)) { - $this->addDirRecursive($file, $internalDir); - } - } - } - - /** - * Add a file to the archive at the specified location and file name. - * - * @param string $stream Stream to read data from - * @param string $internalName Filepath and name to be used in the archive. - * @param int $size Filesize - * @param int|bool $time File mtime as int, or false - * @return bool $success - */ - public function addFileFromStream($stream, $internalName, $size, $time) { - $options = []; - if ($time) { - $options = [ - 'timestamp' => $time - ]; - } - - if ($this->streamerInstance instanceof ZipStreamer) { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $options); - } else { - return $this->streamerInstance->addFileFromStream($stream, $internalName, $size, $options); - } - } - - /** - * Add an empty directory entry to the archive. - * - * @param string $dirName Directory Path and name to be added to the archive. - * @return bool $success - */ - public function addEmptyDir($dirName){ - return $this->streamerInstance->addEmptyDir($dirName); - } - - /** - * Close the archive. - * A closed archive can no longer have new files added to it. After - * closing, the file is completely written to the output stream. - * @return bool $success - */ - public function finalize(){ - return $this->streamerInstance->finalize(); - } -} diff --git a/nextcloud/18/php-smbclient-latest.tar.gz b/nextcloud/18/php-smbclient-latest.tar.gz deleted file mode 100644 index 050212013440203f47c9b03fbf1d89b88af3ec8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47136 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 !Z^1flR9C{P9 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∾znWakfR}jm@4+T6N#-sZ`q3`p--C&~ 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 EA7s5=umAu6 diff --git a/nextcloud/18/smb.conf b/nextcloud/18/smb.conf deleted file mode 100644 index 9346a22f4..000000000 --- a/nextcloud/18/smb.conf +++ /dev/null @@ -1,239 +0,0 @@ -# -# Sample configuration file for the Samba suite for Debian GNU/Linux. -# -# -# This is the main Samba configuration file. You should read the -# smb.conf(5) manual page in order to understand the options listed -# here. Samba has a huge number of configurable options most of which -# are not shown in this example -# -# Some options that are often worth tuning have been included as -# commented-out examples in this file. -# - When such options are commented with ";", the proposed setting -# differs from the default Samba behaviour -# - When commented with "#", the proposed setting is the default -# behaviour of Samba but the option is considered important -# enough to be mentioned here -# -# NOTE: Whenever you modify this file you should run the command -# "testparm" to check that you have not made any basic syntactic -# errors. - -#======================= Global Settings ======================= - -[global] -client min protocol = SMB2 -client max protocol = SMB3 - - -## Browsing/Identification ### - -# Change this to the workgroup/NT-domain name your Samba server will part of - workgroup = WORKGROUP - -#### Networking #### - -# The specific set of interfaces / networks to bind to -# This can be either the interface name or an IP address/netmask; -# interface names are normally preferred -; interfaces = 127.0.0.0/8 eth0 - -# Only bind to the named interfaces and/or networks; you must use the -# 'interfaces' option above to use this. -# It is recommended that you enable this feature if your Samba machine is -# not protected by a firewall or is a firewall itself. However, this -# option cannot handle dynamic or non-broadcast interfaces correctly. -; bind interfaces only = yes - - - -#### Debugging/Accounting #### - -# This tells Samba to use a separate log file for each machine -# that connects - log file = /var/log/samba/log.%m - -# Cap the size of the individual log files (in KiB). - max log size = 1000 - -# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}. -# Append syslog@1 if you want important messages to be sent to syslog too. - logging = file - -# Do something sensible when Samba crashes: mail the admin a backtrace - panic action = /usr/share/samba/panic-action %d - - -####### Authentication ####### - -# Server role. Defines in which mode Samba will operate. Possible -# values are "standalone server", "member server", "classic primary -# domain controller", "classic backup domain controller", "active -# directory domain controller". -# -# Most people will want "standalone server" or "member server". -# Running as "active directory domain controller" will require first -# running "samba-tool domain provision" to wipe databases and create a -# new domain. - server role = standalone server - - obey pam restrictions = yes - -# This boolean parameter controls whether Samba attempts to sync the Unix -# password with the SMB password when the encrypted SMB password in the -# passdb is changed. - unix password sync = yes - -# For Unix password sync to work on a Debian GNU/Linux system, the following -# parameters must be set (thanks to Ian Kahan < for -# sending the correct chat script for the passwd program in Debian Sarge). - passwd program = /usr/bin/passwd %u - passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . - -# This boolean controls whether PAM will be used for password changes -# when requested by an SMB client instead of the program listed in -# 'passwd program'. The default is 'no'. - pam password change = yes - -# This option controls how unsuccessful authentication attempts are mapped -# to anonymous connections - map to guest = bad user - -########## Domains ########### - -# -# The following settings only takes effect if 'server role = primary -# classic domain controller', 'server role = backup domain controller' -# or 'domain logons' is set -# - -# It specifies the location of the user's -# profile directory from the client point of view) The following -# required a [profiles] share to be setup on the samba server (see -# below) -; logon path = \\%N\profiles\%U -# Another common choice is storing the profile in the user's home directory -# (this is Samba's default) -# logon path = \\%N\%U\profile - -# The following setting only takes effect if 'domain logons' is set -# It specifies the location of a user's home directory (from the client -# point of view) -; logon drive = H: -# logon home = \\%N\%U - -# The following setting only takes effect if 'domain logons' is set -# It specifies the script to run during logon. The script must be stored -# in the [netlogon] share -# NOTE: Must be store in 'DOS' file format convention -; logon script = logon.cmd - -# This allows Unix users to be created on the domain controller via the SAMR -# RPC pipe. The example command creates a user account with a disabled Unix -# password; please adapt to your needs -; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u - -# This allows machine accounts to be created on the domain controller via the -# SAMR RPC pipe. -# The following assumes a "machines" group exists on the system -; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u - -# This allows Unix groups to be created on the domain controller via the SAMR -# RPC pipe. -; add group script = /usr/sbin/addgroup --force-badname %g - -############ Misc ############ - -# Using the following line enables you to customise your configuration -# on a per machine basis. The %m gets replaced with the netbios name -# of the machine that is connecting -; include = /home/samba/etc/smb.conf.%m - -# Some defaults for winbind (make sure you're not using the ranges -# for something else.) -; idmap config * : backend = tdb -; idmap config * : range = 3000-7999 -; idmap config YOURDOMAINHERE : backend = tdb -; idmap config YOURDOMAINHERE : range = 100000-999999 -; template shell = /bin/bash - -# Setup usershare options to enable non-root users to share folders -# with the net usershare command. - -# Maximum number of usershare. 0 means that usershare is disabled. -# usershare max shares = 100 - -# Allow users who've been granted usershare privileges to create -# public shares, not just authenticated ones - usershare allow guests = yes - -#======================= Share Definitions ======================= - -[homes] - comment = Home Directories - browseable = no - -# By default, the home directories are exported read-only. Change the -# next parameter to 'no' if you want to be able to write to them. - read only = yes - -# File creation mask is set to 0700 for security reasons. If you want to -# create files with group=rw permissions, set next parameter to 0775. - create mask = 0700 - -# Directory creation mask is set to 0700 for security reasons. If you want to -# create dirs. with group=rw permissions, set next parameter to 0775. - directory mask = 0700 - -# By default, \\server\username shares can be connected to by anyone -# with access to the samba server. -# The following parameter makes sure that only "username" can connect -# to \\server\username -# This might need tweaking when using external authentication schemes - valid users = %S - -# Un-comment the following and create the netlogon directory for Domain Logons -# (you need to configure Samba to act as a domain controller too.) -;[netlogon] -; comment = Network Logon Service -; path = /home/samba/netlogon -; guest ok = yes -; read only = yes - -# Un-comment the following and create the profiles directory to store -# users profiles (see the "logon path" option above) -# (you need to configure Samba to act as a domain controller too.) -# The path below should be writable by all users so that their -# profile directory may be created the first time they log on -;[profiles] -; comment = Users profiles -; path = /home/samba/profiles -; guest ok = no -; browseable = no -; create mask = 0600 -; directory mask = 0700 - -[printers] - comment = All Printers - browseable = no - path = /var/spool/samba - printable = yes - guest ok = no - read only = yes - create mask = 0700 - -# Windows clients look for this share name as a source of downloadable -# printer drivers -[print$] - comment = Printer Drivers - path = /var/lib/samba/printers - browseable = yes - read only = yes - guest ok = no -# Uncomment to allow remote administration of Windows print drivers. -# You may need to replace 'lpadmin' with the name of the group your -# admin users are members of. -# Please note that you also need to set appropriate Unix permissions -# to the drivers directory for these users to have write rights in it -; write list = root, @lpadmin -