Skip to content
This repository has been archived by the owner on Jun 9, 2022. It is now read-only.

Releases: ECHibiki/Community-Banners

V1.5.2

21 Apr 05:20
3b62d74
Compare
Choose a tag to compare
Merge pull request #70 from ECHibiki/dev

Expanded and bug fixes

V1.5.1

19 Apr 09:33
23dbc35
Compare
Choose a tag to compare

Description to come

  • adds click counter and code refactoring

1.4.1

15 Apr 06:13
312a27b
Compare
Choose a tag to compare

Adds anti-spam and two banner types

1.3.2

17 Mar 07:28
2848b04
Compare
Choose a tag to compare

Resolves install issues and readds missing feature.

Community Banners



BITCOIN: 14K6kHgpRvgKPnktf4e2UVfEaarYEe64n4

ETHEREUM: 0xf590a2cdd900eae8a680ed199e97f59d3718457a

BITCOIN CASH: 1DrBJ3TWGDjmKX4VKfaXTcMvq8UJBZyiEu

DOGECOIN: DDVEFppYykougRWhEaWN7oAYXu2Lw3bk5i

LITECOIN: LPjzwQjCjMT55W79SPifztGppdbfQQymkP

MONERO: 49wbxUahfiyCQWtpJefQWVJofKPXj7pjohgmGeTChRJRCYMyUPeZe7fMdoK5MLbsvHS3A3QoB1hWTQ4D8FZFQsh445Gp93K

About

In the early days of 4chan, moot released his advertising program where individuals could create banners to troll or advertise something to users. In 2016 4chan had a banner contest that generated interest in designing advertisements for boards done by the pass holding community. Myself, looking at an alternative to the moderated submission of art and paywalling features, decided to create an alternative that allows for any user to submit and then if need be, remove/ban them after.
The use of banners in the community has been interesting and kissu's decent size community has found fun in creating them. Vichan also has some poor ways of handling banners that don't offer much in the way of encouragement for the artists on sites.

Hopefully this Laravel+React application can be installed easily next to your prefered imageboard software and linked onto your site using iframes or image loading through the random banner generation API. If you should run into trouble you can find me @ https://kissu.moe/b/res/2275.

Requirements

Tested to work on:

  • Debian GNU/Linux
  • MySQL Server
  • PHP 7.2, 7.3, 7.4 ...
    • Not all of these are confirmed as required, but are listed as Laravel dependencies
      • BCMath PHP Extension
      • Ctype PHP Extension
      • Fileinfo PHP extension
      • JSON PHP Extension
      • Mbstring PHP Extension
      • OpenSSL PHP Extension
      • PDO PHP Extension
      • Tokenizer PHP Extension
      • XML PHP Extension
  • Composer
  • Node Package Manager

Configuration

A more detailed explanation can be found on the Wiki.

  • Create a file called .env to hold your database information, using .env.example as your template, mailgun API keys, email addresses and site MIX variables.
  • Using node, after running npm install, npm run production will update the javascript files based on your configurations
  • Run the shell file ./SETUP and it will set up Laravel for your project creating database tables and installing dependancies.
    • Note, Composer is a memory hog and in the case you do not have a large bank of memory you may need to upload the Vendor directory manually.
  • Routing through NGINX is prefered, be sure to add an HTTP_X_REAL_IP header. A sample is given in the wiki.

Emails can be sent to individuals specified in the .env file. This uses a mailgun account which you will need to setup and place keys into the .env file. When a new banner is created you will get an email. This was found to easily deal with a spammer and his pool of IPs. A primary email will be listed to all and extras are blind CC so this could potentially act as a mailing list, albeit a bit tedious to set up and requiring of a cache reload every time.

Custom Dimensions may be set up in the .env. This will require an NPM rebuild.

Community Banners makes use of PHPUnit testing. In the case something is broken on your machine you can make use of this as a way to figure out what is wrong. Docker could possibly resolve issues, but hasn't been set up or tested to work.

Running on a site can easily be done through iframe making use of /banner, but generating an image through javascript is possible through /api/banner

1.3.1 V2

13 Mar 07:21
4e53a99
Compare
Choose a tag to compare

Resolves various issues and adds minor details

Version 1.3

12 Mar 10:21
e26d657
Compare
Choose a tag to compare

Community Banners

Version brings new ways to manage user uploads

BITCOIN: 14K6kHgpRvgKPnktf4e2UVfEaarYEe64n4

ETHEREUM: 0xf590a2cdd900eae8a680ed199e97f59d3718457a

BITCOIN CASH: 1DrBJ3TWGDjmKX4VKfaXTcMvq8UJBZyiEu

DOGECOIN: DDVEFppYykougRWhEaWN7oAYXu2Lw3bk5i

LITECOIN: LPjzwQjCjMT55W79SPifztGppdbfQQymkP

MONERO: 49wbxUahfiyCQWtpJefQWVJofKPXj7pjohgmGeTChRJRCYMyUPeZe7fMdoK5MLbsvHS3A3QoB1hWTQ4D8FZFQsh445Gp93K

About

In the early days of 4chan, moot released his advertising program where individuals could create banners to troll or advertise something to users. In 2016 4chan had a banner contest that generated interest in designing advertisements for boards done by the pass holding community. Myself, looking at an alternative to the moderated submission of art and paywalling features, decided to create an alternative that allows for any user to submit and then if need be, remove/ban them after.
The use of banners in the community has been interesting and kissu's decent size community has found fun in creating them. Vichan also has some poor ways of handling banners that don't offer much in the way of encouragement for the artists on sites.

