Plugin updates from a specific location

It is possible!

An example code below is for the specific plugin (let’s name it my-plugin), but You can do exact the same for all of the plugins on Your site. You have to just modify $data->response as it is done for “my-plugin/my-plugin.php” plugin below

add_filter( 'pre_set_site_transient_update_plugins', 'my_plugin_update_feed' );

function my_plugin_update_feed( $data ) {
    
    if ( empty( $data ) ) {
        return $data;
    }

    $url="https://drive.google.com/path/to/my-plugin/release.json?" . time();

    $request = wp_remote_get( $url );

    if ( is_wp_error( $request ) ) {
        return $data;
    }

    $response = wp_remote_retrieve_body( $request );

    $response = json_decode( $response );

    if ( ! isset( $response->slug ) || ! isset( $response->new_version ) || ! isset( $response->url ) || ! isset( $response->package ) ) {
        return $data;
    }

    if ( version_compare( MY_PLUGIN_VERSION, $response->new_version, '<' ) ) {

        $data->response[ 'my-plugin/my-plugin.php' ] = $response;
    }

    return $data;
}

and release.json would be something like this:

{
    "slug": "my-plugin",
    "new_version": "0.0.3",
    "url": "https://drive.google.com/path/to/my-plugin/",
    "package": "https://drive.google.com/path/to/my-plugin/my-plugin-0.0.3.zip"
}