Commit Graph

491 Commits

Author SHA1 Message Date
e02050013d
Fix a number of data races in the memory backend 2018-08-28 21:15:22 +02:00
fa61569e56
Add Access-Control-Allow-Origin header to all requests
All checks were successful
the build was successful
2018-08-27 22:54:39 +02:00
4693b95f77
Move OPTIONS response higher up
All checks were successful
the build was successful
2018-08-26 18:54:45 +02:00
a4416164cd
Add Access-Control-Allow-Origin and friends
All checks were successful
the build was successful
2018-08-26 18:50:11 +02:00
67c27a6139
Remove cloud profiler 2018-08-26 18:50:00 +02:00
407d4fb155
Fix error in micropub input
All checks were successful
the build was successful
2018-08-19 20:11:24 +02:00
64730b0e50
Cleanup summary, and use h-feed author
Some checks failed
the build failed
2018-08-19 17:00:09 +02:00
118b072f38
Simplify matching of inclusion/exclusion regex
All checks were successful
the build was successful
2018-08-18 20:57:43 +02:00
8360c178c7
Also look at referenced items for included text 2018-08-18 20:50:10 +02:00
99edcd6d40
Improve usage text
All checks were successful
the build was successful
2018-08-18 12:09:35 +02:00
c10bf83c41
Add -verbose option to enable logging
All checks were successful
the build was successful
2018-08-18 11:58:57 +02:00
03c7375064
Update channels count with new items for include matching
All checks were successful
the build was successful
2018-08-15 20:08:03 +02:00
3addbb50de
Simplify markasread function
All checks were successful
the build was successful
2018-08-15 19:04:44 +02:00
507aff683e
Use gomodule version of redis library 2018-08-15 19:04:15 +02:00
c678fc67da
Add missing deferred body Close calls 2018-08-15 19:03:45 +02:00
d4b51a6ad7
include: check for text and html content
All checks were successful
the build was successful
2018-08-11 20:45:25 +02:00
41c079b871
Add more debug logging for WebSub
All checks were successful
the build was successful
2018-08-05 21:02:10 +02:00
d89dac6159
Check exclude regex on HTML as well 2018-08-05 21:01:55 +02:00
fddea5e39b
jf2test - add testing program for JF2 output
All checks were successful
the build was successful
2018-08-05 13:57:42 +02:00
1cb3e21e7c
Move fetching code to fetch package 2018-08-05 13:45:12 +02:00
573816d75f
Move jf2 to own package, start cleanup of fetch 2018-08-05 12:15:59 +02:00
27f1187399
Add a few more tests for simplification
All checks were successful
the build was successful
2018-08-05 11:09:21 +02:00
64390e1965
Add tests for simplification functionality
All checks were successful
the build was successful
Signed-off-by: Peter Stuifzand <peter@stuifzand.eu>
2018-08-05 11:02:07 +02:00
66489b6de7 Move jsonfeed to it's own package
All checks were successful
the build was successful
- Also implement hubs for jsonfeed
2018-08-04 22:43:57 +02:00
c1f2b7a5a7 Add missing license matters
All checks were successful
the build was successful
2018-07-28 18:03:21 +02:00
af3e90c964 Move from github.com/pstuifzand to p83.nl/go/ekster
All checks were successful
the build was successful
2018-07-28 17:52:59 +02:00
55ef797f68 Try to not escape HTML in timeline response 2018-07-28 13:42:32 +02:00
67fd816e3f Fix memory leak
Close resp.Body in the main Fetch function. When the resp.Body is not
closed, it will keep all HTTP responses in memory and that amount will
grow, quite fast.
2018-07-28 10:07:07 +02:00
e79b883faa Remove unused caching structs 2018-07-26 19:50:08 +02:00
0d3e2638c1 Add profiler for microsub server 2018-07-26 19:49:55 +02:00
e4a26e7c96 Don't fully reset session with using /auth 2018-07-25 14:58:42 +02:00
14a1edee57 Log the session after verification 2018-07-25 14:55:36 +02:00
4078559a89 Create a session when starting at auth 2018-07-25 14:52:13 +02:00
d9bdf78fd2 Remember NextURI when logging in 2018-07-25 14:27:23 +02:00
1cea51d5d5 Use logo property for Icon 2018-07-25 13:54:55 +02:00
0429821c08 Check error getAppInfo 2018-07-25 13:52:13 +02:00
dae386ef87 Remove some logging and useless comment 2018-07-25 13:51:59 +02:00
06a8df3bb8 Check if grant_type is used in token_endpoint 2018-07-25 13:51:00 +02:00
de9e27cac4 Show app info when logging in 2018-07-25 13:50:25 +02:00
09d2a72b33 Use channel adder with matchers 2018-07-16 22:38:21 +02:00
aa22931786 Fix actual include code 2018-07-16 22:34:25 +02:00
f2d9d450d0 Remember include_regex 2018-07-16 22:26:04 +02:00
023209c5d5 Add matching of includeRegex 2018-07-16 22:24:50 +02:00
09e5a81227 Add testing of ExcludeRegex 2018-07-16 22:16:12 +02:00
acf0721ba5 Add some settings 2018-07-16 22:05:28 +02:00
633cfabbfd Remove unused init() function 2018-07-16 21:36:11 +02:00
f3da9da58d Clean up url generation and callback 2018-07-16 21:05:52 +02:00
c3d8fb2802 Add type to item 2018-07-15 00:21:30 +02:00
3d03a17f42 Set ok = true in formencoded item 2018-07-15 00:16:57 +02:00
6426b31c0b Add application/x-www-form-urlencoded to micropub endpoint 2018-07-15 00:12:05 +02:00
9a6ecac4d8 Get channel name from "token" 2018-07-15 00:07:44 +02:00
f76979298d Adding missing return 2018-07-15 00:04:19 +02:00
6517a38fc1 Add content-type header to token response 2018-07-15 00:02:33 +02:00
95ee593dd8 Implement Indieauth for channels 2018-07-15 00:01:00 +02:00
89201c0178 Start of logging in with Indieauth on Micropub 2018-07-14 17:29:06 +02:00
e491a61dae Use internal API to get channel/feed info 2018-07-14 15:11:57 +02:00
7156920798 Improve settings page, add logs page 2018-07-14 15:04:24 +02:00
330d4d70e5 Check if the user is logged in 2018-07-14 14:48:57 +02:00
4000e2b441 Add information about channels 2018-07-14 14:46:36 +02:00
a69c6c2fde Move mainHandler to own files 2018-07-12 21:20:54 +02:00
d8da433a6d Make ClientID a constant 2018-07-12 21:09:37 +02:00
bc180ca8b3 Better checking for EKSTER_TEMPLATES 2018-07-12 21:04:26 +02:00
4c59931283 Extract session code 2018-07-12 21:00:47 +02:00
0f9752452d Extract template loading 2018-07-12 20:51:47 +02:00
076a0faea3 Create start of settings page 2018-07-11 11:00:06 +02:00
cad14ac461 Fix command for getting list of feeds for WebSub 2018-07-11 10:56:32 +02:00
3f00d820dd Get the right template file 2018-07-09 22:21:25 +02:00
369849a493 Remove templates directory 2018-07-09 22:12:04 +02:00
462ee38b96 Add error checking for template loading and writing 2018-07-09 22:09:45 +02:00
59fcb1fc47 Use env templates 2018-07-09 22:09:11 +02:00
fe88320675 Add templates 2018-07-09 21:59:26 +02:00
8ef9e31446 Improve logging and error handling 2018-07-09 19:12:47 +02:00
a8918e59d0 Try to create better request 2018-07-09 19:01:03 +02:00
24a71a6b43 Add content-type header 2018-07-09 18:51:08 +02:00
5aa2c012cd Add Accept header to request 2018-07-09 18:48:09 +02:00
4df4371256 Print json response body 2018-07-09 18:44:28 +02:00
05d7c498c3 Add logout 2018-07-09 18:37:21 +02:00
93faba100e Save logged in info and show on the homepage 2018-07-09 18:33:04 +02:00
5b30d00838 Check if cookie exists 2018-07-08 14:50:09 +02:00
7b2a591902 Add logging in with Indieauth (alpha) 2018-07-08 14:47:30 +02:00
379be5436d Save unread count 2018-07-08 11:02:10 +02:00
ae0d3d5388 improve logging and error handling 2018-07-08 11:01:56 +02:00
1afb20dd1c ParseForm 2018-07-08 00:15:26 +02:00
e2d7962730 Start running the hubbackend 2018-07-08 00:11:10 +02:00
a39e4b850b Add some logging to indieauth endpoint 2018-07-08 00:09:37 +02:00
1b5c029c7b Start of indieauth for backend 2018-07-08 00:06:03 +02:00
e782709911 Only show url in follow UID command 2018-07-07 23:10:39 +02:00
2c6f421e3e Set resubscribe_at as unix time 2018-07-07 20:51:02 +02:00
55b279f363 Check for error before printing message 2018-07-07 20:27:00 +02:00
97a98bbfed Cleanup subscribing and feeds
Add ID and URLs to feed, so we can easily resubscribe later
2018-07-07 20:14:46 +02:00
e8796eae5a Extract hubbackend.go 2018-07-07 17:59:41 +02:00
471ff2c564 Remember lease_seconds when set 2018-07-07 17:56:28 +02:00
c6902909b1 Extract isHubSignatureValid function 2018-07-07 17:38:39 +02:00
b8ec0f3700 Remember callbackURL to make it easier to resubscribe 2018-07-07 17:30:51 +02:00
c9ca63b7fa Just return error instead of log.Fatal in Feedbin TimelineGet 2018-07-07 17:20:11 +02:00
dfd9b51cc5 Improve count updating when marking as read 2018-07-07 17:14:54 +02:00
f1483f4171 Improve updating the count of items in a channel 2018-07-07 16:59:22 +02:00
6677bd95ab Use errors in protocol
- Rewrite all api's and clients to use the new calls which allows errors
in the responses
2018-07-07 16:40:04 +02:00
bf645f33ef Move microsub to pkg/microsub 2018-07-07 16:03:49 +02:00
6d3eaa020d Cleanup logging of redis item 2018-07-07 14:32:36 +02:00
66321c44a5 Check if item.Content != nil, because it doesn't have to be set 2018-07-05 22:56:31 +02:00
c613e18c7a Fix syntax error 2018-07-05 22:53:29 +02:00
7ed1d17373 Improve logging and handling of items 2018-07-05 22:52:19 +02:00
1a95c882ad Add Published time when it is not set 2018-07-05 22:03:46 +02:00
48080bca77 Try to implement h-feed 2018-07-05 21:57:25 +02:00
2e83a023f5 Import strings package 2018-07-03 23:01:39 +02:00
9625549a5f Indiepaper uses Authorization header for source_id
- Check author for source_id / auth token
2018-07-03 22:59:07 +02:00
b34604607d Also log Headers on micropub 2018-07-03 22:55:01 +02:00
854e5f5e25 Add logging to micropub endpoint 2018-07-03 22:51:31 +02:00
b8c00a22d6 Also support "normal" MF2 requests for micropub 2018-07-03 22:45:13 +02:00
209e7510c1 Create channel information when creating channel 2018-07-03 22:44:53 +02:00
71a9040eba
cli: Only show channels id when a channel is created 2018-06-30 15:57:47 +02:00
7d7d55099e Remove channel from Redis when channels is deleted 2018-06-30 15:52:20 +02:00
9e4c93a389 Only show channels if it exists in the channels list 2018-06-30 15:50:04 +02:00
b7b706368a Don't allow unread count to go below zero 2018-06-30 15:48:05 +02:00
59a784f326 Simplify code for deleting a channel 2018-06-30 15:45:35 +02:00
af7d289656
Simplify first time "backend.json" that's generated from new 2018-06-27 21:56:40 +02:00
899588d73e Clean up presentation of items in command line client 2018-06-27 21:38:52 +02:00
9e7448c53b Extract clientID to command line client 2018-06-27 21:05:25 +02:00
d62afd7738 Extract scope to command line client 2018-06-27 21:04:19 +02:00
bdc84895f5 Add missing documentation for "connect" command 2018-06-25 21:28:51 +02:00
ddd850db4d Move websub to own package
- Move websub own package
- Add flag to disable auth (by default enabled)
- Process feed directly when following
2018-05-23 21:53:00 +02:00
3b808da62a Get external url from environment 2018-05-23 21:04:47 +02:00
5054b663c6 Add author information to rss/atom feeds 2018-05-22 21:15:40 +02:00
88f055ded7 Simple start with settings/main page 2018-05-22 21:15:25 +02:00
fe8a7b675f Also fetch application/xml is rss/atom feed 2018-05-22 21:12:00 +02:00
799bd08253 Move microsubHandler to microsub.go 2018-05-22 20:29:07 +02:00
00b041b981 Indent backend.json to make it easier to update 2018-05-16 21:38:47 +02:00
f73f26ea09 Add logging messages 2018-05-16 21:25:44 +02:00
7199652e4a Add TokenEndpoint to backend.json
- The tokenEndpoint provided here will be used to check the authenticity
  of the token
