Filter and launch links in a browser of your choice!

Link Launcher

Filter links with regular expressions and launch them into your favourite browsers

Have you ever wanted to open a youtube link from other software (Discord perhaps) into VLC player? Well now you can. When you build this executable and register it as a web browser in Windows registry, this program intercepts any links, pattern matches them with regular expression and launches them in an application of your choosing.

A new feature I added recently is that now you can redirect link onto a custom portal service, for example youtube can be directed to invidious instance. Just capture the video id in the regular expression with parenthesis and add a replacement link with placeholders (https://www.invidious.../watch?v=<1>) into replacements array of link-arrays. The reason why there's array of link arrays is that each matching pattern has its own array of replacements, so they are directly mapped to each other, this might change in the future because it's bit nasty solution.

Big thanks for kgabis for the MIT-licensed parson (json parsing) library.

Use anything in this repo, especially those .bat files under Windows folder, on your own risk. I'm not responsible of any explicit or implicit harm or damage this repo's contents may cause. I strongly recommend to take backup of your registry first before applying the registry changes.

Setup instructions

1. How to build

On windows, open Visual Studio 2019 development console, navigate into LinkLauncher folder, and run build.bat.

PS. I haven't tested building this project any Linux distro yet, although there's untested code for Linux too.

2. How to un/install (do it on your own risk)

On Windows, open a console with admin privileges, navigate into LinkLauncher\Windows\ folder, to install run register_linklauncher.bat to uninstall run unregister_linklauncher.bat

3. associations.json

The associations.json must be found from the folder where LINK_LAUNCHER points in the user environment variables, in other words it must lie in the same folder as LinkLauncher.exe. The associations.json is structured like this:

{
	"browsers": {
		"firefox": {
			"app": "C:/Program Files/Mozilla Firefox/firefox.exe",
			"default_args": ["-new-tab"]
		},
		"vlc": {
			"app": "C:/Program Files/VideoLAN/VLC/vlc.exe",
			"default_args": []
		}
	},
	"associations": {
		"default": {
			"patterns":  [],
			"browsers": [
				{
					"browser": "firefox",
					"args": []
				}
			],
		},
		"youtube": {
			"patterns": [
				"youtube\\.com\\/watch\\?.*&?v=(.*)",
				"youtu\\.be\\/(.*)"
			],
			"browsers": [
				{
					"browser": "vlc",
					"args": []
				}
			],
			"replacements": [
				["https://invidious.silkky.cloud/watch?v=<1>"],
				["https://invidious.silkky.cloud/watch?v=<1>"]
			]
		}
	}
}

Notice how backslashes \ are escaped with double backslash \\.

Similar Resources

usb to 5 din midi converter-filter-router, sound generator

usb to 5 din midi converter-filter-router, sound generator

multi What is multi? It's a PCB (shield/hat) hosting a seeeduino Xiao. It has 6 potentiometers, 2 pushbuttons and a 1/8" audio out connected to the Xi

Aug 11, 2022

Extended kalman filter implementation.

Extended kalman filter implementation.

EKF (Extended Kalman Filter) This project is a C++ implementation of EKF.For the related principles of EKF, please check this tutorial (TODO). Project

Jun 26, 2022

Kalman Filter Implementation for MPU6050 with STM32-Nucleo. Via CubeIDE

Kalman Filter Implementation for MPU6050 with STM32-Nucleo. Via CubeIDE

Kalman Filter Implementation for MPU6050 on STM32 Nucleo Board Kalman Filter Implementation for MPU6050 with STM32-Nucleo I implemented a Kalman Filte

Jul 8, 2022

Port of Adafruit / NXP Sensor Fusion filter

AHRS Fusion Port of Adafruit NXP sensor fusion algorithms based on Kalman filters for rust. Resources https://github.com/adafruit/Adafruit_AHRS https:

May 14, 2022

A toolkit for pointcloud processing, including: filter, bounding box, ground segmentation, cluster

A toolkit for pointcloud processing, including: filter, bounding box, ground segmentation, cluster. And implemented by different algorithms(some with pcl wrapper). c++17 supported

Jun 23, 2022

The CRT filter that I used in my "what is that editor" video

The CRT filter that I used in my

Bisqwit’s CRT filter This is the CRT filter that I used in my ”What is That Editor” video, at https://www.youtube.com/watch?v=ZMBQmhO8KqI. It received

Jun 28, 2022

Cg shader version of the HQx pixel art upscaling filter

HQx-shader Cg shader version of the HQx pixel art upscaling filter. How to use Load the preset files for the desired upscale factor in an emulator tha

Jul 26, 2022

AVX2-vectorized box filter

vs-boxblur AVX2-vectorized box filter. For integer input, it favors architectures with fast cross lane shuffle (e.g. haswell or later architectures of

Apr 7, 2022

Fast glsl deNoise spatial filter, with circular gaussian kernel, full configurable

Fast glsl deNoise spatial filter, with circular gaussian kernel, full configurable

glslSmartDeNoise Fast glsl spatial deNoise filter, with circular gaussian kernel and smart/flexible/adaptable - full configurable: Standard Deviation

Aug 10, 2022
SKSE plugin for replacing Skyrim SE shaders at launch.

Plugin for SSE Parallax Shader Fix. Requirements CMake Add this to your PATH PowerShell Vcpkg Add the environment variable VCPKG_ROOT with the value a

Aug 12, 2022
Vimb - the vim like browser is a webkit based web browser that behaves like the vimperator plugin for the firefox and usage paradigms from the great editor vim.

Vimb - the vim like browser is a webkit based web browser that behaves like the vimperator plugin for the firefox and usage paradigms from the great editor vim. The goal of vimb is to build a completely keyboard-driven, efficient and pleasurable browsing-experience.

Aug 13, 2022
Simple sensor filter chain nodes and nodelets

sensor_filters This package is a collection of nodes and nodelets that service a filters::FilterChain for message types from sensor_msgs package. Each

Jun 30, 2022
Fuses IMU readings with a complementary filter to achieve accurate pitch and roll readings.
Fuses IMU readings with a complementary filter to achieve accurate pitch and roll readings.

SimpleFusion A library that fuses accelerometer and gyroscope readings quickly and easily with a complementary filter. Overview This library combines

Aug 12, 2022
Gradation Curves filter for VirtualDub and AviSynth+
Gradation Curves filter for VirtualDub and AviSynth+

Gradation Curves An updated version of Alexander Nagiller's Gradation Curves filter for VirtualDub. Additional documentation can be found in the filte

May 11, 2022
Browser and NodeJS Web Assembly audio decoder libraries that are highly optimized for size and performance.

WASM Audio Decoders WASM Audio Decoders is a collection of Web Assembly audio decoder libraries that are highly optimized for browser use. Each module

Aug 12, 2022
A static C library to build applications for the Foenix retro computers, and, eventually, a single-tasking operating system and file browser that sits atop the Foenix MCP Kernel

@mainpage Foenix A2560 Foenix Retro OS: fr/OS A2560-FoenixRetroOS This project provides 2 things: A static C library/framework that anyone can use to

Jun 24, 2022
This is a simple filter that will block any attempt to access streams beginning with

Triggering the notification only requires that you visit a particular path on an NTFS volume.

Jul 11, 2022
Comparing the performance of Wave Digital Filter implementations

WDF Bakeoff Comparing performance between Wave Digital Filters implemented in C++ and Faust. Building First clone the repository and submodules: git c

Jun 19, 2022
High Quality DeNoise 3D is an AviSynth port of the MPlayer filter of the same name

High Quality DeNoise 3D is an AviSynth port of the MPlayer filter of the same name. It performs a 3-way low-pass filter, which can completely remove high-frequency noise while minimizing blending artifacts.

Jun 7, 2022