OctoLinker — Links together, what belongs together

What is OctoLinker?

OctoLinker is a browser extension for GitHub, that turns language-specific statements like include require or import into links.

Install

Trusted by over 30,000 developers! Install OctoLinker from Chrome Web Store, Mozilla Add-ons Store, Mac App Store, Microsoft Store and Opera Add-ons Store.

Special thanks to

Sponsors

▲ Vercel RedisGreen complex

I am truly grateful to all the wonderful humans and companies supporting the development of OctoLinker. Please consider donations through GitHub Sponsors or Open Collective – Thank you 🙇‍♂️

Privacy Policy

Our Privacy Policy describes our practices related to the use, storage and disclosure of information we collect when you're using our service.

Related

Disclaimer

OctoLinker is not affiliated with, sponsored by, or endorsed by GitHub Inc.

Copyright (c) 2014–present Stefan Buck and other contributors.

Owner
OctoLinker
Links together, what belongs together
OctoLinker
Comments
  • Rerun octolinker after progressive-container has loaded

    Rerun octolinker after progressive-container has loaded

    As I mentioned in #449, not all files are loaded within the document body. Github generates divs with the class .js-diff-progressive-container, that progressive container may load more content via fetch.

    The goal of this PR is to watch for changes in .js-diff-progressive-container and rerun octolinker init accordingly. Beware that a .js-diff-progressive-container, may contain other progressive containers inside, such as this commit:

    https://github.com/samuelkubai/skoolspace/commit/185017f5981fe6295cd8096dbf71f61896dd8a84

    Div #files contains two .js-diff-progressive-containers at DOM ready. After scrolling, another nested .js-diff-progressive-container is inserted when more content is downloaded.

    I can write a test if we decide to follow this route.

    Closes #449

    Checklist:

    • [x] If this PR is a new feature, please provide at least one example link
    • [ ] Make sure all of the significant new logic is covered by tests
  • A script in the extension

    A script in the extension "OctoLinker" is causing Firefox to slow down

    I consistently get this message when visiting this large file:

    A script in the extension  OctoLinker  is causing Firefox to slow down

    https://github.com/Microsoft/TypeScript/blob/master/lib/lib.dom.d.ts

    Admittedly this is more of an edge case, given the length of the file, but freezing the browser for a few seconds is never good.

    Perhaps the operation can be done in the background and/or split up in multiple batches to avoid long blocking.

  • Composer (php) support

    Composer (php) support

    Is there any chance Composer will be supported? I don't think it's very different then bower/npm files.

    Links are in a composer.json file, in require and require-dev section example: https://github.com/composer/composer/blob/master/composer.json

    Package information: https://packagist.org/packages/%s.json (eg. https://packagist.org/packages/composer/composer.json), which links to a repository (mostly Github)

    See https://getcomposer.org/doc/04-schema.md#package-links

  • Add Safari build

    Add Safari build

    Related to #29

    1. Generated with:

      	  xcrun safari-web-extension-converter dist/ --app-name 'OctoLinker' --bundle-identifier 'com.stefanbuck.OctoLinker'
      
    2. Copied some manual tweaks from Refined GitHub:

      • Original: https://github.com/sindresorhus/refined-github/pull/3677
      • Latest: https://github.com/sindresorhus/refined-github/commits/master/safari
  • Replace primer.css with webext-base-css

    Replace primer.css with webext-base-css

    Fixes https://github.com/OctoLinker/OctoLinker/issues/893 using webext-base-css and a little extra CSS.

    • [x] Restore error via inputField.setCustomValidity(error)

    ⬆️ I don't know how to tackle that, feel free to edit this PR.

    ff-white

    ff-black

    ch-white

    ch-black

  • Rerun Octo-Linker when blobs are expanded

    Rerun Octo-Linker when blobs are expanded

    This is a possible implementation for #453, we observe the DOM, if any new .blob-expanded nodes are added, then the extension is rerun.

    As far as testing goes, I will wait for feedback, I added a single test that clickes the specific .js-expand element and then tries to process a single line from it.

    Checklist:

    • [ ] If this PR is a new feature, please provide at least one example link
    • [x] Make sure all of the significant new logic is covered by tests
  • Add Solidity plugin

    Add Solidity plugin

    Plugin Solidity

    Adds support for Solidity's import statement.

    See this solidity file as an example. You should be able to click "./IERC721.sol" within import "./IERC721.sol"; and see that file.

    Demo

    octolinker-solidity

    Todo

    • [ ] Update packages/blob-reader fixture to add Solidity support on issues highlighted code?
    • [ ] Publish @octolinker/plugin-solidity npm package
    • [x] Add export statement to the packages/core/load-plugins.js
    • [x] Add @octolinker/plugin-solidity to packages/core/package.json
  • WIP: Add shebang-based filetype detection

    WIP: Add shebang-based filetype detection

    This is a relatively quick and dirty fix for https://github.com/OctoLinker/browser-extension/issues/106

    There's still some work to be done (adding tests, adding more flexible shebang patterns, etc), but I wanted to get some feedback on the approach before putting more work into it. What do you think?

  • OctoLinker beta

    OctoLinker beta

    First, thank you for joining our beta.

    Below, you will find the highlights as well as the installation instructions for this beta build. If you come across any issues or if you have feedback to offer, please let us know. If everything is working great, that's also nice to hear.

    demo

    Highlights

    • Insert real href-links which the browser understands and applies the typical options you'd expect on. So you're able to e.g. right-click and open links in a new tab/window or middle-click the links, etc.
    • Prefetch all links in the background. This is actually the key which enables all those exciting improvements.
    • Use the GitHub API to fetch a tree structure of the repo to resolve relative links much faster and accurate than before.
    • Navigate to relative files without a full page refresh using pjax
    • Expanding the diff view invokes OctoLinker again to resolve missing imports

    Beta installation

    Note: The beta is currently only available for Google Chrome.

    1. Before installing the beta version, you need to disable or uninstall the current version of OctoLinker.
    2. Install the OctoLinker beta from Chrome Web Store.
  • Unable to build extension

    Unable to build extension

    I'm working on a new PR and since my last one something's changed and I'm no longer able to build. Before I started on this change I deleted my local repo and recloned from GitHub so the recent line ending change worked.

    I can run yarn install, yarn lint and yarn test just fine, but yarn build, yarn watch, and yarn chrome-open all return errors.

    I'm on Win10 and tried with both the regular console and powershell but both gave the same results.

    I think https://github.com/OctoLinker/browser-extension/commit/e50f33972621e47af6e4f56afea6ac22128af3ea#diff-63ac5d48d83927921b7bcdb2b5a8d124 might be what broke this.

    C:\dev\GitHub\browser-extension [master ≡ +0 ~2 -0 !]> yarn chrome-open
    yarn run v1.3.2
    $ npm run build && npm run chrome-launch --
    
    > [email protected] build C:\dev\GitHub\browser-extension
    > webpack
    
    Hash: 7ce29e98274dd109223f
    Version: webpack 3.6.0
    Time: 2162ms
                Asset       Size  Chunks                    Chunk Names
               app.js     599 kB       0  [emitted]  [big]  app
           options.js     183 kB       1  [emitted]         options
        background.js    25.8 kB       2  [emitted]         background
           app.js.map     759 kB       0  [emitted]         app
       options.js.map     231 kB       1  [emitted]         options
    background.js.map    32.6 kB       2  [emitted]         background
        manifest.json  935 bytes          [emitted]
         options.html  134 bytes          [emitted]
             icon.png    13.9 kB          [emitted]
       [1] ./lib/options/storage.js 1.31 kB {0} {1} {2} [built]
      [20] ./package.json 2.56 kB {0} {2} [built]
      [34] ./lib/app.js 204 bytes {0} [built]
      [35] ./lib/octo-linker.js 1.42 kB {0} [built]
      [38] ./packages/blob-reader/index.js 307 bytes {0} [built]
      [40] ./lib/click-handler.js 3.08 kB {0} [built]
      [42] ./lib/plugin-manager.js 2.08 kB {0} [built]
      [46] ./lib/load-plugins.js 1.4 kB {0} [built]
      [89] ./lib/app.css 1 kB {0} [built]
      [91] ./lib/background/index.js 235 bytes {2} [built]
      [92] ./lib/background/newTab.js 305 bytes {2} [built]
      [93] ./lib/background/insight.js 1.76 kB {2} [built]
      [97] ./lib/options/page.js 2.69 kB {1} [built]
      [99] ./lib/options/options.css 1.03 kB {1} [built]
     [100] ./node_modules/css-loader!./lib/options/options.css 375 bytes {1} [built]
        + 93 hidden modules
    
    WARNING in ./lib/octo-linker.js
    16:36-47 "export 'default' (imported as 'loadPlugins') was not found in './load-plugins'
    
    > [email protected] chrome-launch C:\dev\GitHub\browser-extension
    > ./scripts/chrome-launch.js
    
    '.' is not recognized as an internal or external command,
    operable program or batch file.
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! [email protected] chrome-launch: `./scripts/chrome-launch.js`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the [email protected] chrome-launch script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\brian\AppData\Roaming\npm-cache\_logs\2017-12-27T22_52_12_720Z-debug.log
    error Command failed with exit code 1.
    info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
    
  • Opening the file page using Octotree doesn't trigger the extension

    Opening the file page using Octotree doesn't trigger the extension

    Browser name: Firefox/Chrome

    Browser version: 57.0/63.0.3239.84

    OctoLinker version: 4.15.1

    URL and line number where issue occurs:

    Expected behavior: Trigger the extension when opening the file page in screen.

    Actual behavior: It doesn't trigger the extension when opening the page using Octotree, it only works after reloading the page or entering by using github.com itself.

    Demo

  • Bump actions/checkout from 3.1.0 to 3.2.0

    Bump actions/checkout from 3.1.0 to 3.2.0

    Bumps actions/checkout from 3.1.0 to 3.2.0.

    Release notes

    Sourced from actions/checkout's releases.

    v3.2.0

    What's Changed

    New Contributors

    Full Changelog: https://github.com/actions/checkout/compare/v3...v3.2.0

    Changelog

    Sourced from actions/checkout's changelog.

    Changelog

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump puppeteer from 16.2.0 to 19.4.1

    Bump puppeteer from 16.2.0 to 19.4.1

    Bumps puppeteer from 16.2.0 to 19.4.1.

    Release notes

    Sourced from puppeteer's releases.

    puppeteer-core: v19.4.1

    19.4.1 (2022-12-16)

    Bug Fixes

    • improve a11y snapshot handling if the tree is not correct (#9405) (02fe501), closes #9404
    • remove oopif expectations and fix oopif flakiness (#9375) (810e0cd)

    puppeteer: v19.4.1

    19.4.1 (2022-12-16)

    Miscellaneous Chores

    • puppeteer: Synchronize puppeteer versions

    Dependencies

    • The following workspace dependencies were updated
      • dependencies
        • puppeteer-core bumped from 19.4.0 to 19.4.1

    puppeteer-core: v19.4.0

    19.4.0 (2022-12-07)

    Features

    • ability to send headers via ws connection to browser in node.js environment (#9314) (937fffa), closes #7218
    • chromium: roll to Chromium 109.0.5412.0 (r1069273) (#9364) (1875da6), closes #9233
    • puppeteer-core: keydown supports commands (#9357) (b7ebc5d)

    Bug Fixes

    puppeteer: v19.4.0

    19.4.0 (2022-12-07)

    Features

    Dependencies

    ... (truncated)

    Commits
    • 848c849 chore: release main (#9395)
    • fe986c6 chore: trigger reindexing on doc deployment (#9425)
    • f0951aa docs: use a number of documented versions for indexing (#9424)
    • 68c53df chore(deps): Bump loader-utils from 2.0.2 to 2.0.4 in /website (#9423)
    • 69b03df chore(deps): Bump @​angular-devkit/schematics from 15.0.3 to 15.0.4 (#9420)
    • fa05a1c chore(deps): Bump @​angular-devkit/core from 15.0.3 to 15.0.4 (#9414)
    • 0f0e717 chore(deps): Bump @​angular-devkit/architect from 0.1402.10 to 0.1500.4 (#9415)
    • cd073ab chore(deps): Bump ws from 8.10.0 to 8.11.0 (#9412)
    • cd8eec3 chore(deps): Bump @​angular-devkit/schematics from 14.2.8 to 15.0.3 (#9413)
    • 28cedac chore: Revert Dependabot config (#9411)
    • Additional commits viewable in compare view
    Maintainer changes

    This version was pushed to npm by google-wombot, a new releaser for puppeteer since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Edge Store version not up-to-date

    Edge Store version not up-to-date

    Expected Behavior

    https://microsoftedge.microsoft.com/addons/detail/octolinker/lbbanfffjfmfdahnfbklminikafhcjjb Update to the latest version

    What actually happened?

    It's outdated.

    URL

    No response

    Anything else we should know?

    No response

  • Bump jest from 27.5.1 to 29.3.1

    Bump jest from 27.5.1 to 29.3.1

    Bumps jest from 27.5.1 to 29.3.1.

    Release notes

    Sourced from jest's releases.

    v29.3.1

    Fixes

    • [jest-config] Do not warn about preset in ProjectConfig #13583

    Performance

    • [jest-transform] Defer creation of cache directory #13420

    v29.3.0

    Features

    • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#13505)

    Fixes

    • [jest-config] Add config validation for projects option (#13565)
    • [jest-mock] Treat cjs modules as objects so they can be mocked (#13513)
    • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#13566)

    Chore & Maintenance

    • [@jest/transform] Update convert-source-map (#13509)
    • [docs] Mention toStrictEqual in UsingMatchers docs. (#13560)

    New Contributors

    Full Changelog: https://github.com/facebook/jest/compare/v29.2.2...v29.3.0

    v29.2.2

    Fixes

    • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#13476)
    • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#13504)
    • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#13503)
    • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#13480)

    Chore & Maintenance

    • [docs] Update link to Jest 28 upgrade guide in error message (#13483)
    • [jest-runner, jest-watcher] Update emittery (#13490)

    New Contributors

    ... (truncated)

    Changelog

    Sourced from jest's changelog.

    29.3.1

    Fixes

    • [jest-config] Do not warn about preset in ProjectConfig #13583

    Performance

    • [jest-transform] Defer creation of cache directory #13420

    29.3.0

    Features

    • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#13505)

    Fixes

    • [jest-config] Add config validation for projects option (#13565)
    • [jest-mock] Treat cjs modules as objects so they can be mocked (#13513)
    • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#13566)

    Chore & Maintenance

    • [@jest/transform] Update convert-source-map (#13509)
    • [docs] Mention toStrictEqual in UsingMatchers docs. (#13560)

    29.2.2

    Fixes

    • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#13476)
    • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#13504)
    • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#13503)
    • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#13480)

    Chore & Maintenance

    • [docs] Update link to Jest 28 upgrade guide in error message (#13483)
    • [jest-runner, jest-watcher] Update emittery (#13490)

    29.2.1

    Features

    • [@jest/globals, jest-mock] Add jest.Spied* utility types (#13440)

    Fixes

    • [jest-environment-node] make globalThis.performance writable for Node 19 and fake timers (#13467)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Add support for linking to vscode extensions

    Add support for linking to vscode extensions

    While setting up a project recently I found myself having to link to the extensions I was adding in the PR so it was easier to review and figured it might be nice if we linked to them too.

    From what I've found there's no easy API we can query to try to get the repo link for these which is kind of annoying. Here's all I was able to find on it https://github.com/microsoft/vsmarketplace/issues/238.

    Some example files I used while adding this in:

    • https://github.com/actions/go-dependency-submission/blob/main/.devcontainer/devcontainer.json
    • https://github.com/actions/runner/blob/main/.devcontainer/devcontainer.json
    • https://github.com/microsoft/TypeScript/blob/main/.vscode/extensions.json

    Checklist:

    • [x] If this PR is a new feature, please provide at least one example link
    • [x] Make sure all of the significant new logic is covered by tests
  • Support action workflow run view

    Support action workflow run view

    Add support for linking action workflows in the new actions UI. This is more of a proof of concept, but figured I'd PR it for feedback. Unfortunately there's no other classes or attributes I can see that would let us get this link like we do on the source pages.

    Example: https://github.com/OctoLinker/OctoLinker/actions/runs/3457001003/workflow

    Checklist:

    • [ ] If this PR is a new feature, please provide at least one example link
    • [ ] Make sure all of the significant new logic is covered by tests
  • Merge multiple pcap files together, gracefully.

    joincap Merge multiple pcap files together, gracefully. Installation Download a precompiled binary from https://github.com/assafmo/joincap/releases Or

    Dec 3, 2022
    Links - Links archive.
    Links - Links archive.

    Links Links archive. For now it doesn't store data in a database, you can store your links locally piping the response to a file. Usage. Why make GUIs

    Jul 24, 2022
    Ipcalc-contains - Golang micro-app, which check whether an IP address belongs to a given network
    Ipcalc-contains - Golang micro-app, which check whether an IP address belongs to a given network

    ipcalc-contains Golang micro-app, which check whether an IP address belongs to a given network I use it as an addition to standard ipcalc binary distr

    Jan 6, 2022
    Nebula Diagnosis CLI Tool is an information diagnosis cli tool for the nebula service and the node to which the service belongs.

    Nebula Diagnosis CLI Tool is an information diagnosis cli tool for the nebula service and the node to which the service belongs.

    Jan 12, 2022
    A fast and easy to use URL health checker ⛑️ Keep your links healthy during tough times
    A fast and easy to use URL health checker ⛑️ Keep your links healthy during tough times

    AreYouOK? A minimal, fast & easy to use URL health checker Who is AreYouOk made for ? OSS Package Maintainers ??️

    Oct 7, 2022
    Cli tool to save useful links to read it later
    Cli tool to save useful links to read it later

    lnk - Cli tool to save useful links still in development Usage lnk <new|list> [url] - new: creates a new link url: required params, which i

    Jun 23, 2022
    Interactive CLI helper for creating git branches with JIRA Links and some text

    bb (better-branch) Interactive CLI helper for creating git branches with JIRA Links and some text Still in development? Yes How it works? This tiny ut

    Aug 18, 2022
    simple GitHub action to parse Markdown Links into a .yaml file for Hugo

    Obsidian Link Scrapper Used by Quartz This repository comes to you in two parts. GitHub Action (scrapes links into a .yml file) Hugo Partial (turns .y

    Dec 30, 2022
    Create links for game saves
    Create links for game saves

    GSLU - Game Save Linking Utility This is a utility program that I originally made for myself to help create links for my game saves. The best use I se

    Jan 9, 2022
    A youtube library for retrieving metadata, and obtaining direct links to video-only/audio-only/mixed versions of videos on YouTube in Go.

    A youtube library for retrieving metadata, and obtaining direct links to video-only/audio-only/mixed versions of videos on YouTube in Go. Install go g

    Dec 10, 2022
    A Github Action that verify if your README.md has broken links

    A GitHub Action that automatically check if some link in your README.md is broken or not responding.

    Nov 10, 2022
    Donald Knuth's Algorithm 7.2.2.1M for covering with multiplicities and colors via dancing links

    Covering with multiplicities and colors via Dancing Links Go implementation of Donald Knuth's Algorithm 7.2.2.1M for covering with multiplicities and

    Dec 14, 2022
    Quick search and short links for NYC Council Legislation

    Quick Search and Short Links for NYC Council Legislation Quick Search Link to searches with /?q=${query}. In-browser searching is implemented with fle

    Oct 12, 2022
    A Go-based program to find links from the list of Js files.
    A Go-based program to find links from the list of Js files.

    linkinjs - A Go based program to find links from list of Js files quickly Installation go get -u github.com/rc4ne/linkinjs Efficient Usage with other

    Sep 30, 2022
    A Telegram bot to convert files to URL for direct download links.

    File 2 URL Bot A simple bot to convert files sent to it to URLs to make direct download links. Features Fast download speeds Option to allow only spec

    Dec 20, 2022
    Vmessping - A ping prober for vmess:// links in common seen formats

    VMessPing A ping prober for vmess:// links in common seen formats. vmessping sup

    Jan 9, 2022
    Mdlinks - Markdown cross-document links checker

    mdlinks This repository provides Go package, command-line tool, and a GitHub Action that can verify cross-document links in a collection of markdown f

    Mar 19, 2022
    Fetch All Links And Compare From Prior Fetches For golang

    Fetch All Links And Compare From Prior Fetches This program can be run with go r

    Jan 1, 2022
    Proof of concept/experimental detection of Discord Nitro phishing links via image analyzation

    discord-scam-detection Experimental detection, and proof-of-concept, of Discord Nitro phishing/scam links via analyzing images. This repository is not

    Nov 22, 2022
    Experimental detection, and proof-of-concept, of Discord Nitro phishing/scam links via analyzing images.

    Experimental detection, and proof-of-concept, of Discord Nitro phishing/scam links via analyzing images.

    Nov 22, 2022