[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 10247

File: 1444226503649.png (391.14 KB, 240x300, virtual_boards_in_CatChan.png)


I released CatChan script which equipped a virtual board function.
Try and enjoy it. You can download it from BETA.
Any feedback is welcome.

Easiest way to use:
1. Click 'settings'.
2. Click 'load default', 'Click(I want to ... now)' and 'Click(...for lainchan)'.
3. Reload.
4. After 5 secs delay, it starts to scan entire site, generates virtual boards and show them. This takes 5-20 secs.
5. Click #XXX to on/off virtual boards. They are toggle buttons, so you can select multiple boards.
6. After 10 mins delay, auto updater will run and color tags if they have new posts. Favicon is also changed, and popup shows counts of unread replies to you, unread replies, threads which have unread replies, threads in the virtual board, boards to which these threads belong respectively.

How it works:
You can add tags to a thread when you post #XXXX in your comment. CatChan scans all posts in all thread in all boards, aggregate, and shows it in catalog. Tags are bumped and discarded in usual manner. Details are configurable.

Virtue of virtual board:
You can choose which thread belong to which board. And also threads can belong to multiple boards. You can make virtual boards at any time. This gives extreme flexibility to threads. Threads can move between boards at any time virtually.
Virtual boards function is a super-set of 'physical boards', which is used now. If you limit max num of tags to 1; threads can only inherit a tag which has the same name of physical board. In this limitation, virtual board system is equivalent to physical board system. Virtual board system is a search engine by user tags simply.

Other information are available in below, but they are obsolete.

Now the script needs to be debugged still, but basically it works.
Bug reports are also welcome.
Threads are sorted by 'Last reply' now even if you set it 'Bump order', because catalog doesn't give bumped time, so I had to scan to get them and I haven't implemented yet.

It works well in lainchan and 4chan.
It works but too slow in 8chan.
I haven't debugged in Krautchan.

Tags for example:
#CatChan, #virtualBoard




Yeah, the catalog isn't really working for me. Especially the scroll


What did you mean? Can't you scroll catalog with CatChan? If your case is this, please note your browser and its version. I debugged it using latest Chrome or FireFox.


In my environment, it works in these.
chrome 47.0.2523.0 canary
chrome 45.0.2454.101 m
FireFox 41.0.1


Now I started to wage slave it in 8chan.
Anyway, any feedback is welcome.


It seems to be modified by some filter.
I posted 'Now I started to s h i l l it in 8chan.'


>Can't you scroll catalog with CatChan?
Can't. I see two scroll bars and only one of them moves.

Firefox 41.0.1


Can you give me your screenshot?
My screenshot is in OP. You can see, there is a scroll bar on the right.
Version of my Greasemonkey is 3.4.1, probably the latest.


can you give us a basic explanation of what catchan can do\does?


File: 1444583851533.png (711.27 KB, 160x200, #rekt_board.png)

If someone put a tag, you can track them. For example, put #soykaf in your comment when you feel soykaf, then someone can find soykaf thread.


>Hashtags on chans
Man, that just doesn't sound pleasant at all.


If you want to stay as it is now, you don't have to use it. The biggest change CatChan can bring is free competition between chans. You can use wherever you want. Catchan gives liquidity.


I released an update.

I improved robustness in 8chan, so this update doesn't have a huge impact for people in lainchan.


I released an update.

I improved memory usage, so you should update to this.


File: 1445734864008.png (225.49 KB, 164x200, infinite_scroll.jpg)

I released an update.

You can use infinite scroll, color ID, subboards by using a tag and automatic updater in index page. But native added automatic updater this week, and it may cause conflict, so I recommend you to use it without automatic updater.


Sorry, it had a mistake about configuration. I released patched version. Use version 2015.10.25.1 instead of 2015.10.25.0.


I can't find severe problems so far about conflict of updater. I'll continue to check it.


File: 1445868129342-0.png (502.25 KB, 160x200, find_new_replies.png)

File: 1445868129342-1.png (395.67 KB, 160x200, cybtech.png)

File: 1445868129342-2.png (28.04 KB, 137x200, show_sites_name.png)

CatChan script can give for you
1. catalog mixture.
2. finder of recent posts.

OK, let me tell how to configure it.
1. setting -> load_default -> I want...24 -> reload
2. setting -> Board Group -> write 'cyb/tech/,lain/tech/,lain/cyb/,8chan/tech/ -> select cyb/tech/
3. You can show site's name if you want.
4. You can save your configuration by clicking 'save'.

You can see U:X/X, this means number of unread replies to you and unread replies (to others, includes to you) respectively. Threads which have unread replies are sorted first by default, so you can read all replies in recent 24 hours. Unread replies are marked red in threads, and you are jumped to the replies automatically when you open threads. The script has other functions, I can tell you about that if you want.

If you have any feedback, please leave it here.
Thank you for reading.


I released an update. Minor bugs are fixed.


File: 1446212148761-0.png (393.86 KB, 160x200, tech_internal_tagging.png)

File: 1446212148761-1.png (243.72 KB, 161x200, tech_internal_tagging_selected.png)

File: 1446212148761-2.png (394.94 KB, 161x200, tech_sitewide_tagging.png)

CatChan can provide both tagging, internal and external(site-wide now). You can aggregate threads which have a tag from a board by default. If you want to aggregate them from all over the site, click '20VBs ... (for lainchan)' to enable scan.

By internal tagging, you can make subboards like #posix or #GNU, though I think lain/tech/ is not so fast and don't require subboards. Anyway, tagging is useful when you want to filter threads by its topics.
By external tagging, we can evaluate moderators. I think good moderator is a person who have done good moderation, but criteria of such depends on each people, so moderation matters will not disappear. Therefore, I provide another way to solve this. If site provides /tech000/, /tech001/, ... , /tech999/, the script can gather threads by both way, tagging and boards group. If all boards /techXXXX/ have a tag #tech as a board's tag, all their threads will appear in #tech virtual board. Or you can make a boards group like >>10997. This requires user's configuration, but if site provides some configuration template like boards.json, I'll add function to read it. By these, we can choose where we'll create a thread. You can make a thread where the moderator whom you trust lives. This means evaluation of moderators.


>>>/q/7548 or admins,

Now you moved a thread >>>/tech/12952 to >>>/q/7601, this was caused by a limitation which is that a thread must belongs to a board. But you can avoid this in virtual board system. OP placed the thread in /tech/, because OP thought it should be read by people of /tech/, this is right. And you moved it to /q/ because you thought it contains meta discussion, this is also right. But /q/ is a board for meta discussion about site, so ordinary /tech/ people don't come. Therefore thought of /tech/'s mod isn't known by people of /tech/, this is bad. The best solution is that place a thread to both boards /tech/ and /q/. You can achieve this by copying every post if you have such system, or use tag to make virtual boards. In virtual board system, you can add the thread to #q if your post contains #q, it's very simple.

And you can train moderators in virtual board system, this changes lainchan from a private chan to a public chan which we can cooperate with all aspects including moderation, and this is what I misunderstood 8chan was such. Now you are player of moderators, sometimes you delete or give a ban. In virtual board system, you should become coaches or managers of moderators, and you'll hire or fire them. As I described in >>11166, virtual board system contains evaluation system of moderators, so you just choose popular moderators to maintain good atmosphere. This is similar to 4chan's hierarchy, Admin-Mods-Janitors, but the biggest difference is that we citizens can evaluate moderators. On the contrary, only mods or moot friends can evaluate janitors and that is not open for public in 4chan, so the moot made mistakes. 8chan limits cooperation to code or money, but moderation is the biggest and the most difficult matter in chans. If you want this chan to be a public chan, training moderator system is required. CatChan can give it.


File: 1446814582702.png (276.23 KB, 157x200, my_dogma.png)

I posted my dogma in 8ch. If you want to know, refer this. Pic is that.




Could you make this work with meguca.org so we can have thread watchers and know when people post on the different boards?


Yes technically, but I'm knocking uboachan's door now, because they are using vichan and porting is quite easy.

However, I'll try to support all microchans finally, so I can give priority to the site if you want. Porting meguca->lain is quite easy, lain->meguca takes time.
BTW, I believe this script has a power to change culture of chans, so I want to contact with admins beforehand. I can't see meguca/t/, or call the admin here if you can. I can see his gmail, but I hate it because mail system is closed. We should be open as much as possible. If the admin want his site to be a hideout, I don't give support for it.
And also I'm seeking for admins who understand my publicchan idea and want to run it on his site. I'll give the highest priority to them.

I haven't known meguca. If you know others, please teach me them. The more famous platform for microchans is the better. I know kusaba, futaba. 50% of chan's traffic goes to 4chan, but in other words rest of them is also 50%, so I'll connect all microchans with tag.


you can make a thread about catchan on meguca.org/g/ admin checks that frequently.

also can you explain your idea for publicchan a bit?


File: 1450188313872.png (114.64 KB, 200x92, aa.jpg)


after uboachan can you work on integrating meguca PLEASE it will mean alot


File: 1450370279274.png (1.55 MB, 21x200, CatChan_0.png)

You must understand what is the virtual board at first correctly. This screenshot may help you though this was from an year ago.
And unfortunately, that you need to explain becomes an evidence of that you can't keep up with us. You can see some people inspired from CatChan even the script had only a simple cross board function; didn't have the virtual board system itself. I scattered my thought everywhere, and CatChan have the virtual board function itself now, so you must realize it by yourself without much my explanation. I think 1/10 people can understand what I think. So I'll keep knocking doors to find admins who understand and want to make public chan.

All chans are private chans now.
Private chans: Admin decides all.
Public chans: People decides all using exodus.

Also refer these:

And you must know what is going on in 8chan.
These are there anytime.

I'm willing to discuss about the public chan if you can imagine and you are interested.


File: 1450370413050.png (1.68 MB, 21x200, CatChan_1.png)

And this.


File: 1450705844010.png (25.67 KB, 200x58, 45458.png)

I posted http://8ch.net/operate/res/45307.html#45458, pic is that.

A publicchan should be like this,
1. Adopts similar system to 8chan, where everybody can make a board where they can moderate as they wish.
2. Reserves all board names shorter than 8 letters, this prevents from hotpocket problem, every board owner will get equal opportunity.
3. Integrated virtual board system which is similar to CatChan, you can get #a virtual board when you access to publicchan.net/a/.

Now I provided '3'. '1' and '2' will be accomplished when the script supports so many sites. However, I'm looking for admins who can make it in their site directly.

BTW, owner of uboachan doesn't respond. I'll wait for one week more, and I'll knock meguca.


File: 1450870906916-0.png (105.78 KB, 200x100, 45527.png)

File: 1450870906917-1.png (283.11 KB, 165x200, lainchan.png)

Now I posted this in 8chan.

It works very simply.
1. When your post has #XXXX, it becomes a tag.
2. You can grep all threads with a certain tags from any board.
When you want to move a thread to #a, put '#a' in your post. When the thread goes to political matter, put #pol. Then the thread will be grepped from both #a and #pol. In this world, a physical board, which is a board now, means name of moderators. A virtual board, which is like #a or #pol I mentioned above, means topics. When you make a thread, you must choose a physical board to put the thread. This becomes a vote for moderators, because you want your thread to be moderated by a good moderator. People can see all #pol threads in catalog, and also see its moderators from its board. Then you can vote for moderators using your post, because people avoid to post if it is on odd moderator's board since they often break good discussion. Therefore,
3. Boards of good moderators will get more threads and posts.
For example,
Mike makes /mikemike/
FBI makes /fbifbifbi/
JIDF makes /jidfjidf/
and they all have threads of political matters. Which do you want to post?
For a good explanation, I added a pic of #lainchan in lainchan. You can see #lainchan in 5 boards, so you can choose a moderator from /λ/, /cyb/, /q/, /zzz/ or /lit/.
(This is just an example and lainchan is A team like 4chan.)


I made a thread in meguca since uboachan's admin didn't respond.


File: 1451126339108-0.png (436.36 KB, 164x200, meguca_on_lain.png)

File: 1451126339108-1.png (249.31 KB, 164x200, meguca_on_lain_with_tag.png)

Exporting function is working. You'll get this next weekend.
I may not implement importing function for a while because meguca has update plans.


File: 1451126373814-0.png (775.08 KB, 164x200, meguca_on_KC.png)

File: 1451126373814-1.png (943.94 KB, 163x200, meguca_on_4chan.png)

And also.


File: 1451827820645-0.png (452.54 KB, 160x200, importing_from_meguca.png)

File: 1451827820645-1.png (245.85 KB, 160x200, importing_from_meguca2.png)

File: 1451827820645-2.png (16.27 KB, 189x200, work_around.png)

I released an update. You can download it from below.

I added several functions.
1. Merging threads from meguca in catalog.
2. Merging index pages from supported sites(lainchan, meguca, 8chan, 4chan and KC) in index page in lainchan.
3. image hover, pop up reply, color ID, backlink, infinite scroll and automatic updater in index page.

A. Keywords of meguca.org is 'meguca'.
B. Lainchan changed its configuration today. As far as my short investigation, it seems to be changes in CSS, so i hope the script will work without severe conflicts. This requires time to confirm.
C. Mixing index pages is still alpha level and I know a rare bug. But it can't be reproduced easily, so I have been debugging it. This makes odd thread order sometimes. If you encounter this bug, you can work around by checking off "Threads" checkbox in Networking settings. However all threads are drawn at a time in this setting, so the browser might be slow.
D. The function "mixing index pages" is implemented with JSON interface only. 8chan doesn't provide json interface of threads in 2+ index pages, therefore you can't see their threads in 2+ index pages.
E. The function "mixing index pages" works only in lainchan.


File: 1451828797059.png (338.43 KB, 160x200, meguca_in_lainchan.png)

You can get mixed catalog of meguca, but I implemented importer only, so you must choose a host site from lainchan, 8chan, 4chan or KC.
Easiest way to get all boards catalog from meguca in lainchan is,

1. CC -> Settings -> Catalog: Board Group
2. Type 'meguca,meguca/a/,meguca/an/,meguca/cr/,meguca/g/' in it.
3. Select meguca.

Then you'll get it. You can save your setting.


File: 1451917439160-0.png (629.91 KB, 160x200, meguca_all.png)

File: 1451917439160-1.png (612.41 KB, 160x200, meguca_and_4chan_a.png)

File: 1451917439160-2.png (471.12 KB, 160x200, meguca_virtual_board_sw0.png)

I tried, and basically it works. You'll get on this weekend.


just downloaded it but cant seem to find where to change the different settings like image hover on lainchan


i still dont really understand how to get this working the options pages are confusing as fuarrrk and your explanations on what it is are also extremely confusing.

The gist of this is to allow you to view boards from multiple *chan sites all on one of the *chan sites and get updates from them all or?


File: 1451927841951-0.png (457.57 KB, 161x200, CatChan.png)

File: 1451927841952-1.png (525.15 KB, 160x200, image_hover.png)

Image hover is default in catalog, you don't have to set anything as long as the script is running correctly.

So, can you see [CC] on right top corner in your catalog? Then script is running, and image will hover when your mouse is on a image.


If you can see option page, the script is running correctly. Then, try >>10247 (OP), it's the easiest way to see. Yeah, option pages are really confusing, therefore I've added 'Easy Setting:'. And I'll make it that you don't have to set anything as long as you'll use it in usual way.

> The gist of this is to allow you to view boards from multiple *chan sites all on one of the *chan sites and get updates from them all or?

Yes, you can see your favorite boards/threads from supported sites in a catalog. Supported sites are lainchan, meguca, 8chan, 4chan and KC now.


File: 1451929886417-0.png (555.18 KB, 160x200, image_hover_in_page.png)

File: 1451929886417-1.png (840.51 KB, 160x200, image_hover_in_page2.png)

File: 1451929886417-2.png (327.25 KB, 161x200, image_hover_in_page3_setting.png)

Or, do you want to hover image in index page? Then here.

1. [CC] -> settings
2. load_default -> Click (infinite scroll)
3. Reload

Then, images will hover in index page.


File: 1451930763576.png (21.81 KB, 134x200, image_hover_setting.png)

Setting of "image hover" is in "Initialization". If you want to use it in index page, you must check on "Embed to native index page". Others are enabled by default. "Easy Setting" will do this.
Native XXX are environment values. These are used to avoid collision with native JavaScript. I believe I set them correctly, so you don't have to modify them.


the notifications are nice but you really need to fix the UI for the settings. i want to take off image hover on catalog and allow it on index for /popular/ and individual boards.

how did you get that page?


File: 1452002079025-0.png (349.78 KB, 160x200, image_hover_off_in_catalog.png)

File: 1452002079025-1.png (330.51 KB, 160x200, how_to_get_popular.png)

> you really need to fix the UI for the settings.
I'll fix it.

> i want to take off image hover on catalog and allow it on index for /popular/ and individual boards.

You can see two "Image hover". Upper one is for catalog, Lower one is for index pages. Pic.1 is for you.
But the script doesn't work in /popular/ now. However, you can get an equivalent view using BoardGroup. For example, write


to BoardGroup and select it, then you'll get it. See Pic.2

Native Javascript is active in /popular/, so I had postponed its support. And now I tested it, but it seems to be difficult to support.
Mixing page function works in all boards other than /popular/, but you must use "precise name" for URL now. This is odd but I needed it because of some conflicts, but it seems to be resolved, so this odd behavior will be removed next release. Anyway, in beta version now,

OK: https://lainchan.org/r/index.html
OK: https://lainchan.org/r/
NG: https://lainchan.org/r

And I found a bug in inline expansion.When a post has multiple files, they don't expand correctly. This will be fixed next release.

> how did you get that page?

Setting window has a selector on its title bar. See Pic.1
[CC] -> settings -> Initialization


Oh, I found I can't save the setting of 'image hover'. I'll fix it. And 'image hover' may be changed to off by default.


File: 1452525283927-0.png (294.88 KB, 200x136, passive_mode.png)

File: 1452525283927-1.png (24.89 KB, 180x200, passive_mode_setting.png)

File: 1452525283928-2.png (489.27 KB, 160x200, meguca.png)

I released an update.

I added several functions.
1. Passive mode. (Pic. 1, 2)
2. Catalog is supported in meguca. (Pic. 3)
3. Bugs are fixed.
4. UIs are tweaked.

I recommend you to try passive mode strongly. It will be default. In passive mode, all physical boards in boardlist are changed to virtual boards, and you can choose which are merged easily.


I released an update.

1. /popular/ is supported.
2. Bugs are fixed.

/popular/ is supported.


File: 1454246301706.png (430.53 KB, 160x200, style_setter.png)

I released an update.

1. Style setter is added.(Pic.)
2. Recovery function is added, which recovers editing message when browser was crashed.


I released an update.

1. Prioritized requests, UI isn't blocked by scan.
2. Fixed bugs in 4chan(UIP tracker and Style)


File: 1460160202574-0.png (23.26 KB, 107x200, use_CatChan_in_index_page.png)

File: 1460160202574-1.png (344.14 KB, 160x200, show_all.png)

CatChan also provides software-based /popular/.

You can get it as follows.
1. Check "Use CatChan in index page" in "Index Page" setting.
2. Check "Generate all boards group" in "Board Group" setting.
3. Reload.
4. Select "ALL" in boards group selector.

Or you can set a boards group manually by adding following line into "Boards Group configuration", see >>13291.

Note: The expander("click to expand") in index page doesn't work for now.


And also CatChan provides software-based /popular/catalog.html.

You can get it by the same manner, see >>15515.
1. Check "Use CatChan in catalog" in "Catalog" setting.(checked by default)
2. Check "Generate all boards group" in "Board Group" setting.
3. Reload if you did 1.(you don't have to do this by default)
4. Select "ALL" in boards group selector.

Or you can set a boards group manually by the same manner, see >>15515

Note: Catalog for all may be heavy.


hey DogMan. I just wanted to say that, even though nobody's replying I really appreciate what you're doing here. thanks for keeping us updated!


File: 1460373593029-0.png (149.26 KB, 200x125, infinite_scroll.png)

File: 1460373593029-1.png (316.74 KB, 160x200, embedded_watcher.png)

CatChan also provides infinite scroll and embedded watcher system. You can get both as follows,

1. CC -> settings -> Click(... infinite scroll.) -> save
2. Reload.

How the embedded watcher works:
1. CatChan reorders threads; threads which have unread replies are the first.
2. CatChan records your watching history. When you open a thread, unread counter of the thread will be cleared and the thread will be reordered. The next thread which have new replies are bumped if there are.
3. Therefore you can read all new replies just viewing the top thread repeatedly.
4. When you close catalog or index page, your history will be stored to the localStorage. The next time you open catalog or index page, the history will be loaded automatically and threads will be reordered as the same manner.

In both catalog or index page you can see information headers like,
"U: 0/2 / R: 41 / I: 7 / P: 0.1"
This means that this thread has 0 unread replies to you, 2 unread replies, 41 replies, 7 images and this thread is the 2nd thread in the 1st page.(Page number starts with "0.0", so "0.1" means 1st page 2nd thread.) When you open the thread by clicking thumbnail in catalog or "[Reply]" in index page, the thread will be opened in new tabs. And the information header in old tab will be changed to "U: 0/0 ...", this means that CatChan records that you see this thread just now and you are assumed to read all posts in the thread. And also the thread might be reordered if there are threads which have unread replies. Therefore you can see all new replies in threads which you once saw. In this system you cannot miss your thread as long as the thread has new replies.

However, I'll provide classic style watcher 1-2 months later.


File: 1460394511942.png (383.64 KB, 160x200, virtualBoarding.png)

There's another way of getting /popular/ or /all/; using virtual board system. This is the heart of CatChan.

1. CC -> settings -> Click(passive) -> Click(...infinite scroll)
2. Save settings if you want.
3. Reload.

4. After 10 seconds delay, all boards in the boardlist on the top are added "#" at the head of each name.
5. You can select/deselect each physical board by clicking them. Threads in each board will appear/disappear instantly. You'll get merged catalog/index pages very easily.
6. You'll also get both infinite scroll and embedded watcher system.

For example, select #cyb and #tech will be /cyb/er/tech/. See pic.

Note: For now, page limit number(7 in pic) is NOT provided to each physical board. In other words, ALL physical boards use the same number. The number is derived from the base board. In the pic I used /tech/ for the base board, so "7" was set automatically. If you use /q/ for the base board, you'll get "3". Therefore you should use bigger board as a base board, or you should set it manually.


I released an update.

Expander("click to expand" or selector) works in this release.


I released a critical bug fix, please update. Updated version is v2016.04.17.1 or v2016.03.13.3.

Bug: If you leave keyword filter active when you close, the script will never work.


File: 1461515508274-0.png (216.67 KB, 200x131, settings.png)

File: 1461515508274-1.png (493.93 KB, 159x200, get_popular.png)

I released an updates.
Lazy html generation was equipped, it gets faster than native /popular/catalog. (>>15518)
Now generating /ALL/ is default in lainchan. (>>15515)

How to set it faster: (Pic.1)
1. CC -> settings -> Click(light start up)
2. Save it if you want.
3. Reload

How to get /popular/: (Pic.2)
1. Go to any catalog or index page, for example, /cyb/.
2. Select 'ALL' in board selector on right top corner.

How to get all posts in recent 24 hours: (Pic.3)
1. Open filter option.
2. Select '1 day ago' in quick selector, then adjacent time field is filled automatically.
3. Check 'watch'
4. Reload.
All threads which have new posts in recent 24 hours show 'U:x/y' in it. This means it has y new posts and x posts for you. All tags which have new posts be lit green, and you can filter them by clicking them.

How to filter threads: (Pic.4)
1. Click tags in boardlist or each thread.
For example, #cyb, #tech and #λis selected in pic.5.


File: 1461515550081-0.png (433.97 KB, 160x200, setting_24hour.png)

File: 1461515550081-1.png (497.85 KB, 160x200, posts_in_24hour.png)

File: 1461515550081-2.png (492.99 KB, 160x200, tags_selected.png)



i get an error from greasemonkey when trying to download this.

"Server returned 404 Not Found"


Thanks. Now I released fixed version and I could download it from greasemonkey. This is a quick patch, you must get it from BETA.(below link)



File: 1463925656386-0.png (540.33 KB, 160x200, ordered_by_speed.png)

File: 1463925656386-1.png (493.66 KB, 160x200, post_rate_chart.png)

File: 1463925656386-2.png (341.65 KB, 161x200, post_rate_overall.png)

I released new update several days ago. You can sort threads by their post rate and reverse orders. And it can show chart of post rate of individual thread if you want to investigate. You can also get post rate chart of boards or domains.

Note: post rate is caliculated as follows: (Date.now - Date.created)/num_of_posts
How to use statistics: https://github.com/DogMan8/CatChan/wiki/Statistics


File: 1468416007277-0.png (482.19 KB, 160x200, search_with_popup.png)

File: 1468416007277-1.png (817.52 KB, 41x200, search_in_index_page.png)

File: 1468416007277-2.png (1.12 MB, 41x200, merged_view.png)

I released new update. Stored posts search was implemented.
Script: https://raw.github.com/Dogman8/CatChan/develop/CatChan.user.js
Setup: https://github.com/DogMan8/CatChan/wiki/Setup
Search: https://github.com/DogMan8/CatChan/wiki/Search

Note: This is an alpha release. Now I'm adding historical control to get 3-10 times faster than now, however, it's fast enough for small chan like here.
For stored search in catalog, (in my environment)
scan all threads in lainchan: 30 seconds, 26MB.
incremental scan: <1s, responsive.


I released new update. Historical lazy control was implemented in stored posts search. Response of incremental search was very improved, now you can search words from all posts in 4chan without stress, but you must store all of them in advance.
Script: https://raw.github.com/Dogman8/CatChan/develop/CatChan.user.js
Setup: https://github.com/DogMan8/CatChan/wiki/Setup
Search: https://github.com/DogMan8/CatChan/wiki/Search

scan all threads in 4chan: it takes 20min, 440MB.
incremental scan for 1st page: ~1s


File: 1471967138208.png (14.72 KB, 200x126, add_boards.png)

Board list was changed. You can add /sec/ and /cult as follows:
1. [CC] -> settings -> Command Line Interfase
2. paste this (JSON format for boards_json, the boards are at the last part of array)
3. Click JSON
4. Reload

Then #sec and #cult will appear, and /ALL/ in boards selector contains /sec/ and /cult/. You can modify this if you want to add/remove other boards. And also you can query them as follows:
1. [CC] -> settings -> Command Line Interfase (the same as above)
2. paste this
3. click query.
4. modify them.
5. click JSON. The result "OK" or "ERROR" will be shown.


I released new update. Meguca v2 is supprted partially. You can view meguca from lainchan.

Script: https://raw.github.com/Dogman8/CatChan/develop/CatChan.user.js
Setup: https://github.com/DogMan8/CatChan/wiki/Setup
Thread in meguca: https://meguca.org/g/1802324


The last update contains partial functions of acquisition of deleted posts. I don't recommend you to use it because it was under implementation and it may cause severe inconsistency which you must use developer tool to fix, but you can try them with test_mode 64+67. You might be forced to delete all contents of localStorage and IndexedDB at the worst case. And also you may be required to set test_mode 65, because I just tested them all together(64+65+67); I haven't tested 64+67 without 65. But I know that test_mode 65 had so many inconsistencies, so 64+67 will be safer. Or wait 1-2 weeks, then I'll release next update. (Test_mode 64 is for handling deleted posts, 65 is for storing posts into IndexedDB, 67 is for acquisition.)

1. Auto acquisition of deleted posts to localStorage when you are online.
2. Showing number of deleted posts in catalog.
3. Showing a popup of deleted posts in catalog.
4. Showing deleted posts inline in page index view.
(5. Showing deleted posts inline in thread.)
(6. Auto acquisition of deleted posts to localStorage during offline; check the difference between now and the last time when you were online.)
(7. Showing a popup over anchors in deleted posts)

You can use 1-4 in last released version with test_mode 64+67. 5 will be available in next release. 6-7 will be implemented later.
If you have any good idea, post it here.

> When we discussed the idea last we considered a page via which all non-CP deleted posts could be seen instead. >>>/q/12189

I may be able to generate a page which only contains deleted posts, but that's all. However we can see CP posts easily, so it will be an alternative for this.


File: 1479003276297-0.png (25.17 KB, 113x200, test_mode.png)

File: 1479003276297-1.png (4.59 MB, 21x200, sample_archive_4chan_DPT.png)

I released new update which contains Archiver/Delayed Pruning.
Script: https://raw.github.com/Dogman8/CatChan/develop/CatChan.user.js
Setup: https://github.com/DogMan8/CatChan/wiki/Setup
Usage of Archiving Function: https://github.com/DogMan8/CatChan/wiki/Archiver

However, it's still under alpha and it has so much limitations, see below notes. I'll implement one by one. If you have any request, especially about priority, post it here or meguca.
And you may know, I'm in a trouble with admin/mods. (Refer >>>/q/12145 and later if you want to know its detail) I may be banned permanently, so I'll leave here sooner or later. I'll post updates most of all every weekend for 1-2 months, but if you want to check my heart beat, see GitHub or thread in meguca. And also I accept your requests in meguca since you may be banned if you post it here.

GitHub: https://github.com/DogMan8/CatChan
Meguca: https://meguca.org/g/1802324


1. You must turn on test_mode 64+65+67. They are opt-in now.
2. You may be required test_mode 78 also. Try this if you encounter errors from IndexedDB in your console. It is a patch for "a bug in chrome 50", though"a bug" is just a guess from me. It may be fixed later version of browser, or it may be my mistakes of usage of IndexedDB. I use vista to develop, so I haven't tested it on newer version.
3. Functions of IndexedDB are really experimental now, I'm debugging it. If you want to archive them surely, use file. And IndexedDB is a temporal storage by its spec, see GitHub link above.
4. Debugging these functions on FireFox is not yet. Restoring from IndexedDB doesn't work, because I use the function which FireFox doesn't have. Other functions may work.
5. Standalone mode is not yet. You must open some chan to open archive, and threads from archive will be merged with them.
6. UI may be changed.
7. You must use "refresh" of CatChan instead of "reload" of browser to detect deleted posts. This is a greasemonkey script, in which all data will be lost at reload. Detection function is quite clear, it compares data of "last updated" and "new updates" and assumes lost posts to be deleted. Hence it requires both of them. A reload deletes "last updated", so you can't find any deleted posts from "reload". I'll implement a function of remedy for this, but I recommend you to use "refresh", because "refresh" is cheaper than "reload" with the remedy.
8. Therefore you can find all deleted posts between "refresh"s, and they are stored to your localStorage to be able to refer them later, but you don't have all deleted posts if you use "reload". Generally you must use "reload" at first visit, so the script now is NOT guaranteed that you have all deleted posts. Keep this in your mind if you want to use it for audit. I think this is a critical issue, so I'll fix this, but the remedy will be slow function as I mentioned. However, you can grep almost of all deleted posts when you leave your browser on line with auto-refresh. My script has no memory leak, you can leave it for 2 weeks or more without reload.
9. While a browser has a memory leak, although I just tested it on chrome. The more archive file you create, the slower the browser will be. Approx. 5000 downloaded files or something you can nitice this. Then you'll be needed to restart your browser.
10. Inter operability with dollchan's archive will not be implemented. Dollchan tweaks HTML so much, CatChan can't read it. However, CatChan can read your archive of Ctrl+S.
11. Function of IndexedDB has a severe problem of throughput now. While it is not a problem for slow chan like here. Now I got 1/5-1/10 of throughput about IndexedDB compared with usual file, and I have no clue. If you have a sample code of fast implementation of IndexedDB, please let me know its URL. Now the script can make a whole mirror of 4chan/v/ to file with 20% of local PC resource in my environment, so it may be able to make whole 4chan mirror to file, but now it couldn't manage to make a mirror of just 4chan/v/ to IndexedDB.
12. Now implementation of IndexedDB is slow and has long latency. And its functions are all asynchronous, so all unwritten data will be lost if you reload/quit without waiting finish of its task. You can see this from indicator. Details are in GitHub.
13. You can restore threads in your archive as other threads explicitly when you use test_mode 80. This might be helpful for you to understand how CatChan's archive works.
14. Restoring Ctrl+S archive of lainchan may not work, because I forgot to test this.


I just released an update. v2016.11.13.0 had a bug. Use v2016.11.13.1. Sorry. You can download it from the same link.


File: 1479008593024.png (33.7 KB, 138x200, IDB_off.png)

Functions of IDB are really experimental, you might be required to set them off. See pic.


I found a severe problem in functions of IndexedDB... Please set them off. Turning off test_mode 65 may work though I haven't tested yet. Or you should follow above.


I made a quick patch release since a bug of IDB function infects to file function because a list of timestamps is shared. Anyway, you may wait next week....


Sorry, I forgot directions for you.

1. Use v2016.11.13.2. If you use v2016.11.13.1 or v2016.11.13.0 once, see note below.
2. Off all IDB functions. It's too fast to release. Sorry. See >>20129
3. Turn on test_mode 64+65+67. See >>20126
4. For example, if you want to archive whole /art/, write it in 4b. See >>20129. Pic is a example for archiving whole lainchan.
5. If you want to archive original images or webms, turn them on. Right column is for auto archiving.

Then the script will make differential tar files at every refresh. You must extract them in order. Sample cygwin bash script is also in GitHub.
Sample bash script: https://github.com/DogMan8/CatChan/blob/master/archive_extractor.sh

Note for people who used v2016.11.13.1 or v2016.11.13.0 even once with test_mode 65:
These older scripts have a bug of "trying to archive all what you have seen once.". Timestamps of archived threads are logged and will be inherited. The script will archive all threads in the list later. Therefore, it's not a problem when you want to archive all what you've seen. It will be a problem when you want to archive a board, but you saw other boards which you want not to be archived. In this case, the script will try to archive such threads in the list. For this case, quick remedy is turning off 3(Inherit previous archiving list), then script cease to archive them. Fortunately this is off by default, so you can avoid this problem simply using v2016.11.13.2. But your list contains unnecessary threads, and they will be archived if you turn on the 3.
You can leave this and wait all they are pruned, because the script has pruning function about the list. However, you can't be sure whether the list is clean or not forever by this. If you want to clean up your list, you must do it by yourself, there are no GUI for this. And this list is quite important for the script, it is shared by all tabs and it can be resumed by any tabs. Therefore you must turn off CatChan from TamperMonkey console and close all working tabs in advance, then open a tab without CatChan and type F12 to open console, and enter "delete localStorage['CatChan.archived']". Then the list will be cleared.


x > It's too fast to release.
o It's too early for release.

Sorry for my bad English.


I made a quick patch release of stable version. If you are using stable version, update it. It had a bug around cleaner of localStorage. It cleared all of information when you use it without test_mode 67, therefore it couldn't show (You) in your replies or replies to you, and it couldn't recover your draft.
Newest development release has the same bug. The bug will be fixed in next release.


I released new update. Bugs around IDB are fixed, but it's still alpha.

Updates and additions of notes.
2. test_mode 78 may be harmful for throughput. I'm investigating. It can suppresses an error "too early closing connection", but the script will work correctly with the error.
12. The indicator was not shown on catalog in lainchan. This bug was fixed. And I'll add a verificator which verify data and re-fetch lost data if it still exist.
14. Fixed.
15. A bug about cleaning localStorage ( >>20234 ) was fixed.


I released new update. It's still alpha.

Updates of notes.
4. FireFox is supported. I haven't tested stability yet, but it will work.
11. Fixed.

And new thread in meguca. Old thread was pruned.


There is no update on this weekend.


File: 1481455020277.png (27.41 KB, 153x200, fulll_IDB_mode.png)

I released new update. It's beta though several functions are not implemented yet. And this release contains quick patches for meguca v3.
You can find all deleted posts when you use "Full_IDB" mode for deleted posts detection.

Updates of notes.
2. Don't use test_mode 78.
3. Functions of IndexedDB are beta now. It's working.
7. When you use "Full_IDB" mode to detect deleted posts, the script will load "last updated" state from IndexedDB and compare it with state at reload. Therefore detection function works at reload also, and you can find deleted posts while you are offline. The script can restore all posts if you once see them.
8. When you use "Full_IDB" mode, the script guarantee to find all deleted posts if you once see and store them to IndexedDB. The script can't find deleted posts if both their makings and deletions were done during offline.
12. Re-restore function was implemented. When you lost posts, the posts will be retrieved and stored at next time if they are alive.

Full_IDB mode can restore all deleted posts if you once see them and STORED; you must store the post once at least. However, CatChan is off by default in thread mode, so when you want to restore all posts which you SEE once if they are deleted, you must turn on CatChan in thread mode. Or you must wait/invoke refresh in catalog or indexed page with CatChan active.
Now I have 238 deleted posts in 84 threads. If you want to ask them, post it here or meguca. https://meguca.org/g/1841607


There is no update on this weekend.



I released an update. Test modes were changed to opt-out. DON'T USE TEST_MODE64,65,67. YOU MUST UNCHECK THEM IF YOU USE THE FUNCTIONS.

Notes: (Rewritten)
2. Don't use test_mode78.
3. Fixed.
4. Fixed.
5. Standalone mode may be added in the future. Now you must open some chan to open archive, and threads from archive will be merged with them.
6. UI may be changed.
7. When you use "Full_IDB" mode to detect deleted posts, the script finds deletions during both offline and online. When you use "Full" mode, the script finds deletion only in online.
8. When you use "Full_IDB" mode, the script guarantee to find all deleted posts if you once see and store them to IndexedDB. The script can't find deleted posts if both their makings and deletions were done during offline.
9. You may have to reboot your browser when you make archives to files because the chrome has memory leaks. It starts to be slow about over 5000 download files.
10. Inter operability with dollchan's archive will not be implemented. Dollchan tweaks HTML so much, CatChan can't read it. However, CatChan can read your archive of Ctrl+S.
11. Fixed.
12. Fixed.
13. You can restore threads in your archive as other threads explicitly when you use test_mode 80. This might be helpful for you to understand how CatChan's archive works.
14. Fixed.
15. Fixed.

As I stated, I'll leave here. No update release will be made here. I look down the appleman, λx.x and all other mods here, see >>>/q/12145 and later if you want to know details. But I respect USERS, so I'll accept requests from users. Visit meguca if you want to contact with me. And you can catch updates in GitHub also.