2018-05-16 21:21:00 +02:00
d28f0d85c2 Make "Me" configurable in backend.json 2018-05-16 19:41:05 +02:00
ff0e969d8f Load config files from users config dir 2018-05-16 17:34:40 +02:00
a43c987a9a Remove mention code
Should be readded more generally, so we can add posts mentioning some
regex to a channel
2018-05-16 17:30:59 +02:00
b177dfd82e Remove google cloud profiler 2018-05-16 17:29:40 +02:00
26c8295193 Rename microsub-server --> ekster
- Server is called eksterd
- Client is called ek
2018-05-16 17:24:26 +02:00
da53190a97 Improve logging on client calls 2018-05-13 19:38:46 +02:00
28e5f4d7be Add uid to channel message 2018-05-13 19:38:27 +02:00
0a6841d9b9 cli: align items in channels output 2018-05-12 18:56:30 +02:00
22f47cde40 cli: add help text 2018-05-12 18:36:59 +02:00
845e2ce43e Remove program from args to simplify command parsing 2018-05-12 18:25:59 +02:00
fa35d331ec If text format is not available show HTML 2018-05-12 15:19:11 +02:00
57bedde9b1 Add Create, Update and Delete 2018-05-12 15:18:58 +02:00
6d57b4e58d Improve display of items 2018-05-12 14:37:51 +02:00
e2b577eef9 Fix order of before and after 2018-05-12 14:37:29 +02:00
ada6c45a0a cli: show items always in the same way 2018-05-12 14:08:40 +02:00
eba2afc746 cli: Add more commands to client 2018-05-12 13:58:01 +02:00
fa969e3602 cli: clieanup and save endpoints and me 2018-05-12 13:41:08 +02:00
3615bdb64d cli: cleanup 2018-05-12 13:20:13 +02:00
9a8ab7e719 cli: extract loadEndpoints 2018-05-12 13:16:15 +02:00
8edcde3471 cli: extract loadAuth 2018-05-12 13:11:13 +02:00
c84e139903 Add Microsub CLI client 2018-05-12 13:08:36 +02:00
798c5c39d6 Fix repost error type conversion 2018-05-06 12:39:54 +02:00
6e89e8d4f7 Add profiling support for cloud.google.com
- Adds dependency on env var GOOGLE_APPLICATION_CREDENTIALS, which
should contain a json file with a service key
2018-05-06 10:43:45 +02:00
e935820387 Add redis caching of http requests and hub subscription 2018-05-03 21:50:16 +02:00
dd4b03c97b Fix for cast 2018-05-03 07:29:51 +02:00
f943507d0d Use right variable for value array 2018-05-03 07:27:31 +02:00
7fe800f0f9 Add in-reply-to to item 2018-05-03 07:26:15 +02:00
2f3c486651 Disable feed loading on start 2018-05-03 07:24:55 +02:00
04e37a8257 Add cast checks around in-reply-to 2018-05-03 07:22:32 +02:00
0155a36a90 Get more information from feeds 2018-05-02 00:13:41 +02:00
f5ed8dbc45 Add simple start of feedbin API proxy 2018-05-01 23:47:43 +02:00
3bff9eb481 Add mentions to the mentions channel 2018-04-26 22:13:13 +02:00
28e8ce6f78 Also match with HTML in Content 2018-04-25 22:46:36 +02:00
58d0179a35 Check if content != nil before matching content 2018-04-25 21:59:41 +02:00
3590bbdb65 Skip items without uid or url 2018-04-25 21:52:04 +02:00
29658eb096 Gather value from microformat instead of full cite 2018-04-25 21:47:52 +02:00
6467d35529 If the item content matches my website, also add it to noficitations 2018-04-25 21:28:08 +02:00
10bce8189b Remove Accept header from Fetch 2018-04-12 20:46:04 +02:00
1185b1f786 Add accept headers 2018-04-11 22:09:53 +02:00
c9c505bda4 Always use fetchURL to get the feed 2018-04-11 22:06:13 +02:00
68a98ee59e Don't leave early 2018-04-11 22:01:44 +02:00
a968380e7a Add logging for found feed info 2018-04-11 21:56:40 +02:00
3574001b40 Improve ID generation of the posts messages 2018-04-11 21:26:38 +02:00
1142f4a1bc Check if author is set 2018-04-11 19:49:49 +02:00
999bc0d456 Improve handling of missing author and content 2018-04-11 18:47:57 +02:00
0a7696ea6b Add type="entry" for RSS and Atom feeds 2018-04-11 18:32:46 +02:00
5da097a91a Remove author when no fields are set 2018-04-11 18:18:54 +02:00
c61fe38718 Keep list of read items and skip adding 2018-04-10 21:14:59 +02:00
fbbcd1d3ea Improve RSS/Atom parsing 2018-04-10 21:02:16 +02:00
ddf7b68807 Content 2018-04-10 20:59:56 +02:00
96696fb240 Improve RSS/Atom handling of html and text 2018-04-10 20:51:51 +02:00
0ef60c5a4c Update channel count when markin items read 2018-04-10 20:44:47 +02:00
fc4400a3c8 Use unread count for channels 2018-04-10 20:35:16 +02:00
e24c01e781 Remove read items from list 2018-04-10 20:30:24 +02:00
ac2e238e0a Removed read check 2018-04-09 23:34:08 +02:00
56ab0912e9 Use Form for mark read 2018-04-09 22:57:48 +02:00
a9530db9b2 Fix beforeScore 2018-04-09 22:44:33 +02:00
97f2fc8323 Leave "after" and "before" when all items are gotten 2018-04-09 22:38:18 +02:00
072af93608 Make "after" and "before" exclusive when set 2018-04-09 22:24:28 +02:00
6ae8062dc6 First try at paging with ZSETS 2018-04-09 21:52:55 +02:00
eeeb9f3b3f Improve use of redis 2018-04-09 19:20:32 +02:00
2818576e2e Improve JSON feed parsing 2018-04-08 21:07:51 +02:00
fa877ef89b Use array for photo 2018-04-08 20:47:43 +02:00
24c6cb0672 Add image from jsonfeed 2018-04-08 20:46:01 +02:00
d1afcd121e Support people mentions somewhat 2018-04-08 20:41:56 +02:00
82345fd421 Check type of card properties 2018-04-08 20:35:18 +02:00
1b6d89f4fd like-of and friends can be full items 2018-04-08 20:31:25 +02:00
9c7d11cb68 Improve handling of authors and checkins 2018-04-08 20:23:00 +02:00
04841aa652 Can't use hash to sort by, use normal keys instead 2018-04-08 19:05:34 +02:00
a5683dd0cc Fix sort order of channels 2018-04-08 16:55:16 +02:00
a2cd294b80 Use boolean unread 2018-04-08 16:22:59 +02:00
faa685e291 Add micropub saving entry to channel from outside 2018-04-08 16:10:55 +02:00
9afebc65cc Refresh feeds every hour instead 10 minutes 2018-04-08 15:32:24 +02:00
f4a8bb7171 Use URL as ID in RSS of ID is not set 2018-04-08 15:30:57 +02:00
8302ecf3ce Gather more information from the right feed, check content-type 2018-04-08 13:19:04 +02:00
287bb3c3ed Add feedheader parsing and show title and icon 2018-04-08 11:44:57 +02:00
ee2eb32b1c Add caching for Fetch2 2018-04-08 11:44:41 +02:00
5e80ddddca If author photo is missing, use icon instead 2018-04-08 10:47:46 +02:00
ce169ec397 Improve JSON feed handling (add author) 2018-04-08 10:43:06 +02:00
cf5b84fd19 Better formatted date 2018-04-08 02:04:38 +02:00
2f7ca6a9b8 Fix null backend 2018-04-08 01:48:20 +02:00
49598a2af1 Add unread and don'r show read 2018-04-08 01:45:56 +02:00
4a6fb2cb07 Improve logging 2018-04-08 01:26:51 +02:00
020c31ad12 Rewrite Preview so it uses the new functions 2018-04-08 01:11:40 +02:00
110861a91f Reset read attribute for items 2018-04-08 00:14:15 +02:00
3fd42d7823 Fix syntax error 2018-04-08 00:06:37 +02:00
582c1d6cad Add read checking to items 2018-04-08 00:06:20 +02:00
551d9f233a Add more logging to incoming handler 2018-04-08 00:02:46 +02:00
42a73d6ccd Implement updating content from websub hub 2018-04-07 23:41:16 +02:00
fc179be0b5 Encode ids as hex 2018-04-07 21:43:43 +02:00
7080e28c65 Fix text of feed items 2018-04-07 21:28:24 +02:00
a99048c9ab Also parse text/xml 2018-04-07 21:21:21 +02:00
b8034af2aa Disable array microformats 2018-04-07 21:10:32 +02:00
d9111a6d05 Fix category #2 2018-04-07 21:07:00 +02:00
a42aaeca32 Fix categories 2018-04-07 21:05:40 +02:00
e850e7f923 Lone category 2018-04-07 21:04:29 +02:00
75c9dfd4f6 Load all urls when starting 2018-04-07 21:01:21 +02:00
925e914d01 Also Fetch JSON feed, RSS, and Atom 2018-04-07 20:50:07 +02:00
cf5d4c0a49 Move adding to channel to own function 2018-04-07 20:12:57 +02:00
5cab70b694 Decrease time between fetches to 10 minutes 2018-04-07 20:06:11 +02:00
42cee3c9a4 Run fetch every hour 2018-04-07 20:00:48 +02:00
7baf3a9ce5 Sort ascending 2018-04-07 16:40:29 +02:00
6477288fee Save feeds to redis and return the feeds from redis 2018-04-07 16:36:27 +02:00
0e0dd4caa7 Add more ways to find urls for queries 2018-04-07 15:49:01 +02:00
44f10dc8f2 Add more information to the post 2018-04-07 15:07:04 +02:00
9399dc3435 Change type of _is_read to bool 2018-04-07 02:22:05 +02:00
e3ee21a4cf Fix naming of _is_read attribute 2018-04-07 02:19:13 +02:00
d374cd15d6 Add _id and _read for mark_as_read handling 2018-04-07 02:08:31 +02:00
cbd6e7dd84 Add "updated" field to item export 2018-04-07 01:58:03 +02:00
e4540ab2b3 Also copy author over 2018-04-07 01:56:17 +02:00
18f270c42c Simplify handling of items 2018-04-07 01:47:33 +02:00
f3036526bb Use items for instead of maps 2018-04-07 01:27:27 +02:00
a189b9eade Use Post Form 2018-03-31 00:40:04 +02:00
2d47da5ddc Send arguments form variables 2018-03-31 00:33:35 +02:00
202bcaab3f Improve logging 2018-03-31 00:26:45 +02:00
2a26177fb5 Use POST to subscribe 2018-03-31 00:20:26 +02:00
537d7f4009 Add some logging to microsub 2018-03-31 00:15:07 +02:00
63556bd9c7 Add subscription to WebSub server 2018-03-31 00:03:01 +02:00
912e1322da Use a real reverse function 2018-03-29 18:22:05 +02:00
6756527f31 Use Reverse and StableSort to sort items 2018-03-29 17:50:57 +02:00