use strict; use POSIX qw/strftime/; BEGIN { require "wakautils.pl" } use constant BOARD_OPTIONS => q{
}; use constant SITE_VARS_INCLUDE => q{ }; use constant NORMAL_HEAD_INCLUDE => q{ <if $title><var $title> - </if><const TITLE> }.SITE_VARS_INCLUDE.q{
[ / ] [rel=""> / ]
[Settings] [Home]
}.include("include/header.html").q{
[Settings]

}.BOARD_OPTIONS; use constant MINIMAL_HEAD_INCLUDE => q{ <if $title><var $title> - </if><if $noboard><const TITLE></if><if !$noboard><const SITE_NAME></if> }.SITE_VARS_INCLUDE.q{ }.BOARD_OPTIONS; use constant CONTENT_HEAD_INCLUDE => q{ <if $title><var $title> - </if><const SITE_NAME> }.SITE_VARS_INCLUDE.q{ }; use constant CONTENT_FOOT_INCLUDE => include("include/footer.html").q{ }; use constant NORMAL_FOOT_INCLUDE => include("include/footer.html").q{ }; use constant PAGE_TEMPLATE => compile_template(NORMAL_HEAD_INCLUDE.q{
New Thread Reply
Name
Link
Subject
Comment
Bypass this CAPTCHA. [Learn More]
File

Password
(for post and file deletion)
}.include("include/rules.html").q{
}.include("../announcement.html").q{

Delete Post
Style
[ / ]
[Settings] [Home]
}.NORMAL_FOOT_INCLUDE); use constant ERROR_TEMPLATE => compile_template(MINIMAL_HEAD_INCLUDE.q{

[]


}.NORMAL_FOOT_INCLUDE); use constant REPORT_TEMPLATE => compile_template(q{ Reporting Post No.<var $num> on /<var BOARD_DIR>/

Reporting Post No. on //

Report type

Note: Submitting frivolous reports will result in a ban. When reporting, make sure that the post in question violates the global/board rules, or contains content illegal in the United States.

}); use constant LIST_TEMPLATE => compile_template(NORMAL_HEAD_INCLUDE.q{ []
Thread Index
Subject Created by Time Post No.
  [ 1 or $postcount==0>repliesreply] No.


}.NORMAL_FOOT_INCLUDE); use constant CATALOG_TEMPLATE => compile_template(NORMAL_HEAD_INCLUDE.q{ []
Catalog Mode
>>
>>
R: / I:

}.NORMAL_FOOT_INCLUDE); use constant SEARCHABLE_CATALOG_TEMPLATE => compile_template(NORMAL_HEAD_INCLUDE.q{ [] [Refresh] [Bottom]
Sort By:
Order:
Search:


[] [Refresh] [Top] }.NORMAL_FOOT_INCLUDE); use constant SEARCH_TEMPLATE => compile_template(NORMAL_HEAD_INCLUDE.q{ }.NORMAL_FOOT_INCLUDE); use constant BAN_PAGE_TEMPLATE => compile_template(MINIMAL_HEAD_INCLUDE.q{


}.NORMAL_FOOT_INCLUDE); use constant REGISTER_PASS_TEMPLATE => compile_template(CONTENT_HEAD_INCLUDE.q{

Get a Pass

→ Already have a pass? Click here to login. ←


A pass is a feature intended to simplify the posting experience for loyal and quality posters. The Pass's main and only feature is the ability to bypass reCAPTCHA, a necessary evil to avoid spam and floods from other imageboard communities. Although inspired by 4chan's pass system, Pass is similar only in function. Unlike 4chan Pass, Pass costs nothing, and will be compatible across multiple sites running in the future.

You will not be able to bypass reCAPTCHA immediately after registering for a Pass. After signing up, you will be automatically logged into the pass system, and your posts will be identifiable by your pass, regardless of your IP address. After you've made a minimum of 5 posts while logged in with your pass, a moderator or administrator will either approve or deny your pass application. As long as the posts don't break any rules, chances are you will be approved immediately after review.

Because pass is free, the bases on which it can be revoked are slightly more liberal than those on 4chan. If you get banned or warned for a rule breaking post, chances are you will no longer have a pass once you've served your sentence. Luckily, bans are usually reserved for automated spam and illegal posts. If you bothered applying for a pass, you'll probably find its very hard to get it taken away.

Passes are valid for an infinite period of time, barring streaks of inactivity greater than 31 days. If you make at least one post on a participating imageboard (only for now) every 31 days, your pass will never expire.

If you have any issues or find any bugs in our pass system, please post in /meta/ for support.

Apply

  1. Your pass is only valid once approved by a moderator.
  2. Use of your pass is bound by the Terms of Use and site rules.
  3. You must make a minimum of one post every 31 days to keep your pass valid.
  4. You must make at least 5 posts with your Pass on before being approved. Alternatively, if you have a static IP, your posts pre-pass may count towards that minimum.
  1. You understand that the service being offered only allows you to bypass entering a CAPTCHA verification on the imageboards while using an authorized device.
  2. A Pass may be used to authorize multiple devices, but can only be associated with one IP address at a time.
  3. Passes are for individual use by the purchaser only.
  4. Passes may not be shared, transferred, or sold. Passes that are found to violate this term will be revoked.
  5. Posting spam messages, advertising of any kind, or other content that violates United States law to will result in immediate revocation of the Pass.
  6. You must have browser cookies enabled to use your Pass. JavaScript is optional, but recommended.
  7. You must make a minimum of one post every 31 days to keep your pass valid.
  8. You agree to abide by the Rules of , and understand that failure to do so may result in temporary or permanent suspension of your posting priveleges. If your pass is revoked following a ban, you will not be eligible to apply for a new one.
  9. Passes and all related services offered by are provided "as is" and without any warranty of any kind. makes no guarantee that Passes or the use thereof will be available at any particular time or that the results of using the Pass will meet your requirements.
  10. These terms are subject to change without notice.

Frequently Asked Questions

What exactly does a Pass allow me to do?

A Pass allows you to bypass typing a CAPTCHA verification when posting on the imageboards.


What doesn't a Pass allow me to do?

A Pass does not confer any special privileges beyond bypassing the CAPTCHA verification. You will still be subject to various post timers and the Rules of .


Will other people know I'm using a pass?

No. We at believe anonymity is a very valuable thing, and have made sure that using a pass will not compromise your outward facing anonymity in any way.


How will I receive and use my Pass?

After applying, you will be emailed a copy of your 10-character Token and 6-digit PIN. You will be automatically logged in the browser used to apply, and no further action will be required on your part to start the verification process. If you plan on posting from another computer and want said posts to count towards your verification, just log in by clicking the link on the top of this page.


How do I know if I've been verified?

Upon verification, you will be sent an email congratulating you on your verified status. Just submit a post without typing in the CAPTCHA, and the next time you view a page, the post form will no longer have a CAPTCHA field.


How long is my pass valid?

As long as you post at least once every 31 days, your pass is valid until manually revoked for a severe rule violation.


What happens if I am banned?

Because there is no monetary value behind a Pass, we tend to be a little more liberal when it comes to revoking them. If you end up getting banned, chances are you're a computer, a spammer for hire, or a troll, so barring unique circumstances, a ban will be accompanied by a revokation of your pass.



}.CONTENT_FOOT_INCLUDE); use constant PASS_SUCCESS_TEMPLATE => compile_template(MINIMAL_HEAD_INCLUDE.q{
Congratulations! Your pass has been successfully created.

Token:
Pin:

[Home]


}.NORMAL_FOOT_INCLUDE); use constant AUTHORIZE_PASS_TEMPLATE => compile_template(MINIMAL_HEAD_INCLUDE.q{
Token
Pin
[ ]

Don't have a Pass?
Click herehere to learn more.


}.NORMAL_FOOT_INCLUDE); use constant JSON_THREAD_TEMPLATE => compile_template(q{ {"posts":[ { "no":, "sticky":, "psage":, "closed":, "time":, "now":"", "id":"", "name":"", "trip":"", "email":"", "sub":"", "com":"", "image":"", "fsize":, "md5":"", "w":, "h":, "tn_w":, "tn_h":, "filename":"", "spoiler":, "parent": }, ]} },2); use constant JSON_INDEX_TEMPLATE => compile_template(q{ { "threads":[ { "posts":[ { "no":, "sticky":, "psage":, "closed":, "time":, "now":"", "id":"", "name":"", "trip":"", "email":"", "sub":"", "com":"", "image":"", "fsize":, "md5":"", "w":, "h":, "tn_w":, "tn_h":, "filename":"", "spoiler":, "parent": }, ] }, ] } },2); use constant PREVAL_RESPONSE_TEMPLATE => compile_template(q{ { "key": "" } },2); use constant JSON_ERROR => compile_template(q{ { "error": "" } },2); # # Stylesheet stuff # no strict; $stylesheets=get_stylesheets(); # make stylesheets visible to the templates use strict; sub get_filename($) { my $path=shift; $path=~m!([^/]+)$!; clean_string($1) } sub get_stylesheets() { my $found=0; my @stylesheets=map { my %sheet; $sheet{filename}=$_; $sheet{filename}=~s/ /%20/g; ($sheet{title})=m!([^/]+)\.css$!i; $sheet{title}=ucfirst $sheet{title}; $sheet{title}=~s/_/ /g; $sheet{title}=~s/ ([a-z])/ \u$1/g; $sheet{title}=~s/([a-z])([A-Z])/$1 $2/g; #$sheet{title}=~s/ /'%20'/g; if($sheet{title} eq DEFAULT_STYLE) { $sheet{default}=1; $found=1; } else { $sheet{default}=0; } \%sheet; } glob("..".CSS_DIR."*.css"); $stylesheets[0]{default}=1 if(@stylesheets and !$found); return \@stylesheets; } 1;