||7 days ago|
|.vscode||4 months ago|
|chrome||7 days ago|
|firefox||7 days ago|
|src||7 days ago|
|.eslintignore||4 months ago|
|.eslintrc.cjs||4 months ago|
|.gitignore||7 days ago|
|1449696017588.png||2 weeks ago|
|LICENSE||1 month ago|
|README.md||7 days ago|
|ack.png||4 months ago|
|build-chrome.js||2 weeks ago|
|build-ff.js||1 week ago|
|build.js||4 weeks ago|
|chrome_update.xml||2 weeks ago|
|esbuild.inject.js||4 months ago|
|extheader.js||2 weeks ago|
|eye.png||5 months ago|
|firefox_update.json||7 days ago|
|logo.png||2 weeks ago|
|main.d.ts||1 week ago|
|main.meta.js||1 week ago|
|main.user.js||1 week ago|
|package-lock.json||2 weeks ago|
|package.json||2 weeks ago|
|pngextraembedder-0.228-an+fx.xpi||7 days ago|
|screen.png||5 months ago|
|settings.png||4 months ago|
|spm.png||3 weeks ago|
|tsconfig.json||4 months ago|
Can embed any file in a PNG/WebM/GIF and upload it to a third-party host through 4chan. Requires a userscript manager, such as ViolentMonkey. It should work with 4chan's native extension but 4ChanX is highly recommended as it is much more tested. Also supports desuarchive.
How to Install
Note: 4chanX isn't a hard requirement, just recommended because it's overall a nicer experience. If you don't want to use 4chanX, make sure the native 4chan extension is enabled in your settings.
Teh olde way
- Make sure you're using a decent Webkit-based browser (Chromium derivatives) or Firefox.
- Install ViolentMonkey (it is preferable to TamperMonkey(closed source) and GreaseMonkey(abandonned shit)), use ViolentMonkey Beta if you want to spite the b4k meanie admin (based & redpilled). Be sure to read the trouble shooting section to know how to set this up.
- Install 4chanX (recommended)
- Use the prebuilt main.user.js
The newer way (WIP)
Please report any issue you have with those (only for mainstream browsers)
Also, use this if you plan to use b4k's archive.
- Install 4chanX (recommended)
- Install the correct WebExtension for your Browser (Firefox or Chrome-based)
For FF users, the extension is signed so you can just drag and drop it on your about:addons tab.
Chrom* users can now install directly from the chrome webstore.
- Catbox upload is broken on the published chrome version, so switch to another host in your options (zz.ht)
- A couple anons reported embeds not loading at all, with no clear fix, I'll update this as workarounds until the cause is found and fixed.
- One reported that he had somehow disabled some permissions and turning them back on fixed the issue.
If none of the above works for you, switch back to the userscript version.
How to Build
(You only need to care about this section if you're auditing the code or contributing to development)
npm i and
npm run build to build the userscript version.
npm run build_chrome to build the chromium webextension.
npm run build_ff to build the firefox webextension. (You'll have to do the signing yourself, though)
How to use
Posts with an embedded image/video will have an colored dashed line on their right. Golden means the file is external (ie. a booru), and pink means it was a file embedded in the post file.
In the quick reply form, a magnet icon will appear. Clicking it will allow you to add files to attach to the file that will be uploaded and shown on 4chan. Hovering on the magnet will reveal a pencil icon, that will attach the content of your message box to the file, use it as a way to hide messages.
Your embeds will be attached as you add them after you've selected a file, but can be prepared before selecting your main file.
By default, you can add up to 5 attachments to a file. This limit can be raised, but keep in mind others using the default settings will only see your 5 first files, unless they themselves raised that limit in the settings.
The "thread watcher" allows you to find threads that contain embeds. A lot of the results might be false positives from people posting directly files from boorus, so you can adjust the perceptual hash filter settings to reduce that. Setting it to a very high value ensures results will be exclusively made of direct link embeds.
The "Contribute" checkbox makes your browser report posts with embeds you come accross during your regular browsing to telepee. It is recommended to enable it if you frequently post as it'll make your posts more visible to other extension users.
b4k is a meanie, i disabled lazyloading of thumbnails, heck.
If you want to use b4k, you will get warning prompts. I added a ton of warning screens so it shouldn't happen to you. Switch to the beta and enable this setting. If you're using TamperMonkey, it has something similar called "Instant Injection"
It doesn't work
I can't help if you don't give me any information, see below. As mods are banning any kind of discussion about this extension, please open an issue on this repository. Account creation is quick and requires no email verification.
"I am using [BROWSER] and [USERSCRIPT MANAGER] and when I do [X]..."
That's better. Officially, all developpment is made and tested on latest Chromium with VM. I'm willing to provide support and help for FF and other Chromium-based browsers as long as you use ViolentMonkey and provide as much information as you can: console logs, screenshots, versions...
Open an issue on this repository, you need an account but email verification is disabled.
The slowest machine I have available is an 8GB 2011 Sandy Bridge i5 with a 1660Ti, the only way I can tell something is slow is if you post a performance profile for me to study. (DevTools > Performance > Reload and Start Profiler > Save Profiler).
There are parts where slowness is unavoidable, for example if you have a slow internet connection and enabled preloading (what the h*ck are you doing?).
Even without preloading enabled, PEE still makes many requests at the start of a page as it fetches a small initial chunk of png/webm/gif files to know if something is embedded in there, only progressing further when something is detected. It also does boorus/catbox requests for the corresponding filenames.
Why is it so big
How do I know it's not a botnet???
You're free to audit the code. You don't have to audit the 22000 loc file, you just need to audit the 3000-something lines of typescript code in the
src folder, build it as instructed, and compare it to the one distributed.
But embedding is a bannable offense!!!11
Yeah, well use at your own risk, you double baka.
While it is true PEE used to allow you to embed complete files in your uploads, recent changes to 4chans have made it much less practical (limited to really small files), so it's falling back to linking external content hosted on pomf-clones such as catbox.
Links are much smaller and as some PNG editing software injects their own metadata, 4chan is basically required to allow some little amount of it to go through, lest they inconvenience a lot of their users, so a link-embedding detection method cannot be generalized, meaning they rely on unpaid janny labor to moderate this kind of content.
Just be discreet about it and you won't get into trouble.
/cumg/ threads are still banned despite being tolerated for over a year and the current ones being made not breaking any rule or even daring to thread on a grey line.
Their OPs are wrongfully being banned under the pretense of using proxies/VPNs, or evading bans that didn't exist in the first place.
Third eye filenames are supported. Filename just need to be made of 32 hex characters that correspond to a filename in any of the supported boorus.
- Base64 filenames
- [<host>=<file>] filenames
- [<type>=<URL>] filenames (URL must be one of the supported hosts (catbox, pomf, zzzz...))
- <type> is ignored and is inferred from the file content
By setting an API Key, you can automatically embed random files (prefiltered by your tags) into your uploads. You can also directly search, pick and embed from your Hydrus database from within PEE.
To generate an API Key, first enable the Hydrus Client API:
- Services > Manage Services > Client API
Leave the default port at 45869, enable CORS headers (required), and disable "allow non-local connections" (optional, but better security)
Apply your changes, then:
- Services > Review Services > Local > Client API > Add > Manually
Take note of the Access Key, enable the "Search for files" permission, apply your changes.
Then give this Access key to PEE where it's asked for.