This website requires JavaScript.
91755551ee
Fixed path in logrotate config.
Alexander "Arav" Andreev
2022-06-30 00:26:18 +0400
63c9c2b036
Okay, without dynamically linked libc it gets permission denied error when running bash.
Alexander "Arav" Andreev
2022-06-13 23:24:42 +0400
ebfe0b42b4
Incremented version.
Alexander "Arav" Andreev
2022-06-13 22:33:10 +0400
27599c7e9a
Remove /usr/lib64 from ExecPaths since our executable is purely static now.
Alexander "Arav" Andreev
2022-06-13 22:32:22 +0400
9e4ac0816f
Making executable purely static by removing dependency from cstdlib.
Alexander "Arav" Andreev
2022-06-13 22:31:47 +0400
f8f7294c0d
Removed github.com/Joker/jade from dependencies.
Alexander "Arav" Andreev
2022-06-13 19:08:59 +0400
0532ab5300
Updated version of a program.
Alexander "Arav" Andreev
2022-06-13 18:49:26 +0400
8c76478c20
yaml.v3 package was updated to 3.0.1.
Alexander "Arav" Andreev
2022-06-13 18:48:05 +0400
972e42026d
Added a valid path to a jade compiler and instruction on how to install it.
Alexander "Arav" Andreev
2022-06-13 18:47:27 +0400
a02efc9852
Forgot to remove this temporary workaround. xD
Alexander "Arav" Andreev
2022-06-13 18:44:04 +0400
38dc074e95
Generated code for Index template.
Alexander "Arav" Andreev
2022-06-13 18:40:50 +0400
363a7f822c
Jade's helper library for a generated template.
Alexander "Arav" Andreev
2022-06-13 18:40:29 +0400
5be38c00cf
Removed old template pre-compilation. Added go:generate command to create an index.jade.go file.
Alexander "Arav" Andreev
2022-06-13 18:39:30 +0400
595d7769ec
Template was rewritten to a form that gets pre-compiled into a Go source file. Must help to increase speed drastically.
Alexander "Arav" Andreev
2022-06-13 18:37:50 +0400
b5d8b58b81
Template was replaced with a pre-compiled to a Go source file.
Alexander "Arav" Andreev
2022-06-13 18:35:36 +0400
89429d7fd2
Updated version.
Alexander "Arav" Andreev
2022-05-24 23:45:11 +0400
ed5508cb9a
Added logrotate file un/install to Makefile.
Alexander "Arav" Andreev
2022-05-24 23:42:39 +0400
77f9005ba4
Added logrotate file.
Alexander "Arav" Andreev
2022-05-24 23:40:56 +0400
6dbe154bbc
Added SIGHUP handler for logger file reopening.
Alexander "Arav" Andreev
2022-05-24 23:34:16 +0400
ec06099d89
Added Reopen() method for Logger.
Alexander "Arav" Andreev
2022-05-24 23:33:37 +0400
60dcf2c11c
ModMask replaced wuth ModIgnMask. Now IN_IGNORED being watched, it makes watcher to reinstantiate.
Alexander "Arav" Andreev
2022-05-24 23:20:19 +0400
ef27662de5
ModMask const modified with IN_IGNORED mask and now called ModIgnMask.
Alexander "Arav" Andreev
2022-05-24 23:17:35 +0400
f2fcadd0c5
Removed not used NotFoundData structure.
Alexander "Arav" Andreev
2022-05-24 19:46:33 +0400
f2d5b5e8c5
Template is being embed directly and all code for directory was removed.
Alexander "Arav" Andreev
2022-05-24 19:42:47 +0400
74ae6f4213
Now index template is a variable.
Alexander "Arav" Andreev
2022-05-24 19:41:04 +0400
d3cce3d0cb
Updated version.
Alexander "Arav" Andreev
2022-05-24 18:53:23 +0400
dcbd544da3
Show listeners in a same manner as in a template.
Alexander "Arav" Andreev
2022-05-24 18:52:39 +0400
bc1223cd35
stats endpoint changed in status in main.js.
Alexander "Arav" Andreev
2022-05-24 18:49:24 +0400
a2e4a370a5
Extended phony target list.
Alexander "Arav" Andreev
2022-05-24 18:47:00 +0400
14bc73588b
stop-service target removed from Makefile.
Alexander "Arav" Andreev
2022-05-24 18:43:56 +0400
6155b593b2
Robots handler removed.
Alexander "Arav" Andreev
2022-05-24 18:41:50 +0400
35c8a3e469
$dwelling_root changed to $http_root. Added robots.txt location.
Alexander "Arav" Andreev
2022-05-24 18:41:32 +0400
89bc554fc0
Removed robots.txt handler and /stats endpoint renamed to /status.
Alexander "Arav" Andreev
2022-05-24 18:40:52 +0400
4d5fb47a15
Template and assets moved off to web directory in root.
Alexander "Arav" Andreev
2022-05-24 18:30:45 +0400
6484b72342
Embed templates and assets code was moved to a separate package.
Alexander "Arav" Andreev
2022-05-24 18:30:14 +0400
a335ae4803
Web dir with a template and assets was moved off to web directory in root.
Alexander "Arav" Andreev
2022-05-24 18:29:15 +0400
8b34c1e935
nt var was renamed to more understandable typ.
Alexander "Arav" Andreev
2022-05-24 18:28:23 +0400
3ec15fbd2a
Now Index page will be shown even if Icecast status cannot be retrieved.
Alexander "Arav" Andreev
2022-05-24 18:26:59 +0400
630c703c12
Changed formatting. Fixed a typo in proxy_pass path.
Alexander "Arav" Andreev
2022-05-24 18:01:00 +0400
8c895db131
This fixes an issue when filelist is being downloaded instead.
Alexander "Arav" Andreev
2022-04-16 16:05:37 +0400
2f17e0a54f
Forgot about /var/log/ entry.
Alexander "Arav" Andreev
2022-04-02 19:12:49 +0400
a1679f7aab
Remove sysusers.d config from Makefile.
Alexander "Arav" Andreev
2022-04-02 19:05:45 +0400
5d58e4d1f9
This service doesn't need its own user, dynamic would be sufficient.
Alexander "Arav" Andreev
2022-04-02 19:04:37 +0400
d063ede426
Increment version. Since timezone problem caused by zero year is fixed.
Alexander "Arav" Andreev
2022-04-02 04:32:11 +0400
4730e62808
Refactor of ToClientTimezone that made it look better.
Alexander "Arav" Andreev
2022-04-02 04:30:46 +0400
6f607c830e
Use time format specified in radio package.
Alexander "Arav" Andreev
2022-04-02 04:29:58 +0400
88e047d210
Moved time formats to constanst.
Alexander "Arav" Andreev
2022-04-02 04:29:23 +0400
49ae7467fc
Since the major problem is solved. The version could be incremented.
Alexander "Arav" Andreev
2022-04-02 02:01:37 +0400
1b5dea899e
I found why time was being further altered. The reason is that slices are pointing to original array. Okay. The problem fixed.
Alexander "Arav" Andreev
2022-04-02 02:00:28 +0400
db8e8c3ebf
Forgot to change time format in Index handler as well.
Alexander "Arav" Andreev
2022-04-01 23:35:14 +0400
c4532fea24
According to tests it is equal performance wise, so why not make a code shorter.
Alexander "Arav" Andreev
2022-04-01 23:20:04 +0400
7d447be786
Initialise playlistFired at definition.
Alexander "Arav" Andreev
2022-04-01 22:35:30 +0400
1ed81fdd36
Fixed deadlock caused by misunderstanding of how defer works.
Alexander "Arav" Andreev
2022-04-01 21:12:54 +0400
21995ea4cd
Added mutex for lastPlayedCache.
Alexander "Arav" Andreev
2022-04-01 20:44:32 +0400
d3ffd01e0a
Removed blank line in ToClientTimezone func.
Alexander "Arav" Andreev
2022-04-01 20:43:43 +0400
4f3993515a
Changed displayed on-air since date to RFC1123.
Alexander "Arav" Andreev
2022-04-01 20:43:10 +0400
066208def4
Reduced main.js a little.
Alexander "Arav" Andreev
2022-04-01 18:42:13 +0400
b035476fb7
Oh, here must be used html/template functions! Gotcha! Nice.
Alexander "Arav" Andreev
2022-03-31 23:04:58 +0400
0360efc147
If there was no listeners on a track, then print nothing.
Alexander "Arav" Andreev
2022-03-31 22:46:47 +0400
ee10fc1c9e
Okay, didn't work. Let it be like that for now.
Alexander "Arav" Andreev
2022-03-31 22:43:39 +0400
7c67151ee8
Let's try negate it.
Alexander "Arav" Andreev
2022-03-31 22:42:01 +0400
75473aff1f
Let's try unless.
Alexander "Arav" Andreev
2022-03-31 20:12:18 +0400
8c1fdb0e44
Ah, yes... It doesn't work like that.
Alexander "Arav" Andreev
2022-03-31 20:09:56 +0400
88163a6bea
Actually, 2rem would be enough for listeners column.
Alexander "Arav" Andreev
2022-03-31 20:06:26 +0400
d243f82c7e
CSS updated for a new last played table.
Alexander "Arav" Andreev
2022-03-31 20:05:46 +0400
e1a847f95f
New minor version.
Alexander "Arav" Andreev
2022-03-31 20:04:27 +0400
f51b623b08
Updated main.js for a new last played layout.
Alexander "Arav" Andreev
2022-03-31 20:03:45 +0400
52696c026e
New last played table rows: time, listeners and song. If there was no listeners then this col is empty.
Alexander "Arav" Andreev
2022-03-31 20:02:17 +0400
0844b917dc
Now last played songs are consist of time, listeners and song name combined with artist.
Alexander "Arav" Andreev
2022-03-31 20:01:13 +0400
93f50458ec
Forgot about ReadFile() method of embed.FS.
Alexander "Arav" Andreev
2022-03-31 18:34:33 +0400
981bbd8968
In this case it is safer to compare with Time field. What if it is a problem with just this song?
Alexander "Arav" Andreev
2022-03-31 18:24:41 +0400
d60da459ac
This way returns look just prettier.
Alexander "Arav" Andreev
2022-03-31 18:22:20 +0400
4b5289223d
Remove whitespace in IcecastLastPlayedSongs.
Alexander "Arav" Andreev
2022-03-31 18:14:20 +0400
a9b6e5a056
Compute lastPlayedCache length once a call.
Alexander "Arav" Andreev
2022-03-31 18:13:49 +0400
d3563abba1
Remove inteermidiate variable and instantiate struct in return statement.
Alexander "Arav" Andreev
2022-03-31 18:11:04 +0400
0d113d30a1
Replace Sprintf with way more performant simple concatenation.
Alexander "Arav" Andreev
2022-03-31 18:05:47 +0400
b077fa053c
It is better to call here lastPlayedSongs directly.
Alexander "Arav" Andreev
2022-03-31 18:02:04 +0400
0983a0f0c5
This conversion to UTC is excessive.
Alexander "Arav" Andreev
2022-03-31 17:58:42 +0400
790a507f0d
Comparison by time is enough.
Alexander "Arav" Andreev
2022-03-31 17:55:36 +0400
ccabc859e9
Nah, no shared folder needed.
Alexander "Arav" Andreev
2022-03-31 17:11:51 +0400
dece9cc154
New path to radio_filelist.html.
Alexander "Arav" Andreev
2022-03-31 17:10:37 +0400
9d58b16d55
Fixed a typo in a word Scheme.
Alexander "Arav" Andreev
2022-03-31 17:06:11 +0400
ee96af31ad
Added a robots.txt file and a handler for it.
Alexander "Arav" Andreev
2022-03-31 17:01:51 +0400
2b18204a6c
Changed start_time_local field to time in main.js.
Alexander "Arav" Andreev
2022-03-31 16:27:17 +0400
7228ab9ff6
Move to version model based on year.week.minor.
Alexander "Arav" Andreev
2022-03-31 15:59:07 +0400
032fde9648
Let's add -v flag that will show current version.
Alexander "Arav" Andreev
2022-03-31 15:57:52 +0400
1dad2ffa5f
Removed another forgotten debug println.
Alexander "Arav" Andreev
2022-03-31 15:45:49 +0400
b591346177
Removed forgotten debug println.
Alexander "Arav" Andreev
2022-03-31 15:44:17 +0400
970efd7d9d
Initialising last played cache.
Alexander "Arav" Andreev
2022-03-31 15:40:18 +0400
70580298d2
Rewrote LastSong handler using caching IcecastLastSong function. And IcecastLastPlayedSongs is using cache as well. Now it takes between 300 nanoseconds to 2 microseconds to get a list of last songs.
Alexander "Arav" Andreev
2022-03-31 15:39:51 +0400
3b51fffa60
Added last played list cache with updating using Inotify watcher.
Alexander "Arav" Andreev
2022-03-31 15:35:04 +0400
3da4bd9aed
Copied Inotify watcher with addition of ModMask.
Alexander "Arav" Andreev
2022-03-31 15:33:55 +0400
80d618347e
Oh, oops. range copies values, that's why nothing happens. Use good old for now.
Alexander "Arav" Andreev
2022-03-31 04:02:49 +0400
1e7819e1aa
Hmm, time conversion fails, let's see what happened.
Alexander "Arav" Andreev
2022-03-31 03:45:59 +0400
d900d78800
Oh, right used utilities must be allowed as well.
Alexander "Arav" Andreev
2022-03-31 03:38:41 +0400
d3d0d2d186
Added /usr/bin/bash to allowed executables.
Alexander "Arav" Andreev
2022-03-31 03:19:15 +0400
e1310e211e
Implemented timezone conversion in handlers.
Alexander "Arav" Andreev
2022-03-31 02:55:34 +0400
00c4b5a8b3
Added timezone for TZ converting purposes.
Alexander "Arav" Andreev
2022-03-31 02:55:05 +0400
6f152673f2
Added ToClientTimezone() function to convert time to client's local time.
Alexander "Arav" Andreev
2022-03-31 02:54:04 +0400
a21a361167
Changed path to unix socket in NGiNX config.
Alexander "Arav" Andreev
2022-03-31 02:20:32 +0400