Hopefully this Laravel+React application can be installed easily next to your prefered imageboard software and linked onto your site using iframes or image loading through the random banner generation API. If you should run into trouble you can find me @ https://kissu.moe/b/res/2275.

Requirements

Tested to work on:

  • Debian GNU/Linux
  • MySQL Server
  • PHP 7.2, 7.3, 7.4 ...
    • Not all of these are confirmed as required, but are listed as Laravel dependencies
      • BCMath PHP Extension
      • Ctype PHP Extension
      • Fileinfo PHP extension
      • JSON PHP Extension
      • Mbstring PHP Extension
      • OpenSSL PHP Extension
      • PDO PHP Extension
      • Tokenizer PHP Extension
      • XML PHP Extension
  • Composer
  • Node Package Manager

Configuration

A more detailed explanation can be found on the Wiki.

  • Modify the .env file to hold your database information, mailgun API keys, email addresses and site MIX variables.
  • Using node, npm run production will update the javascript files based on your configurations
  • Run the shell file ./SETUP and it will set up Laravel for your project creating database tables and installing dependances.
    • Note, Composer is a memory hog and in the case you do not have a large bank of memory you may need to upload the Vendor file manually.
  • Routing through NGINX is prefered, be sure to add an HTTP_X_REAL_IP header. A sample is given in the wiki.

Emails can be sent to individuals specified in the .env file. When a new banner is created you will get an email. This was found to easily deal with a spammer and his pool of IPs. A primary email will be listed to all and extras are blind CC so this could potentially act as a mailing list, albeit a bit tedious to set up and requiring of a cache reload every time.

Custom Dimensions may be set up in the .env. This will require an NPM rebuild.

Community Banners makes use of PHPUnit testing. In the case something is broken on your machine you can make use of this as a way to figure out what is wrong. Docker could possibly resolve issues, but hasn't been set up or tested to work.

Running on a site can easily be done through iframe making use of /banner, but generating an image through javascript is possible through /api/banner

CSS and /all/ organzation cosmetics

02 Mar 23:55
ba12553
Compare
Choose a tag to compare

FreeAdvertising

Done initially with Test Driven Development on both React-Router and Laravel PHP with SASS, this is a simple webapplication for hosting an advertisement platform with no monetization.

Uses Nginx, MySQL, Larvel and React and Docker(laradock). Docker is a consideration.
Testing done with PHPUnit, Jest+Enzyme.

Configuration

If you want to host your own version you must:

  1. consider a dontation: https://www.patreon.com/ECHibiki
  2. In resources/js/components/settings.js configure host_addr and host_name to work with your site. This will require npm configuration and rebuilds.
  3. Adjust app/http/controllers/ConfidentialInfoController.php to have the image dimensions desired. In settings.js change where desired.
  4. Setup is typically concluded by composer install --no-scripts. This requires an install of various laravel php dependencies https://laravel.com/docs/5.8/installation. If it fails chances are you don't have enough memory. You should manually add them from a desktop computer/VM into the server in this case.
  5. Create your .env file from .env.example
  6. php artisan key:generate, php artisan link:storage, php artisan migrate
  7. php artisan serve

Considerations


/all/ and removing dev features

02 Mar 01:46
8203073
Compare
Choose a tag to compare

FreeAdvertising

Done initially with Test Driven Development on both React-Router and Laravel PHP with SASS, this is a simple webapplication for hosting an advertisement platform with no monetization.

Uses Nginx, MySQL, Larvel and React and Docker(laradock). Docker is a consideration.
Testing done with PHPUnit, Jest+Enzyme.

Configuration

If you want to host your own version you must:

  1. ''Pay'' attention to the donator page: https://www.patreon.com/ECHibiki
  2. In resources/js/components/settings.js configure host_addr and host_name to work with your site. This will require npm configuration and rebuilds.
  3. Adjust app/http/controllers/ConfidentialInfoController.php to have the image dimensions desired. In settings.js change where desired.
  4. Setup is typically concluded by composer install --no-scripts. This requires an install of various laravel php dependencies https://laravel.com/docs/5.8/installation. If it fails chances are you don't have enough memory. You should manually add them from a desktop computer/VM into the server in this case.
  5. Create your .env file from .env.example
  6. php artisan key:generate, php artisan link:storage, php artisan migrate
  7. php artisan serve

Considerations

Some js modules aren't yet added to the package.json file


Unit and integration tests won't all pass, but works as intended from manual testing. Will be improved upon.


Initial release 1.0.0

29 Feb 20:37
7856277
Compare
Choose a tag to compare

Done initially with Test Driven Development on both React and Laravel PHP, this is a simple webapplication for hosting an advertisement platform with no monetization.

Uses Nginx, MySQL, Larvel and React and Docker(laradock). Docker is a consideration.
Testing done with PHPUnit, Jest+Enzyme.

Configuration

If you want to host your own version you must:

  1. Pay attention to the donator page: https://www.patreon.com/ECHibiki
  2. In resources/js/components/api.js configure host_addr and host_name to work with your site
  3. Adjust app/http/controllers/ConfidentialInfoController.php to have the image dimensions desired. In the components.js change where desired.

Unit and integration tests won't all pass, but functions as intended from lots of manual testing. Will be improved upon.