From 0c0f11724810753fca5fd9f1d4880e1ab204ef9c Mon Sep 17 00:00:00 2001 From: nonmakina Date: Mon, 18 Jan 2021 03:18:42 -0600 Subject: [PATCH 01/11] Enables exif stripping. --- inc/instance-config.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/inc/instance-config.php b/inc/instance-config.php index 9098ce57..0a421836 100644 --- a/inc/instance-config.php +++ b/inc/instance-config.php @@ -159,6 +159,13 @@ $config['image_reject_repost'] = false; $config['thumb_method'] = 'gm+gifsicle'; $config['gnu_md5'] = '1'; + + +// Strip EXIF metadata from JPEG files. +$config['strip_exif'] = true; +// Use the command-line `exiftool` tool to strip EXIF metadata without decompressing/recompressing JPEGs. +$config['use_exiftool'] = true; + // $config['update_on_posts'] = true; $config['referer_match'] = false; From 507c70a0dc77d253c87814f8b4e3f8c8a6ea8985 Mon Sep 17 00:00:00 2001 From: discomrade Date: Sun, 27 Jun 2021 05:38:12 -0200 Subject: [PATCH 02/11] This commit never existed. --- static/deleted.png | Bin 2733 -> 14609 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/deleted.png b/static/deleted.png index 5b90b4fbf5deb288f63e4354c6e220609a4c2194..28e876c8afe5831f7be7538c7d33bdddbbbd7d4c 100644 GIT binary patch literal 14609 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 literal 2733 zcmV;e3R3lnP)--av0o z&OP)z_jy0=d9N*zNZ?Lk!Gawc*laeWih~Ca;%?&T(W6Ke>JN#9EGWQ&r7*H;{1d=m z$qJEKq+8(@;_-O*v17;n1|Y#K?XU=A1Ciy(kt2nxdK)A&YZ!-bI+l+ww5V?jBq#%-}&>{ z`o$N>SIlApPA9?*4R90}L!**5t}u&aSq6~C3VJ1%#1vv~`*uuUzKl}E&8)k56aO9< zU@EX?%^GOH)FeRamGj+q$c@DiN9u@?UER7B+w$|-x~25lekU1WiY10lGB;T}Sx_3# zLe?Z*>m~ES1fYG_7sKS_Vce{0hTSOftXbp@%R| zZfRXK3Kf)-l8l`^iRrR3R8>{6%_4V)@$qr2`}J3l)F=@qOt$>+!zeE=2SFyx>X0{h z^^Nv&bCdP2Kr$~F(D#4ll0*hlU0sdyJ9eOAU_iOzw`Ft`gQPS>Ko$T8gF(!aD{?O_ zDF+vW8#bWso_m;T(VF#CbiF(Um#@hPlI_IG@TI6GE{($Vo0~8KOzx{6cmP9#gJ__P zMg`eqMW;@|UtiBuW|ZP0H(5+EHkz{AQLtwZoK7bQdI=L;WyAWoJJO<6=O%YD_a+eJ zq&;pP!U)pH{+`KxVE1l>PnjorfSnNnc{^78UfL#gY~+O_apzYbMYpFWL&8#l1u?^hQsXg?^HnKj@X=a5zv(vCITjXDh>DWD@g~v1K+~5|&)b?p%)}3P zp-G`iY#xP?(`?6Mk71T7wvOdx7=Z}IO!3xMR8&;3_=(nL-oxJN!M6DohQNZ)nvENA zj^deodM{)I#;TF|c#pQAdB3Ohm zsltc=m?_Pz{CqfPXOT|aq?pCU3v@}=WX81GQkePqc?513@y5mwL3-hunZeYlQ|x#J z#Y-k{ShEy{brkshendX~6fyeU2;_bJHAb77P~h>f%*@0JV=2t7TeonnuMe)tNkm}` za_Jub`S@d0P<6S2zi>34!dME!+D^tsMqvN)OQtkN!r}Ge+Jy`3Jr=!mG>^hq3M0nM zP<-M4=p#5u0irM%M9A3>Kg4u>J&R|k9`nah81r`xbZFP9L>O6Nk~O%E4h}Zh7vZA-xMcr+mddArFmAHvlNHhwHrS}H0ePKWNIyEIb?R3bS?;H&r!n>Z`zRse zM3Fg!Nzo=78&OwR$D87G6Q&c%(WP)c#*nT7PL@tiq=khA_?iu1X-n{@HH`}yx3Mi7Rj(bq>u5&7&h*mMNCu_vBDG#G^a^Ut9Q zI|aWZ&CPJ^-p$hNG!sT_iXcpcab=S)f{4T8i~Azl^cNhhe8wT?KaPz`R7Y8P|aWY;KxY4`F1N(R7-u(loDejoeB0o`6ObLrmJF^ zvbM2DA4LIIFGa%iC8@C-m(u4>W+D)V=0Cs7z^(zGCYI{v|912Bc~h9LSJatA1zC*M zNf0!~|536$;@hxy$m`Uq@wS zB~uv%!n6oANm^0u(qt5Ea&_0>u7O^DfBD|MDb2^zZD~w9CrwLQ2os{rD01Qipr|eh zQjra>yu#`w$qsPSHFjj7k}9`1-gpC0btP1Jo*N%$9g%Xz^gooee}ykot=3`CBE>j{ zcMb4yUGi9k`P%tBZcU~7csg7X3wHBJ;%g2cW^s%Pob<$RXlw)zbddxsVBJhEWwf{$ zp=b&m}}tQ>6JG^9>=~)wPnv9 zb|2O60h6*Q5ypZ#VG{C2(k3u78bmB+=>q?dbRK}X5g&E72qVtuzSYyya{xdAObk+( zMGDw^0Yn*TjDe*v-QC@P2k;LvCz*pRpDY{ZLX>|lKE!{ Date: Sun, 27 Jun 2021 23:41:47 -0200 Subject: [PATCH 03/11] Fix thumb_ext being ignored --- inc/image.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/image.php b/inc/image.php index 34283b80..20fcfdcb 100644 --- a/inc/image.php +++ b/inc/image.php @@ -312,7 +312,7 @@ class ImageConvert extends ImageBase { $this->destroy(); } - $this->temp = tempnam($config['tmp'], 'convert'); + $this->temp = tempnam($config['tmp'], 'convert') . ($config['thumb_ext'] == '' ? '' : '.' . $config['thumb_ext']); $config['thumb_keep_animation_frames'] = (int)$config['thumb_keep_animation_frames']; From b0df3865174640096a65d4c58b874f12a8d67c2c Mon Sep 17 00:00:00 2001 From: discomrade Date: Sun, 27 Jun 2021 23:42:38 -0200 Subject: [PATCH 04/11] Set thumbnail format to WebP --- inc/instance-config.php | 1 + 1 file changed, 1 insertion(+) diff --git a/inc/instance-config.php b/inc/instance-config.php index 0a421836..3db0c0a6 100644 --- a/inc/instance-config.php +++ b/inc/instance-config.php @@ -158,6 +158,7 @@ $config['max_images'] = 5; $config['image_reject_repost'] = false; $config['thumb_method'] = 'gm+gifsicle'; +$config['thumb_ext'] = 'webp'; $config['gnu_md5'] = '1'; From 045ae8976432a993a0b131c08c19c9f6a21f4076 Mon Sep 17 00:00:00 2001 From: discomrade Date: Fri, 25 Jun 2021 00:40:54 -0200 Subject: [PATCH 05/11] Improve filter --- inc/instance-config.php | 37 ++++++++++++++++--------------------- post.php | 5 ++++- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/inc/instance-config.php b/inc/instance-config.php index 3db0c0a6..32532ea0 100644 --- a/inc/instance-config.php +++ b/inc/instance-config.php @@ -500,30 +500,25 @@ $config['filters'][] = array( ); /* - * Filters for diverting TheThingN0ticer ban evader + * Filter TheThingN0ticer ban evader */ -$fakereason_thing = 'Due to automated child pornography and gore spam by /pol/, all posting now requires a pass.
To receive a one-week pass, email a short explanation of the Labor Theory of Value to space@national.shitposting.agency .'; -event_handler('post', function($post) { - $fakereason_thing = 'Due to automated child pornography and gore spam by /pol/, all posting now requires a pass.
To receive a one-week pass, email a short explanation of the Labor Theory of Value to space@national.shitposting.agency .'; - - // Detects posts in the /ITG/ with the filename "Untitled.png" and a Nazi flag - if (!$post->op && $post->board == 'leftypol' && $post->thread == 110463 && $post->has_file && - $post->files[0]->filename == 'Untitled.png' && - strpos($post->body_nomarkup, "Nazi") !== false) { /* has Nazi flag, hack */ - return $fakereason_thing; - // Detects posts with the Nazi flag and their favorite Twitter links - } else if (strpos($post->body_nomarkup, "Nazi") !== false && /* has Nazi flag, hack */ - preg_match('/\/(WokeCapital|NickJFuentes|af_clips)/', $post->body)) { - return $fakereason_thing; +event_handler('post', function($post, $tor) { + if($post->board == 'leftypol'){ + // note: just posting nazi flag with name doesn't trigger, on purpose + $n = 0; + // body is just a twitter account + if(preg_match('/^https:\/\/twitter\.com\/[a-zA-Z0-9_-]+\/?(]*>[^<]*<\/tinyboard>|<[^>]*>|\s)*$/', + $post->body_nomarkup)){$n+=2;} + if($post->has_file && $post->files[0]->filename == 'Untitled.png'){$n+=2;} + if($post->name != 'Anonymous'){$n++;} + if(strpos($post->body_nomarkup,'nazi')){$n++;} + + if($n > 2){ + if($tor){return 'Your IP address is posting too quickly.';} + return 'Your IP address is listed in multirbl.efnetrbl.org.'; + } } }); -$config['filters'][] = array( - 'condition' => array( - 'name' => '/Chauvinist/', // Current name as of April. - ), - 'action' => 'reject', - 'message' => $fakereason_thing -); // Changes made via web editor by "zul_admin" @ Fri, 19 Feb 2021 15:06:33 -0800: diff --git a/post.php b/post.php index 02eeb866..2f1d5798 100644 --- a/post.php +++ b/post.php @@ -1295,10 +1295,13 @@ function handle_post(){ } } + // Custom /leftypol/ var to check if Tor + $tor = ($_SERVER['REMOTE_ADDR'] == '127.0.0.1'); + $post = (object)$post; $post->files = array_map(function($a) { return (object)$a; }, $post->files); - $error = event('post', $post); + $error = event('post', $post, $tor); $post->files = array_map(function($a) { return (array)$a; }, $post->files); if ($error) { From fa3a309924a739638d1dcfb93343d891a922136a Mon Sep 17 00:00:00 2001 From: discomrade Date: Fri, 25 Jun 2021 00:46:46 -0200 Subject: [PATCH 06/11] Extend filter charset --- inc/instance-config.php | 64 ++++++++++++++++++++--------------------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/inc/instance-config.php b/inc/instance-config.php index 32532ea0..e43235da 100644 --- a/inc/instance-config.php +++ b/inc/instance-config.php @@ -457,16 +457,16 @@ $config['markup'][] = array("/~~(.+?)~~/", "\$1 array( - 'subject' => '/anorectal/i', // Typical thread subject used - ), - 'action' => 'reject', - 'message' => "$fakereason_ano" + 'condition' => array( + 'subject' => '/anorectal/i', // Typical thread subject used + ), + 'action' => 'reject', + 'message' => "$fakereason_ano" ); $config['filters'][] = array( - 'condition' => array( - 'filename' => '/(TAKE ACTION v|trends.*associations|anusporn|anal insanity|anorectal risks|TAv[0-9]+|arisks)/', // Typical opening filename format. Their usual evasion strategy is to post only the image. - ), - 'action' => 'reject', - 'message' => "$fakereason_ano" + 'condition' => array( + 'filename' => '/(TAKE ACTION v|trends.*associations|anusporn|anal insanity|anorectal risks|TAv[0-9]+|arisks)/', // Typical opening filename format. Their usual evasion strategy is to post only the image. + ), + 'action' => 'reject', + 'message' => "$fakereason_ano" ); // Favorite names and buzzterms $config['filters'][] = array( - 'condition' => array( - 'body' => '/(Rocco Siff|Evil Angel|Xavier Becerra|AdultDVDTalk|painal|Roughanal|anoreceptive|ltimately this is not about me|Logically-fallacious diversionary tactics)/', - ), - 'action' => 'reject', - 'message' => "$fakereason_ano" + 'condition' => array( + 'body' => '/(Rocco Siff|Evil Angel|Xavier Becerra|AdultDVDTalk|painal|Roughanal|anoreceptive|ltimately this is not about me|Logically-fallacious diversionary tactics)/', + ), + 'action' => 'reject', + 'message' => "$fakereason_ano" ); /* @@ -505,19 +505,19 @@ $config['filters'][] = array( event_handler('post', function($post, $tor) { if($post->board == 'leftypol'){ // note: just posting nazi flag with name doesn't trigger, on purpose - $n = 0; - // body is just a twitter account - if(preg_match('/^https:\/\/twitter\.com\/[a-zA-Z0-9_-]+\/?(]*>[^<]*<\/tinyboard>|<[^>]*>|\s)*$/', - $post->body_nomarkup)){$n+=2;} - if($post->has_file && $post->files[0]->filename == 'Untitled.png'){$n+=2;} - if($post->name != 'Anonymous'){$n++;} - if(strpos($post->body_nomarkup,'nazi')){$n++;} - - if($n > 2){ - if($tor){return 'Your IP address is posting too quickly.';} - return 'Your IP address is listed in multirbl.efnetrbl.org.'; - } - } + $n = 0; + // body is just a twitter account + if(preg_match('/^https:\/\/twitter\.com\/[a-zA-Z0-9_-]+\/?(]*>[^<]*<\/tinyboard>|<[^>]*>|\s)*$/', + $post->body_nomarkup)){$n+=2;} + if($post->has_file && $post->files[0]->filename == 'Untitled.png'){$n+=2;} + if($post->name != 'Anonymous'){$n++;} + if(strpos($post->body_nomarkup,'nazi')){$n++;} + + if($n > 2){ + if($tor){return 'Your IP address is posting too quickly.';} + return 'Your IP address is listed in multirbl.efnetrbl.org.'; + } + } }); From 8bfc0940bfe3d805b9b8e6fda4422212bd2ac401 Mon Sep 17 00:00:00 2001 From: discomrade Date: Sun, 27 Jun 2021 23:01:40 -0200 Subject: [PATCH 07/11] Improve variant detection --- inc/instance-config.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/inc/instance-config.php b/inc/instance-config.php index e43235da..fa838fc5 100644 --- a/inc/instance-config.php +++ b/inc/instance-config.php @@ -506,16 +506,16 @@ event_handler('post', function($post, $tor) { if($post->board == 'leftypol'){ // note: just posting nazi flag with name doesn't trigger, on purpose $n = 0; - // body is just a twitter account - if(preg_match('/^https:\/\/twitter\.com\/[a-zA-Z0-9_-]+\/?(]*>[^<]*<\/tinyboard>|<[^>]*>|\s)*$/', + // body is just a twitter account (or has ?lang=en or something) + if(preg_match('/^(https:\/\/)?(www.|m(obile)?.)?twitter\.com\/[a-zA-Z0-9_-]+\/?[#?&a-zA-Z0-9=_-]*(]*>[^<]*<\/tinyboard>|<[^>]*>|\s)*$/', $post->body_nomarkup)){$n+=2;} - if($post->has_file && $post->files[0]->filename == 'Untitled.png'){$n+=2;} - if($post->name != 'Anonymous'){$n++;} + if($post->has_file && preg_match('/^Untitled[0-9]*.png/', $post->files[0]->filename)){$n+=2;} + if($post->name != 'Anonymous'){$n++; if($post->name == 'NasheedsSeedAndFeed'){$n+=2;}} if(strpos($post->body_nomarkup,'nazi')){$n++;} if($n > 2){ - if($tor){return 'Your IP address is posting too quickly.';} - return 'Your IP address is listed in multirbl.efnetrbl.org.'; + if($tor){return 'Flood detected; Post discarded.';} + return 'Your IP address is listed in multirbl or rbl.efnetrbl.org.'; } } }); From e5899ee7d7a745d70e076135cfc26e2eaa1f852b Mon Sep 17 00:00:00 2001 From: Pietro Carrara Date: Sat, 3 Jul 2021 00:27:25 -0300 Subject: [PATCH 08/11] List boards --- status.php | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/status.php b/status.php index a42530a8..dcda0af3 100644 --- a/status.php +++ b/status.php @@ -2,8 +2,55 @@ require_once 'inc/functions.php'; +function endsWith( $haystack, $needle ) { + $length = strlen( $needle ); + if( !$length ) { + return true; + } + return substr( $haystack, -$length ) === $needle; +} + +// Boards that are nsfw +$nsfw_boards = ['b', 'overboard']; +// Boards that use spoiler_alunya.png as their spoiler +$alunya_spoiler = ['leftypol', 'anime']; +// Boards where posts are not allowed to be created +$readonly_boards = ['overboard', 'sfw', 'alt']; + +$board_list = listBoards(); + +// Add objects that are not boards but are treated as such +$board_list[] = ['uri' => 'overboard', 'title' => 'Overboard']; +$board_list[] = ['uri' => 'sfw', 'title' => 'SFW Overboard']; +$board_list[] = ['uri' => 'alt', 'title' => 'Alternate Overboard']; + +/** + * Allowed fields for the board object: + * - code: The board code ('b', 'tech', ...) + * - name: The board user-readable name ('Siberia', ...) + * - description: The board description ('Leftist Politically Incorrect', ...) + * - sfw: Is this board sfw? + * - alternate_spoilers: Does this board use the alunya spoiler? + */ +$boards = []; +foreach ($board_list as $board) { + // Skip archives + if (endsWith($board['uri'], '_archive')) { + continue; + } + + $boards[] = [ + 'code' => $board['uri'], + 'name' => $board['title'], + 'sfw' => !in_array($board['uri'], $nsfw_boards), + 'alternate_spoilers' => in_array($board['uri'], $alunya_spoiler), + 'posting_enabled' => !in_array($board['uri'], $readonly_boards), + ]; +} + header('Content-Type: application/json'); echo json_encode([ 'captcha' => $config['securimage'], - 'flags' => $config['user_flags'] + 'flags' => $config['user_flags'], + 'boards' => $boards, ]); \ No newline at end of file From f168ad162dad221229a005fb69c5b238d5732956 Mon Sep 17 00:00:00 2001 From: discomrade Date: Wed, 30 Jun 2021 09:13:11 -0200 Subject: [PATCH 09/11] Filename clickable to download --- templates/post/fileinfo.html | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/post/fileinfo.html b/templates/post/fileinfo.html index a551e8bb..6c5d06ae 100644 --- a/templates/post/fileinfo.html +++ b/templates/post/fileinfo.html @@ -22,9 +22,9 @@ {% if config.show_filename and file.filename %} , {% if file.filename|length > config.max_filename_display %} - {{ file.filename|truncate_filename(config.max_filename_display)|e|bidi_cleanup }} + {{ file.filename|truncate_filename(config.max_filename_display)|e|bidi_cleanup }} {% else %} - {{ file.filename|e|bidi_cleanup }} + {{ file.filename|e|bidi_cleanup }} {% endif %} {% endif %} ) @@ -36,3 +36,4 @@ {% endfor %} {% endif %} + From 5311d4d203f07c74d08bf03725de76c0526d52b9 Mon Sep 17 00:00:00 2001 From: discomrade Date: Wed, 30 Jun 2021 09:22:29 -0200 Subject: [PATCH 10/11] Disable download-original.js --- inc/instance-config.php | 1 - 1 file changed, 1 deletion(-) diff --git a/inc/instance-config.php b/inc/instance-config.php index fa838fc5..588f9ecd 100644 --- a/inc/instance-config.php +++ b/inc/instance-config.php @@ -394,7 +394,6 @@ $config['additional_javascript'][] = 'js/file-selector.js'; $config['additional_javascript'][] = 'js/save-user_flag.js'; $config['additional_javascript'][] = 'js/webm-settings.js'; $config['additional_javascript'][] = 'js/expand-video.js'; -$config['additional_javascript'][] = 'js/download-original.js'; $config['flag_preview'] = true; From 4f27d39bc980219fa847b604e20539d39d65931a Mon Sep 17 00:00:00 2001 From: discomrade Date: Wed, 30 Jun 2021 05:47:08 -0200 Subject: [PATCH 11/11] Sorted, labeled style selector --- js/style-select.js | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/js/style-select.js b/js/style-select.js index e9d395f0..c140442e 100644 --- a/js/style-select.js +++ b/js/style-select.js @@ -14,8 +14,46 @@ * */ -onready(function(){ +$(document).ready(function () { var stylesDiv = $('div.styles'); + var pages = $('div.pages'); + var stylesSelect = $('').css({float:"none"}); + var options = []; + + var i = 1; + stylesDiv.children().each(function() { + var name = this.innerHTML.replace(/(^\[|\]$)/g, ''); + var opt = $('') + .html(name) + .val(i); + if ($(this).hasClass('selected')) + opt.attr('selected', true); + options.push ([name.toUpperCase (), opt]); + $(this).attr('id', 'style-select-' + i); + i++; + }); + + options.sort ((a, b) => { + const keya = a [0]; + const keyb = b [0]; + if (keya < keyb) { return -1; } + if (keya > keyb) { return 1; } + return 0; + }).forEach (([key, opt]) => { + stylesSelect.append(opt); + }); + + stylesSelect.change(function() { + $('#style-select-' + $(this).val()).click(); + }); + + stylesDiv.hide() + pages.after( + $('
') + .append(_('Select theme: '), stylesSelect) + ); +}); +stylesDiv = $('div.styles'); var pages = $('div.pages'); var stylesSelect = $(''); @@ -43,3 +81,4 @@ onready(function(){ ); }); +