- Open Chrome Developer tools and click the Network tab.
- Navigate to the page with the video and get it to start playing.
- Filter the list of files to "m3u8".
- Find master.m3u8 or index.m3u8 and click on it.
- Save the file to disk and look inside it.
- If the file contains a single m3u8 master url, copy that one instead.
- Run the program m3u8x.
- Paste the same m3u8 url in both textboxes (URL and Quality URL) and click "Headers" and set the referral url and user-agent from the request as found in Chrome.
<?php declare(strict_types=1); | |
// ---------------------------------------------------------------------------- | |
// Biomes | |
// ---------------------------------------------------------------------------- | |
namespace Biome { | |
use Pixel; | |
interface Biome |
require 'httparty' | |
# TVDB | |
TVDB_API_KEY = '[your api key]' | |
TVDB_USERNAME = '[your username]' | |
TVDB_USERKEY = '[your user key]' | |
image_prefix = 'http://thetvdb.com/banners/' | |
# get token | |
response = HTTParty.post('https://api.thetvdb.com/login', { |
<?php | |
namespace App\Http\Middleware; | |
use Closure; | |
class RewriteLinks | |
{ | |
/** | |
* Handle an incoming request. |
UsedByTeams Model Trait For Laravel Spark
Automatically limit your models to the current team
So you're using spark, and you have teams enabled. You start creating models and want to have them be team specific. Instead of writing, Model::where('team_id', auth()->user()->currentTeam->id)->get();
use this trait to add that behind the scenes so that every time you call on your model, it's assumed that you mean for the current team.
This assumes that the model has a team_id
, while it adds a scope of where team_id = currentTeam->id
.
Note: Implicit Route Model Binding in 5.2, auth session doesn't exist at the point of this trait causing issue. fixed in 5.3
Team Role Middleware For Laravel Spark
Makes it simple to use Spark's role feature on routes
Route::group(['middleware'=>'role:owner'], function(){
// owners only
});
Route::group(['middleware'=>'role:member'], function(){
<snippet> | |
<content><![CDATA[ | |
public function ${1:relationship}() | |
{ | |
return \$this->belongsToMany(${1/^(.+)$/(?1\u$1:)/g}::class, {$2:table}); | |
} | |
]]></content> | |
<!-- Optional: Set a tabTrigger to define how to trigger the snippet --> | |
<tabTrigger>belt</tabTrigger> | |
<!-- Optional: Set a scope to limit where the snippet will trigger --> |
ECHO OFF | |
cd /d %~dp0 | |
for /f "tokens=2* delims= " %%F IN ('vagrant status ^| find /I "default"') DO (SET "STATE=%%F%%G") | |
ECHO Close this window if it remains open, and http://localhost:8081 is responsive | |
IF "%STATE%" NEQ "saved" ( | |
ECHO Starting Vagrant VM from powered down state... | |
vagrant up | |
) ELSE ( |
##How Homakov hacked GitHub and the line of code that could have prevented it
Please note: THIS ARTICLE IS NOT WRITTEN BY THE GITHUB TEAM or in any way associated with them. It's simply hosted as a Gist because the markdown formatting is excellent and far clearer than anything I could manage on my personal Tumblr at peternixey.com.
If you'd like to follow me on twitter my handle is @peternixey