Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

fiddler Fiddler Crates.ioApache 2.0 licensedDocumentation


Fiddler is a stream processor built in rust that uses a yaml based configuration file syntax to map together inputs, processors, and outputs. Fiddler takes a module approach to inputs, processors, and outputs allowing users to take advantage of incremental releases of new modules or develop their own to run within the fiddler runtime. Whether you are looking to utilize fiddler for it's processing capabilities through the CLI or integrate directly in your own applications, head over to our [Documentation](https://rc1405.github.io/fiddler/latest) to get started.

Getting Started

Running as a CLI

Installation

  1. Grab a release for your OS here
  2. Install with Cargo cargo install fiddler
  3. Build with Cargocargo build --release --features all

Usage

Usage: fiddler <COMMAND>
Commands:
lint Data Stream processor CLI written in rust
run Data Stream processor CLI written in rust
test Data Stream processor CLI written in rust
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help

Run

Data Stream processor CLI written in rust
Usage: fiddler run [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version
  1. fiddler run -c <path_to_config_file> [ -c ... ]

Lint

Data Stream processor CLI written in rust
Usage: fiddler lint [OPTIONS]
Options:
-c, --config <CONFIG>
-h, --help Print help
-V, --version Print version
  1. fiddler lint -c <path_to_config_file> [ -c ... ]

Test

Data Stream processor CLI written in rust
Usage: fiddler test [OPTIONS]
Options:
-c, --config <CONFIG>
-l, --log-level <LOG_LEVEL> [default: none] [possible values: info, debug, trace, error, none]
-h, --help Print help
-V, --version Print version

Tests within fiddler are designed to test the processing pipeline configuration. The expected naming syntax is <filename>_test.yaml. I.e. if you have a configuration input.yaml. The expected filename is input_test.yaml.

The test file syntax is as follows:

- name: name_of_testinputs:
- list of expected input stringsexpected_outputs:
- list of expected output strings

For example:

- name: input_testinputs:
- Hello Worldexpected_outputs: - Hello World
  1. fiddler-cli test -c <path_to_configuration>.yaml

Integration

Building own CLI with Additional modules

Creating your own fiddler-cli requires a binary crate with at least two dependencies, fiddler_cmd and fiddler.

cargo new my-cli --bin
cargo add fiddler
cargo add fiddler_cmd

Next create your runtime, by default in src/main.rs

use fiddler_cmd::run;use fiddler::Error;use fiddler::config::{ConfigSpec, register_plugin};#[tokio::main]asyncfnmain() -> Result<(),Error>{// insert registration of custom modules hereregister_plugin("mock".into(),ItemType::Input, conf_spec, create_mock_input)?;// run the normal CLIrun().await}

Integrating the runtme into your own application

Head on over to docs.rs to view the latest API reference for utilizing fiddler runtime.

Contributing

Contributions are welcome and encouraged! Contributions come in many forms. You could:

  1. Submit a feature request or bug report as an issue.
  2. Ask for improved documentation as an issue.
  3. Comment on issues that require feedback.
  4. Contribute code via pull requests.

Note that unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in fiddler by you shall be licensed under the Apache License, Version 2.0, without any additional terms or conditions.

About

No description, website, or topics provided.

Resources

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages