Compare commits

...

2 commits

Author SHA1 Message Date
b9999a8d60 fix 2023-11-02 12:42:47 -04:00
1cc7566016 some updates 2023-11-02 12:42:36 -04:00
5 changed files with 54 additions and 6 deletions

View file

@ -7,9 +7,9 @@
"sourceUrl": "https://gabe.rocks/grayjay-pt/PeerTubeConfig.json",
"repositoryUrl": "https://code.gabe.rocks/gabriel/peertube-grayjay",
"scriptUrl": "./PeerTubeScript.js",
"version": 20,
"version": 1,
"iconUrl": "./peertube.png",
"iconUrl": "./icon.png",
"id": "d770c577-e9ec-4435-a78a-f83fb9064bdf",
"scriptSignature": "",
@ -18,7 +18,7 @@
"allowEval": false,
"allowUrls": [
"everywhere"
"https://peertube.libresolutions.network"
],
"constants": {

View file

@ -126,7 +126,7 @@ source.enable = function (conf) {
source.getHome = function () {
return getVideoPager('/api/v1/videos', {
sort: "best"
sort: "-publishedAt"
}, 0);
};

BIN
icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

View file

@ -1 +1,26 @@
<a href="grayjay://plugin/http://10.0.0.2:8000/PeerTubeConfig.json?url=https://peertube.libresolutions.network">Install</a>
<html>
<head>
<title>Libre Solutions Network PT Plugin for Grayjay</title>
<style>
body{
font-size:18px;
display:flex;
flex-direction: column;
align-items: center;
}
button{
padding:10px;
font-size:24px;
border-radius:6px;
}
</style>
</head>
<body>
<h1>Libre Solutions Network</h1>
<h2>Peertube Plugin for Grayjay</h2>
<p>See the <a href="https://code.gabe.rocks/gabriel/peertube-grayjay"></a></p>
<a href="grayjay://plugin/https://gabe.rocks//peertube-grayjay/PeerTubeConfig.json"><button>Install</button></a>
</body>
</html>

View file

@ -1 +1,24 @@
gonna update later...
# Grayjay PeerTube Plugin for Libre Solutions Network
Hopefully this specific plugin will be unnecessary.
I forked the official [peertube plugin](https://gitlab.futo.org/videostreaming/plugins/peertube) because as it currently exists, it doesn't properly load videos from remote instances.
My solution isn't very elegant, I'm not familiar with typescript, but this plugin will allow you to browse videos within the network for the [Libre Solutions Network PeerTube](https://peertube.libresolutions.network.)
## Changes made:
- Changing from trending peertube videos to most recent
- Setting the baseURL to `peertube.libresolutions.network`
- To allow remote videos to load, i had to hardcode `getVideoPager` url parameter with:
```url: "https://peertube.libresolutions.network"+ v.url.substring(v.url.search("/videos/")),```
**Why?** Because when the peertube plugin loads a remote video it throws an error `No source enabled to support url` Meaning that you would need to install the peertube plug-in for *every instance* within your network.
Thankfully peertube seamlessly handles links to remote videos when you replace it with your instance url.
## Outstanding issues
- I would prefer to pull the baseURL parameter properly, but I had trouble making that work and decided to just hardcode it.
- I have no idea how/if this will impact casting, but hope to test that soon.
- I need to properly sign the plugin
[Plugin Documentation](https://gitlab.futo.org/videostreaming/grayjay/-/blob/master/plugin-development.md)