Navigation

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups
    1. Home
    2. yariplus
    • Profile
    • Following 1
    • Followers 33
    • Topics 14
    • Posts 1332
    • Best 496
    • Groups 2

    Timothy Fike

    @yariplus

    Community Rep

    SIEM Engineering (Splunk), Optiv Security Inc.

    800
    Reputation
    8650
    Profile views
    1332
    Posts
    33
    Followers
    1
    Following
    Joined Last Online
    Email tafike@gmail.com Location US Age 36

    yariplus Follow
    Community Rep Global Moderator

    Best posts made by yariplus

    • [nodebb-plugin-newsletter] Send e-mail newsletters to your users.

      NodeBB Plugin Newsletter

      The newsletter plugin allows NodeBB forum administrators to send e-mail newsletters to all users or groups of users.

      Latest version v0.7.x is compatible with NodeBB v1.5.0 and up.

      Setup

      Before using this plugin you will need to install an emailer plugin. I recommend nodebb-plugin-emailer-mailgun, but any plugin with nodebb-plugin-emailer-* should work.

      Usage

      This plugin uses a WYSIWYG editor tinyMCE located within the admin panel plugins menu.

      Newsletters can be sent to multiple user groups. Options are also given for subscription overrides and blacklists.

      Users can unsubscribe from newsletters via the user settings menu. New users will automatically receive newsletters.

      In addition to using the WYSIWYG editor, admins can also send newsletters directly from the composer when creating a new topic.

      TODOs

      • Translations.
      • Emoji-Extended integration.
      • Save email templates.
      • Save previous newsletter stats and recipients.

      Fork Me on GitHub!

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • [nodebb-plugin-user-invitations] Allow users to invite new users!

      NodeBB User Invitations

      source: https://github.com/yariplus/nodebb-plugin-user-invitations
      This NodeBB plugin allows current users to send email invitations to potential new users.

      Sending Invitations

      Users can send invitations from the 'Invitations' page listed on their profile links menu.

      user profile menu

      Admins can also send invitations from the 'User Invitations' page in the ACP.

      admin link

      Configuration

      Admins can configure additional settings from the 'User Invitations' page in the ACP. All settings are saved automagically.

      Installation

      Install the plugin using the "Install Plugins" page in the ACP. The package name is nodebb-plugin-newuser-invitation

      Screenshots

      Additional info

      CC0 or MIT license.

      This project started as a fork of nodebb-plugin-newuser-approval by pichalite. I have since detached the fork because the plugins no longer have anything in common.

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • [nodebb-plugin-camo] Make embedded images look secure!

      [nodebb-plugin-camo] Make your embeded images look secure!

      nodebb-plugin-camo uses a Camo SSL image proxy to make insecure assets such as posted images look secure. By using Camo, users can post insecure (http) images, and Camo will prevent mixed content warnings on your secure NodeBB forum. This keeps your site secure and your visitors' SSL lock on!

      Configuring the plugin

      Before you are ready to use the plugin, you will to need create a camo subdomain, e.g., camo.domain.tld, and create an SSL certificate for that subdomain. This domain should point to the server IP your forum is located on, or the server IP where you have an existing standalone Camo Proxy. If you are using the internal Camo Proxy (recommended), you will also need to configure your webserver to direct requests to the port configured below in the Internal Camo Proxy settings.

      Plugin Settings

      alt text

      Camo Host
      Enter the full domain of your Camo Proxy.

      Camo Key
      Leave blank to generate a secure key if using the internal proxy OR enter the key for your standalone Camo proxy.

      URL Type
      Encoded Path will generate links with the original link encypted. Useful for hiding the source of linked images.
      Query String will leave source of linked images intact.

      Proxy https images
      Using this option in addition to Encoded Path will encrypt the original source for all linked images.

      Internal Camo Proxy

      alt text

      Using the internal proxy option will start a new process and run a Camo Proxy server on the selected port. This is the recommended option in most cases.

      NGINX Server Block

      alt text

      This section is a helpful utility that will generate correctly formatted NGINX server blocks required for using the Internal Camo Proxy.

      Issues
      Fork Me!

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • [nodebb-plugin-minecraft-integration] Minecraft Integration!

      ABANDONED

      I am putting this plugin on haitaus as I do not have time to maintain it and no idea if I ever will. You can contact me directly if there is a feature you need for your forum and I'll make a best effort to help you out. Cheers.



      .

      Minecraft Integration

      The Minecraft Integration project aims to reproduce and enhance widgets and features found on sites such as Enjin (XenForo-based) for use on a NodeBB forum.

      Compatible with NodeBB v1.5.0 and up.

      Requirements

      • At least one Minecraft server with:
        • The plugin nodebb-integration installed.
        • Java 8u101 or greater
        • Supported server versions include: Spigot/Paper, Forge, Sponge, GlowStone BungeeCord, Waterfall, RedisBungee, or PocketMine.
        • (K/Cauldron, MCPC+, and Thermos supported via the legacy jar and do not require Java 8)

      Setup

      After installing the plugin and restarting your NodeBB forum, go to the Plugins->Minecraft Integration page in the Admin control panel and add a new server.

      Copy the server's API key.

      On your Minecraft server console, enter the command /nodebb key {APIkey}

      The server will now connect to your forum and send it information every minute or when an event occurs.

      Server Configuration

      Server Name

      This name is used by the plugin to identify the server.

      Server Address

      This is the address users use in game to connect to the server.

      API Key

      This key is used to connect your Minecraft server to the forum.

      Widgets

      Server Status Widget

      Shows MOTD, min/max players, version, online player avatars, and other information about the Minecraft server. Displays everything in a pretty table. Custom rows can be added for things such as Mod Pack downloads, donation links, or any other html you wish to add.

      Server Status Widget Sample Image

      Mini Map Widget

      Displays a Dynmap or Overviewer mini-map with configurable start location. (World/MapType/Coordinate).

      Dynmap Mini Map Sample Image

      Online Players Graph Widget

      A graph showing the number of player on the server recently. (Last 30 pings)

      Online Players Graph Sample Image

      Online Players Grid Widget

      A grid of avatars of players currently on the server.

      Online Players Grid Sample Image

      Top Players List Widget

      Displays user avatars in a list representing the top players' approximate play time.

      Top Players List Sample Image

      Top Players Graph Widget

      A graphic chart (Pie) representing the top players' approximate play time.

      Top Players Graph Sample Image

      TPS Graph Widget

      A graph showing the servers' recent Ticks per Second.

      Chat Widget

      Show the in-game chat in a shoutbox-like widget. Send messages if your forum user is registered.

      Plugin API

      Other apps can read data the plugin has collected via it's API.

      Features in Development

      • Character Profiles - A mini profile for your character.
      • Gallery Widget - A selection of user-uploaded screen-shots.
      • Server Page - A page just for server data.
      • Directory Widget - Display notable character profiles.
      • Ping Graph Widget - Display recent server pings.
      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: Need a working example of grabbing post data

      Glad to help.

      Pretty simple to do those things. Here's a whole plugin. Put in as many comments as I could think of.

      library.js

      (function(module){
      	"use strict";
      
      	// The modules we need.
      	var User   = module.parent.require("./user");
      	var Topics = module.parent.require("./topics");
      	var nconf  = require('nconf');
      
      	var Plugin = {};
      
      	// This event is fired whenever a post is created. (reply or new topic)
      	Plugin.postSave = function (postData) {
      
      		// If you wanted to see what's inside use
      		// console.log(postData);
      
      		// Get the topic info...
      		// We only need the title and slug, so we use getTopicFields, but you could call getTopicData if you wanted all the topic fields.
      		Topics.getTopicFields(postData.tid, ['title', 'slug'], function (err, topicData) {
      
      			// If there is an error or missing data, bail out and log it.
      			if (err || !topicData.title || !topicData.slug) return console.log("Couldn't find topic data.");
      
      			// Save the data we need.
      			var topic = topicData.title;
      			var topicSlug = topicData.slug;
      			
      			// Get the user info...
      			// We only need the name, but again we could use getUserData if we wanted all fields.
      			User.getUserField(postData.uid, 'username', function (err, name) {
      
      				// If there is an error or missing data, bail out and log it.
      				if (err || !name) return console.log("Couldn't find username.");
      		
      				// Links always follow this same structure.
      				// the site url + "topic/" + the topic slug + "/" + the post id
      				var link = nconf.get('url') + "topic/" + topicSlug + "/" + postData.pid;
      
      				// Now do whatever we want with the data.
      				someCoolThing({
      					name: name,
      					topic: topic,
      					link: link
      				});
      			});
      		});
      	};
      
      	function someCoolThing(data) {
      		console.log("We get signal!!!");
      		console.log("Username: " + data.name);
      		console.log("Topic: " + data.topic);
      		console.log("Link: " + data.link);
      	}
      
      	module.exports = Plugin;
      
      }(module));
      

      Most of the nodebb modules follow the same 'get' structure.

      • getThingData() takes the Thing ID. Then returns an object with all fields.
      • getThingFields() takes the Thing ID and an array with the fields wanted. Then returns an object with the fields wanted.
      • getThingField() the Thing ID and a field name string. Then returns the field value.

      All of them return an Error object as the first parameter, which is null if no error occured.

      For completeness, here are the plugin.json and package.json:

      {
      	"id": "nodebb-plugin-test",
      	"name": "NodeBB Test",
      	"description": "Test",
      	"url": "https://github.com/yariplus/nodebb-plugin-test",
      	"library": "./library.js",
      	"hooks": [
      		{ "hook": "action:post.save", "method": "postSave" }
      	]
      }
      
      {
        "name": "nodebb-plugin-test",
        "version": "1.0.0"
      }
      

      If you have trouble with hooks:

      The 'action' hooks will typically return nothing or an object with the fields used to process that action.

      Ex.

            Plugin.someAction = function (someObject) {
                 console.log(someObject);
            }
      

      The 'filter' hooks will typically return an object and a callback function. You must call the callback function or bad things happen. The callback function typically needs an Error object (or null if no error) and the sent object as it's parameters.

      Ex.

            Plugin.someFilter = function (objectToFilter, callback) {
                 callback(null, objectToFilter);
            }
      
      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: How to change website HOME page ?

      Got this working.

      cathps.png

      Noticed a problem though. The Breadcrumb 'Home' always points to the root, when it should always point to the 'categories', IMO.

      posted in Technical Support
      yariplus
      Timothy Fike
    • [nodebb-plugin-audio-control] Control audio playback

      NodeBB Plugin Audio Control

      A simple plugin that allows ACP control of an audio player. Uses an html5 audio shim (audio.js) for browser compatibility and socket.io to update client players in real-time without reloads.

      Compatible with NodeBB v0.7.0 (Backwards compatibility coming.).

      Fork on GitHub
      https://github.com/yariplus/nodebb-plugin-audio-control

      Installation

      Use npm from the command line in your NodeBB base directory:

      npm install nodebb-plugin-audio-control
      

      Usage

      1. After installation, go to the ACP and enable the plugin.
      2. Go to General=>Navigation, add a custom route to your navbar with an id of "navplayer" and a route of "#", then Save Changes.

      audnav.png

      1. Go to Installed Plugins=>Audio Control and set the Audio Source.


      audacp.png

      Example

      audex.png

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: Custom Dialogue or Message Box (Modal Popup) in home page..

      Ahhhh, Why would you want to do something so evil!!

      Anyway, just call bootbox in the Custom HTML section of the ACP. (Make sure you check the box at the bottom.)

      <script>
      $(function(){
          bootbox.alert("Welcome");
      });
      </script>
      

      Bootbox docs for more info: http://bootboxjs.com/

      posted in General Discussion
      yariplus
      Timothy Fike
    • [nodebb-plugin-rainbows] Add beautiful rainbows to your posts. Smile!

      Rainbows

      This was one of the first plugins I made for NodeBB. Just recently updated it for 0.7.x and prettied it up.

      Install

      Install the usual way, either using the ACP "Extend=>Plugins" page or using npm from your NodeBB home directory:

      npm i nodebb-plugin-rainbows
      

      Usage

      Surround text with "-= =-" to make rainbows.

      -=Rainbow Text=-

      Add options with parenthesis like so:

      -=(red,yellow,blue,range:3)Rainbow Text=-

      Options include:

      • Any CSS valid color
        • Adds that color to the spectrum used in the rainbow.
      • range:{number}
        • Repeats the spectrum after {number} characters, instead of stretching it over the whole text.
      • bg:{color}
        • Puts a background color {color} behind the text.
      • theme:{name}
        • Uses the theme {name} to make the rainbow. Themes are created in the ACP.

      Examples

      Normal Rainbows:

      -=Smile! With the power of smiles, the world becomes connected.=-

      Multi-line with options:

      -=(blue,lightblue,blue,range:12)If you can keep your head when all about you
      Are losing theirs and blaming it on you,
      If you can trust yourself when all men doubt you,
      But make allowance for their doubting too;=-

      Multi-line with theme and embed link:

      -=(theme:flutter)Here is a video in the middle of the rainbow
      https://youtu.be/ukCYa6BbyYA
      and the rainbow continues after...=-

      ACP and Themes

      Themes are controlled inside the fancy ACP page (With awesome colored nav!!😞

      Fork me!!

      https://github.com/yariplus/nodebb-plugin-rainbows

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: Create custom route in plugin

      You define routes in your load hook. So your library.js might look like this:

      var Plugin = module.exports = {};
      Plugin.load = function (params, callback) {
      
      	var router = params.router;
      	var middleware = params.middleware;
      
      	// Define the function that renders the custom route.
      	function render(req, res, next) {
      
      		// Get whatever data you want to send to the template here.
      		var data = {whatever: 33};
      
      		// This is the path to your template without the .tpl, relative to the templates directory in plugin.json
      		var template = 'templatename'
      
      		// Send the page to the user.
      		res.render(template, data);
      	}
      
      	// This actually creates the routes, you need two routes for every page.
      	// The first parameter is the actual path to your page.
      	router.get('/yourpage', middleware.buildHeader, render);
      	router.get('/api/yourpage', render);
      
      	callback();
      };
      

      And your plugin.json would look something like this:

      {
      	"library": "library.js",
      	"hooks": [
      		{ "hook": "static:app.load", "method": "load" }
      	],
      	"templates": "./public/templates",
      	"staticDirs": {
      		"public": "public"
      	}
      }
      

      and you would have a template here:
      /nodebb-plugin-yourplugin/public/templates/templatename.tpl

      <h2>My Awesome Custom Page</h2>
      The Magic Number is: {whatever}
      

      I'm pretty sure I posted about this before, with more details even. Have to start using those canned responses. 🌹

      posted in NodeBB Plugins
      yariplus
      Timothy Fike

    Latest posts made by yariplus

    • RE: [nodebb-plugin-newsletter] Send e-mail newsletters to your users.

      @Varun-Ganesh-D It does not include banned users. They are always excluded from newletters.

      https://github.com/yariplus/nodebb-plugin-newsletter/blob/master/lib/index.js#L122

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: [nodebb-plugin-newsletter] Send e-mail newsletters to your users.

      Version 0.9

      • Added option to exclude site title from email subject.
      • Changed parsing to convert relative links to absolute.
      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: User invite plugin problem. Can't invite some emails

      You appear to be using my invitations plugin. Could you open an issue on GitHub?

      https://github.com/NodeBB-Community/nodebb-plugin-user-invitations

      posted in Technical Support
      yariplus
      Timothy Fike
    • RE: Plugins settings pages are not loading

      You need to install the plugin as a dependency.

      npm install nodebb-plugin --save

      This has some more info:
      https://community.nodebb.org/topic/9049/getting-nodebb-and-plugins-setup-with-heroku-and-mongodb

      posted in Technical Support
      yariplus
      Timothy Fike
    • RE: [nodebb-plugin-category-sort-by-title] Alphabetical topic sorting.

      Version 1.6.0 !!

      • Now works with 1.13.x!
      • Re-wrote code to use new hooks and promises.
      • Compatibility changed to >=1.10.0
      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: [nodebb-plugin-camo] Make embedded images look secure!

      New Release 1.5.1

      Back from the dead with a bunch of bug fixes, code rewrite to current node and NodeBB, and new pictures for the guide topic!

      • Fixed crash if camo was not installed locally.
      • Fixed crash if an incorrect url was specified.
      • Fixed crash if installed on windows.
      • Fixed settings not changeable after original setup.
      • Removed old or useless hooks.
      • Removed babel.
      • Corrected dead links and emails.
      • Changed compatibility to >= NodeBB 1.0.0
      • New docs!
      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: Detect User Login & Redirect

      Yup, you can fetch https://www.example.com/forum/api/me, it will return an error if not logged in, and an object if you are.

      posted in Technical Support
      yariplus
      Timothy Fike
    • RE: Detect User Login & Redirect

      You can get loggedIn status from
      https://www.example.com/forum/api/user/${username}

      It returns a json object with a loggedIn boolean.

      Example (using jquery to fetch)

      $.getJSON('https://community.nodebb.org/api/user/yariplus', (data) => {
        if (data.loggedIn) window.location.href = 'https://www.example.com/forum/'
      })
      
      posted in Technical Support
      yariplus
      Timothy Fike
    • RE: [nodebb-plugin-featured-topics-extended] Feature Topics in a News/Blog page and Widgets.

      @y-h Can you give me a list of all plugins you have enabled? and I will try on a fresh install.

      posted in NodeBB Plugins
      yariplus
      Timothy Fike
    • RE: [nodebb-plugin-featured-topics-extended] Feature Topics in a News/Blog page and Widgets.

      @y-h said in [nodebb-plugin-featured-topics-extended] Feature Topics in a News/Blog page and Widgets.:

      @yariplus the "Automatically feature new topics in these categories." doesn't seem to be working for me, could you check if there is any issue? running 1.13.1

      Seems to be working. Are you entering the category numbers comma separated like below? Any errors in the logs?

      2020-01-13 22_37_19-News Home _ Yaricraft.png
      2020-01-13 22_38_56-_ Yaricraft.png
      2020-01-13 22_39_08-Plugins _ Featured Topics Extended _ NodeBB Admin Control Panel.png

      posted in NodeBB Plugins
      yariplus
      Timothy Fike