Custom Extension Repository 

TYPO3 provides functionality that connects to a different repository type than the "official" TER (TYPO3 Extension Repository) to download third-party extensions. The API is called "Extension Remotes". These remotes are adapters that allow fetching a list of extensions via the ListableRemoteInterface or downloading an extension via the ExtensionDownloaderRemoteInterface .

It is possible to add new remotes, disable registered remotes or change the default remote.

Custom remote configuration can be added in the Configuration/Services.yaml of the corresponding extension.

extension.remote.myremote:
  class: 'TYPO3\CMS\Extensionmanager\Remote\TerExtensionRemote'
  arguments:
    $identifier: 'myremote'
    $options:
       remoteBase: 'https://my_own_remote/'
  tags:
    - name: 'extension.remote'
      default: true
Copied!

Using default: true , "myremote" will be used as the default remote. Setting default: true only works if the defined service implements ListableRemoteInterface .

Please note that \Vendor\SitePackage\Remote\MyRemote must implement ExtensionDownloaderRemoteInterface to be registered as remote.

To disable an already registered remote, enabled: false can be set.

extension.remote.ter:
  tags:
    - name: 'extension.remote'
      enabled: false
Copied!