• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

doc/H02-Oct-2018-518449

docker/H03-May-2022-7134

htdocs/H03-May-2022-214,916147,231

.dockerignoreH A D02-Oct-20186 21

.gitignoreH A D02-Oct-2018124 76

AUTHORS.mdH A D02-Oct-20185.7 KiB7069

CC0H A D02-Oct-20186.8 KiB119108

DockerfileH A D02-Oct-2018781 2417

README.mdH A D02-Oct-201810.6 KiB320232

docker-compose.ymlH A D02-Oct-2018569 3024

README.md

1Stikked is an Open-Source PHP Pastebin, with the aim of keeping a simple and easy to use user interface.
2
3Stikked allows you to easily share code with anyone you wish. Based on the [original Stikked](http://code.google.com/p/stikked/) with lots of bugfixes and improvements.
4
5Here are some features:
6
7* Easy setup
8* Syntax highlighting for many languages, including live syntax highlighting with CodeMirror
9* Paste replies
10* Diff view between the original paste and the reply
11* An API
12* Search pastes
13* Trending pastes
14* Encrypted pastes
15* Burn on reading
16* Anti-Spam features
17* Themes support
18* Multilanguage support
19* Stikked client with support for client side encryption/decryption: [gostikkit](https://github.com/tcolgate/gostikkit)
20* Another CLI tool requiring only curl program: [pbin](https://github.com/glensc/pbin)
21* And many more. View [this review](http://maketecheasier.com/run-your-own-pastebin-with-stikked/2013/01/11)
22
23
24Try it out
25----------
26
27https://paste.scratchbook.ch/
28
29See an encrypted paste: https://paste.scratchbook.ch/view/1427473f#iP7p05DRH0BC72qQjxv01BjUeOmNV073
30
31
32Prerequisites
33-------------
34
35* A web server: Apache, Lighttpd, Nginx, Cherokee.
36* A database: MySQL, Postgres. OR a writable folder on your filesystem for SQLite.
37* PHP version 5.6 or newer is recommended.
38* PHP-GD for the creation of QR-codes.
39
40
41Installation
42------------
43
441. Download stikked from https://github.com/claudehohl/Stikked/tags
452. Create a user and database for Stikked
463. Copy application/config/stikked.php.dist to application/config/stikked.php
474. Edit configuration settings in application/config/stikked.php - everything is described there
485. You're done!
49
50* The database structure will be created automatically if it doesn't exist.
51* No special file permissions are needed by default. Optional: If you want to have the JavaScript- and CSS-files minified, the static/asset/ folder has to be writable.
52* To ensure that pastes with an expiration set get cleaned up, define the cron key in the config and set up a cronjob, for example:
53  * `*/5 * * * * curl --silent http://yoursite.com/cron/[key]`
54* If you encounter errors with stylesheets and paths, make sure your base_url config value is not empty (see [here](http://www.codeigniter.com/user_guide/installation/upgrade_303.html)).
55* Be sure to also copy the .htaccess file when you move files around. This is a hidden file and easily overlooked.
56
57
58How to run it in Docker
59-----------------------
60
61    sudo docker build -t stikked .
62    sudo docker-compose up -d
63
64This automatically creates a database with passwords that are configurable in the docker-compose.yml file.
65
66NOTE: This sets the captcha to false and requires port 80 to be accessible on the host machine. Also, a host entry of 127.0.0.1 stikked.local will fix the base_url issues.
67
68
69Documentation
70-------------
71
72In the folder doc/, you will find:
73
74* Webserver example configurations for Apache, Nginx, Lighttpd, Cherokee
75* A troubleshooting guide
76* How to create your own theme
77* How to translate Stikked into your language
78* How to contribute and improve Stikked
79
80
81Changelog
82---------
83
84### Version 0.13.0:
85
86* Updated CodeIgniter to 3.1.9
87* Various improvements in the Docker setup
88* An automated Docker-build: https://hub.docker.com/r/claudehohl/stikked/
89* Reverted the "intelligent language switcher" back to a fixed language setting because of too many side-effects
90* Fixed encodings and decryption functionality in various themes
91* Various bugfixes and improvements
92
93#### Upgrade instructions
94
95Copy your htdocs/application/stikked.php config file away. Upload the new version. Copy it back.
96
97The language setting in config/stikked.php is back, you can set a fixed language:
98
99```php
100$config['language'] = 'english';
101```
102
103New config option: Content expiration. \
104Sets the "Expires:"-header to make use of browser-caching \
105Format: http://php.net/manual/en/function.strtotime.php \
106Examples: '+10 seconds', '+1 year', '-1 week' \
107Browser-caching is disabled when this option is not set.
108
109```php
110$config['content_expiration'] = '+1 week';
111```
112
113### Version 0.12.0:
114
115* Updates ensuring the compatibility with PHP7:
116  * Updated CodeIgniter to 3.1.5
117  * Updated GeSHi to 1.0.9.0
118* Ability to run Stikked in Docker
119* Small security fixes regarding XSS and LDAP
120* Various bugfixes and improvements
121
122#### Upgrade instructions
123
124Copy your htdocs/application/stikked.php config file away. Upload the new version. Copy it back.
125
126If you want to keep QR codes being displayed, add the following line in config/stikked.php:
127
128```php
129$config['qr_enabled'] = true;
130```
131
132### Version 0.11.0:
133
134* Upgrade to CodeIgniter 3.1.0
135* Added ACE editor
136* Ability to select JS editor (CodeMirror, ACE or none)
137* Insert paste text via drag & drop
138* BBCode support
139* Improved Spamadmin; ability to delete single and multiple pastes at once
140* Soft api key
141* Lots of bugfixes and improvements
142
143#### Upgrade instructions
144
145Copy your htdocs/application/stikked.php config file away. Upload the new version. Copy it back.
146
147Add and set the base_url in htdocs/application/config/stikked.php
148
149### Version 0.10.0:
150
151* Upgrade to CodeIgniter 3.0.1 and with it, lots of improvements:
152  * SQLite support (yay!)
153  * Lots of "Error 500" and blank screens fixed
154* New theme: i386
155* New translations: Lithuanian, Danish, Polish
156* Automatic language detection
157* Support for the new ReCaptcha API
158* Support for Goo.gl and Bit.ly URL shorteners
159* Display expiration time if set
160* XSS fixes
161* Word wrap for looong words in paste display
162* And many more
163
164#### Upgrade instructions
165
166Copy your htdocs/application/stikked.php config file away. Upload the new version.
167
168Append the $config['expires'] part at the bottom of application/config/stikked.php.dist to your config.
169
170Copy it back.
171
172### Version 0.9.0:
173
174* New translations: Japanese, Chinese-Simplified, Chinese-Traditional, Russian
175* New themes: Stikkedizr, Cleanwhite
176* Display QR code in paste
177* Multiline highlighter
178* Encrypted pastes (yeah!) - see it in action: http://paste.scratchbook.ch/view/1427473f#iP7p05DRH0BC72qQjxv01BjUeOmNV073
179* Added "burn on reading" as expiration
180* Search function - search in recent and trending pastes
181* Added mockingjay to word list for unknown posters - let the revolution begin!
182* Bugfixes and improvements
183
184#### Upgrade instructions
185
186Copy your htdocs/application/stikked.php config file away. Upload the new version. Copy it back.
187
188### Version 0.8.6:
189
190* New translations: Portuguese, Norwegian, Turkish, French
191* New theme: Snowkat
192* YOURLS support (http://yourls.org/)
193* There is now a stikked.php.dist. You may copy that to config.php and have your own settings
194* The API has more possibilities, see API doc
195* Captcha must be entered only once, no more for further pastes
196* Bugfixes and improvements
197
198#### Upgrade instructions
199
200Copy your htdocs/application/stikked.php config file away. Upload the new version. Copy it back.
201
202### Version 0.8.5:
203
204* Themes! Configure a different theme in config/stikked.php - or create your own
205* Multilanguage support. Configure a different language in config/stikked.php
206* Diff view for paste replies! View differences between the original paste and its reply
207 * see it in action: http://paste.scratchbook.ch/view/de81a093/diff
208* Possibility to set default expiration time
209* Updated GeSHi to version 1.0.8.11
210* Updated CodeMirror to version 3.11
211* Lots of minor fixes and improvements
212* Added guides for troubleshooting, development, translation and creating themes
213* Added webserver example configurations
214* Added reCaptcha integration for better antispam
215
216#### Upgrade instructions
217
218The following lines must be present config/stikked.php
219
220```php
221$config['theme'] = 'default';
222```
223
224You can choose between default, bootstrap, gabdark, gabdark3 and a fancy geocities theme ;)
225
226Create you own theme. See doc/CREATING_THEMES.md
227
228```php
229$config['language'] = 'english';
230```
231
232You can choose between english, german and swissgerman ;)
233
234Help translating Stikked into your language! See doc/TRANSLATING_STIKKED.md
235
236##### reCaptcha
237
238```php
239$config['recaptcha_publickey'] = '';
240$config['recaptcha_privatekey'] = '';
241```
242
243If these lines are filled, reCaptcha will be used.
244Get a key from https://www.google.com/recaptcha/admin/create
245
246### Version 0.8.4:
247
248* Trending pastes: http://paste.scratchbook.ch/trends
249* LDAP authentication (thanks to Daniel, https://github.com/lightswitch05)
250* Blocked words; maintain a comma separated list in your config, e.g. '.es.tl, mycraft.com, yourbadword' - pastes with this words will never get pasted
251* Spam trap for bots
252* Bugfix: Remove\_invisible\_characters removing legitimate paste content (https://github.com/claudehohl/Stikked/issues/28)
253* Possibility to manually set the paste's displayed URL (used with mod\_rewrite configurations)
254* Print layout for pastes
255* Updated to CodeIgniter version 2.1.3
256
257### Version 0.8.3:
258
259* From now on, IPs get logged in the DB
260* Added spamadmin:
261  * Enter credentials in config/stikked.php
262  * Visit /spamadmin, login
263  * Click on an IP to list all pastes belonging to it
264  * You can remove all the pastes listed, and optionally block the IP range
265* Updated to CodeIgniter version 2.1.2
266
267### Version 0.8.2:
268
269* Database optimizations: Pastes use less space (if you upgrade from a previous version, execute this SQL statement: "ALTER TABLE pastes DROP paste;"
270* Anti spam features:
271  * Option to disable recent pastes
272  * Option to require the user to enter a captcha
273
274### Version 0.8.1:
275
276* Cleaner options
277* Valid RSS feed
278* Simpler API response (non-JSON)
279* Favicon
280* gw.gd URL shortener (replaces bit.ly)
281* Minor fixes
282
283### Version 0.8:
284
285* Added backup function (yoursite.com/backup; set credentials in stikked.php config)
286* Added pagination to the replies table
287* Added RSS-Feeds to recent pastes and paste replies
288* Embeddable pastes
289* GeSHi updated to version 1.0.8.10
290* Codemirror turned off by default
291* Codemirror: Syntax changes dynamically with selection in language dropdown
292
293### Version 0.7:
294
295* An API (see http://paste.scratchbook.ch/api)
296* Integration of Codemirror (http://codemirror.net)
297
298### Version 0.6:
299
300* The language-selection was broken; the dropdown now features all the languages that GeSHi supports
301* Updated to CodeIgniter version 2.1.0
302* Creation of bit.ly-URLs (instead of snipurl)
303* Fixed download link
304* Paste downloads as a .txt file
305* No need to have PHP short tags enabled
306* Automatic creation of all necessary MySQL tables
307* Raw-mode is now like the raw-mode on pastebin.com
308* Minification and concatenation of CSS and JavaScript files (can be turned on/off)
309* Breached the license by removing the nasty copyright footer
310
311### Version 0.5:
312
313* Paste Replies
314* Fluid width pastes
315* Auto copying paste url to clipboard.
316* Paste expiration.
317* Fully standards compliant css and xhtml.
318* Random generating names for anonymous users
319* Paste downloading
320